https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65006
--- Comment #12 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to H.J. Lu from comment #11) > r220521 miscompiled 252.eon in SPEC CPU 2000 with LTO for both x86-32: > > https://gcc.gnu.org/ml/gcc-testresults/2015-02/msg01063.html > > and x32: > > https://gcc.gnu.org/ml/gcc-testresults/2015-02/msg01047.html > > X86-32 was fixed: > > https://gcc.gnu.org/ml/gcc-testresults/2015-02/msg01417.html > > But not: > > https://gcc.gnu.org/ml/gcc-testresults/2015-02/msg01406.html > > I got > > [hjl@gnu-mic-2 00000002]$ ../00000002/eon_peak.lto chair.control.cook > chair.camera chair.surfaces chair.cook.ppm ppm pixels_out.cook > Segmentation fault > [hjl@gnu-mic-2 00000002]$ gdb ../00000002/eon_peak.lto > GNU gdb (GDB) Fedora 7.7.1-21.fc20 > Copyright (C) 2014 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "x86_64-redhat-linux-gnu". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>. > Find the GDB manual and other documentation resources online at: > <http://www.gnu.org/software/gdb/documentation/>. > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from ../00000002/eon_peak.lto...done. > (gdb) r chair.control.cook chair.camera chair.surfaces chair.cook.ppm ppm > pixels_out.cook > Starting program: > /export/project/git/gcc-regression/spec/2000/spec/benchspec/CINT2000/252.eon/ > run/00000002/eon_peak.lto chair.control.cook chair.camera chair.surfaces > chair.cook.ppm ppm pixels_out.cook > > Program received signal SIGSEGV, Segmentation fault. > 0x0042078c in operator*(ggSpectrum const&, ggSpectrum const&) () > Missing separate debuginfos, use: debuginfo-install glibc-2.18-16.0.fc20.x32 > libgcc-4.8.3-7.2.fc20.x86_64 libstdc++-4.8.3-7.2.fc20.x86_64 > (gdb) bt > #0 0x0042078c in operator*(ggSpectrum const&, ggSpectrum const&) () > #1 0x004452d4 in eonImageCalculator::eonImageCalculator() () > #2 0x0040378a in main () > (gdb) f 0 > #0 0x0042078c in operator*(ggSpectrum const&, ggSpectrum const&) () > (gdb) disass > Dump of assembler code for function _ZmlRK10ggSpectrumS1_: > 0x00420780 <+0>: movups (%esi),%xmm0 > 0x00420784 <+4>: mov %rdi,%rax > 0x00420787 <+7>: movups 0x10(%esi),%xmm1 > => 0x0042078c <+12>: mulps (%edx),%xmm0 > 0x00420790 <+16>: mulps 0x10(%edx),%xmm1 > 0x00420795 <+21>: movups %xmm0,(%edi) > 0x00420799 <+25>: movups %xmm1,0x10(%edi) > 0x0042079e <+30>: retq > End of assembler dump. > (gdb) p $edx > $1 = -13304 > (gdb) p/x $edx > $2 = 0xffffcc08 Adding -fno-ipa-cp fixes x32. Fix for PR 65028 isn't complete.