back end could not find spill register error.

Spundun Bhatt spundun@ISI.EDU
Mon Dec 9 10:42:00 GMT 2002


Hi gcc
On a specific test code, my own port of gcc is breaking with an ICE with
this message.
---------------------------------------------------
tmp.c: In function `calcThresholdBruteForce':
tmp.c:98: Internal compiler error:
tmp.c:98: Could not find a spill register
(insn 542 264 544 (set (subreg:SI (reg:DI 187) 0)
        (fix:SI (reg:DF 45 f13))) 308 {*fctiwz} (insn_list 264
(insn_list:REG_DEP_OUTPUT 541 (nil)))
    (expr_list:REG_DEAD (reg:DF 45 f13)
        (nil)))
---------------------------------------------------
How do I narrow down on the cause of this problem. How do I know which
register is this having problems spilling in? (I am almost certain its
one of the floats.). 
Can anybody explain what this error means or even better if somebody can
just point me to some online doc.
Thanx
Spundun
The above message was with O2
This one is without any optimizations.
--------------------------------------------------
tmp.c: In function `calcThresholdBruteForce':
tmp.c:98: Internal compiler error:
tmp.c:98: Could not find a spill register
(insn 350 348 352 (parallel[ 
            (set (reg:SI 10 r10)
                (fix:SI (reg:DF 45 f13)))
            (clobber (reg:DI 228))
            (clobber (reg:SI 11 r11))
            (clobber (reg:DI 76 fpmem))
        ] ) 301 {*fix_truncdfsi2_internal} (nil)
    (expr_list:REG_UNUSED (reg:DI 228)
        (expr_list:REG_UNUSED (reg:SI 11 r11)
            (nil))))
--------------------------------------------------





More information about the Gcc mailing list