diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2011-10-20 21:14:49 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2011-10-20 21:14:49 +0000 |
| commit | 36981b17ed939300f6f8fc2355a255f711fcef71 (patch) | |
| tree | ee2483e98b09cac943dc93a6969d83ca737ff139 /test/CodeGen/asm.c | |
| parent | 180abc3db9ae3b4fc63cd65b15697e6ffcc8a657 (diff) | |
Notes
Diffstat (limited to 'test/CodeGen/asm.c')
| -rw-r--r-- | test/CodeGen/asm.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/CodeGen/asm.c b/test/CodeGen/asm.c index 7199f09e1a3c..019eb9ca3e67 100644 --- a/test/CodeGen/asm.c +++ b/test/CodeGen/asm.c @@ -1,4 +1,13 @@ // RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm %s -o - | FileCheck %s + +// PR10415 +__asm__ ("foo1"); +__asm__ ("foo2"); +__asm__ ("foo3"); +// CHECK: module asm "foo1" +// CHECK-NEXT: module asm "foo2" +// CHECK-NEXT: module asm "foo3" + void t1(int len) { __asm__ volatile("" : "=&r"(len), "+&r"(len)); } @@ -191,6 +200,15 @@ unsigned char t23(unsigned char a, unsigned char b) { return res; } +void *t24(char c) { + void *addr; + // CHECK: @t24 + // CHECK: zext i8 {{.*}} to i32 + // CHECK-NEXT: call i8* asm "foobar" + __asm__ ("foobar" : "=a" (addr) : "0" (c)); + return addr; +} + // PR10299 - fpsr, fpcr void test(void) |
