On 12/29/06, Daniel Berlin <[EMAIL PROTECTED]> wrote:
On 12/29/06, Richard Kenner <[EMAIL PROTECTED]> wrote:
> > I'm not sure what data you're asking for.
>
> Here's the data *I'd* like to see:
>
> (1) What is the maximum performance loss that can be shown using a real
> program (e.g,. one in SPEC) and some compiler (not necessarily GCC) when
> one assumes wrapping semantics?
The XLC numbers i was given about a year ago (i assume it was version 8)
SpecINT with undefined signed overflow at -O5 on a P5 2100mhz running
linux: 1634
SpecFP with undefined signed overflow at -O5 on a P5 2100mhz running linux: 3010
SpecINT with wrapping signed overflow at -O5 on a P5 2100mhz running
linux: 1319
SpecFP with wrapping signed overflow at -O5 on a P5 2100mhz running linux: 1624
>
> (2) In the current SPEC, how many programs benefit from undefined overflow
> semantics and how much does each benefit?
All of the fortran programs (IE SpecFP) benefit from undefined
*unsigned* overflow semantics due to 32 bit iv vs 64 bit array index
issues.
The same is true of the SpecFP C programs.
^^^^
Just to be clear, the above behavior is not standards conformant, and
they do give a warning that they are doing it.
It is however, the default at -O3 for XLC, and AFAIK, at all opt levels for icc.