This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Should -fcross-jumping be part of -O1?
Scott Robert Ladd wrote:
And then you have the IEEE-754/IEC-60559 purists who insistent that
using the 80-bit registers is a platform-specific optimization that
destroys reproducibility.
Yes, and they are right but:
a) there is nothing in most language standards that requires
reproducibility. Even the IEEE standard is not 100% deterministic (issue
of double rounding for denormals, and accuracy of some operations like
conversions).
b) Sticking to precise 32-bit or 64-bit IEEE semantics, *including*
range checks is prohibitively expensive, as we have found out in the
Java world. You can rant and rave at Intel for this, but the practical
state of things is that no language standard is going to mandate a
behavior that makes it impractical to implement on x86 chips, and
furthermore if a language standard attempts to do so, it will be ignored
(again, note our experience with Java here).
So if reproducibility includes getting infinities for overflows, forget
about reproductibility from a practical point of view if you have any
concerns about efficiency at all.
Yes, the purists are upset, they would like all x86 chips to vaporize.
I think that unlikely to happen :-)