On Sun, 19 Jun 2005, Vincent Lefevre wrote:
Since the "gcc-is-buggy" solution of changing x87 rounding modes will:
1) Be a lot of work.
2) Cause a lot of regressions.
This remains to see. BTW, the Opteron uses SSE by default. Did you see
a lot of regressions?
Opteron is not an issue, when I talked about regressions above I
dont mean only "My code give a diffrent answer" regressions but also
"My code that uses both float/doubles is bigger and slower"
Not by the proposed solution "of changing x87 rounding modes".
Of course, this solution is not sufficient to completely fix the
bug (due to the exponent range), but it would solve most problems.
And concerning the solution with stores, then users would have to
learn to use compiler options. BTW, in this way, they could even
learn the existence of -ffast-math and have smaller and faster
programs! :)
True, more people should try -ffast-math since on x87 it can give them
more precisison and not less, with the nasty non-deterministic loss of
that extra precission.
On the other hand, sysadmins refuse to install gcc versions past 3.3 at my
institution (gcc is the default and only compiler available to students
on non-windows machines) since "It's not binary compatible, and then we
need an costly OS update". True, ABI changed in 3.3 but reading PR's I see
that it only affects 64-bit code, and 64-bit libraries are not available
anyway.