When I try to compile qemu on MinGW gcc 3.4.5 using -march=i686 or higher, or 
use -msse, the helper.c file on the i386 (but not the x86_64 target, for some 
odd reason) spits out 
C:/msys/1.0/home/Owner/SoureCode/qemu/target-i386/helper.c: In function 
`svm_check_intercept_param':
C:/msys/1.0/home/Owner/SoureCode/qemu/target-i386/helper.c:4375: error: unable 
to find a register to spill in class `GENERAL_REGS'
C:/msys/1.0/home/Owner/SoureCode/qemu/target-i386/helper.c:4375: error: this is 
the insn:
(insn:HI 353 352 354 39 
C:/msys/1.0/home/Owner/SoureCode/qemu/target-i386/helper.c:4368 (parallel [
            (set (reg:DI 167 [ <variable>.intercept ])
                (lshiftrt:DI (reg:DI 167 [ <variable>.intercept ])
                    (subreg:QI (reg:SI 166) 0)))
            (clobber (scratch:SI))
            (clobber (reg:CC 17 flags))
        ]) 309 {lshrdi3_1} (insn_list 351 (insn_list 352 (nil)))
    (expr_list:REG_DEAD (reg:SI 166)
        (expr_list:REG_UNUSED (reg:CC 17 flags)
            (expr_list:REG_UNUSED (scratch:SI)
                (nil)))))

A similar error happens on ppc with op_helper, but it seems to be a problem 
with a header file (it also doesn't choke up when compiling the 64-bit 
target... odd):
./softmmu_template.h: In function `__stq_mmu':
./softmmu_template.h:260: error: unable to find a register to spill in class 
`GENERAL_REGS'
./softmmu_template.h:260: error: this is the insn:
(insn:HI 254 249 255 13 ../softmmu_template.h:289 (parallel [
            (set (reg:DI 0 ax [171])
                (lshiftrt:DI (reg/v:DI 59 [ val ])
                    (subreg:QI (reg:SI 194) 0)))
            (clobber (scratch:SI))
            (clobber (reg:CC 17 flags))
        ]) 309 {lshrdi3_1} (nil)
    (expr_list:REG_UNUSED (reg:CC 17 flags)
        (expr_list:REG_UNUSED (scratch:SI)
            (nil))))
./softmmu_template.h:260: confused by earlier errors, bailing out
make: *** [op_helper.o] Error 1

Reply via email to