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