aboutsummaryrefslogtreecommitdiff
path: root/gcc/targhooks.c
diff options
context:
space:
mode:
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>2012-02-10 16:38:37 +0000
committerBill Schmidt <wschmidt@linux.vnet.ibm.com>2012-02-10 16:38:37 +0000
commit9f3d166301494beba979949a093aedad4d30d87d (patch)
tree1455fc4d37f458d4ad3a9c635dedf65878af17e6 /gcc/targhooks.c
parent1305e3d3d8a0b8c0a76fc5bee7822ee57008eba8 (diff)
2012-02-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Ira Rosen <irar@il.ibm.com> PR tree-optimization/50031 * targhooks.c (default_builtin_vectorization_cost): Handle vec_promote_demote. * target.h (enum vect_cost_for_stmt): Add vec_promote_demote. * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle all types of reduction and pattern statements. (vect_estimate_min_profitable_iters): Likewise. * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function. (vect_get_load_cost): Use vec_perm for permutations; add dump logic for explicit realigns. (vectorizable_conversion): Call vect_model_promotion_demotion_cost. * config/spu/spu.c (spu_builtin_vectorization_cost): Handle vec_promote_demote. * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise. * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update vec_perm for VSX and handle vec_promote_demote. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@184102 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/targhooks.c')
-rw-r--r--gcc/targhooks.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 2b4fd27bdfa..8e3d74ea356 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -514,6 +514,7 @@ default_builtin_vectorization_cost (enum vect_cost_for_stmt type_of_cost,
case scalar_to_vec:
case cond_branch_not_taken:
case vec_perm:
+ case vec_promote_demote:
return 1;
case unaligned_load: