summaryrefslogtreecommitdiffstats
path: root/llvm/test/FrontendC
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2010-08-19 00:09:07 +0000
committerDale Johannesen <dalej@apple.com>2010-08-19 00:09:07 +0000
commit8d5f0208f2a2c407159223bc77d7c1870a5aba79 (patch)
tree5ade449613c6d9d91845283cc8725ce1f9c89f93 /llvm/test/FrontendC
parent768d3b510cf516773769bd81e1b571e6fce6e430 (diff)
downloadbcm5719-llvm-8d5f0208f2a2c407159223bc77d7c1870a5aba79.tar.gz
bcm5719-llvm-8d5f0208f2a2c407159223bc77d7c1870a5aba79.zip
Testcase for llvm-gcc checkin 111482.
llvm-svn: 111483
Diffstat (limited to 'llvm/test/FrontendC')
-rw-r--r--llvm/test/FrontendC/misaligned-param.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/test/FrontendC/misaligned-param.c b/llvm/test/FrontendC/misaligned-param.c
new file mode 100644
index 00000000000..022dcaaa4af
--- /dev/null
+++ b/llvm/test/FrontendC/misaligned-param.c
@@ -0,0 +1,15 @@
+// RUN: %llvmgcc %s -m32 -S -o - | FileCheck %s
+// Misaligned parameter must be memcpy'd to correctly aligned temporary.
+// XFAIL: *
+// XTARGET: x86,i386,i686,darwin
+
+struct s { int x; long double y; };
+long double foo(struct s x, int i, struct s y) {
+// CHECK: foo
+// CHECK: %x_addr = alloca %struct.s, align 16
+// CHECK: %y_addr = alloca %struct.s, align 16
+// CHECK: memcpy
+// CHECK: memcpy
+// CHECK: bar
+ return bar(&x, &y);
+}
OpenPOWER on IntegriCloud