[Bug target/18251] New: unable to find a register to spill in class `POINTER_REGS'

ralf_corsepius at rtems dot org gcc-bugzilla@gcc.gnu.org
Sun Oct 31 12:51:00 GMT 2004


Compiling the file from the attachment with -Os or greater -O1 results into the
compiler producing this:

# avr-rtems4.7-gcc -mmcu=avr5  -Os -g -Wall -c -o termios.o termios.c
termios.c: In function `termios_open':
termios.c:97: error: unable to find a register to spill in class `POINTER_REGS'
termios.c:97: error: this is the insn:
(insn 66 63 120 3 termios.c:91 (parallel [
            (set (mem:BLK (reg/v/f:HI 28 r28 [orig:44 tty ] [44]) [0 A8])
                (mem:BLK (reg/v/f:HI 45 [ callbacks ]) [0 A8]))
            (use (reg:QI 24 r24 [55]))
            (use (const_int 1 [0x1]))
            (clobber (scratch:HI))
            (clobber (scratch:HI))
            (clobber (scratch:QI))
        ]) 16 {*movstrqi_insn} (insn_list 62 (insn_list 63 (nil)))
    (expr_list:REG_DEAD (reg:QI 24 r24 [55])
        (expr_list:REG_DEAD (reg/v/f:HI 45 [ callbacks ])
            (expr_list:REG_UNUSED (scratch:QI)
                (expr_list:REG_UNUSED (scratch:HI)
                    (expr_list:REG_UNUSED (scratch:HI)
                        (nil)))))))
termios.c:97: confused by earlier errors, bailing out

avr-rtems* basically is identical to the bare avr, so I'd expect this bug to be
reproducable with all avr-* GCC's

# avr-rtems4.7-gcc --version
avr-rtems4.7-gcc (GCC) 3.4.3 20041027 (prerelease)

-- 
           Summary: 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: ralf_corsepius at rtems dot org
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: avr*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18251



More information about the Gcc-bugs mailing list