summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2012-01-04 22:35:55 +0000
committerChris Lattner <sabre@nondot.org>2012-01-04 22:35:55 +0000
commit36bc4f41bcf46f5fa12238add36c40d14cf2b42e (patch)
tree9156d9ff5d5603f0eb3dddfbafed1b72485c7cfe /clang/test
parentcc0cf909538a7b387788f3a38286cae791db79ed (diff)
downloadbcm5719-llvm-36bc4f41bcf46f5fa12238add36c40d14cf2b42e.tar.gz
bcm5719-llvm-36bc4f41bcf46f5fa12238add36c40d14cf2b42e.zip
implement rdar://10639962 by keeping track of increased alignment
information even in subscripting operations. llvm-svn: 147557
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/alignment.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/CodeGen/alignment.c b/clang/test/CodeGen/alignment.c
index e1c9e9eb557..9384ec83d14 100644
--- a/clang/test/CodeGen/alignment.c
+++ b/clang/test/CodeGen/alignment.c
@@ -47,3 +47,13 @@ void test3(packedfloat3 *p) {
// CHECK: ret void
+
+typedef float __attribute__((vector_size(16), aligned(64))) float4align64;
+
+// rdar://10639962 - Typedef alignment lost in p[]-style dereferencing
+void test4(float4align64 *p) {
+ p[0] = (float4align64){ 3.2f, 2.3f, 0.1f, 0.0f };
+}
+// CHECK: @test4(
+// CHECK: store <4 x float> {{.*}}, <4 x float>* %arrayidx, align 64
+
OpenPOWER on IntegriCloud