aboutsummaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>2012-02-10 16:38:37 +0000
committerWilliam Schmidt <wschmidt@gcc.gnu.org>2012-02-10 16:38:37 +0000
commit8bd373026eaf4fe6d6ce7c5047f10dd85e29b942 (patch)
tree1455fc4d37f458d4ad3a9c635dedf65878af17e6 /gcc/target.h
parent19f326e8ec1917f33e54e165e036f2c6ff091ce8 (diff)
downloadgcc-8bd373026eaf4fe6d6ce7c5047f10dd85e29b942.zip
gcc-8bd373026eaf4fe6d6ce7c5047f10dd85e29b942.tar.gz
gcc-8bd373026eaf4fe6d6ce7c5047f10dd85e29b942.tar.bz2
re PR tree-optimization/50031 (Sphinx3 has a 10% regression going from GCC 4.5 to GCC 4.6 on powerpc)
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. Co-Authored-By: Ira Rosen <irar@il.ibm.com> From-SVN: r184102
Diffstat (limited to 'gcc/target.h')
-rw-r--r--gcc/target.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/target.h b/gcc/target.h
index 3818198..e3307e8 100644
--- a/gcc/target.h
+++ b/gcc/target.h
@@ -145,7 +145,8 @@ enum vect_cost_for_stmt
scalar_to_vec,
cond_branch_not_taken,
cond_branch_taken,
- vec_perm
+ vec_perm,
+ vec_promote_demote
};
/* The target structure. This holds all the backend hooks. */