OSDN Git Service

* config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0
[pf3gnuchains/gcc-fork.git] / gcc / config / alpha / alpha.c
index 808116a..1e31db4 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;
     }