aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2005-09-19 10:05:44 -0700
committerRichard Henderson <rth@gcc.gnu.org>2005-09-19 10:05:44 -0700
commita220ee348d9e054e4bb1b4d0292a3406b9d0d0d8 (patch)
tree90488db0f7a16e83ac6928e611450c76402f883b /gcc
parentd289e37a267820946191990603ad70cb29a7ffc9 (diff)
downloadgcc-a220ee348d9e054e4bb1b4d0292a3406b9d0d0d8.zip
gcc-a220ee348d9e054e4bb1b4d0292a3406b9d0d0d8.tar.gz
gcc-a220ee348d9e054e4bb1b4d0292a3406b9d0d0d8.tar.bz2
alpha.c (alpha_rtx_costs): Cost 0 for a memory source.
* config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0 for a memory source. From-SVN: r104425
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/alpha/alpha.c8
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2a56ded..addadd5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index 808116a..1e31db4 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -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;
}