This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ipa/65006] [5 Regression] 252.eon in SPEC CPU 2000 miscompiled with LTO
- From: "hjl.tools at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 16 Feb 2015 17:00:23 +0000
- Subject: [Bug ipa/65006] [5 Regression] 252.eon in SPEC CPU 2000 miscompiled with LTO
- Auto-submitted: auto-generated
- References: <bug-65006-4 at http dot gcc dot gnu dot org/bugzilla/>
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.