Should -fcross-jumping be part of -O1?
Robert Dewar
dewar@gnat.com
Wed Dec 3 16:53:00 GMT 2003
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 :-)
More information about the Gcc
mailing list