diff options
author | Richard Henderson <rth@redhat.com> | 2009-11-25 17:52:19 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2009-11-25 17:52:19 -0800 |
commit | faf63e396340307be88e36e86b1d30d0f8d88b14 (patch) | |
tree | 9f56190fd9a03a09fedb53a42e51c8395d059720 /gcc/target-def.h | |
parent | dac29646db44bc8d782bc07f07b577e0ba22d684 (diff) | |
download | gcc-faf63e396340307be88e36e86b1d30d0f8d88b14.zip gcc-faf63e396340307be88e36e86b1d30d0f8d88b14.tar.gz gcc-faf63e396340307be88e36e86b1d30d0f8d88b14.tar.bz2 |
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
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 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 |