AArch64/ARM64: add specific diagnostic for MRS/MSR and enable tests.
[oota-llvm.git] / test / MC / AArch64 / trace-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         // Write-only
4         mrs x12, trcoslar
5         mrs x10, trclar
6 // CHECK: error: expected readable system register
7 // CHECK-NEXT:         mrs x12, trcoslar
8 // CHECK-NEXT:                  ^
9 // CHECK-NEXT: error: expected readable system register
10 // CHECK-NEXT:         mrs x10, trclar
11 // CHECK-NEXT:                  ^
12
13         // Read-only
14         msr trcstatr, x0
15         msr trcidr8, x13
16         msr trcidr9, x25
17         msr trcidr10, x2
18         msr trcidr11, x19
19         msr trcidr12, x15
20         msr trcidr13, x24
21         msr trcidr0, x20
22         msr trcidr1, x5
23         msr trcidr2, x18
24         msr trcidr3, x10
25         msr trcidr4, x1
26         msr trcidr5, x10
27         msr trcidr6, x4
28         msr trcidr7, x0
29         msr trcoslsr, x23
30         msr trcpdsr, x21
31         msr trcdevaff0, x4
32         msr trcdevaff1, x17
33         msr trclsr, x18
34         msr trcauthstatus, x10
35         msr trcdevarch, x8
36         msr trcdevid, x11
37         msr trcdevtype, x1
38         msr trcpidr4, x2
39         msr trcpidr5, x7
40         msr trcpidr6, x17
41         msr trcpidr7, x5
42         msr trcpidr0, x0
43         msr trcpidr1, x16
44         msr trcpidr2, x29
45         msr trcpidr3, x1
46         msr trccidr0, x27
47         msr trccidr1, x1
48         msr trccidr2, x24
49         msr trccidr3, x8
50 // CHECK: error: expected writable system register or pstate
51 // CHECK-NEXT:         msr trcstatr, x0
52 // CHECK-NEXT:             ^
53 // CHECK-NEXT: error: expected writable system register or pstate
54 // CHECK-NEXT:         msr trcidr8, x13
55 // CHECK-NEXT:             ^
56 // CHECK-NEXT: error: expected writable system register or pstate
57 // CHECK-NEXT:         msr trcidr9, x25
58 // CHECK-NEXT:             ^
59 // CHECK-NEXT: error: expected writable system register or pstate
60 // CHECK-NEXT:         msr trcidr10, x2
61 // CHECK-NEXT:             ^
62 // CHECK-NEXT: error: expected writable system register or pstate
63 // CHECK-NEXT:         msr trcidr11, x19
64 // CHECK-NEXT:             ^
65 // CHECK-NEXT: error: expected writable system register or pstate
66 // CHECK-NEXT:         msr trcidr12, x15
67 // CHECK-NEXT:             ^
68 // CHECK-NEXT: error: expected writable system register or pstate
69 // CHECK-NEXT:         msr trcidr13, x24
70 // CHECK-NEXT:             ^
71 // CHECK-NEXT: error: expected writable system register or pstate
72 // CHECK-NEXT:         msr trcidr0, x20
73 // CHECK-NEXT:             ^
74 // CHECK-NEXT: error: expected writable system register or pstate
75 // CHECK-NEXT:         msr trcidr1, x5
76 // CHECK-NEXT:             ^
77 // CHECK-NEXT: error: expected writable system register or pstate
78 // CHECK-NEXT:         msr trcidr2, x18
79 // CHECK-NEXT:             ^
80 // CHECK-NEXT: error: expected writable system register or pstate
81 // CHECK-NEXT:         msr trcidr3, x10
82 // CHECK-NEXT:             ^
83 // CHECK-NEXT: error: expected writable system register or pstate
84 // CHECK-NEXT:         msr trcidr4, x1
85 // CHECK-NEXT:             ^
86 // CHECK-NEXT: error: expected writable system register or pstate
87 // CHECK-NEXT:         msr trcidr5, x10
88 // CHECK-NEXT:             ^
89 // CHECK-NEXT: error: expected writable system register or pstate
90 // CHECK-NEXT:         msr trcidr6, x4
91 // CHECK-NEXT:             ^
92 // CHECK-NEXT: error: expected writable system register or pstate
93 // CHECK-NEXT:         msr trcidr7, x0
94 // CHECK-NEXT:             ^
95 // CHECK-NEXT: error: expected writable system register or pstate
96 // CHECK-NEXT:         msr trcoslsr, x23
97 // CHECK-NEXT:             ^
98 // CHECK-NEXT: error: expected writable system register or pstate
99 // CHECK-NEXT:         msr trcpdsr, x21
100 // CHECK-NEXT:             ^
101 // CHECK-NEXT: error: expected writable system register or pstate
102 // CHECK-NEXT:         msr trcdevaff0, x4
103 // CHECK-NEXT:             ^
104 // CHECK-NEXT: error: expected writable system register or pstate
105 // CHECK-NEXT:         msr trcdevaff1, x17
106 // CHECK-NEXT:             ^
107 // CHECK-NEXT: error: expected writable system register or pstate
108 // CHECK-NEXT:         msr trclsr, x18
109 // CHECK-NEXT:             ^
110 // CHECK-NEXT: error: expected writable system register or pstate
111 // CHECK-NEXT:         msr trcauthstatus, x10
112 // CHECK-NEXT:             ^
113 // CHECK-NEXT: error: expected writable system register or pstate
114 // CHECK-NEXT:         msr trcdevarch, x8
115 // CHECK-NEXT:             ^
116 // CHECK-NEXT: error: expected writable system register or pstate
117 // CHECK-NEXT:         msr trcdevid, x11
118 // CHECK-NEXT:             ^
119 // CHECK-NEXT: error: expected writable system register or pstate
120 // CHECK-NEXT:         msr trcdevtype, x1
121 // CHECK-NEXT:             ^
122 // CHECK-NEXT: error: expected writable system register or pstate
123 // CHECK-NEXT:         msr trcpidr4, x2
124 // CHECK-NEXT:             ^
125 // CHECK-NEXT: error: expected writable system register or pstate
126 // CHECK-NEXT:         msr trcpidr5, x7
127 // CHECK-NEXT:             ^
128 // CHECK-NEXT: error: expected writable system register or pstate
129 // CHECK-NEXT:         msr trcpidr6, x17
130 // CHECK-NEXT:             ^
131 // CHECK-NEXT: error: expected writable system register or pstate
132 // CHECK-NEXT:         msr trcpidr7, x5
133 // CHECK-NEXT:             ^
134 // CHECK-NEXT: error: expected writable system register or pstate
135 // CHECK-NEXT:         msr trcpidr0, x0
136 // CHECK-NEXT:             ^
137 // CHECK-NEXT: error: expected writable system register or pstate
138 // CHECK-NEXT:         msr trcpidr1, x16
139 // CHECK-NEXT:             ^
140 // CHECK-NEXT: error: expected writable system register or pstate
141 // CHECK-NEXT:         msr trcpidr2, x29
142 // CHECK-NEXT:             ^
143 // CHECK-NEXT: error: expected writable system register or pstate
144 // CHECK-NEXT:         msr trcpidr3, x1
145 // CHECK-NEXT:             ^
146 // CHECK-NEXT: error: expected writable system register or pstate
147 // CHECK-NEXT:         msr trccidr0, x27
148 // CHECK-NEXT:             ^
149 // CHECK-NEXT: error: expected writable system register or pstate
150 // CHECK-NEXT:         msr trccidr1, x1
151 // CHECK-NEXT:             ^
152 // CHECK-NEXT: error: expected writable system register or pstate
153 // CHECK-NEXT:         msr trccidr2, x24
154 // CHECK-NEXT:             ^
155 // CHECK-NEXT: error: expected writable system register or pstate
156 // CHECK-NEXT:         msr trccidr3, x8
157 // CHECK-NEXT:             ^