$gcc -Wall -O1 -g -fno-strict-aliasing -mpreferred-stack-boundary=2 -fomit-frame-pointer -falign-functions=0 -fno-gcse -fno-reorder-blocks -fno-optimize-sibling-calls -I. -I.. -I/usr/src/ark/BUILD/qemu-0.9.0/target-i386 -I/usr/src/ark/BUILD/qemu-0.9.0 -I/usr/src/ark/BUILD/qemu-0.9.0/linux-user -I/usr/src/ark/BUILD/qemu-0.9.0/linux-user/i386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/usr/src/ark/BUILD/qemu-0.9.0/fpu -DHAS_AUDIO -I/usr/src/ark/BUILD/qemu-0.9.0/slirp -c -o op.o /usr/src/ark/BUILD/qemu-0.9.0/target-i386/op.c /usr/src/ark/BUILD/qemu-0.9.0/target-i386/ops_sse.h: In function 'op_pshufw_mmx': /usr/src/ark/BUILD/qemu-0.9.0/target-i386/ops_sse.h:593: error: unable to find a register to spill in class 'GENERAL_REGS' /usr/src/ark/BUILD/qemu-0.9.0/target-i386/ops_sse.h:593: error: this is the insn: (insn 16 15 17 2 /usr/src/ark/BUILD/qemu-0.9.0/target-i386/ops_sse.h:588 (set (strict_low_part (subreg:HI (reg/v:DI 63 [ r ]) 0)) (mem/s/j:HI (plus:SI (mult:SI (reg:SI 64) (const_int 2 [0x2])) (reg/v/f:SI 59 [ s ])) [0 <variable>._w S2 A16])) 40 {*movstricthi_1} (insn_list:REG_DEP_TRUE 52 (insn_list:REG_DEP_TRUE 11 (insn_list:REG_DEP_TRUE 15 (nil)))) (expr_list:REG_DEAD (reg:SI 64) (nil))) /usr/src/ark/BUILD/qemu-0.9.0/target-i386/ops_sse.h:593: confused by earlier errors, bailing out
The same code compiles ok with -O0 -- Summary: ICE while compiling qemu 0.9.0 with -O1 or higher Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: bero at arklinux dot org GCC build triplet: i586-pc-linux-gnu GCC host triplet: i586-pc-linux-gnu GCC target triplet: i586-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31753