Bug 21100

Summary: [4.0 Regression] ICE: unrecognizable insn for -march=pentium-mmx
Product: gcc Reporter: Chih-Chung Chang <jochang>
Component: targetAssignee: Richard Henderson <rth>
Status: RESOLVED FIXED    
Severity: normal CC: gcc-bugs, rth
Priority: P2 Keywords: ice-on-valid-code, patch, ssemmx
Version: 4.0.0   
Target Milestone: 4.0.1   
Host: i686-pc-linux-gnu Target: i686-pc-linux-gnu
Build: i686-pc-linux-gnu Known to work: 3.3.5 3.4.2
Known to fail: Last reconfirmed: 2005-04-20 19:50:16
Attachments: the test case

Description Chih-Chung Chang 2005-04-19 09:04:57 UTC
ICE on gcc 4.0.0rc2, but both 3.3.5 and 3.4.3 work.
No ICE if change pentium-mmx to pentium2.

$ /usr/local/gcc-4.0/bin/g++ -c -march=pentium-mmx 2.cpp
2.cpp: In function 'void f()':
2.cpp:30: error: unrecognizable insn:
(insn 13 12 14 0 (set (mem/i:V2SI (pre_dec:SI (reg/f:SI 7 sp)) [0 S8 A64])
        (reg:V2SI 61 [ a ])) -1 (nil)
    (expr_list:REG_DEAD (reg:V2SI 61 [ a ])
        (nil)))
2.cpp:30: internal compiler error: in extract_insn, at recog.c:2020
Comment 1 Chih-Chung Chang 2005-04-19 09:05:16 UTC
Created attachment 8681 [details]
the test case
Comment 2 Giovanni Bajo 2005-04-19 10:06:37 UTC
it might be a typo in the MMX/SSE cleanup...
Comment 3 GCC Commits 2005-04-20 19:56:25 UTC
Subject: Bug 21100

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rth@gcc.gnu.org	2005-04-20 19:56:17

Modified files:
	gcc            : ChangeLog 
	gcc/config/i386: mmx.md 

Log message:
	PR target/21100
	* config/i386/mmx.md (push<MMXMODE>1): Fix predicate thinko.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.8377&r2=2.8378
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/mmx.md.diff?cvsroot=gcc&r1=1.7&r2=1.8

Comment 4 GCC Commits 2005-04-23 17:21:16 UTC
Subject: Bug 21100

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-4_0-branch
Changes by:	rth@gcc.gnu.org	2005-04-23 17:20:59

Modified files:
	gcc            : ChangeLog 
	gcc/config/i386: mmx.md 

Log message:
	PR target/21100
	* config/i386/mmx.md (push<MMXMODE>1): Fix predicate thinko.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.7592.2.180&r2=2.7592.2.181
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/mmx.md.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.6.16.1&r2=1.6.16.2

Comment 5 Richard Henderson 2005-04-23 17:21:38 UTC
Fixed.