summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/test/CodeGen/asm-2.c10
-rw-r--r--clang/test/CodeGen/asm-inout.c18
-rw-r--r--clang/test/CodeGen/asm.c11
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
+}
OpenPOWER on IntegriCloud