xref: /llvm-project/llvm/test/MC/X86/register-assignment.s (revision a22c8efad733cf3407a93387a6a9c743659dc74c)
1// RUN: llvm-mc -triple x86_64-unknown-unknown %s -o -      | FileCheck %s
2// RUN: not llvm-mc -triple x86_64 --defsym ERR=1 %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=ERR
3
4// CHECK-NOT: .set var_xdata
5var_xdata = %rcx
6
7// CHECK: xorq %rcx, %rcx
8xorq var_xdata, var_xdata
9
10// CHECK: .data
11// CHECK-NEXT: .byte 1
12.data
13.if var_xdata == %rax
14  .byte 0
15.elseif var_xdata == %rcx
16  .byte 1
17.else
18  .byte 2
19.endif
20
21// CHECK:      .byte 1
22.if var_xdata != %rcx
23  .byte 0
24.elseif var_xdata != %rax
25  .byte 1
26.else
27  .byte 2
28.endif
29
30.ifdef ERR
31// ERR: [[#@LINE+1]]:5: error: expected absolute expression
32.if var_xdata == 1
33.endif
34// ERR: [[#@LINE+1]]:5: error: expected absolute expression
35.if 1 == var_xdata
36.endif
37.endif
38