This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

back end could not find spill register error.


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))))
--------------------------------------------------




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]