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