diff options
-rw-r--r-- | clang/test/CodeGen/asm-2.c | 10 | ||||
-rw-r--r-- | clang/test/CodeGen/asm-inout.c | 18 | ||||
-rw-r--r-- | clang/test/CodeGen/asm.c | 11 |
3 files changed, 11 insertions, 28 deletions
diff --git a/clang/test/CodeGen/asm-2.c b/clang/test/CodeGen/asm-2.c deleted file mode 100644 index 9d73608a4c1..00000000000 --- a/clang/test/CodeGen/asm-2.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %clang_cc1 -emit-llvm %s -o %t -triple i386-pc-linux-gnu -O2 -// RUN: not grep "load" %t - -// <rdar://problem/6841383> -int cpuid(unsigned data) { - int a, b; - - asm("xyz" :"=a"(a), "=d"(b) : "a"(data)); - return a + b; -} diff --git a/clang/test/CodeGen/asm-inout.c b/clang/test/CodeGen/asm-inout.c deleted file mode 100644 index 40766092710..00000000000 --- a/clang/test/CodeGen/asm-inout.c +++ /dev/null @@ -1,18 +0,0 @@ -// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm %s -o %t -// RUN: grep "load i8\*\*\* %p.addr" %t | count 1 -// XFAIL: * - -// PR3800 -void f(void **p) -{ - __asm__ volatile("" :"+m"(*p)); -} - -#if 0 -// FIXME: Once this works again, we must verify that the code below behaves as expected -// See PR4677. -void f() { - unsigned _data = 42; - __asm__("bswap %0":"+r"(_data)); -} -#endif diff --git a/clang/test/CodeGen/asm.c b/clang/test/CodeGen/asm.c index fe9ca9a4c74..ad15eb27d84 100644 --- a/clang/test/CodeGen/asm.c +++ b/clang/test/CodeGen/asm.c @@ -120,3 +120,14 @@ void t17() { // CHECK: call void asm "nop", "=*m, } +// <rdar://problem/6841383> +int t18(unsigned data) { + int a, b; + + asm("xyz" :"=a"(a), "=d"(b) : "a"(data)); + return a + b; +// CHECK: t18(i32 +// CHECK: = call {{.*}}asm "xyz" +// CHECK-NEXT: extractvalue +// CHECK-NEXT: extractvalue +} |