AArch64/ARM64: add specific diagnostic for MRS/MSR and enable tests.
[oota-llvm.git] / test / MC / AArch64 / gicv3-regs-diagnostics.s
1 // RUN: not llvm-mc -triple aarch64-none-linux-gnu < %s 2>&1 | FileCheck %s
2 // RUN: not llvm-mc -triple arm64-none-linux-gnu < %s 2>&1 | FileCheck %s
3
4         // Write-only
5         mrs x10, icc_eoir1_el1
6         mrs x7, icc_eoir0_el1
7         mrs x22, icc_dir_el1
8         mrs x24, icc_sgi1r_el1
9         mrs x8, icc_asgi1r_el1
10         mrs x28, icc_sgi0r_el1
11 // CHECK: error: expected readable system register
12 // CHECK-NEXT:         mrs x10, icc_eoir1_el1
13 // CHECK-NEXT:                  ^
14 // CHECK-NEXT: error: expected readable system register
15 // CHECK-NEXT:         mrs x7, icc_eoir0_el1
16 // CHECK-NEXT:                 ^
17 // CHECK-NEXT: error: expected readable system register
18 // CHECK-NEXT:         mrs x22, icc_dir_el1
19 // CHECK-NEXT:                  ^
20 // CHECK-NEXT: error: expected readable system register
21 // CHECK-NEXT:         mrs x24, icc_sgi1r_el1
22 // CHECK-NEXT:                  ^
23 // CHECK-NEXT: error: expected readable system register
24 // CHECK-NEXT:         mrs x8, icc_asgi1r_el1
25 // CHECK-NEXT:                 ^
26 // CHECK-NEXT: error: expected readable system register
27 // CHECK-NEXT:         mrs x28, icc_sgi0r_el1
28 // CHECK-NEXT:                  ^
29
30         // Read-only
31         msr icc_iar1_el1, x16
32         msr icc_iar0_el1, x19
33         msr icc_hppir1_el1, x29
34         msr icc_hppir0_el1, x14
35         msr icc_rpr_el1, x6
36         msr ich_vtr_el2, x8
37         msr ich_eisr_el2, x22
38         msr ich_elsr_el2, x8
39 // CHECK: error: expected writable system register or pstate
40 // CHECK-NEXT:         msr icc_iar1_el1, x16
41 // CHECK-NEXT:             ^
42 // CHECK-NEXT: error: expected writable system register or pstate
43 // CHECK-NEXT:         msr icc_iar0_el1, x19
44 // CHECK-NEXT:             ^
45 // CHECK-NEXT: error: expected writable system register or pstate
46 // CHECK-NEXT:         msr icc_hppir1_el1, x29
47 // CHECK-NEXT:             ^
48 // CHECK-NEXT: error: expected writable system register or pstate
49 // CHECK-NEXT:         msr icc_hppir0_el1, x14
50 // CHECK-NEXT:             ^
51 // CHECK-NEXT: error: expected writable system register or pstate
52 // CHECK-NEXT:         msr icc_rpr_el1, x6
53 // CHECK-NEXT:             ^
54 // CHECK-NEXT: error: expected writable system register or pstate
55 // CHECK-NEXT:         msr ich_vtr_el2, x8
56 // CHECK-NEXT:             ^
57 // CHECK-NEXT: error: expected writable system register or pstate
58 // CHECK-NEXT:         msr ich_eisr_el2, x22
59 // CHECK-NEXT:             ^
60 // CHECK-NEXT: error: expected writable system register or pstate
61 // CHECK-NEXT:         msr ich_elsr_el2, x8
62 // CHECK-NEXT:             ^