re PR target/51337 (SH Target: Various testsuite ICEs for -m2a -O0)

PR target/51337
	* config/sh/sh.c (sh_secondary_reload): Add case when FPUL
	register is being loaded from a pseudo in memory.

From-SVN: r181823
This commit is contained in:
Oleg Endo 2011-11-29 22:52:55 +00:00 committed by Kaz Kojima
parent 08ee945e0b
commit cebc182b78
2 changed files with 14 additions and 0 deletions

View file

@ -1,3 +1,9 @@
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.

View file

@ -12432,6 +12432,14 @@ sh_secondary_reload (bool in_p, rtx x, reg_class_t rclass_i,
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;
}