diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-07-12 22:44:28 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-07-12 16:44:28 -0600 |
commit | 22e228e761b841c6ac767a557891f23019b26a93 (patch) | |
tree | c96b32eb8b2c7d86eb7c9497fe465363f76db946 /gcc | |
parent | 7f401c745ebd24deeb36feec6c096deb201dda15 (diff) | |
download | gcc-22e228e761b841c6ac767a557891f23019b26a93.zip gcc-22e228e761b841c6ac767a557891f23019b26a93.tar.gz gcc-22e228e761b841c6ac767a557891f23019b26a93.tar.bz2 |
* rs6000.md (movsf): Do not force easy FP constants into memory.
From-SVN: r28075
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fd5d177..e7d1bf1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,7 @@ Mon Jul 12 14:29:15 1999 Jeffrey A Law (law@cygnus.com) + * rs6000.md (movsf): Do not force easy FP constants into memory. + * expr.c (expand_expr, case PLUS_EXPR): Pass constants through immed_double_const to ensure they are properly truncated then sign extended. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 10f2c08..7a97dd1 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -6145,7 +6145,8 @@ operands[1] = force_reg (SFmode, operands[1]); } - if (CONSTANT_P (operands[1]) && TARGET_HARD_FLOAT) + if (CONSTANT_P (operands[1]) && TARGET_HARD_FLOAT + && ! easy_fp_constant (operands[1], SFmode)) { operands[1] = force_const_mem (SFmode, operands[1]); if (! memory_address_p (SFmode, XEXP (operands[1], 0)) |