1// RUN: llvm-mc -triple aarch64 -mattr=+v8a -show-encoding < %s | FileCheck %s 2// RUN: not llvm-mc -triple aarch64 -mattr=+v8r -show-encoding < %s 2>&1 |\ 3// RUN: FileCheck --check-prefix=CHECK-ERROR %s 4 5// CHECK: msr TTBR0_EL2, x3 // encoding: [0x03,0x20,0x1c,0xd5] 6// CHECK-NEXT: mrs x3, TTBR0_EL2 // encoding: [0x03,0x20,0x3c,0xd5] 7// CHECK-NEXT: msr VTTBR_EL2, x3 // encoding: [0x03,0x21,0x1c,0xd5] 8// CHECK-NEXT: mrs x3, VTTBR_EL2 // encoding: [0x03,0x21,0x3c,0xd5] 9// CHECK-NEXT: msr VSTTBR_EL2, x3 // encoding: [0x03,0x26,0x1c,0xd5] 10// CHECK-NEXT: mrs x3, VSTTBR_EL2 // encoding: [0x03,0x26,0x3c,0xd5] 11 12msr TTBR0_EL2, x3 13mrs x3, TTBR0_EL2 14msr VTTBR_EL2, x3 15mrs x3, VTTBR_EL2 16msr VSTTBR_EL2, x3 17mrs x3, VSTTBR_EL2 18 19// CHECK-ERROR: {{.*}}: error: expected writable system register or pstate 20// CHECK-ERROR-NEXT: msr TTBR0_EL2, x3 21// CHECK-ERROR-NEXT: ^ 22// CHECK-ERROR-NEXT: {{.*}}: error: expected readable system register 23// CHECK-ERROR-NEXT: mrs x3, TTBR0_EL2 24// CHECK-ERROR-NEXT: ^ 25// CHECK-ERROR-NEXT: {{.*}}: error: expected writable system register or pstate 26// CHECK-ERROR-NEXT: msr VTTBR_EL2, x3 27// CHECK-ERROR-NEXT: ^ 28// CHECK-ERROR-NEXT: {{.*}}: error: expected readable system register 29// CHECK-ERROR-NEXT: mrs x3, VTTBR_EL2 30// CHECK-ERROR-NEXT: ^ 31// CHECK-ERROR-NEXT: {{.*}}: error: expected writable system register or pstate 32// CHECK-ERROR-NEXT: msr VSTTBR_EL2, x3 33// CHECK-ERROR-NEXT: ^ 34// CHECK-ERROR-NEXT: {{.*}}: error: expected readable system register 35// CHECK-ERROR-NEXT: mrs x3, VSTTBR_EL2 36// CHECK-ERROR-NEXT: ^ 37