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