summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
diff options
context:
space:
mode:
authorPengfei Wang <pengfei.wang@intel.com>2019-05-31 01:50:07 +0000
committerPengfei Wang <pengfei.wang@intel.com>2019-05-31 01:50:07 +0000
commit48387ec187266e2c4df9bc7016bb6e7267ea5cee (patch)
treed9f50cc51a595f9ee1890ba4cbe4d872ae59b5d9 /clang/test/CodeGen
parent2ab7af29c6cad5abac3b4da48df33d21b87fc216 (diff)
downloadbcm5719-llvm-48387ec187266e2c4df9bc7016bb6e7267ea5cee.tar.gz
bcm5719-llvm-48387ec187266e2c4df9bc7016bb6e7267ea5cee.zip
Revert "[X86] Fix i386 struct and union parameter alignment"
This reverts commit d61cb749f4ac2c90244906d756e80a5c4a7ffa89 (SVN: 361934). According to James suggestion, revert this change. Please ref: https://reviews.llvm.org/D60748 llvm-svn: 362186
Diffstat (limited to 'clang/test/CodeGen')
-rw-r--r--clang/test/CodeGen/x86_32-align-linux.c25
-rw-r--r--clang/test/CodeGen/x86_32-arguments-linux.c24
2 files changed, 12 insertions, 37 deletions
diff --git a/clang/test/CodeGen/x86_32-align-linux.c b/clang/test/CodeGen/x86_32-align-linux.c
deleted file mode 100644
index 5fce3f5f295..00000000000
--- a/clang/test/CodeGen/x86_32-align-linux.c
+++ /dev/null
@@ -1,25 +0,0 @@
-// RUN: %clang_cc1 -w -fblocks -ffreestanding -triple i386-pc-linux-gnu -emit-llvm -o %t %s
-// RUN: FileCheck < %t %s
-
-#include <immintrin.h>
-
-typedef union {
- int d[4];
- __m128 m;
-} M128;
-
-extern void foo(int, ...);
-
-M128 a;
-
-// CHECK-LABEL: define void @test
-// CHECK: entry:
-// CHECK: call void (i32, ...) @foo(i32 1, %union.M128* byval align 16
-// CHECK: call void (i32, ...) @foo(i32 1, <4 x float>
-
-void test(void)
-{
- foo(1, a);
- foo(1, a.m);
-}
-
diff --git a/clang/test/CodeGen/x86_32-arguments-linux.c b/clang/test/CodeGen/x86_32-arguments-linux.c
index 3718980ba16..02eac51216a 100644
--- a/clang/test/CodeGen/x86_32-arguments-linux.c
+++ b/clang/test/CodeGen/x86_32-arguments-linux.c
@@ -3,21 +3,21 @@
// CHECK-LABEL: define void @f56(
// CHECK: i8 signext %a0, %struct.s56_0* byval align 4 %a1,
-// CHECK: i64 %a2.coerce, %struct.s56_1* byval align 8 %a3,
-// CHECK: <1 x double> %a4, %struct.s56_2* byval align 8 %a5,
-// CHECK: <4 x i32> %a6, %struct.s56_3* byval align 16 %a7,
-// CHECK: <2 x double> %a8, %struct.s56_4* byval align 16 %a9,
-// CHECK: <8 x i32> %a10, %struct.s56_5* byval align 32 %a11,
-// CHECK: <4 x double> %a12, %struct.s56_6* byval align 32 %a13)
+// CHECK: i64 %a2.coerce, %struct.s56_1* byval align 4,
+// CHECK: <1 x double> %a4, %struct.s56_2* byval align 4,
+// CHECK: <4 x i32> %a6, %struct.s56_3* byval align 4,
+// CHECK: <2 x double> %a8, %struct.s56_4* byval align 4,
+// CHECK: <8 x i32> %a10, %struct.s56_5* byval align 4,
+// CHECK: <4 x double> %a12, %struct.s56_6* byval align 4)
// CHECK: call void (i32, ...) @f56_0(i32 1,
// CHECK: i32 %{{.*}}, %struct.s56_0* byval align 4 %{{[^ ]*}},
-// CHECK: i64 %{{[^ ]*}}, %struct.s56_1* byval align 8 %{{[^ ]*}},
-// CHECK: <1 x double> %{{[^ ]*}}, %struct.s56_2* byval align 8 %{{[^ ]*}},
-// CHECK: <4 x i32> %{{[^ ]*}}, %struct.s56_3* byval align 16 %{{[^ ]*}},
-// CHECK: <2 x double> %{{[^ ]*}}, %struct.s56_4* byval align 16 %{{[^ ]*}},
-// CHECK: <8 x i32> %{{[^ ]*}}, %struct.s56_5* byval align 32 %{{[^ ]*}},
-// CHECK: <4 x double> %{{[^ ]*}}, %struct.s56_6* byval align 32 %{{[^ ]*}})
+// CHECK: i64 %{{[^ ]*}}, %struct.s56_1* byval align 4 %{{[^ ]*}},
+// CHECK: <1 x double> %{{[^ ]*}}, %struct.s56_2* byval align 4 %{{[^ ]*}},
+// CHECK: <4 x i32> %{{[^ ]*}}, %struct.s56_3* byval align 4 %{{[^ ]*}},
+// CHECK: <2 x double> %{{[^ ]*}}, %struct.s56_4* byval align 4 %{{[^ ]*}},
+// CHECK: <8 x i32> %{{[^ ]*}}, %struct.s56_5* byval align 4 %{{[^ ]*}},
+// CHECK: <4 x double> %{{[^ ]*}}, %struct.s56_6* byval align 4 %{{[^ ]*}})
// CHECK: }
//
// <rdar://problem/7964854> [i386] clang misaligns long double in structures
OpenPOWER on IntegriCloud