xref: /aosp_15_r20/external/llvm/test/MC/AArch64/armv8.1a-pan.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.1a -show-encoding < %s 2> %t | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker// RUN: FileCheck --check-prefix=CHECK-ERROR %s < %t
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker  .text
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker  msr pan, #0
7*9880d681SAndroid Build Coastguard Worker// CHECK:  msr PAN, #0           // encoding: [0x9f,0x40,0x00,0xd5]
8*9880d681SAndroid Build Coastguard Worker  msr pan, #1
9*9880d681SAndroid Build Coastguard Worker// CHECK:  msr PAN, #1           // encoding: [0x9f,0x41,0x00,0xd5]
10*9880d681SAndroid Build Coastguard Worker  msr pan, x5
11*9880d681SAndroid Build Coastguard Worker// CHECK:  msr PAN, x5           // encoding: [0x65,0x42,0x18,0xd5]
12*9880d681SAndroid Build Coastguard Worker  mrs x13, pan
13*9880d681SAndroid Build Coastguard Worker// CHECK:  mrs x13, PAN          // encoding: [0x6d,0x42,0x38,0xd5]
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker  msr pan, #-1
16*9880d681SAndroid Build Coastguard Worker  msr pan, #2
17*9880d681SAndroid Build Coastguard Worker  msr pan, w0
18*9880d681SAndroid Build Coastguard Worker  mrs w0, pan
19*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: immediate must be an integer in range [0, 1].
20*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:   msr pan, #-1
21*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:            ^
22*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: immediate must be an integer in range [0, 1].
23*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:   msr pan, #2
24*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:            ^
25*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: immediate must be an integer in range [0, 1].
26*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:   msr pan, w0
27*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:            ^
28*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
29*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:   mrs w0, pan
30*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:       ^
31