// RUN: not llvm-mc -triple aarch64-none-linux-gnu < %s > %t1 2> %t2
// RUN: FileCheck < %t1 %s
// RUN: FileCheck --match-full-lines --strict-whitespace --check-prefix=CHECK-ERROR < %t2 %s
.globl _func
_func:
// CHECK-LABEL: _func
.set IMM2, 2
.equ IMM4, 4
// Make sure we can use a symbol with the optionally shift left operand.
add w1, w2, w3, uxtb add w4, w5, w6, uxth add x7, x8, x9, lsl add w7, w8, w9, uxtw add x1, x2, x3, uxtx
// CHECK: add w1, w2, w3, uxtb // CHECK: add w4, w5, w6, uxth // CHECK: add x7, x8, x9, lsl // CHECK: add w7, w8, w9, uxtw // CHECK: add x1, x2, x3, uxtx
add w1, w2, w3, sxtb add w4, w5, w6, sxth add x7, x8, x9, lsl add w7, w8, w9, sxtw add x1, x2, x3, sxtx
// CHECK: add w1, w2, w3, sxtb // CHECK: add w4, w5, w6, sxth // CHECK: add x7, x8, x9, lsl // CHECK: add w7, w8, w9, sxtw // CHECK: add x1, x2, x3, sxtx
add w1, w2, w3, lsl
// CHECK-ERROR:{{.*}}error: expected constant '#imm' after shift specifier
// CHECK-ERROR: add w1, w2, w3, lsl // CHECK-ERROR: ^