1; RUN: not llvm-mc -triple arm64-apple-darwin -show-encoding < %s 2> %t | FileCheck %s
2; RUN: FileCheck --check-prefix=CHECK-ERRORS < %t %s
3
4foo:
5
6;-----------------------------------------------------------------------------
7; Simple encodings (instructions w/ no operands)
8;-----------------------------------------------------------------------------
9
10  nop
11  sev
12  sevl
13  wfe
14  wfi
15  yield
16
17; CHECK: nop                             ; encoding: [0x1f,0x20,0x03,0xd5]
18; CHECK: sev                             ; encoding: [0x9f,0x20,0x03,0xd5]
19; CHECK: sevl                            ; encoding: [0xbf,0x20,0x03,0xd5]
20; CHECK: wfe                             ; encoding: [0x5f,0x20,0x03,0xd5]
21; CHECK: wfi                             ; encoding: [0x7f,0x20,0x03,0xd5]
22; CHECK: yield                           ; encoding: [0x3f,0x20,0x03,0xd5]
23
24;-----------------------------------------------------------------------------
25; Single-immediate operand instructions
26;-----------------------------------------------------------------------------
27
28  clrex #10
29; CHECK: clrex #10  ; encoding: [0x5f,0x3a,0x03,0xd5]
30  isb #15
31  isb sy
32; CHECK: isb     ; encoding: [0xdf,0x3f,0x03,0xd5]
33; CHECK: isb     ; encoding: [0xdf,0x3f,0x03,0xd5]
34  dmb #3
35  dmb osh
36; CHECK: dmb osh    ; encoding: [0xbf,0x33,0x03,0xd5]
37; CHECK: dmb osh    ; encoding: [0xbf,0x33,0x03,0xd5]
38  dsb #7
39  dsb nsh
40; CHECK: dsb nsh    ; encoding: [0x9f,0x37,0x03,0xd5]
41; CHECK: dsb nsh    ; encoding: [0x9f,0x37,0x03,0xd5]
42
43;-----------------------------------------------------------------------------
44; Generic system instructions
45;-----------------------------------------------------------------------------
46  sys #2, c0, c5, #7
47; CHECK: encoding: [0xff,0x05,0x0a,0xd5]
48  sys #7, C6, c10, #7, x7
49; CHECK: encoding: [0xe7,0x6a,0x0f,0xd5]
50  sysl  x20, #6, c3, C15, #7
51; CHECK: encoding: [0xf4,0x3f,0x2e,0xd5]
52
53; Check for error on invalid 'C' operand value.
54  sys #2, c16, c5, #7
55; CHECK-ERRORS: error: Expected cN operand where 0 <= N <= 15
56
57;-----------------------------------------------------------------------------
58; MSR/MRS instructions
59;-----------------------------------------------------------------------------
60  msr ACTLR_EL1, x3
61  msr ACTLR_EL2, x3
62  msr ACTLR_EL3, x3
63  msr AFSR0_EL1, x3
64  msr AFSR0_EL2, x3
65  msr AFSR0_EL3, x3
66  msr AFSR1_EL1, x3
67  msr AFSR1_EL2, x3
68  msr AFSR1_EL3, x3
69  msr AMAIR_EL1, x3
70  msr AMAIR_EL2, x3
71  msr AMAIR_EL3, x3
72  msr CNTFRQ_EL0, x3
73  msr CNTHCTL_EL2, x3
74  msr CNTHP_CTL_EL2, x3
75  msr CNTHP_CVAL_EL2, x3
76  msr CNTHP_TVAL_EL2, x3
77  msr CNTKCTL_EL1, x3
78  msr CNTP_CTL_EL0, x3
79  msr CNTP_CVAL_EL0, x3
80  msr CNTP_TVAL_EL0, x3
81  msr CNTVOFF_EL2, x3
82  msr CNTV_CTL_EL0, x3
83  msr CNTV_CVAL_EL0, x3
84  msr CNTV_TVAL_EL0, x3
85  msr CONTEXTIDR_EL1, x3
86  msr CPACR_EL1, x3
87  msr CPTR_EL2, x3
88  msr CPTR_EL3, x3
89  msr CSSELR_EL1, x3
90  msr CURRENTEL, x3
91  msr DACR32_EL2, x3
92  msr ESR_EL1, x3
93  msr ESR_EL2, x3
94  msr ESR_EL3, x3
95  msr FAR_EL1, x3
96  msr FAR_EL2, x3
97  msr FAR_EL3, x3
98  msr FPEXC32_EL2, x3
99  msr HACR_EL2, x3
100  msr HCR_EL2, x3
101  msr HPFAR_EL2, x3
102  msr HSTR_EL2, x3
103  msr IFSR32_EL2, x3
104  msr MAIR_EL1, x3
105  msr MAIR_EL2, x3
106  msr MAIR_EL3, x3
107  msr MDCR_EL2, x3
108  msr MDCR_EL3, x3
109  msr PAR_EL1, x3
110  msr SCR_EL3, x3
111  msr SCTLR_EL1, x3
112  msr SCTLR_EL2, x3
113  msr SCTLR_EL3, x3
114  msr SDER32_EL3, x3
115  msr TCR_EL1, x3
116  msr TCR_EL2, x3
117  msr TCR_EL3, x3
118  msr TEECR32_EL1, x3
119  msr TEEHBR32_EL1, x3
120  msr TPIDRRO_EL0, x3
121  msr TPIDR_EL0, x3
122  msr TPIDR_EL1, x3
123  msr TPIDR_EL2, x3
124  msr TPIDR_EL3, x3
125  msr TTBR0_EL1, x3
126  msr TTBR0_EL2, x3
127  msr TTBR0_EL3, x3
128  msr TTBR1_EL1, x3
129  msr VBAR_EL1, x3
130  msr VBAR_EL2, x3
131  msr VBAR_EL3, x3
132  msr VMPIDR_EL2, x3
133  msr VPIDR_EL2, x3
134  msr VTCR_EL2, x3
135  msr VTTBR_EL2, x3
136  msr SPSel, x3
137  msr S3_2_C11_C6_4, x1
138; CHECK: msr ACTLR_EL1, x3              ; encoding: [0x23,0x10,0x18,0xd5]
139; CHECK: msr ACTLR_EL2, x3              ; encoding: [0x23,0x10,0x1c,0xd5]
140; CHECK: msr ACTLR_EL3, x3              ; encoding: [0x23,0x10,0x1e,0xd5]
141; CHECK: msr AFSR0_EL1, x3              ; encoding: [0x03,0x51,0x18,0xd5]
142; CHECK: msr AFSR0_EL2, x3              ; encoding: [0x03,0x51,0x1c,0xd5]
143; CHECK: msr AFSR0_EL3, x3              ; encoding: [0x03,0x51,0x1e,0xd5]
144; CHECK: msr AFSR1_EL1, x3              ; encoding: [0x23,0x51,0x18,0xd5]
145; CHECK: msr AFSR1_EL2, x3              ; encoding: [0x23,0x51,0x1c,0xd5]
146; CHECK: msr AFSR1_EL3, x3              ; encoding: [0x23,0x51,0x1e,0xd5]
147; CHECK: msr AMAIR_EL1, x3              ; encoding: [0x03,0xa3,0x18,0xd5]
148; CHECK: msr AMAIR_EL2, x3              ; encoding: [0x03,0xa3,0x1c,0xd5]
149; CHECK: msr AMAIR_EL3, x3              ; encoding: [0x03,0xa3,0x1e,0xd5]
150; CHECK: msr CNTFRQ_EL0, x3             ; encoding: [0x03,0xe0,0x1b,0xd5]
151; CHECK: msr CNTHCTL_EL2, x3            ; encoding: [0x03,0xe1,0x1c,0xd5]
152; CHECK: msr CNTHP_CTL_EL2, x3          ; encoding: [0x23,0xe2,0x1c,0xd5]
153; CHECK: msr CNTHP_CVAL_EL2, x3         ; encoding: [0x43,0xe2,0x1c,0xd5]
154; CHECK: msr CNTHP_TVAL_EL2, x3         ; encoding: [0x03,0xe2,0x1c,0xd5]
155; CHECK: msr CNTKCTL_EL1, x3            ; encoding: [0x03,0xe1,0x18,0xd5]
156; CHECK: msr CNTP_CTL_EL0, x3           ; encoding: [0x23,0xe2,0x1b,0xd5]
157; CHECK: msr CNTP_CVAL_EL0, x3          ; encoding: [0x43,0xe2,0x1b,0xd5]
158; CHECK: msr CNTP_TVAL_EL0, x3          ; encoding: [0x03,0xe2,0x1b,0xd5]
159; CHECK: msr CNTVOFF_EL2, x3            ; encoding: [0x63,0xe0,0x1c,0xd5]
160; CHECK: msr CNTV_CTL_EL0, x3           ; encoding: [0x23,0xe3,0x1b,0xd5]
161; CHECK: msr CNTV_CVAL_EL0, x3          ; encoding: [0x43,0xe3,0x1b,0xd5]
162; CHECK: msr CNTV_TVAL_EL0, x3          ; encoding: [0x03,0xe3,0x1b,0xd5]
163; CHECK: msr CONTEXTIDR_EL1, x3         ; encoding: [0x23,0xd0,0x18,0xd5]
164; CHECK: msr CPACR_EL1, x3              ; encoding: [0x43,0x10,0x18,0xd5]
165; CHECK: msr CPTR_EL2, x3               ; encoding: [0x43,0x11,0x1c,0xd5]
166; CHECK: msr CPTR_EL3, x3               ; encoding: [0x43,0x11,0x1e,0xd5]
167; CHECK: msr CSSELR_EL1, x3             ; encoding: [0x03,0x00,0x1a,0xd5]
168; CHECK: msr CURRENTEL, x3              ; encoding: [0x43,0x42,0x18,0xd5]
169; CHECK: msr DACR32_EL2, x3             ; encoding: [0x03,0x30,0x1c,0xd5]
170; CHECK: msr ESR_EL1, x3                ; encoding: [0x03,0x52,0x18,0xd5]
171; CHECK: msr ESR_EL2, x3                ; encoding: [0x03,0x52,0x1c,0xd5]
172; CHECK: msr ESR_EL3, x3                ; encoding: [0x03,0x52,0x1e,0xd5]
173; CHECK: msr FAR_EL1, x3                ; encoding: [0x03,0x60,0x18,0xd5]
174; CHECK: msr FAR_EL2, x3                ; encoding: [0x03,0x60,0x1c,0xd5]
175; CHECK: msr FAR_EL3, x3                ; encoding: [0x03,0x60,0x1e,0xd5]
176; CHECK: msr FPEXC32_EL2, x3            ; encoding: [0x03,0x53,0x1c,0xd5]
177; CHECK: msr HACR_EL2, x3               ; encoding: [0xe3,0x11,0x1c,0xd5]
178; CHECK: msr HCR_EL2, x3                ; encoding: [0x03,0x11,0x1c,0xd5]
179; CHECK: msr HPFAR_EL2, x3              ; encoding: [0x83,0x60,0x1c,0xd5]
180; CHECK: msr HSTR_EL2, x3               ; encoding: [0x63,0x11,0x1c,0xd5]
181; CHECK: msr IFSR32_EL2, x3             ; encoding: [0x23,0x50,0x1c,0xd5]
182; CHECK: msr MAIR_EL1, x3               ; encoding: [0x03,0xa2,0x18,0xd5]
183; CHECK: msr MAIR_EL2, x3               ; encoding: [0x03,0xa2,0x1c,0xd5]
184; CHECK: msr MAIR_EL3, x3               ; encoding: [0x03,0xa2,0x1e,0xd5]
185; CHECK: msr MDCR_EL2, x3               ; encoding: [0x23,0x11,0x1c,0xd5]
186; CHECK: msr MDCR_EL3, x3               ; encoding: [0x23,0x13,0x1e,0xd5]
187; CHECK: msr PAR_EL1, x3                ; encoding: [0x03,0x74,0x18,0xd5]
188; CHECK: msr SCR_EL3, x3                ; encoding: [0x03,0x11,0x1e,0xd5]
189; CHECK: msr SCTLR_EL1, x3              ; encoding: [0x03,0x10,0x18,0xd5]
190; CHECK: msr SCTLR_EL2, x3              ; encoding: [0x03,0x10,0x1c,0xd5]
191; CHECK: msr SCTLR_EL3, x3              ; encoding: [0x03,0x10,0x1e,0xd5]
192; CHECK: msr SDER32_EL3, x3             ; encoding: [0x23,0x11,0x1e,0xd5]
193; CHECK: msr TCR_EL1, x3                ; encoding: [0x43,0x20,0x18,0xd5]
194; CHECK: msr TCR_EL2, x3                ; encoding: [0x43,0x20,0x1c,0xd5]
195; CHECK: msr TCR_EL3, x3                ; encoding: [0x43,0x20,0x1e,0xd5]
196; CHECK: msr TEECR32_EL1, x3            ; encoding: [0x03,0x00,0x12,0xd5]
197; CHECK: msr TEEHBR32_EL1, x3           ; encoding: [0x03,0x10,0x12,0xd5]
198; CHECK: msr TPIDRRO_EL0, x3            ; encoding: [0x63,0xd0,0x1b,0xd5]
199; CHECK: msr TPIDR_EL0, x3              ; encoding: [0x43,0xd0,0x1b,0xd5]
200; CHECK: msr TPIDR_EL1, x3              ; encoding: [0x83,0xd0,0x18,0xd5]
201; CHECK: msr TPIDR_EL2, x3              ; encoding: [0x43,0xd0,0x1c,0xd5]
202; CHECK: msr TPIDR_EL3, x3              ; encoding: [0x43,0xd0,0x1e,0xd5]
203; CHECK: msr TTBR0_EL1, x3              ; encoding: [0x03,0x20,0x18,0xd5]
204; CHECK: msr TTBR0_EL2, x3              ; encoding: [0x03,0x20,0x1c,0xd5]
205; CHECK: msr TTBR0_EL3, x3              ; encoding: [0x03,0x20,0x1e,0xd5]
206; CHECK: msr TTBR1_EL1, x3              ; encoding: [0x23,0x20,0x18,0xd5]
207; CHECK: msr VBAR_EL1, x3               ; encoding: [0x03,0xc0,0x18,0xd5]
208; CHECK: msr VBAR_EL2, x3               ; encoding: [0x03,0xc0,0x1c,0xd5]
209; CHECK: msr VBAR_EL3, x3               ; encoding: [0x03,0xc0,0x1e,0xd5]
210; CHECK: msr VMPIDR_EL2, x3             ; encoding: [0xa3,0x00,0x1c,0xd5]
211; CHECK: msr VPIDR_EL2, x3              ; encoding: [0x03,0x00,0x1c,0xd5]
212; CHECK: msr VTCR_EL2, x3               ; encoding: [0x43,0x21,0x1c,0xd5]
213; CHECK: msr VTTBR_EL2, x3              ; encoding: [0x03,0x21,0x1c,0xd5]
214; CHECK: msr  SPSEL, x3                 ; encoding: [0x03,0x42,0x18,0xd5]
215; CHECK: msr  S3_2_C11_C6_4, x1         ; encoding: [0x81,0xb6,0x1a,0xd5]
216
217  mrs x3, ACTLR_EL1
218  mrs x3, ACTLR_EL2
219  mrs x3, ACTLR_EL3
220  mrs x3, AFSR0_EL1
221  mrs x3, AFSR0_EL2
222  mrs x3, AFSR0_EL3
223  mrs x3, AIDR_EL1
224  mrs x3, AFSR1_EL1
225  mrs x3, AFSR1_EL2
226  mrs x3, AFSR1_EL3
227  mrs x3, AMAIR_EL1
228  mrs x3, AMAIR_EL2
229  mrs x3, AMAIR_EL3
230  mrs x3, CCSIDR_EL1
231  mrs x3, CLIDR_EL1
232  mrs x3, CNTFRQ_EL0
233  mrs x3, CNTHCTL_EL2
234  mrs x3, CNTHP_CTL_EL2
235  mrs x3, CNTHP_CVAL_EL2
236  mrs x3, CNTHP_TVAL_EL2
237  mrs x3, CNTKCTL_EL1
238  mrs x3, CNTPCT_EL0
239  mrs x3, CNTP_CTL_EL0
240  mrs x3, CNTP_CVAL_EL0
241  mrs x3, CNTP_TVAL_EL0
242  mrs x3, CNTVCT_EL0
243  mrs x3, CNTVOFF_EL2
244  mrs x3, CNTV_CTL_EL0
245  mrs x3, CNTV_CVAL_EL0
246  mrs x3, CNTV_TVAL_EL0
247  mrs x3, CONTEXTIDR_EL1
248  mrs x3, CPACR_EL1
249  mrs x3, CPTR_EL2
250  mrs x3, CPTR_EL3
251  mrs x3, CSSELR_EL1
252  mrs x3, CTR_EL0
253  mrs x3, CURRENTEL
254  mrs x3, DACR32_EL2
255  mrs x3, DCZID_EL0
256  mrs x3, REVIDR_EL1
257  mrs x3, ESR_EL1
258  mrs x3, ESR_EL2
259  mrs x3, ESR_EL3
260  mrs x3, FAR_EL1
261  mrs x3, FAR_EL2
262  mrs x3, FAR_EL3
263  mrs x3, FPEXC32_EL2
264  mrs x3, HACR_EL2
265  mrs x3, HCR_EL2
266  mrs x3, HPFAR_EL2
267  mrs x3, HSTR_EL2
268  mrs x3, ID_AA64DFR0_EL1
269  mrs x3, ID_AA64DFR1_EL1
270  mrs x3, ID_AA64ISAR0_EL1
271  mrs x3, ID_AA64ISAR1_EL1
272  mrs x3, ID_AA64MMFR0_EL1
273  mrs x3, ID_AA64MMFR1_EL1
274  mrs x3, ID_AA64PFR0_EL1
275  mrs x3, ID_AA64PFR1_EL1
276  mrs x3, IFSR32_EL2
277  mrs x3, ISR_EL1
278  mrs x3, MAIR_EL1
279  mrs x3, MAIR_EL2
280  mrs x3, MAIR_EL3
281  mrs x3, MDCR_EL2
282  mrs x3, MDCR_EL3
283  mrs x3, MIDR_EL1
284  mrs x3, MPIDR_EL1
285  mrs x3, MVFR0_EL1
286  mrs x3, MVFR1_EL1
287  mrs x3, PAR_EL1
288  mrs x3, RVBAR_EL1
289  mrs x3, RVBAR_EL2
290  mrs x3, RVBAR_EL3
291  mrs x3, SCR_EL3
292  mrs x3, SCTLR_EL1
293  mrs x3, SCTLR_EL2
294  mrs x3, SCTLR_EL3
295  mrs x3, SDER32_EL3
296  mrs x3, TCR_EL1
297  mrs x3, TCR_EL2
298  mrs x3, TCR_EL3
299  mrs x3, TEECR32_EL1
300  mrs x3, TEEHBR32_EL1
301  mrs x3, TPIDRRO_EL0
302  mrs x3, TPIDR_EL0
303  mrs x3, TPIDR_EL1
304  mrs x3, TPIDR_EL2
305  mrs x3, TPIDR_EL3
306  mrs x3, TTBR0_EL1
307  mrs x3, TTBR0_EL2
308  mrs x3, TTBR0_EL3
309  mrs x3, TTBR1_EL1
310  mrs x3, VBAR_EL1
311  mrs x3, VBAR_EL2
312  mrs x3, VBAR_EL3
313  mrs x3, VMPIDR_EL2
314  mrs x3, VPIDR_EL2
315  mrs x3, VTCR_EL2
316  mrs x3, VTTBR_EL2
317
318  mrs x3, MDCCSR_EL0
319  mrs x3, MDCCINT_EL1
320  mrs x3, DBGDTR_EL0
321  mrs x3, DBGDTRRX_EL0
322  mrs x3, DBGVCR32_EL2
323  mrs x3, OSDTRRX_EL1
324  mrs x3, MDSCR_EL1
325  mrs x3, OSDTRTX_EL1
326  mrs x3, OSECCR_EL1
327  mrs x3, DBGBVR0_EL1
328  mrs x3, DBGBVR1_EL1
329  mrs x3, DBGBVR2_EL1
330  mrs x3, DBGBVR3_EL1
331  mrs x3, DBGBVR4_EL1
332  mrs x3, DBGBVR5_EL1
333  mrs x3, DBGBVR6_EL1
334  mrs x3, DBGBVR7_EL1
335  mrs x3, DBGBVR8_EL1
336  mrs x3, DBGBVR9_EL1
337  mrs x3, DBGBVR10_EL1
338  mrs x3, DBGBVR11_EL1
339  mrs x3, DBGBVR12_EL1
340  mrs x3, DBGBVR13_EL1
341  mrs x3, DBGBVR14_EL1
342  mrs x3, DBGBVR15_EL1
343  mrs x3, DBGBCR0_EL1
344  mrs x3, DBGBCR1_EL1
345  mrs x3, DBGBCR2_EL1
346  mrs x3, DBGBCR3_EL1
347  mrs x3, DBGBCR4_EL1
348  mrs x3, DBGBCR5_EL1
349  mrs x3, DBGBCR6_EL1
350  mrs x3, DBGBCR7_EL1
351  mrs x3, DBGBCR8_EL1
352  mrs x3, DBGBCR9_EL1
353  mrs x3, DBGBCR10_EL1
354  mrs x3, DBGBCR11_EL1
355  mrs x3, DBGBCR12_EL1
356  mrs x3, DBGBCR13_EL1
357  mrs x3, DBGBCR14_EL1
358  mrs x3, DBGBCR15_EL1
359  mrs x3, DBGWVR0_EL1
360  mrs x3, DBGWVR1_EL1
361  mrs x3, DBGWVR2_EL1
362  mrs x3, DBGWVR3_EL1
363  mrs x3, DBGWVR4_EL1
364  mrs x3, DBGWVR5_EL1
365  mrs x3, DBGWVR6_EL1
366  mrs x3, DBGWVR7_EL1
367  mrs x3, DBGWVR8_EL1
368  mrs x3, DBGWVR9_EL1
369  mrs x3, DBGWVR10_EL1
370  mrs x3, DBGWVR11_EL1
371  mrs x3, DBGWVR12_EL1
372  mrs x3, DBGWVR13_EL1
373  mrs x3, DBGWVR14_EL1
374  mrs x3, DBGWVR15_EL1
375  mrs x3, DBGWCR0_EL1
376  mrs x3, DBGWCR1_EL1
377  mrs x3, DBGWCR2_EL1
378  mrs x3, DBGWCR3_EL1
379  mrs x3, DBGWCR4_EL1
380  mrs x3, DBGWCR5_EL1
381  mrs x3, DBGWCR6_EL1
382  mrs x3, DBGWCR7_EL1
383  mrs x3, DBGWCR8_EL1
384  mrs x3, DBGWCR9_EL1
385  mrs x3, DBGWCR10_EL1
386  mrs x3, DBGWCR11_EL1
387  mrs x3, DBGWCR12_EL1
388  mrs x3, DBGWCR13_EL1
389  mrs x3, DBGWCR14_EL1
390  mrs x3, DBGWCR15_EL1
391  mrs x3, MDRAR_EL1
392  mrs x3, OSLSR_EL1
393  mrs x3, OSDLR_EL1
394  mrs x3, DBGPRCR_EL1
395  mrs x3, DBGCLAIMSET_EL1
396  mrs x3, DBGCLAIMCLR_EL1
397  mrs x3, DBGAUTHSTATUS_EL1
398  mrs x1, S3_2_C15_C6_4
399  mrs x3, s3_3_c11_c1_4
400  mrs x3, S3_3_c11_c1_4
401
402; CHECK: mrs x3, ACTLR_EL1              ; encoding: [0x23,0x10,0x38,0xd5]
403; CHECK: mrs x3, ACTLR_EL2              ; encoding: [0x23,0x10,0x3c,0xd5]
404; CHECK: mrs x3, ACTLR_EL3              ; encoding: [0x23,0x10,0x3e,0xd5]
405; CHECK: mrs x3, AFSR0_EL1              ; encoding: [0x03,0x51,0x38,0xd5]
406; CHECK: mrs x3, AFSR0_EL2              ; encoding: [0x03,0x51,0x3c,0xd5]
407; CHECK: mrs x3, AFSR0_EL3              ; encoding: [0x03,0x51,0x3e,0xd5]
408; CHECK: mrs x3, AIDR_EL1               ; encoding: [0xe3,0x00,0x39,0xd5]
409; CHECK: mrs x3, AFSR1_EL1              ; encoding: [0x23,0x51,0x38,0xd5]
410; CHECK: mrs x3, AFSR1_EL2              ; encoding: [0x23,0x51,0x3c,0xd5]
411; CHECK: mrs x3, AFSR1_EL3              ; encoding: [0x23,0x51,0x3e,0xd5]
412; CHECK: mrs x3, AMAIR_EL1              ; encoding: [0x03,0xa3,0x38,0xd5]
413; CHECK: mrs x3, AMAIR_EL2              ; encoding: [0x03,0xa3,0x3c,0xd5]
414; CHECK: mrs x3, AMAIR_EL3              ; encoding: [0x03,0xa3,0x3e,0xd5]
415; CHECK: mrs x3, CCSIDR_EL1             ; encoding: [0x03,0x00,0x39,0xd5]
416; CHECK: mrs x3, CLIDR_EL1              ; encoding: [0x23,0x00,0x39,0xd5]
417; CHECK: mrs x3, CNTFRQ_EL0             ; encoding: [0x03,0xe0,0x3b,0xd5]
418; CHECK: mrs x3, CNTHCTL_EL2            ; encoding: [0x03,0xe1,0x3c,0xd5]
419; CHECK: mrs x3, CNTHP_CTL_EL2          ; encoding: [0x23,0xe2,0x3c,0xd5]
420; CHECK: mrs x3, CNTHP_CVAL_EL2         ; encoding: [0x43,0xe2,0x3c,0xd5]
421; CHECK: mrs x3, CNTHP_TVAL_EL2         ; encoding: [0x03,0xe2,0x3c,0xd5]
422; CHECK: mrs x3, CNTKCTL_EL1            ; encoding: [0x03,0xe1,0x38,0xd5]
423; CHECK: mrs x3, CNTPCT_EL0             ; encoding: [0x23,0xe0,0x3b,0xd5]
424; CHECK: mrs x3, CNTP_CTL_EL0           ; encoding: [0x23,0xe2,0x3b,0xd5]
425; CHECK: mrs x3, CNTP_CVAL_EL0          ; encoding: [0x43,0xe2,0x3b,0xd5]
426; CHECK: mrs x3, CNTP_TVAL_EL0          ; encoding: [0x03,0xe2,0x3b,0xd5]
427; CHECK: mrs x3, CNTVCT_EL0             ; encoding: [0x43,0xe0,0x3b,0xd5]
428; CHECK: mrs x3, CNTVOFF_EL2            ; encoding: [0x63,0xe0,0x3c,0xd5]
429; CHECK: mrs x3, CNTV_CTL_EL0           ; encoding: [0x23,0xe3,0x3b,0xd5]
430; CHECK: mrs x3, CNTV_CVAL_EL0          ; encoding: [0x43,0xe3,0x3b,0xd5]
431; CHECK: mrs x3, CNTV_TVAL_EL0          ; encoding: [0x03,0xe3,0x3b,0xd5]
432; CHECK: mrs x3, CONTEXTIDR_EL1         ; encoding: [0x23,0xd0,0x38,0xd5]
433; CHECK: mrs x3, CPACR_EL1              ; encoding: [0x43,0x10,0x38,0xd5]
434; CHECK: mrs x3, CPTR_EL2               ; encoding: [0x43,0x11,0x3c,0xd5]
435; CHECK: mrs x3, CPTR_EL3               ; encoding: [0x43,0x11,0x3e,0xd5]
436; CHECK: mrs x3, CSSELR_EL1             ; encoding: [0x03,0x00,0x3a,0xd5]
437; CHECK: mrs x3, CTR_EL0                ; encoding: [0x23,0x00,0x3b,0xd5]
438; CHECK: mrs x3, CURRENTEL              ; encoding: [0x43,0x42,0x38,0xd5]
439; CHECK: mrs x3, DACR32_EL2             ; encoding: [0x03,0x30,0x3c,0xd5]
440; CHECK: mrs x3, DCZID_EL0              ; encoding: [0xe3,0x00,0x3b,0xd5]
441; CHECK: mrs x3, REVIDR_EL1             ; encoding: [0xc3,0x00,0x38,0xd5]
442; CHECK: mrs x3, ESR_EL1                ; encoding: [0x03,0x52,0x38,0xd5]
443; CHECK: mrs x3, ESR_EL2                ; encoding: [0x03,0x52,0x3c,0xd5]
444; CHECK: mrs x3, ESR_EL3                ; encoding: [0x03,0x52,0x3e,0xd5]
445; CHECK: mrs x3, FAR_EL1                ; encoding: [0x03,0x60,0x38,0xd5]
446; CHECK: mrs x3, FAR_EL2                ; encoding: [0x03,0x60,0x3c,0xd5]
447; CHECK: mrs x3, FAR_EL3                ; encoding: [0x03,0x60,0x3e,0xd5]
448; CHECK: mrs x3, FPEXC32_EL2            ; encoding: [0x03,0x53,0x3c,0xd5]
449; CHECK: mrs x3, HACR_EL2               ; encoding: [0xe3,0x11,0x3c,0xd5]
450; CHECK: mrs x3, HCR_EL2                ; encoding: [0x03,0x11,0x3c,0xd5]
451; CHECK: mrs x3, HPFAR_EL2              ; encoding: [0x83,0x60,0x3c,0xd5]
452; CHECK: mrs x3, HSTR_EL2               ; encoding: [0x63,0x11,0x3c,0xd5]
453; CHECK: mrs x3, ID_AA64DFR0_EL1        ; encoding: [0x03,0x05,0x38,0xd5]
454; CHECK: mrs x3, ID_AA64DFR1_EL1        ; encoding: [0x23,0x05,0x38,0xd5]
455; CHECK: mrs x3, ID_AA64ISAR0_EL1       ; encoding: [0x03,0x06,0x38,0xd5]
456; CHECK: mrs x3, ID_AA64ISAR1_EL1       ; encoding: [0x23,0x06,0x38,0xd5]
457; CHECK: mrs x3, ID_AA64MMFR0_EL1       ; encoding: [0x03,0x07,0x38,0xd5]
458; CHECK: mrs x3, ID_AA64MMFR1_EL1       ; encoding: [0x23,0x07,0x38,0xd5]
459; CHECK: mrs x3, ID_AA64PFR0_EL1        ; encoding: [0x03,0x04,0x38,0xd5]
460; CHECK: mrs x3, ID_AA64PFR1_EL1        ; encoding: [0x23,0x04,0x38,0xd5]
461; CHECK: mrs x3, IFSR32_EL2             ; encoding: [0x23,0x50,0x3c,0xd5]
462; CHECK: mrs x3, ISR_EL1                ; encoding: [0x03,0xc1,0x38,0xd5]
463; CHECK: mrs x3, MAIR_EL1               ; encoding: [0x03,0xa2,0x38,0xd5]
464; CHECK: mrs x3, MAIR_EL2               ; encoding: [0x03,0xa2,0x3c,0xd5]
465; CHECK: mrs x3, MAIR_EL3               ; encoding: [0x03,0xa2,0x3e,0xd5]
466; CHECK: mrs x3, MDCR_EL2               ; encoding: [0x23,0x11,0x3c,0xd5]
467; CHECK: mrs x3, MDCR_EL3               ; encoding: [0x23,0x13,0x3e,0xd5]
468; CHECK: mrs x3, MIDR_EL1               ; encoding: [0x03,0x00,0x38,0xd5]
469; CHECK: mrs x3, MPIDR_EL1              ; encoding: [0xa3,0x00,0x38,0xd5]
470; CHECK: mrs x3, MVFR0_EL1              ; encoding: [0x03,0x03,0x38,0xd5]
471; CHECK: mrs x3, MVFR1_EL1              ; encoding: [0x23,0x03,0x38,0xd5]
472; CHECK: mrs x3, PAR_EL1                ; encoding: [0x03,0x74,0x38,0xd5]
473; CHECK: mrs x3, RVBAR_EL1              ; encoding: [0x23,0xc0,0x38,0xd5]
474; CHECK: mrs x3, RVBAR_EL2              ; encoding: [0x23,0xc0,0x3c,0xd5]
475; CHECK: mrs x3, RVBAR_EL3              ; encoding: [0x23,0xc0,0x3e,0xd5]
476; CHECK: mrs x3, SCR_EL3                ; encoding: [0x03,0x11,0x3e,0xd5]
477; CHECK: mrs x3, SCTLR_EL1              ; encoding: [0x03,0x10,0x38,0xd5]
478; CHECK: mrs x3, SCTLR_EL2              ; encoding: [0x03,0x10,0x3c,0xd5]
479; CHECK: mrs x3, SCTLR_EL3              ; encoding: [0x03,0x10,0x3e,0xd5]
480; CHECK: mrs x3, SDER32_EL3             ; encoding: [0x23,0x11,0x3e,0xd5]
481; CHECK: mrs x3, TCR_EL1                ; encoding: [0x43,0x20,0x38,0xd5]
482; CHECK: mrs x3, TCR_EL2                ; encoding: [0x43,0x20,0x3c,0xd5]
483; CHECK: mrs x3, TCR_EL3                ; encoding: [0x43,0x20,0x3e,0xd5]
484; CHECK: mrs x3, TEECR32_EL1            ; encoding: [0x03,0x00,0x32,0xd5]
485; CHECK: mrs x3, TEEHBR32_EL1           ; encoding: [0x03,0x10,0x32,0xd5]
486; CHECK: mrs x3, TPIDRRO_EL0            ; encoding: [0x63,0xd0,0x3b,0xd5]
487; CHECK: mrs x3, TPIDR_EL0              ; encoding: [0x43,0xd0,0x3b,0xd5]
488; CHECK: mrs x3, TPIDR_EL1              ; encoding: [0x83,0xd0,0x38,0xd5]
489; CHECK: mrs x3, TPIDR_EL2              ; encoding: [0x43,0xd0,0x3c,0xd5]
490; CHECK: mrs x3, TPIDR_EL3              ; encoding: [0x43,0xd0,0x3e,0xd5]
491; CHECK: mrs x3, TTBR0_EL1              ; encoding: [0x03,0x20,0x38,0xd5]
492; CHECK: mrs x3, TTBR0_EL2              ; encoding: [0x03,0x20,0x3c,0xd5]
493; CHECK: mrs x3, TTBR0_EL3              ; encoding: [0x03,0x20,0x3e,0xd5]
494; CHECK: mrs x3, TTBR1_EL1              ; encoding: [0x23,0x20,0x38,0xd5]
495; CHECK: mrs x3, VBAR_EL1               ; encoding: [0x03,0xc0,0x38,0xd5]
496; CHECK: mrs x3, VBAR_EL2               ; encoding: [0x03,0xc0,0x3c,0xd5]
497; CHECK: mrs x3, VBAR_EL3               ; encoding: [0x03,0xc0,0x3e,0xd5]
498; CHECK: mrs x3, VMPIDR_EL2             ; encoding: [0xa3,0x00,0x3c,0xd5]
499; CHECK: mrs x3, VPIDR_EL2              ; encoding: [0x03,0x00,0x3c,0xd5]
500; CHECK: mrs x3, VTCR_EL2               ; encoding: [0x43,0x21,0x3c,0xd5]
501; CHECK: mrs x3, VTTBR_EL2              ; encoding: [0x03,0x21,0x3c,0xd5]
502; CHECK: mrs	x3, MDCCSR_EL0          ; encoding: [0x03,0x01,0x33,0xd5]
503; CHECK: mrs	x3, MDCCINT_EL1         ; encoding: [0x03,0x02,0x30,0xd5]
504; CHECK: mrs	x3, DBGDTR_EL0          ; encoding: [0x03,0x04,0x33,0xd5]
505; CHECK: mrs	x3, DBGDTRRX_EL0        ; encoding: [0x03,0x05,0x33,0xd5]
506; CHECK: mrs	x3, DBGVCR32_EL2        ; encoding: [0x03,0x07,0x34,0xd5]
507; CHECK: mrs	x3, OSDTRRX_EL1         ; encoding: [0x43,0x00,0x30,0xd5]
508; CHECK: mrs	x3, MDSCR_EL1           ; encoding: [0x43,0x02,0x30,0xd5]
509; CHECK: mrs	x3, OSDTRTX_EL1         ; encoding: [0x43,0x03,0x30,0xd5]
510; CHECK: mrs	x3, OSECCR_EL1          ; encoding: [0x43,0x06,0x30,0xd5]
511; CHECK: mrs	x3, DBGBVR0_EL1         ; encoding: [0x83,0x00,0x30,0xd5]
512; CHECK: mrs	x3, DBGBVR1_EL1         ; encoding: [0x83,0x01,0x30,0xd5]
513; CHECK: mrs	x3, DBGBVR2_EL1         ; encoding: [0x83,0x02,0x30,0xd5]
514; CHECK: mrs	x3, DBGBVR3_EL1         ; encoding: [0x83,0x03,0x30,0xd5]
515; CHECK: mrs	x3, DBGBVR4_EL1         ; encoding: [0x83,0x04,0x30,0xd5]
516; CHECK: mrs	x3, DBGBVR5_EL1         ; encoding: [0x83,0x05,0x30,0xd5]
517; CHECK: mrs	x3, DBGBVR6_EL1         ; encoding: [0x83,0x06,0x30,0xd5]
518; CHECK: mrs	x3, DBGBVR7_EL1         ; encoding: [0x83,0x07,0x30,0xd5]
519; CHECK: mrs	x3, DBGBVR8_EL1         ; encoding: [0x83,0x08,0x30,0xd5]
520; CHECK: mrs	x3, DBGBVR9_EL1         ; encoding: [0x83,0x09,0x30,0xd5]
521; CHECK: mrs	x3, DBGBVR10_EL1        ; encoding: [0x83,0x0a,0x30,0xd5]
522; CHECK: mrs	x3, DBGBVR11_EL1        ; encoding: [0x83,0x0b,0x30,0xd5]
523; CHECK: mrs	x3, DBGBVR12_EL1        ; encoding: [0x83,0x0c,0x30,0xd5]
524; CHECK: mrs	x3, DBGBVR13_EL1        ; encoding: [0x83,0x0d,0x30,0xd5]
525; CHECK: mrs	x3, DBGBVR14_EL1        ; encoding: [0x83,0x0e,0x30,0xd5]
526; CHECK: mrs	x3, DBGBVR15_EL1        ; encoding: [0x83,0x0f,0x30,0xd5]
527; CHECK: mrs	x3, DBGBCR0_EL1         ; encoding: [0xa3,0x00,0x30,0xd5]
528; CHECK: mrs	x3, DBGBCR1_EL1         ; encoding: [0xa3,0x01,0x30,0xd5]
529; CHECK: mrs	x3, DBGBCR2_EL1         ; encoding: [0xa3,0x02,0x30,0xd5]
530; CHECK: mrs	x3, DBGBCR3_EL1         ; encoding: [0xa3,0x03,0x30,0xd5]
531; CHECK: mrs	x3, DBGBCR4_EL1         ; encoding: [0xa3,0x04,0x30,0xd5]
532; CHECK: mrs	x3, DBGBCR5_EL1         ; encoding: [0xa3,0x05,0x30,0xd5]
533; CHECK: mrs	x3, DBGBCR6_EL1         ; encoding: [0xa3,0x06,0x30,0xd5]
534; CHECK: mrs	x3, DBGBCR7_EL1         ; encoding: [0xa3,0x07,0x30,0xd5]
535; CHECK: mrs	x3, DBGBCR8_EL1         ; encoding: [0xa3,0x08,0x30,0xd5]
536; CHECK: mrs	x3, DBGBCR9_EL1         ; encoding: [0xa3,0x09,0x30,0xd5]
537; CHECK: mrs	x3, DBGBCR10_EL1        ; encoding: [0xa3,0x0a,0x30,0xd5]
538; CHECK: mrs	x3, DBGBCR11_EL1        ; encoding: [0xa3,0x0b,0x30,0xd5]
539; CHECK: mrs	x3, DBGBCR12_EL1        ; encoding: [0xa3,0x0c,0x30,0xd5]
540; CHECK: mrs	x3, DBGBCR13_EL1        ; encoding: [0xa3,0x0d,0x30,0xd5]
541; CHECK: mrs	x3, DBGBCR14_EL1        ; encoding: [0xa3,0x0e,0x30,0xd5]
542; CHECK: mrs	x3, DBGBCR15_EL1        ; encoding: [0xa3,0x0f,0x30,0xd5]
543; CHECK: mrs	x3, DBGWVR0_EL1         ; encoding: [0xc3,0x00,0x30,0xd5]
544; CHECK: mrs	x3, DBGWVR1_EL1         ; encoding: [0xc3,0x01,0x30,0xd5]
545; CHECK: mrs	x3, DBGWVR2_EL1         ; encoding: [0xc3,0x02,0x30,0xd5]
546; CHECK: mrs	x3, DBGWVR3_EL1         ; encoding: [0xc3,0x03,0x30,0xd5]
547; CHECK: mrs	x3, DBGWVR4_EL1         ; encoding: [0xc3,0x04,0x30,0xd5]
548; CHECK: mrs	x3, DBGWVR5_EL1         ; encoding: [0xc3,0x05,0x30,0xd5]
549; CHECK: mrs	x3, DBGWVR6_EL1         ; encoding: [0xc3,0x06,0x30,0xd5]
550; CHECK: mrs	x3, DBGWVR7_EL1         ; encoding: [0xc3,0x07,0x30,0xd5]
551; CHECK: mrs	x3, DBGWVR8_EL1         ; encoding: [0xc3,0x08,0x30,0xd5]
552; CHECK: mrs	x3, DBGWVR9_EL1         ; encoding: [0xc3,0x09,0x30,0xd5]
553; CHECK: mrs	x3, DBGWVR10_EL1        ; encoding: [0xc3,0x0a,0x30,0xd5]
554; CHECK: mrs	x3, DBGWVR11_EL1        ; encoding: [0xc3,0x0b,0x30,0xd5]
555; CHECK: mrs	x3, DBGWVR12_EL1        ; encoding: [0xc3,0x0c,0x30,0xd5]
556; CHECK: mrs	x3, DBGWVR13_EL1        ; encoding: [0xc3,0x0d,0x30,0xd5]
557; CHECK: mrs	x3, DBGWVR14_EL1        ; encoding: [0xc3,0x0e,0x30,0xd5]
558; CHECK: mrs	x3, DBGWVR15_EL1        ; encoding: [0xc3,0x0f,0x30,0xd5]
559; CHECK: mrs	x3, DBGWCR0_EL1         ; encoding: [0xe3,0x00,0x30,0xd5]
560; CHECK: mrs	x3, DBGWCR1_EL1         ; encoding: [0xe3,0x01,0x30,0xd5]
561; CHECK: mrs	x3, DBGWCR2_EL1         ; encoding: [0xe3,0x02,0x30,0xd5]
562; CHECK: mrs	x3, DBGWCR3_EL1         ; encoding: [0xe3,0x03,0x30,0xd5]
563; CHECK: mrs	x3, DBGWCR4_EL1         ; encoding: [0xe3,0x04,0x30,0xd5]
564; CHECK: mrs	x3, DBGWCR5_EL1         ; encoding: [0xe3,0x05,0x30,0xd5]
565; CHECK: mrs	x3, DBGWCR6_EL1         ; encoding: [0xe3,0x06,0x30,0xd5]
566; CHECK: mrs	x3, DBGWCR7_EL1         ; encoding: [0xe3,0x07,0x30,0xd5]
567; CHECK: mrs	x3, DBGWCR8_EL1         ; encoding: [0xe3,0x08,0x30,0xd5]
568; CHECK: mrs	x3, DBGWCR9_EL1         ; encoding: [0xe3,0x09,0x30,0xd5]
569; CHECK: mrs	x3, DBGWCR10_EL1        ; encoding: [0xe3,0x0a,0x30,0xd5]
570; CHECK: mrs	x3, DBGWCR11_EL1        ; encoding: [0xe3,0x0b,0x30,0xd5]
571; CHECK: mrs	x3, DBGWCR12_EL1        ; encoding: [0xe3,0x0c,0x30,0xd5]
572; CHECK: mrs	x3, DBGWCR13_EL1        ; encoding: [0xe3,0x0d,0x30,0xd5]
573; CHECK: mrs	x3, DBGWCR14_EL1        ; encoding: [0xe3,0x0e,0x30,0xd5]
574; CHECK: mrs	x3, DBGWCR15_EL1        ; encoding: [0xe3,0x0f,0x30,0xd5]
575; CHECK: mrs	x3, MDRAR_EL1           ; encoding: [0x03,0x10,0x30,0xd5]
576; CHECK: mrs	x3, OSLSR_EL1           ; encoding: [0x83,0x11,0x30,0xd5]
577; CHECK: mrs	x3, OSDLR_EL1           ; encoding: [0x83,0x13,0x30,0xd5]
578; CHECK: mrs	x3, DBGPRCR_EL1         ; encoding: [0x83,0x14,0x30,0xd5]
579; CHECK: mrs	x3, DBGCLAIMSET_EL1     ; encoding: [0xc3,0x78,0x30,0xd5]
580; CHECK: mrs	x3, DBGCLAIMCLR_EL1     ; encoding: [0xc3,0x79,0x30,0xd5]
581; CHECK: mrs	x3, DBGAUTHSTATUS_EL1   ; encoding: [0xc3,0x7e,0x30,0xd5]
582; CHECK: mrs    x1, S3_2_C15_C6_4       ; encoding: [0x81,0xf6,0x3a,0xd5]
583; CHECK: mrs	x3, S3_3_C11_C1_4       ; encoding: [0x83,0xb1,0x3b,0xd5]
584; CHECK: mrs	x3, S3_3_C11_C1_4       ; encoding: [0x83,0xb1,0x3b,0xd5]
585
586  msr RMR_EL3, x0
587  msr RMR_EL2, x0
588  msr RMR_EL1, x0
589  msr OSLAR_EL1, x3
590  msr DBGDTRTX_EL0, x3
591
592; CHECK: msr	RMR_EL3, x0             ; encoding: [0x40,0xc0,0x1e,0xd5]
593; CHECK: msr	RMR_EL2, x0             ; encoding: [0x40,0xc0,0x1c,0xd5]
594; CHECK: msr	RMR_EL1, x0             ; encoding: [0x40,0xc0,0x18,0xd5]
595; CHECK: msr	OSLAR_EL1, x3           ; encoding: [0x83,0x10,0x10,0xd5]
596; CHECK: msr	DBGDTRTX_EL0, x3        ; encoding: [0x03,0x05,0x13,0xd5]
597
598 mrs x0, ID_PFR0_EL1
599 mrs x0, ID_PFR1_EL1
600 mrs x0, ID_DFR0_EL1
601 mrs x0, ID_AFR0_EL1
602 mrs x0, ID_ISAR0_EL1
603 mrs x0, ID_ISAR1_EL1
604 mrs x0, ID_ISAR2_EL1
605 mrs x0, ID_ISAR3_EL1
606 mrs x0, ID_ISAR4_EL1
607 mrs x0, ID_ISAR5_EL1
608 mrs x0, AFSR1_EL1
609 mrs x0, AFSR0_EL1
610 mrs x0, REVIDR_EL1
611; CHECK: mrs	x0, ID_PFR0_EL1         ; encoding: [0x00,0x01,0x38,0xd5]
612; CHECK: mrs	x0, ID_PFR1_EL1         ; encoding: [0x20,0x01,0x38,0xd5]
613; CHECK: mrs	x0, ID_DFR0_EL1         ; encoding: [0x40,0x01,0x38,0xd5]
614; CHECK: mrs	x0, ID_AFR0_EL1         ; encoding: [0x60,0x01,0x38,0xd5]
615; CHECK: mrs	x0, ID_ISAR0_EL1        ; encoding: [0x00,0x02,0x38,0xd5]
616; CHECK: mrs	x0, ID_ISAR1_EL1        ; encoding: [0x20,0x02,0x38,0xd5]
617; CHECK: mrs	x0, ID_ISAR2_EL1        ; encoding: [0x40,0x02,0x38,0xd5]
618; CHECK: mrs	x0, ID_ISAR3_EL1        ; encoding: [0x60,0x02,0x38,0xd5]
619; CHECK: mrs	x0, ID_ISAR4_EL1        ; encoding: [0x80,0x02,0x38,0xd5]
620; CHECK: mrs	x0, ID_ISAR5_EL1        ; encoding: [0xa0,0x02,0x38,0xd5]
621; CHECK: mrs	x0, AFSR1_EL1           ; encoding: [0x20,0x51,0x38,0xd5]
622; CHECK: mrs	x0, AFSR0_EL1           ; encoding: [0x00,0x51,0x38,0xd5]
623; CHECK: mrs	x0, REVIDR_EL1          ; encoding: [0xc0,0x00,0x38,0xd5]
624