Building the attached file (extracted and reduced from the uclibc) with
-O[1,2,3,s] -fPIC fails :
test.c: In function _start:
test.c:14: error: unable to find a register to spill in class R0_REGS
test.c:14: error: this is the insn:
(insn 16 28 17 0 (set (mem/c/i:SI (plus:SI (reg:SI 12 r12)
(reg/f:SI 1 r1 [160])) [0 buf+0 S4 A32])
(reg/v:SI 0 r0 [ __sc0 ])) 179 {movsi_ie} (insn_list:REG_DEP_TRUE 13
(insn_list:REG_DEP_TRUE 11 (nil)))
(expr_list:REG_DEAD (reg/f:SI 1 r1 [160])
(expr_list:REG_DEAD (reg/v:SI 0 r0 [ __sc0 ])
(nil))))
test.c:14: internal compiler error: in spill_failure
--
Summary: SH4 R0_REGS spill failure when using asm
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: chrbr at gcc dot gnu dot org
ReportedBy: chrbr at gcc dot gnu dot org
GCC target triplet: sh-superh-elf,sh4-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34807