Created attachment 26765
spill.c - another reduced test
Here is yet another different and simplified test case.
With that test case I can produce spill fails for 4.5.2, 4.6.2 and 4.7 trunk (build from around 2012-02-17).
>> avr-gcc spill.c -Os -S
spill.c: In function 'menu_cycle':
spill.c:31:1: error: unable to find a register to spill in class 'POINTER_REGS'
spill.c:31:1: error: this is the insn:
(insn 36 20 21 2 (set (reg:QI 18 r18)
(mem/c:QI (plus:HI (reg/f:HI 28 r28) (const_int 1 [0x1])) [3 S1 A8])) spill.c:29 18 {movqi_insn}
(nil))
spill.c:31:1: internal compiler error: in spill_failure, at reload1.c:2120
Created attachment 26765
spill.c - another reduced test
Here is yet another different and simplified test case.
With that test case I can produce spill fails for 4.5.2, 4.6.2 and 4.7 trunk (build from around 2012-02-17).
>> avr-gcc spill.c -Os -S
spill.c: In function 'menu_cycle':
(const_ int 1 [0x1])) [3 S1 A8])) spill.c:29 18 {movqi_insn}
spill.c:31:1: error: unable to find a register to spill in class 'POINTER_REGS'
spill.c:31:1: error: this is the insn:
(insn 36 20 21 2 (set (reg:QI 18 r18)
(mem/c:QI (plus:HI (reg/f:HI 28 r28)
(nil))
spill.c:31:1: internal compiler error: in spill_failure, at reload1.c:2120