diff options
author | Richard Henderson <rth@redhat.com> | 2009-11-26 01:52:19 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 2009-11-26 01:52:19 +0000 |
commit | 3495cbc1cad515c3b70e47c0c12a0919741732a5 (patch) | |
tree | 9f56190fd9a03a09fedb53a42e51c8395d059720 /gcc/target-def.h | |
parent | bec9e16fe108f3a8cb4d6b204c2b7eb1650792b5 (diff) |
* 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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@154665 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r-- | gcc/target-def.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h index c57977b1277..0fe5d1339d4 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 |