[Bug rtl-optimization/48823] gcc-4.6.0 floating-point optimization regression on ia64-Linux
sje at cup dot hp.com
gcc-bugzilla@gcc.gnu.org
Thu Oct 13 17:58:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48823
Steve Ellcey <sje at cup dot hp.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
CC| |sje at cup dot hp.com
Resolution| |INVALID
--- Comment #3 from Steve Ellcey <sje at cup dot hp.com> 2011-10-13 17:57:50 UTC ---
The difference in results is due to the use of the fma instructions (fused
multiply add). If you don't want the fma instructions to be used you should
use the -ffp-contract=on flag. Otherwise GCC will use them and accept the
slightly different floating point results due to no rounding being done between
the multiply and the add in the fma instruction. GCC will also do other
optimizations that may change the results of inexact floating point
instructions.
I am resolving this as invalid since this change in the least significant bit
of an inexact floating point value is reasonable without fp-contract being on.
More information about the Gcc-bugs
mailing list