Bug 39592 - [4.5 regression] Revision 145272 breaks -ansi -msse
Summary: [4.5 regression] Revision 145272 breaks -ansi -msse
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.5.0
: P3 normal
Target Milestone: 4.5.0
Assignee: Joseph S. Myers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-30 18:40 UTC by H.J. Lu
Modified: 2009-03-31 12:51 UTC (History)
2 users (show)

See Also:
Host:
Target: i686-pc-linux-gnu
Build:
Known to work: 4.5.0
Known to fail:
Last reconfirmed: 2009-03-30 21:11:52


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2009-03-30 18:40:50 UTC
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]$
Comment 1 H.J. Lu 2009-03-30 19:45:42 UTC
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]$ 
Comment 2 Joseph S. Myers 2009-03-30 21:11:52 UTC
Testing a patch.
Comment 3 H.J. Lu 2009-03-30 22:00:38 UTC
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.
Comment 4 Joseph S. Myers 2009-03-31 12:51:15 UTC
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

Comment 5 Joseph S. Myers 2009-03-31 12:51:54 UTC
Fixed on trunk for 4.5.
Comment 6 hjl@gcc.gnu.org 2009-03-31 14:38:04 UTC
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