Bug 46531 - Many benchmarks in SPEC CPU 2006 are miscompiled by LTO
Summary: Many benchmarks in SPEC CPU 2006 are miscompiled by LTO
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: lto (show other bugs)
Version: 4.6.0
: P3 normal
Target Milestone: 4.6.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-18 01:57 UTC by H.J. Lu
Modified: 2010-11-28 14:37 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2010-11-18 10:16:32


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2010-11-18 01:57:16 UTC
On Linux/x86-64, revision 166871 with

-O3 -funroll-loops -ffast-math  -fwhole-program -flto=jobserver -fuse-linker-plugin  

and normal input gave

  Running 471.omnetpp ref peak lto default

471.omnetpp: copy 0 non-zero return code (exit code=1, signal=0)

  Running 483.xalancbmk ref peak lto default

483.xalancbmk: copy 0 non-zero return code (exit code=0, signal=11)

  Running 447.dealII ref peak lto default

447.dealII: copy 0 non-zero return code (exit code=0, signal=6)

  Running 450.soplex ref peak lto default

450.soplex: copy 0 non-zero return code (exit code=0, signal=9)


450.soplex: copy 0 non-zero return code (exit code=0, signal=11)
Comment 1 Richard Biener 2010-11-18 10:16:32 UTC
Also can be seen here:

http://gcc.opensuse.org/SPEC/CFP/sb-barbella.suse.de-ai-64/recent.html

(the tester finally recovered)

SPEC INT is all fine though.  I see neary all of SPEC FP fail (with
the linker plugin).

SPEC 2k seems to be fine.  What an interesting amount of different LTO
variants ... ;)
Comment 2 H.J. Lu 2010-11-20 03:53:00 UTC
As of revision 166944, with

-O3 -mfpmath=sse -msse2 -funroll-loops -ffast-math  -fwhole-program -flto=jobserver -fuse-linker-plugin  

SPEC CPU 2K is compiled and run correctly for both
ia32 and x86-64.

For SPEC CPU 2006, with reference input, the only failure is:

  Running 416.gamess ref peak lto default

416.gamess: copy 0 non-zero return code (exit code=0, signal=11)


****************************************
Contents of cytosine.2.err
****************************************
STOP IN ABRT

****************************************

****************************************
Contents of triazolium.err
****************************************
STOP IN ABRT

****************************************

for both ia32 and x86-64.

For test input, the only 2 failures are

  Running 416.gamess test peak lto default

****************************************
Contents of exam29.err
****************************************
STOP IN ABRT

****************************************

*** Miscompare of exam29.out; for details see
    /export/gnu/import/svn/gcc-test-spec/spec/2006/i686/spec/benchspec/CPU2006/4
16.gamess/run/run_peak_test_lto.0000/exam29.out.mis

  Running 465.tonto test peak lto default

*** Miscompare of stdout; for details see
    /export/gnu/import/svn/gcc-test-spec/spec/2006/i686/spec/benchspec/CPU2006/4
65.tonto/run/run_peak_test_lto.0000/stdout.mis

for both ia32 and x86-64.  They may be the same bug.
Comment 3 H.J. Lu 2010-11-28 14:34:56 UTC
Fixed as of revision 167184 with GNU BFD linker in CVS 2010-11-25.