summaryrefslogtreecommitdiff
path: root/gcc/config/aarch64
diff options
context:
space:
mode:
authorjgreenhalgh <jgreenhalgh@138bc75d-0d04-0410-961f-82ee72b054a4>2012-12-17 09:44:58 +0000
committerjgreenhalgh <jgreenhalgh@138bc75d-0d04-0410-961f-82ee72b054a4>2012-12-17 09:44:58 +0000
commitb9ed229934a154a9cfc96cae4bd27303329d1779 (patch)
tree20ad15d5927f1c59f9b323326a77c4653ec05c59 /gcc/config/aarch64
parent029b4e9c9f82d2c47eb539c10efc138904aeb85b (diff)
downloadgcc-b9ed229934a154a9cfc96cae4bd27303329d1779.tar.gz
[AARCH64] Enable support for TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES.
gcc/ * config/aarch64/aarch64.c (aarch64_autovectorize_vector_sizes): New. (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_vect_multiple_sizes): Enable for AArch64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194552 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/aarch64')
-rw-r--r--gcc/config/aarch64/aarch64.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 7bc2f6b896a..09b17778d47 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -5865,6 +5865,14 @@ aarch64_preferred_simd_mode (enum machine_mode mode)
return word_mode;
}
+/* Return the bitmask of possible vector sizes for the vectorizer
+ to iterate over. */
+static unsigned int
+aarch64_autovectorize_vector_sizes (void)
+{
+ return (16 | 8);
+}
+
/* A table to help perform AArch64-specific name mangling for AdvSIMD
vector types in order to conform to the AAPCS64 (see "Procedure
Call Standard for the ARM 64-bit Architecture", Appendix A). To
@@ -7519,6 +7527,10 @@ aarch64_vectorize_vec_perm_const_ok (enum machine_mode vmode,
#define TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION \
aarch64_builtin_vectorized_function
+#undef TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES
+#define TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES \
+ aarch64_autovectorize_vector_sizes
+
/* Section anchor support. */
#undef TARGET_MIN_ANCHOR_OFFSET