* config/sh/sh.c (sh_secondary_reload): Add case when FPUL
register is being loaded from a pseudo in memory.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181823
138bc75d-0d04-0410-961f-
82ee72b054a4
+2011-11-29 Oleg Endo <oleg.endo@t-online.de>
+
+ PR target/51337
+ * config/sh/sh.c (sh_secondary_reload): Add case when FPUL
+ register is being loaded from a pseudo in memory.
+
2011-11-29 DJ Delorie <dj@redhat.com>
* config.gcc (rl78-*-elf): New case.
if (rclass != GENERAL_REGS && REG_P (x)
&& TARGET_REGISTER_P (REGNO (x)))
return GENERAL_REGS;
+
+ /* If here fall back to loading FPUL register through general registers.
+ This case can happen when movsi_ie insn is picked initially to
+ load/store the FPUL register from/to another register, and then the
+ other register is allocated on the stack. */
+ if (rclass == FPUL_REGS && true_regnum (x) == -1)
+ return GENERAL_REGS;
+
return NO_REGS;
}