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.

Reply via email to