[Bug fortran/78676] New: Optimizer bug exposed by program with many bit operations.
mecej4 at operamail dot com
gcc-bugzilla@gcc.gnu.org
Mon Dec 5 04:11:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78676
Bug ID: 78676
Summary: Optimizer bug exposed by program with many bit
operations.
Product: gcc
Version: 6.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: mecej4 at operamail dot com
Target Milestone: ---
Created attachment 40244
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40244&action=edit
Test program to demonstrate bug; run with (i) -O and (ii) -O2, and compare the
output
The attached test program runs and gives correct results when compiled with
Gfortran 6.2 without any optimization or with -O. It gives incorrect results
when compiled with -O2. Since the program works entirely with integer
variables, exact results are to be expected.
The bug was encountered when running George Marsaglia's KISS random number
generator, see http://mathforum.org/kb/message.jspa?messageID=6914945 . His
benchmark program runs a billion iterations, whereas the attached program does
only ten iterations. The errors appear to be small but, by increasing the
parameter QSIZ to a few millions, it can be seen that the errors grow
catastrophically.
Again, since no real number arithmetic is involved, there is no expectation of
obtaining different results on different platforms. The results given by
Gfortran with -O or without any optimization are in agreement with results from
other compilers (NAG, Intel).
More information about the Gcc-bugs
mailing list