diff options
author | Bill Schmidt <wschmidt@linux.vnet.ibm.com> | 2012-02-06 21:39:34 +0000 |
---|---|---|
committer | William Schmidt <wschmidt@gcc.gnu.org> | 2012-02-06 21:39:34 +0000 |
commit | c5f14d626e38bf94e2cf8d3bda0409c2c4de1fe6 (patch) | |
tree | ccea64a899c732644dc9afe3e841813e2b2019bc /gcc/tree-vect-stmts.c | |
parent | 9903b69dbd7197ab5ea9a2f8e349d648df0e3f14 (diff) | |
download | gcc-c5f14d626e38bf94e2cf8d3bda0409c2c4de1fe6.zip gcc-c5f14d626e38bf94e2cf8d3bda0409c2c4de1fe6.tar.gz gcc-c5f14d626e38bf94e2cf8d3bda0409c2c4de1fe6.tar.bz2 |
re PR tree-optimization/50969 (17% degradation in 168.wupwise for interleave via permutation)
2012-02-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/50969
* tree-vect-stmts.c (vect_model_store_cost): Correct statement cost to
use vec_perm rather than vector_stmt.
(vect_model_load_cost): Likewise.
* config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of
vec_perm to be the same as other vector statements.
* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
cost of vec_perm for TARGET_VSX.
From-SVN: r183944
Diffstat (limited to 'gcc/tree-vect-stmts.c')
-rw-r--r-- | gcc/tree-vect-stmts.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index 6ce742c..e854da5 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -882,7 +882,7 @@ vect_model_store_cost (stmt_vec_info stmt_info, int ncopies, { /* Uses a high and low interleave operation for each needed permute. */ inside_cost = ncopies * exact_log2(group_size) * group_size - * vect_get_stmt_cost (vector_stmt); + * vect_get_stmt_cost (vec_perm); if (vect_print_dump_info (REPORT_COST)) fprintf (vect_dump, "vect_model_store_cost: strided group_size = %d .", @@ -988,7 +988,7 @@ vect_model_load_cost (stmt_vec_info stmt_info, int ncopies, bool load_lanes_p, { /* Uses an even and odd extract operations for each needed permute. */ inside_cost = ncopies * exact_log2(group_size) * group_size - * vect_get_stmt_cost (vector_stmt); + * vect_get_stmt_cost (vec_perm); if (vect_print_dump_info (REPORT_COST)) fprintf (vect_dump, "vect_model_load_cost: strided group_size = %d .", |