]> gcc.gnu.org Git - gcc.git/commitdiff
alpha.c (alpha_rtx_costs): Cost 0 for a memory source.
authorRichard Henderson <rth@redhat.com>
Mon, 19 Sep 2005 17:05:44 +0000 (10:05 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 19 Sep 2005 17:05:44 +0000 (10:05 -0700)
        * config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0
        for a memory source.

From-SVN: r104425

gcc/ChangeLog
gcc/config/alpha/alpha.c

index 2a56dedfad28fc7a0e8745247a4cfc0428435aee..addadd538afd6688dd03ebed6f0d32adda67eea3 100644 (file)
@@ -4,6 +4,9 @@
        * real.c (exact_real_truncate): Return false if the format cannot
        represent the number as a normal.
 
+       * config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0
+       for a memory source.
+
 2005-09-19  Dorit Nuzman  <dorit@il.ibm.com>
 
        * tree-ssa-operands.c (swap_tree_operands): Export.
index 808116a158d03ee54c8a957cb9e469b517d8b0b2..1e31db4cad361b4de0a1821d6f841a449d952bc6 100644 (file)
@@ -1473,11 +1473,17 @@ alpha_rtx_costs (rtx x, int code, int outer_code, int *total)
     case UNSIGNED_FLOAT:
     case FIX:
     case UNSIGNED_FIX:
-    case FLOAT_EXTEND:
     case FLOAT_TRUNCATE:
       *total = cost_data->fp_add;
       return false;
 
+    case FLOAT_EXTEND:
+      if (GET_CODE (XEXP (x, 0)) == MEM)
+       *total = 0;
+      else
+       *total = cost_data->fp_add;
+      return false;
+
     default:
       return false;
     }
This page took 0.083169 seconds and 5 git commands to generate.