1; RUN: llc -mtriple=x86_64-pc-linux %s -o - -regalloc=fast -optimize-regalloc=0 | FileCheck %s 2 3; We used to consider the early clobber in the second asm statement as 4; defining %0 before it was read. This caused us to omit the 5; movq -8(%rsp), %rdx 6 7; CHECK: #APP 8; CHECK-NEXT: #NO_APP 9; CHECK-NEXT: movq %rcx, %rdx 10; CHECK-NEXT: #APP 11; CHECK-NEXT: #NO_APP 12; CHECK-NEXT: movq %rcx, -8(%rsp) 13; CHECK-NEXT: movq -8(%rsp), %rax 14; CHECK-NEXT: ret 15 16define i64 @foo() { 17entry: 18 %0 = tail call i64 asm "", "={cx}"() nounwind 19 %1 = tail call i64 asm "", "=&r,0,r,~{rax}"(i64 %0, i64 %0) nounwind 20 ret i64 %1 21} 22