Commit d973ac5a by Kaz Kojima

sh.c (sh_secondary_reload): Handle loading a float constant to fpul.

	* config/sh/sh.c (sh_secondary_reload): Handle loading a float
	constant to fpul.

From-SVN: r132764
parent a9cbbfed
2008-02-29 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/sh.c (sh_secondary_reload): Handle loading a float
constant to fpul.
2008-02-28 Richard Sandiford <rsandifo@nildram.co.uk> 2008-02-28 Richard Sandiford <rsandifo@nildram.co.uk>
* simplify-rtx.c (simplify_unary_operation_1): Extend the handling * simplify-rtx.c (simplify_unary_operation_1): Extend the handling
......
...@@ -10875,8 +10875,10 @@ sh_secondary_reload (bool in_p, rtx x, enum reg_class class, ...@@ -10875,8 +10875,10 @@ sh_secondary_reload (bool in_p, rtx x, enum reg_class class,
return GENERAL_REGS; return GENERAL_REGS;
if (class == FPUL_REGS && immediate_operand (x, mode)) if (class == FPUL_REGS && immediate_operand (x, mode))
{ {
if (satisfies_constraint_I08 (x)) if (satisfies_constraint_I08 (x) || fp_zero_operand (x))
return GENERAL_REGS; return GENERAL_REGS;
else if (mode == SFmode)
return FP_REGS;
sri->icode = CODE_FOR_reload_insi__i_fpul; sri->icode = CODE_FOR_reload_insi__i_fpul;
return NO_REGS; return NO_REGS;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment