blob: 101f494a38c421fcd7053102486d722b322153ac [file] [log] [blame]
Dale Johannesenf336bea2010-05-18 19:03:51 +00001// RUN: %llvmgcc %s -c -O3 -m64 -emit-llvm -o - | llc -march=x86-64 -mtriple=x86_64-apple-darwin | FileCheck %s
2// XFAIL: *
3// XTARGET: x86,i386,i686
4// r9 used to be clobbered before its value was moved to r10. 7993104.
5
6void foo(int x, int y) {
7// CHECK: bar
8// CHECK: movq %r9, %r10
9// CHECK: movq %rdi, %r9
10// CHECK: bar
11 register int lr9 asm("r9") = x;
12 register int lr10 asm("r10") = y;
13 int foo;
14 asm volatile("bar" : "=r"(lr9) : "r"(lr9), "r"(lr10));
15 foo = lr9;
16 lr9 = x;
17 lr10 = foo;
18 asm volatile("bar" : "=r"(lr9) : "r"(lr9), "r"(lr10));
19}