This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/24819] [4.1 Regression] glibc math tests miscompiled with gcc-4.1

------- Comment #5 from bonzini at gnu dot org  2005-11-25 19:12 -------
Another failure from glibc's tests is more severe: __DBL_MAX__ * __DBL_MAX__ -
__DBL_MAX * __DBL_MAX__ is turned into an INF rather than a NAN (as would
happen on most targets) or zero (as would happen on x87 because it computes
everything in long double).

This can be seen with a program like

  extern void abort (void)
    double nan = __DBL_MAX__ * __DBL_MAX__ - __DBL_MAX * __DBL_MAX__;
    if (nan == nan && nan != 0.0) abort ();

This seems more serious, to the point that fused multiply-add instructions
should be disabled unless !HONOR_NANS || !MODE_HAS_INFINITIES for the given

CCing Eric since he recently had problems with ia64 fma


bonzini at gnu dot org changed:

           What    |Removed                     |Added
                 CC|                            |amodra at bigpond dot net
                   |                            |dot au, bonzini at gnu dot
                   |                            |org

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]