aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2007-04-13 22:54:11 +0000
committerDale Johannesen <dalej@apple.com>2007-04-13 22:54:11 +0000
commitf6a15eb1a1c5313a3fa9fb466f46a0740e1c0ede (patch)
tree34bae39a5791d5dd065a465e2b11ff220efbc9ea
parent614408dc48ce6036adb2fc1de448a8adabb5aa97 (diff)
tests for struct/union as input operands to asm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35976 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CFrontend/2007-04-13-InlineAsmStruct2.c9
-rw-r--r--test/CFrontend/2007-04-13-InlineAsmUnion2.c7
2 files changed, 16 insertions, 0 deletions
diff --git a/test/CFrontend/2007-04-13-InlineAsmStruct2.c b/test/CFrontend/2007-04-13-InlineAsmStruct2.c
new file mode 100644
index 0000000000..8639b763a3
--- /dev/null
+++ b/test/CFrontend/2007-04-13-InlineAsmStruct2.c
@@ -0,0 +1,9 @@
+// RUN: %llvmgcc %s -S -emit-llvm -o - | grep 'call void asm'
+
+struct V { short X, Y; };
+int bar() {
+ struct V bar;
+ __asm__ volatile("foo %0\n" :: "r"(bar));
+ return bar.X;
+}
+
diff --git a/test/CFrontend/2007-04-13-InlineAsmUnion2.c b/test/CFrontend/2007-04-13-InlineAsmUnion2.c
new file mode 100644
index 0000000000..76bd7841a3
--- /dev/null
+++ b/test/CFrontend/2007-04-13-InlineAsmUnion2.c
@@ -0,0 +1,7 @@
+// RUN: %llvmgcc %s -S -emit-llvm -o - | grep 'call void asm'
+
+union U { int x; char* p; };
+void foo() {
+ union U bar;
+ __asm__ volatile("foo %0\n" :: "r"(bar));
+}