[Bug 1811798]
Jakub-gcc
1811798 at bugs.launchpad.net
Fri Feb 1 18:07:00 UTC 2019
So, to me this looks like a backend bug, using dead_or_set_p in a splitter when the split passes don't really compute the note problem. Seems s390 is the only backend that does this, other backends use dead_or_set_p either only in peephole2s (which is fine, peephole2 pass starts with
df_set_flags (DF_LR_RUN_DCE);
df_note_add_problem ();
df_analyze ();
and even when many targets don't use df_or_set_p, they do use peep2_dead*), or (cris) in delayed branch scheduling (I believe that doesn't guarantee that either). Can't what you are doing in the splitters be done in define_peephole2 instead?
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-8 in Ubuntu.
https://bugs.launchpad.net/bugs/1811798
Title:
gcc 8 miscompiles scipy/optimize/minpack/qrsolv.f
Status in gcc:
In Progress
Status in gcc-8 package in Ubuntu:
New
Status in imexam package in Ubuntu:
New
Status in python-scipy package in Ubuntu:
New
Status in python-scipy package in Debian:
New
Bug description:
Originally reported in https://bugs.debian.org/906198
The following simple test fails on s390x:
---------------------------8<------------------------------
import numpy as np
from scipy.optimize import leastsq
y = np.array([0., 1., 1., 2., 1., 1., 0.])
x = np.arange(len(y))
def func(par):
return par[2] * np.exp(-(x - par[0])**2/par[1]) - y
print(leastsq(func, [0,1,0]))
---------------------------8<------------------------------
The expected result is
(array([3. , 4.42280548, 1.67210345]), 1)
while on S390x, one gets
(array([0. , 1. , 0.34027645]), 3)
Further information from https://bugs.debian.org/915738
The bug seems to be a miscompilation of scipy/optimize/minpack/qrsolv.f
with -funroll-loops. Removing -funroll-loops is enough to get the
leastsq testcase to pass.
To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc/+bug/1811798/+subscriptions
More information about the foundations-bugs
mailing list