mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-28 07:05:11 +00:00
Testcase for llvm-gcc checkin 104042.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104043 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9f2ad11624
commit
f336bea195
19
test/FrontendC/2010-05-18-asmsched.c
Normal file
19
test/FrontendC/2010-05-18-asmsched.c
Normal file
@ -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));
|
||||
}
|
Loading…
Reference in New Issue
Block a user