diff options
| author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-07-12 22:44:28 +0000 |
|---|---|---|
| committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-07-12 22:44:28 +0000 |
| commit | beab0afc8a10700b434c681bdac023d55525cbe8 (patch) | |
| tree | c96b32eb8b2c7d86eb7c9497fe465363f76db946 | |
| parent | 79d5c3bab9d915a652538f4bcf57bcbf3e7f9bdc (diff) | |
| download | ppe42-gcc-beab0afc8a10700b434c681bdac023d55525cbe8.tar.gz ppe42-gcc-beab0afc8a10700b434c681bdac023d55525cbe8.zip | |
* rs6000.md (movsf): Do not force easy FP constants into memory.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28075 138bc75d-0d04-0410-961f-82ee72b054a4
| -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 fd5d177eb7a..e7d1bf1e990 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 10f2c084791..7a97dd1f78f 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)) |

