* rs6000.md (movsf): Do not force easy FP constants into memory.
authorJeffrey A Law <law@cygnus.com>
Mon, 12 Jul 1999 22:44:28 +0000 (22:44 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 12 Jul 1999 22:44:28 +0000 (16:44 -0600)
From-SVN: r28075

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index fd5d177eb7ac66ac76febf986f13932601b78e07..e7d1bf1e990ead99aae955421acd41705cc11dcf 100644 (file)
@@ -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.
index 10f2c0847911a18ebb269e541c608d6cd8720e4c..7a97dd1f78f01ea2fd91d1b35548f416402f160b 100644 (file)
       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))