aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2017-09-27 23:52:58 +0000
committerChristophe Lyon <clyon@gcc.gnu.org>2017-09-28 01:52:58 +0200
commita509c571eae4cb1ab3e79c044d93b1d79bde0798 (patch)
tree562f812616d0a4d8b51ecdd3b3025e4e6c5f1966 /gcc/config
parent6e0cc90b228ec869440df1028fc39fb0f3c9e028 (diff)
downloadgcc-a509c571eae4cb1ab3e79c044d93b1d79bde0798.zip
gcc-a509c571eae4cb1ab3e79c044d93b1d79bde0798.tar.gz
gcc-a509c571eae4cb1ab3e79c044d93b1d79bde0798.tar.bz2
[AArch64] PR71727 fix -mstrict-align
2017-09-27 Christophe Lyon <christophe.lyon@linaro.org> PR target/71727 gcc/ * config/aarch64/aarch64.c (aarch64_builtin_support_vector_misalignment): Always return false when misalignment is unknown. gcc/testsuite/ * gcc.target/aarch64/pr71727-2.c: New test From-SVN: r253242
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/aarch64/aarch64.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 71d8dc4..4c411df 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -11902,19 +11902,9 @@ aarch64_builtin_support_vector_misalignment (machine_mode mode,
if (optab_handler (movmisalign_optab, mode) == CODE_FOR_nothing)
return false;
+ /* Misalignment factor is unknown at compile time. */
if (misalignment == -1)
- {
- /* Misalignment factor is unknown at compile time but we know
- it's word aligned. */
- if (aarch64_simd_vector_alignment_reachable (type, is_packed))
- {
- int element_size = TREE_INT_CST_LOW (TYPE_SIZE (type));
-
- if (element_size != 64)
- return true;
- }
- return false;
- }
+ return false;
}
return default_builtin_support_vector_misalignment (mode, type, misalignment,
is_packed);