http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48596
Summary: [4.7 Regression] [SH] unable to find a register to spill in class 'FPUL_REGS' Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: kkoj...@gcc.gnu.org Created attachment 23975 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23975 A test case The attached testcase causes a spill failure with -O1 -m4 -ml: foo.c: In function 'foo': foo.c:27:1: error: unable to find a register to spill in class 'FPUL_REGS' foo.c:27:1: error: this is the insn: (insn 105 104 106 8 (parallel [ (set (reg:SI 264) (fix:SI (reg:DF 66 fr2 [262]))) (use (reg/v:PSI 151 )) ]) foo.c:22 357 {fix_truncdfsi2_i} (expr_list:REG_DEAD (reg:DF 66 fr2 [262]) (expr_list:REG_DEAD (reg/v:PSI 151 ) (expr_list:REG_EQUIV (mem:SI (reg/f:SI 78 fr14 [orig:242 D.2027 ] [242]) [0 MEM[(struct Info *)D.2027_55]+0 S4 A32]) (nil))))) foo.c:27:1: internal compiler error: in spill_failure, at reload1.c:2113 for sh-elf target.