// RUN: llvm-mc -triple x86_64-unknown-unknown %s -o -      | FileCheck %s
// RUN: not llvm-mc -triple x86_64 --defsym ERR=1 %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=ERR
	
// CHECK: var_xdata = %rcx
var_xdata = %rcx

// CHECK: xorq %rcx, %rcx
xorq var_xdata, var_xdata

unused_reg = %xmm0

// CHECK: .data
// CHECK-NEXT: .byte 1	
.data 
.if var_xdata == %rax
  .byte 0
.elseif var_xdata == %rcx
  .byte 1
.else
  .byte 2	
.endif

// CHECK:      .byte 1
.if var_xdata != %rcx
  .byte 0
.elseif var_xdata != %rax
  .byte 1
.else
  .byte 2
.endif

.ifdef ERR
// ERR: [[#@LINE+1]]:5: error: expected absolute expression
.if var_xdata == 1
.endif
// ERR: [[#@LINE+1]]:5: error: expected absolute expression
.if 1 == var_xdata
.endif
.endif
