From: Dale Johannesen Date: Fri, 13 Apr 2007 22:54:11 +0000 (+0000) Subject: tests for struct/union as input operands to asm. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=f6a15eb1a1c5313a3fa9fb466f46a0740e1c0ede;p=oota-llvm.git 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 --- diff --git a/test/CFrontend/2007-04-13-InlineAsmStruct2.c b/test/CFrontend/2007-04-13-InlineAsmStruct2.c new file mode 100644 index 00000000000..8639b763a35 --- /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 00000000000..76bd7841a38 --- /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)); +}