summaryrefslogtreecommitdiffstats
path: root/llvm/test/FrontendC
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2010-05-18 19:03:51 +0000
committerDale Johannesen <dalej@apple.com>2010-05-18 19:03:51 +0000
commitfb7df5317a7512180b9a2a6ee232be10b7f33f68 (patch)
treee88fb1f21e4dcbce34cd96551897bb024c705f98 /llvm/test/FrontendC
parent87b915a9bc1bc40b521c2ab29074d2684b5be971 (diff)
downloadbcm5719-llvm-fb7df5317a7512180b9a2a6ee232be10b7f33f68.tar.gz
bcm5719-llvm-fb7df5317a7512180b9a2a6ee232be10b7f33f68.zip
Testcase for llvm-gcc checkin 104042.
llvm-svn: 104043
Diffstat (limited to 'llvm/test/FrontendC')
-rw-r--r--llvm/test/FrontendC/2010-05-18-asmsched.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/FrontendC/2010-05-18-asmsched.c b/llvm/test/FrontendC/2010-05-18-asmsched.c
new file mode 100644
index 00000000000..101f494a38c
--- /dev/null
+++ b/llvm/test/FrontendC/2010-05-18-asmsched.c
@@ -0,0 +1,19 @@
+// RUN: %llvmgcc %s -c -O3 -m64 -emit-llvm -o - | llc -march=x86-64 -mtriple=x86_64-apple-darwin | FileCheck %s
+// XFAIL: *
+// XTARGET: x86,i386,i686
+// r9 used to be clobbered before its value was moved to r10. 7993104.
+
+void foo(int x, int y) {
+// CHECK: bar
+// CHECK: movq %r9, %r10
+// CHECK: movq %rdi, %r9
+// CHECK: bar
+ register int lr9 asm("r9") = x;
+ register int lr10 asm("r10") = y;
+ int foo;
+ asm volatile("bar" : "=r"(lr9) : "r"(lr9), "r"(lr10));
+ foo = lr9;
+ lr9 = x;
+ lr10 = foo;
+ asm volatile("bar" : "=r"(lr9) : "r"(lr9), "r"(lr10));
+} \ No newline at end of file
OpenPOWER on IntegriCloud