GCC Benchmarks (coybench), AMD64 and i686, 14 August 2004

Scott Robert Ladd coyote@coyotegulch.com
Wed Aug 18 01:34:00 GMT 2004


Joe Buck wrote:
> icc's good performance on Kahan's Paranoia benchmark is surprising given
> that it makes obviously unsafe floating point transformations; a
> reasonable conclusion is that its developers were asked for both a good
> Paranoia score and good floating point performance, and they cut corners,
> but took care not to break Paranoia.

Perhaps.

On my Pentium 4 (Northwood core), Intel produces an excellent Paranoia 
result:  a single flaw (Kahan's most insignificant category of error), 
*when* the compile is performed with the -xN (optimize for Northwood) 
option. The -mp and -mp1 options, which purportedly improve 
floating-point consistency and accuracy, seem ineffective in terms of 
Paranoia.

On the Pentium 4, the best GCC 3.4 can do is one defect and one flaw, 
when the benchmark is compiled with -march=pentium4. Adding -O3 
introduces a host of paranoia errors (ten more!), while -ffast-math adds 
a single defect.

There is one compiler that produces a perfect score on Paranoia: No 
failures, defects, or flaws.

GCC 3.5, on my Opteron system.

Compiled with -march=opteron, GCC 3.5 has a perfect paranoia score. 
Adding -O3 does *not* introduce any errors on the Opteron; adding 
-ffast-math results in a *single* minor "flaw".

Perhaps this is due to underlying architecture of the processors; or 
maybe the x86_64 code generator is just better than Intel's.

Ooh-ooh! Conspiracy theory: We all know how fanatical those AMD devotees 
are; maybe they quietly made certain that GCC produces perfect code on 
Paranoia for the Opteron!  This would both help GCC *and* promote the 
AMD64 architecture.

Muwahahahaha! ;)

-- 
Scott Robert Ladd
Coyote Gulch Productions (http://www.coyotegulch.com)
Software Invention for High-Performance Computing



More information about the Gcc mailing list