When compiling qemu 0.5.5 (http://fabrice.bellard.free.fr/qemu/), the following error occurs: gcc -O2 -frename-registers -fomit-frame-pointer -march=i686 -fomit-frame-pointer -I. -I/tmp/qemu/BUILD/qemu-0.5.5/target-i386 -I/tmp/qemu/BUILD/qemu-0.5.5 -D_GNU_SOURCE -c -o translate.o /tmp/qemu/BUILD/qemu-0.5.5/target-i386/translate.c gcc -O2 -frename-registers -fomit-frame-pointer -march=i686 -I. -I/tmp/qemu/BUILD/qemu-0.5.5/target-i386 -I/tmp/qemu/BUILD/qemu-0.5.5 -D_GNU_SOURCE -c -o helper.o /tmp/qemu/BUILD/qemu-0.5.5/target-i386/helper.c In file included from /tmp/qemu/BUILD/qemu-0.5.5/target-i386/helper.c:2492: /tmp/qemu/BUILD/qemu-0.5.5/softmmu_template.h: In function `slow_ldq_mmu': /tmp/qemu/BUILD/qemu-0.5.5/softmmu_template.h:179: error: unable to find a register to spill in class `GENERAL_REGS' /tmp/qemu/BUILD/qemu-0.5.5/softmmu_template.h:179: error: this is the insn: (insn:HI 167 164 168 6 0x407a0ec8 (parallel [ (set (reg:DI 112) (lshiftrt:DI (reg/v:DI 63) (subreg:QI (reg:SI 111) 0))) (clobber (scratch:SI)) (clobber (reg:CC 17 flags)) ]) 320 {lshrdi3_1} (insn_list 136 (insn_list 164 (nil))) (expr_list:REG_DEAD (reg/v:DI 63) (expr_list:REG_UNUSED (scratch:SI) (expr_list:REG_UNUSED (reg:CC 17 flags) (nil))))) /tmp/qemu/BUILD/qemu-0.5.5/softmmu_template.h:179: confused by earlier errors, bailing out make[1]: ** [helper.o] Erro 1 make[1]: Leaving directory `/tmp/qemu/BUILD/qemu-0.5.5/i386' make: ** [all] Erro 1 erro: Status de saĆ­da ruim em /tmp/qemu/BUILDROOT/rpm-tmp.6894 (%build) As the log shows, I used the flags "-O2 -frename-registers -fomit-frame-pointer -march=i686". Interestingly, the problem above doesn't occurs when I specify -march={i386,i486,i586}, I only have an error when using i686/athlon/pentium4 (I didn't test all combinations, probably other options greater than i686 are also affected). To compile qemu with different flags, you must edit Makefile and Makefile.target from qemu sources, using for example sed: sed -i "s/CFLAGS=.*/CFLAGS=-O2 -frename-registers -fomit-frame-pointer -march=i686/" Makefile{,.target} -- Summary: qemu 0.5.5 fails to compile with - march={i686,pentium4,athlon} Product: gcc Version: 3.3.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: herton at brturbo dot com CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: i386-conectiva-linux GCC target triplet: i386-conectiva-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16185