aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-stmts.c
diff options
context:
space:
mode:
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>2012-02-06 21:39:34 +0000
committerWilliam Schmidt <wschmidt@gcc.gnu.org>2012-02-06 21:39:34 +0000
commitc5f14d626e38bf94e2cf8d3bda0409c2c4de1fe6 (patch)
treeccea64a899c732644dc9afe3e841813e2b2019bc /gcc/tree-vect-stmts.c
parent9903b69dbd7197ab5ea9a2f8e349d648df0e3f14 (diff)
downloadgcc-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.c4
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 .",