From 22e228e761b841c6ac767a557891f23019b26a93 Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Mon, 12 Jul 1999 22:44:28 +0000 Subject: [PATCH] * rs6000.md (movsf): Do not force easy FP constants into memory. From-SVN: r28075 --- gcc/ChangeLog | 2 ++ gcc/config/rs6000/rs6000.md | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) 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)) -- 2.30.2