ICE on gcc 4.0.0rc2, but works on both 3.3.5 and 3.4.3. $ /usr/local/gcc-4.0/bin/g++ -c -O -mmmx 1.cpp 1.cpp: In function 'void f()': 1.cpp:51: internal compiler error: in simplify_subreg, at simplify-rtx.c:3729
Created attachment 8680 [details] the test case
Confirmed. Curiously, the test case doesn't fail compiled as C, only C++.
Subject: Bug 21099 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-4_0-branch Changes by: rth@gcc.gnu.org 2005-04-23 17:13:12 Modified files: gcc : ChangeLog gcc/config/i386: i386.c Log message: PR target/21099 * config/i386/i386.c (ix86_split_to_parts): Use proper mode when simplifying CONST_VECTOR. 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.179&r2=2.7592.2.180 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.795.6.4&r2=1.795.6.5
Subject: Bug 21099 CVSROOT: /cvs/gcc Module name: gcc Changes by: rth@gcc.gnu.org 2005-04-23 17:14:31 Modified files: gcc : ChangeLog tree-eh.c gcc/config/i386: i386.c Log message: PR target/21099 * config/i386/i386.c (ix86_split_to_parts): Use proper mode when simplifying CONST_VECTOR. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.8425&r2=2.8426 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-eh.c.diff?cvsroot=gcc&r1=2.30&r2=2.31 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&r1=1.813&r2=1.814
Fixed.