xref: /llvm-project/llvm/test/MC/AArch64/armv8r-unsupported-sysreg.s (revision 8689f5e6e77394528155b624d74557790278a407)
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