On Tue, Mar 15, 2005 at 07:57:55AM -0800, Peter Federighi wrote:
gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I.
-I/usr/src/qemu-0.6.1/target-i386 -I/usr/src/qemu-0.6.1 -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/usr/src/qemu-0.6.1/slirp -c
-o helper.o /usr/src/qemu-0.6.1/target-i386/helper.c
/usr/src/qemu-0.6.1/softmmu_template.h: In function `__stq_mmu':
/usr/src/qemu-0.6.1/softmmu_template.h:223: error: unable to find a
register to spill in class `GENERAL_REGS'
/usr/src/qemu-0.6.1/softmmu_template.h:223: error: this is the insn:
(insn:HI 315 314 316 13 /usr/src/qemu-0.6.1/softmmu_template.h:252
(parallel [
(set (reg:DI 0 ax [194])
(lshiftrt:DI (reg/v:DI 59 [ val ])
(subreg:QI (reg:SI 0 ax [193]) 0)))
(clobber (scratch:SI))
(clobber (reg:CC 17 flags))
]) 306 {lshrdi3_1} (insn_list 314 (nil))
(expr_list:REG_DEAD (reg:SI 0 ax [193])
(expr_list:REG_UNUSED (reg:CC 17 flags)
(expr_list:REG_UNUSED (scratch:SI)
(nil)))))
/usr/src/qemu-0.6.1/softmmu_template.h:223: confused by earlier errors,
bailing out
make[1]: *** [helper.o] Error 1
make[1]: Leaving directory `/usr/src/qemu-0.6.1/i386'
make: *** [all] Error 1
I'm getting the same error when having '-march=athlon-xp' in my $CFLAGS
(and forcing qemu to use those). Replacing that with '-march=pentium'
fixes the issue for me.
I got the same error compiling QEMU with -march=pentium3, but only on
op.c and helper.c. All other files compiled fine with that option.
Those two files compiled fine with -march=pentium.