summaryrefslogtreecommitdiff
path: root/test/CodeGen/armv7k-abi.c
diff options
context:
space:
mode:
authorJaved Absar <javed.absar@arm.com>2017-05-30 10:12:15 +0000
committerJaved Absar <javed.absar@arm.com>2017-05-30 10:12:15 +0000
commit14af7897308db385738c41134ea4521443cb9b95 (patch)
tree3a006a7f5955f1a482c212d6a449a1c5eec3541a /test/CodeGen/armv7k-abi.c
parente2d94330ab2852f4528dd84764b932a8179b25eb (diff)
downloadclang-14af7897308db385738c41134ea4521443cb9b95.tar.gz
[ARM] Fix Neon vector type alignment to 64-bit
The maximum alignment for ARM NEON data types should be 64-bits as specified in ARM procedure call standard document Sec. A.2 Notes. This patch fixes it from its current larger natural default values, except for Android (so as not to break existing ABI). Reviewed by: Stephen Hines, Renato Golin. Differential Revision: https://reviews.llvm.org/D33205 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@304201 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/armv7k-abi.c')
-rw-r--r--test/CodeGen/armv7k-abi.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/test/CodeGen/armv7k-abi.c b/test/CodeGen/armv7k-abi.c
index 9b57de8727..b31eafd614 100644
--- a/test/CodeGen/armv7k-abi.c
+++ b/test/CodeGen/armv7k-abi.c
@@ -83,11 +83,11 @@ typedef struct {
OddlySizedStruct return_oddly_sized_struct() {}
// CHECK: define <4 x float> @test_va_arg_vec(i8* %l)
-// CHECK: [[ALIGN_TMP:%.*]] = add i32 {{%.*}}, 15
-// CHECK: [[ALIGNED:%.*]] = and i32 [[ALIGN_TMP]], -16
+// CHECK: [[ALIGN_TMP:%.*]] = add i32 {{%.*}}, 7
+// CHECK: [[ALIGNED:%.*]] = and i32 [[ALIGN_TMP]], -8
// CHECK: [[ALIGNED_I8:%.*]] = inttoptr i32 [[ALIGNED]] to i8*
// CHECK: [[ALIGNED_VEC:%.*]] = bitcast i8* [[ALIGNED_I8]] to <4 x float>
-// CHECK: load <4 x float>, <4 x float>* [[ALIGNED_VEC]], align 16
+// CHECK: load <4 x float>, <4 x float>* [[ALIGNED_VEC]], align 8
float32x4_t test_va_arg_vec(__builtin_va_list l) {
return __builtin_va_arg(l, float32x4_t);
}