From faf63e396340307be88e36e86b1d30d0f8d88b14 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 25 Nov 2009 17:52:19 -0800 Subject: target.h (targetm.vectorize.builtin_vec_perm_ok): New. * target.h (targetm.vectorize.builtin_vec_perm_ok): New. * target-def.h (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New. * hooks.h, hooks.c (hook_bool_tree_tree_true): New. * tree-vect-slp.c (vect_create_mask_and_perm): Don't create the vector constant here... (vect_transform_slp_perm_load): ... do it here instead. Validate that the permutation vector is implementable by the target. From-SVN: r154665 --- gcc/target-def.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gcc/target-def.h') diff --git a/gcc/target-def.h b/gcc/target-def.h index c57977b..0fe5d13 100644 --- a/gcc/target-def.h +++ b/gcc/target-def.h @@ -391,6 +391,8 @@ #define TARGET_VECTOR_ALIGNMENT_REACHABLE \ default_builtin_vector_alignment_reachable #define TARGET_VECTORIZE_BUILTIN_VEC_PERM 0 +#define TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK \ + hook_bool_tree_tree_true #define TARGET_SUPPORT_VECTOR_MISALIGNMENT \ default_builtin_support_vector_misalignment @@ -405,7 +407,8 @@ TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST, \ TARGET_VECTOR_ALIGNMENT_REACHABLE, \ TARGET_VECTORIZE_BUILTIN_VEC_PERM, \ - TARGET_SUPPORT_VECTOR_MISALIGNMENT \ + TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK, \ + TARGET_SUPPORT_VECTOR_MISALIGNMENT \ } #define TARGET_DEFAULT_TARGET_FLAGS 0 -- cgit v1.1