xref: /llvm-project/llvm/test/MC/ARM/armv8.1m-pacbti-error.s (revision 5cff77c23f43130887b566dd0fe237e1c482e23b)
1// RUN: not llvm-mc -triple thumbv8.1m.main-arm-none-eabi -mattr=+pacbti %s -show-encoding -o - 2>&1 | FileCheck %s
2
3// CHECK: error: invalid operand for instruction
4pac r0, lr, sp
5// CHECK: error: invalid operand for instruction
6pac r12, r1, sp
7// CHECK: error: operand must be a register sp
8pac r12, lr, r2
9
10// CHECK: error: invalid operand for instruction
11aut r0, lr, sp
12// CHECK: error: invalid operand for instruction
13aut r12, r1, sp
14// CHECK: error: operand must be a register sp
15aut r12, lr, r2
16
17// CHECK: operand must be a register in range [r0, r12] or LR or PC
18autg sp, r1, r2
19// CHECK: operand must be a register in range [r0, r14]
20autg r0, pc, r2
21// CHECK: operand must be a register in range [r0, r14]
22autg r0, r1, pc
23
24// CHECK: operand must be a register in range [r0, r12] or r14
25pacg sp, r1, r2
26// CHECK: operand must be a register in range [r0, r12] or r14
27pacg pc, r1, r2
28// CHECK: operand must be a register in range [r0, r14]
29pacg r0, pc, r2
30// CHECK: operand must be a register in range [r0, r14]
31pacg r0, r1, pc
32
33// CHECK: operand must be a register in range [r0, r12] or LR or PC
34bxaut sp, r1, r2
35// CHECK: operand must be a register in range [r0, r12] or r14
36bxaut r0, sp, r2
37// CHECK: operand must be a register in range [r0, r12] or r14
38bxaut r0, pc, r2
39// CHECK: operand must be a register in range [r0, r14]
40bxaut r0, r1, pc
41