diff options
author | Richard Henderson <rth@redhat.com> | 2005-09-19 10:05:44 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2005-09-19 10:05:44 -0700 |
commit | a220ee348d9e054e4bb1b4d0292a3406b9d0d0d8 (patch) | |
tree | 90488db0f7a16e83ac6928e611450c76402f883b /gcc | |
parent | d289e37a267820946191990603ad70cb29a7ffc9 (diff) | |
download | gcc-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/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.c | 8 |
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; } |