https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65028
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED |--- --- Comment #9 from H.J. Lu <hjl.tools at gmail dot com> --- The same bug affects 252.eon in SPEC CPU 2000 on x32: [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 The fix isn't sufficient since adding -fno-ipa-cp fixes eon on x32.