Hi, I get an ICE compiling arpcache.i with avr-gcc-3.4.3+: avr-gcc -c -Os arpcache.i arpcache.c: In function `NutArpCacheQuery': arpcache.c:481: error: unable to find a register to spill in class `POINTER_REGS' arpcache.c:481: error: this is the insn: (insn 90 207 206 5 (parallel [ (set (mem:BLK (reg/v/f:HI 44 [ mac ]) [0 A8]) (mem:BLK (reg/v/f:HI 28 r28 [orig:46 entry ] [46]) [0 A8])) (use (reg:QI 24 r24 [60])) (use (const_int 1 [0x1])) (clobber (scratch:HI)) (clobber (scratch:HI)) (clobber (scratch:QI)) ]) 16 {*movstrqi_insn} (insn_list 87 (insn_list 89 (nil))) (expr_list:REG_DEAD (reg:QI 24 r24 [60]) (expr_list:REG_DEAD (reg/v/f:HI 44 [ mac ]) (expr_list:REG_UNUSED (scratch:QI) (expr_list:REG_UNUSED (scratch:HI) (expr_list:REG_UNUSED (scratch:HI) (nil))))))) arpcache.c:481: confused by earlier errors, bailing out
This works on 3.4.2! It fails on 3.4.3, 3.4.4 20050202 (prerelease), and 4.0.0 20050203 (experimental) -- Summary: [avr] Unable to find a register to spill in class `POINTER_REGS' Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dieterbmeier at yahoo dot com CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: avr http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19822