From a220ee348d9e054e4bb1b4d0292a3406b9d0d0d8 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 19 Sep 2005 10:05:44 -0700 Subject: [PATCH] alpha.c (alpha_rtx_costs): Cost 0 for a memory source. * config/alpha/alpha.c (alpha_rtx_costs) : Cost 0 for a memory source. From-SVN: r104425 --- gcc/ChangeLog | 3 +++ gcc/config/alpha/alpha.c | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2a56dedfad2..addadd538af 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) : Cost 0 + for a memory source. + 2005-09-19 Dorit Nuzman * tree-ssa-operands.c (swap_tree_operands): Export. diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 808116a158d..1e31db4cad3 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; } -- 2.30.2