aboutsummaryrefslogtreecommitdiff
path: root/gcc/target-def.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2009-11-26 01:52:19 +0000
committerRichard Henderson <rth@redhat.com>2009-11-26 01:52:19 +0000
commit3495cbc1cad515c3b70e47c0c12a0919741732a5 (patch)
tree9f56190fd9a03a09fedb53a42e51c8395d059720 /gcc/target-def.h
parentbec9e16fe108f3a8cb4d6b204c2b7eb1650792b5 (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.h5
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