Revision 145272: http://gcc.gnu.org/ml/gcc-cvs/2009-03/msg00779.html caused: [hjl@gnu-33 gcc]$ cat /tmp/x.i double foo (unsigned long var) { return var; } [hjl@gnu-33 gcc]$ ./xgcc -B./ -m32 -S -ansi /tmp/x.i [hjl@gnu-33 gcc]$ ./xgcc -B./ -m32 -S -ansi /tmp/x.i -march=core2 /tmp/x.i: In function ‘foo’: /tmp/x.i:5: error: unrecognizable insn: (insn 23 22 16 2 /tmp/x.i:4 (set (reg:DF 8 st [orig:58 D.1245 ] [58]) (float:DF (mem/c:DI (plus:SI (reg/f:SI 6 bp) (const_int -8 [0xfffffffffffffff8])) [0 S8 A64]))) -1 (nil)) /tmp/x.i:5: internal compiler error: in extract_insn, at recog.c:2048 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. [hjl@gnu-33 gcc]$
It will fail with -msse: [hjl@gnu-33 gcc]$ ./xgcc -B./ -m32 -S -ansi /tmp/x.i -msse /tmp/x.i: In function ‘foo’: /tmp/x.i:5: error: unrecognizable insn: (insn 23 22 16 2 /tmp/x.i:4 (set (reg:DF 8 st [orig:58 D.1037 ] [58]) (float:DF (mem/c:DI (plus:SI (reg/f:SI 6 bp) (const_int -8 [0xfffffffffffffff8])) [0 S8 A64]))) -1 (nil)) /tmp/x.i:5: internal compiler error: in extract_insn, at recog.c:2048 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. [hjl@gnu-33 gcc]$
Testing a patch.
I got FAIL: gcc.dg/conv-1.c (internal compiler error) FAIL: gcc.dg/conv-1.c (test for excess errors) FAIL: gcc.dg/Wconversion-real-integer.c (internal compiler error) FAIL: gcc.dg/Wconversion-real-integer.c (test for excess errors) when I added -march=core2. They are the same bug as this one.
Subject: Bug 39592 Author: jsm28 Date: Tue Mar 31 12:51:02 2009 New Revision: 145342 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145342 Log: PR target/39592 * config/i386/i386.md (*floatunssi<mode>2_1, two unnamed define_splits, floatunssi<mode>2): Require x87 conversions from DImode to be permitted. testsuite: * gcc.target/i386/pr39592-1.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr39592-1.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.md trunk/gcc/testsuite/ChangeLog
Fixed on trunk for 4.5.
Subject: Bug 39592 Author: hjl Date: Tue Mar 31 14:37:50 2009 New Revision: 145346 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145346 Log: 2009-03-29 H.J. Lu <hongjiu.lu@intel.com> Backport from mainline: 2009-03-31 Joseph Myers <joseph@codesourcery.com> PR target/39592 * gcc.target/i386/pr39592-1.c: New test. Added: branches/gcc-4_4-branch/gcc/testsuite/gcc.target/i386/pr39592-1.c - copied unchanged from r145345, trunk/gcc/testsuite/gcc.target/i386/pr39592-1.c Modified: branches/gcc-4_4-branch/gcc/testsuite/ChangeLog