Testcase for llvm-gcc checkin 111482.
authorDale Johannesen <dalej@apple.com>
Thu, 19 Aug 2010 00:09:07 +0000 (00:09 +0000)
committerDale Johannesen <dalej@apple.com>
Thu, 19 Aug 2010 00:09:07 +0000 (00:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111483 91177308-0d34-0410-b5e6-96231b3b80d8

test/FrontendC/misaligned-param.c [new file with mode: 0644]

diff --git a/test/FrontendC/misaligned-param.c b/test/FrontendC/misaligned-param.c
new file mode 100644 (file)
index 0000000..022dcaa
--- /dev/null
@@ -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);
+}