diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2008-02-29 12:37:34 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2008-02-29 12:37:34 +0000 |
commit | d973ac5a9f35cbb79c6c2457f48159f1541f79c4 (patch) | |
tree | ff0e8710deff07e483cf19f88a98e65b80403180 /gcc | |
parent | a9cbbfed45070095d8a61a17824f8a4f6854e43f (diff) | |
download | gcc-d973ac5a9f35cbb79c6c2457f48159f1541f79c4.zip gcc-d973ac5a9f35cbb79c6c2457f48159f1541f79c4.tar.gz gcc-d973ac5a9f35cbb79c6c2457f48159f1541f79c4.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9b7c0cc..4a7fcb7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +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> * simplify-rtx.c (simplify_unary_operation_1): Extend the handling diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index dccbc1e..fdee061 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -10875,8 +10875,10 @@ sh_secondary_reload (bool in_p, rtx x, enum reg_class class, return GENERAL_REGS; 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; + else if (mode == SFmode) + return FP_REGS; sri->icode = CODE_FOR_reload_insi__i_fpul; return NO_REGS; } |