• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN:     llvm-mc -triple=aarch64 -mattr=+mte   -disassemble < %s      | FileCheck %s
2# RUN: not llvm-mc -triple=aarch64 -mattr=+v8.5a -disassemble < %s 2>&1 | FileCheck %s --check-prefix=NOMTE
3# RUN: not llvm-mc -triple=aarch64 -mattr=-mte   -disassemble < %s 2>&1 | FileCheck %s --check-prefix=NOMTE
4
5[0x20,0x10,0xdf,0x9a]
6[0x3f,0x10,0xdf,0x9a]
7[0xe0,0x13,0xdf,0x9a]
8[0x20,0x10,0xc2,0x9a]
9[0x3f,0x10,0xc2,0x9a]
10
11# CHECK: irg x0, x1
12# CHECK: irg sp, x1
13# CHECK: irg x0, sp
14# CHECK: irg x0, x1, x2
15# CHECK: irg sp, x1, x2
16
17# NOMTE:      warning: invalid instruction encoding
18# NOMTE-NEXT: [0x20,0x10,0xdf,0x9a]
19# NOMTE:      warning: invalid instruction encoding
20# NOMTE-NEXT: [0x3f,0x10,0xdf,0x9a]
21# NOMTE:      warning: invalid instruction encoding
22# NOMTE-NEXT: [0xe0,0x13,0xdf,0x9a]
23# NOMTE:      warning: invalid instruction encoding
24# NOMTE-NEXT: [0x20,0x10,0xc2,0x9a]
25# NOMTE:      warning: invalid instruction encoding
26# NOMTE-NEXT: [0x3f,0x10,0xc2,0x9a]
27
28[0x20,0x04,0x80,0x91]
29[0x5f,0x0c,0x82,0x91]
30[0xe0,0x17,0x84,0x91]
31[0x83,0x18,0xbf,0x91]
32[0xc5,0x3c,0x87,0x91]
33
34[0x20,0x04,0x80,0xd1]
35[0x5f,0x0c,0x82,0xd1]
36[0xe0,0x17,0x84,0xd1]
37[0x83,0x18,0xbf,0xd1]
38[0xc5,0x3c,0x87,0xd1]
39
40# CHECK: addg x0, x1, #0, #1
41# CHECK: addg sp, x2, #32, #3
42# CHECK: addg x0, sp, #64, #5
43# CHECK: addg x3, x4, #1008, #6
44# CHECK: addg x5, x6, #112, #15
45
46# CHECK: subg x0, x1, #0, #1
47# CHECK: subg sp, x2, #32, #3
48# CHECK: subg x0, sp, #64, #5
49# CHECK: subg x3, x4, #1008, #6
50# CHECK: subg x5, x6, #112, #15
51
52# NOMTE:      warning: invalid instruction encoding
53# NOMTE-NEXT: [0x20,0x04,0x80,0x91]
54# NOMTE:      warning: invalid instruction encoding
55# NOMTE-NEXT: [0x5f,0x0c,0x82,0x91]
56# NOMTE:      warning: invalid instruction encoding
57# NOMTE-NEXT: [0xe0,0x17,0x84,0x91]
58# NOMTE:      warning: invalid instruction encoding
59# NOMTE-NEXT: [0x83,0x18,0xbf,0x91]
60# NOMTE:      warning: invalid instruction encoding
61# NOMTE-NEXT: [0xc5,0x3c,0x87,0x91]
62
63# NOMTE:      warning: invalid instruction encoding
64# NOMTE-NEXT: [0x20,0x04,0x80,0xd1]
65# NOMTE:      warning: invalid instruction encoding
66# NOMTE-NEXT: [0x5f,0x0c,0x82,0xd1]
67# NOMTE:      warning: invalid instruction encoding
68# NOMTE-NEXT: [0xe0,0x17,0x84,0xd1]
69# NOMTE:      warning: invalid instruction encoding
70# NOMTE-NEXT: [0x83,0x18,0xbf,0xd1]
71# NOMTE:      warning: invalid instruction encoding
72# NOMTE-NEXT: [0xc5,0x3c,0x87,0xd1]
73
74[0x20,0x14,0xc2,0x9a]
75[0xe3,0x17,0xc4,0x9a]
76[0x1f,0x14,0xde,0x9a]
77[0x1e,0x14,0xdf,0x9a]
78
79# CHECK: gmi x0, x1, x2
80# CHECK: gmi x3, sp, x4
81# CHECK: gmi xzr, x0, x30
82# CHECK: gmi x30, x0, xzr
83
84# NOMTE:      warning: invalid instruction encoding
85# NOMTE-NEXT: [0x20,0x14,0xc2,0x9a]
86# NOMTE:      warning: invalid instruction encoding
87# NOMTE-NEXT: [0xe3,0x17,0xc4,0x9a]
88# NOMTE:      warning: invalid instruction encoding
89# NOMTE-NEXT: [0x1f,0x14,0xde,0x9a]
90# NOMTE:      warning: invalid instruction encoding
91# NOMTE-NEXT: [0x1e,0x14,0xdf,0x9a]
92
93[0x20,0x00,0xc2,0x9a]
94[0x20,0x00,0xc2,0xba]
95[0xe0,0x03,0xdf,0x9a]
96[0xe0,0x03,0xdf,0xba]
97[0x1f,0x00,0xc1,0xba]
98[0xff,0x03,0xdf,0xba]
99
100# CHECK: subp  x0, x1, x2
101# CHECK: subps x0, x1, x2
102# CHECK: subp  x0, sp, sp
103# CHECK: subps x0, sp, sp
104# CHECK: subps xzr, x0, x1
105# CHECK: subps xzr, sp, sp
106
107# NOMTE:      warning: invalid instruction encoding
108# NOMTE-NEXT: [0x20,0x00,0xc2,0x9a]
109# NOMTE:      warning: invalid instruction encoding
110# NOMTE-NEXT: [0x20,0x00,0xc2,0xba]
111# NOMTE:      warning: invalid instruction encoding
112# NOMTE-NEXT: [0xe0,0x03,0xdf,0x9a]
113# NOMTE:      warning: invalid instruction encoding
114# NOMTE-NEXT: [0xe0,0x03,0xdf,0xba]
115# NOMTE:      warning: invalid instruction encoding
116# NOMTE-NEXT: [0x1f,0x00,0xc1,0xba]
117# NOMTE:      warning: invalid instruction encoding
118# NOMTE-NEXT: [0xff,0x03,0xdf,0xba]
119
120[0x20,0x08,0x30,0xd9]
121[0x41,0xf8,0x2f,0xd9]
122[0xe2,0x1b,0x20,0xd9]
123[0x23,0x08,0x20,0xd9]
124[0x3f,0x08,0x20,0xd9]
125
126# CHECK: stg x0,  [x1, #-4096]
127# CHECK: stg x1,  [x2, #4080]
128# CHECK: stg x2,  [sp, #16]
129# CHECK: stg x3,  [x1]
130# CHECK: stg sp,  [x1]
131
132
133# NOMTE:      warning: invalid instruction encoding
134# NOMTE-NEXT: [0x20,0x08,0x30,0xd9]
135# NOMTE:      warning: invalid instruction encoding
136# NOMTE-NEXT: [0x41,0xf8,0x2f,0xd9]
137# NOMTE:      warning: invalid instruction encoding
138# NOMTE-NEXT: [0xe2,0x1b,0x20,0xd9]
139# NOMTE:      warning: invalid instruction encoding
140# NOMTE-NEXT: [0x23,0x08,0x20,0xd9]
141# NOMTE:      warning: invalid instruction encoding
142# NOMTE-NEXT: [0x3f,0x08,0x20,0xd9]
143
144[0x20,0x08,0x70,0xd9]
145[0x41,0xf8,0x6f,0xd9]
146[0xe2,0x1b,0x60,0xd9]
147[0x23,0x08,0x60,0xd9]
148[0x3f,0x08,0x60,0xd9]
149
150# CHECK: stzg x0,  [x1, #-4096]
151# CHECK: stzg x1,  [x2, #4080]
152# CHECK: stzg x2,  [sp, #16]
153# CHECK: stzg x3,  [x1]
154# CHECK: stzg sp,  [x1]
155
156# NOMTE:      warning: invalid instruction encoding
157# NOMTE-NEXT: [0x20,0x08,0x70,0xd9]
158# NOMTE:      warning: invalid instruction encoding
159# NOMTE-NEXT: [0x41,0xf8,0x6f,0xd9]
160# NOMTE:      warning: invalid instruction encoding
161# NOMTE-NEXT: [0xe2,0x1b,0x60,0xd9]
162# NOMTE:      warning: invalid instruction encoding
163# NOMTE-NEXT: [0x23,0x08,0x60,0xd9]
164# NOMTE:      warning: invalid instruction encoding
165# NOMTE-NEXT: [0x3f,0x08,0x60,0xd9]
166
167[0x20,0x0c,0x30,0xd9]
168[0x41,0xfc,0x2f,0xd9]
169[0xe2,0x1f,0x20,0xd9]
170[0xff,0x1f,0x20,0xd9]
171
172# CHECK: stg x0,  [x1, #-4096]!
173# CHECK: stg x1,  [x2, #4080]!
174# CHECK: stg x2,  [sp, #16]!
175# CHECK: stg sp,  [sp, #16]!
176
177# NOMTE:      warning: invalid instruction encoding
178# NOMTE-NEXT: [0x20,0x0c,0x30,0xd9]
179# NOMTE:      warning: invalid instruction encoding
180# NOMTE-NEXT: [0x41,0xfc,0x2f,0xd9]
181# NOMTE:      warning: invalid instruction encoding
182# NOMTE-NEXT: [0xe2,0x1f,0x20,0xd9]
183# NOMTE:      warning: invalid instruction encoding
184# NOMTE-NEXT: [0xff,0x1f,0x20,0xd9]
185
186[0x20,0x0c,0x70,0xd9]
187[0x41,0xfc,0x6f,0xd9]
188[0xe2,0x1f,0x60,0xd9]
189[0xff,0x1f,0x60,0xd9]
190
191# CHECK: stzg x0,  [x1, #-4096]!
192# CHECK: stzg x1,  [x2, #4080]!
193# CHECK: stzg x2,  [sp, #16]!
194# CHECK: stzg sp,  [sp, #16]!
195
196# NOMTE:      warning: invalid instruction encoding
197# NOMTE-NEXT: [0x20,0x0c,0x70,0xd9]
198# NOMTE:      warning: invalid instruction encoding
199# NOMTE-NEXT: [0x41,0xfc,0x6f,0xd9]
200# NOMTE:      warning: invalid instruction encoding
201# NOMTE-NEXT: [0xe2,0x1f,0x60,0xd9]
202# NOMTE:      warning: invalid instruction encoding
203# NOMTE-NEXT: [0xff,0x1f,0x60,0xd9]
204
205[0x20,0x04,0x30,0xd9]
206[0x41,0xf4,0x2f,0xd9]
207[0xe2,0x17,0x20,0xd9]
208[0xff,0x17,0x20,0xd9]
209
210# CHECK: stg x0,  [x1], #-4096
211# CHECK: stg x1,  [x2], #4080
212# CHECK: stg x2,  [sp], #16
213# CHECK: stg sp,  [sp], #16
214
215# NOMTE:      warning: invalid instruction encoding
216# NOMTE-NEXT: [0x20,0x04,0x30,0xd9]
217# NOMTE:      warning: invalid instruction encoding
218# NOMTE-NEXT: [0x41,0xf4,0x2f,0xd9]
219# NOMTE:      warning: invalid instruction encoding
220# NOMTE-NEXT: [0xe2,0x17,0x20,0xd9]
221# NOMTE:      warning: invalid instruction encoding
222# NOMTE-NEXT: [0xff,0x17,0x20,0xd9]
223
224[0x20,0x04,0x70,0xd9]
225[0x41,0xf4,0x6f,0xd9]
226[0xe2,0x17,0x60,0xd9]
227[0xff,0x17,0x60,0xd9]
228
229# CHECK: stzg x0,  [x1], #-4096
230# CHECK: stzg x1,  [x2], #4080
231# CHECK: stzg x2,  [sp], #16
232# CHECK: stzg sp,  [sp], #16
233
234# NOMTE:      warning: invalid instruction encoding
235# NOMTE-NEXT: [0x20,0x04,0x70,0xd9]
236# NOMTE:      warning: invalid instruction encoding
237# NOMTE-NEXT: [0x41,0xf4,0x6f,0xd9]
238# NOMTE:      warning: invalid instruction encoding
239# NOMTE-NEXT: [0xe2,0x17,0x60,0xd9]
240# NOMTE:      warning: invalid instruction encoding
241# NOMTE-NEXT: [0xff,0x17,0x60,0xd9]
242
243[0x20,0x08,0xb0,0xd9]
244[0x41,0xf8,0xaf,0xd9]
245[0xe2,0x1b,0xa0,0xd9]
246[0x23,0x08,0xa0,0xd9]
247[0x3f,0x08,0xa0,0xd9]
248
249# CHECK: st2g x0,  [x1, #-4096]
250# CHECK: st2g x1,  [x2, #4080]
251# CHECK: st2g x2,  [sp, #16]
252# CHECK: st2g x3,  [x1]
253# CHECK: st2g sp,  [x1]
254
255# NOMTE:      warning: invalid instruction encoding
256# NOMTE-NEXT: [0x20,0x08,0xb0,0xd9]
257# NOMTE:      warning: invalid instruction encoding
258# NOMTE-NEXT: [0x41,0xf8,0xaf,0xd9]
259# NOMTE:      warning: invalid instruction encoding
260# NOMTE-NEXT: [0xe2,0x1b,0xa0,0xd9]
261# NOMTE:      warning: invalid instruction encoding
262# NOMTE-NEXT: [0x23,0x08,0xa0,0xd9]
263# NOMTE:      warning: invalid instruction encoding
264# NOMTE-NEXT: [0x3f,0x08,0xa0,0xd9]
265
266[0x20,0x08,0xf0,0xd9]
267[0x41,0xf8,0xef,0xd9]
268[0xe2,0x1b,0xe0,0xd9]
269[0x23,0x08,0xe0,0xd9]
270[0x3f,0x08,0xe0,0xd9]
271
272# CHECK: stz2g x0,  [x1, #-4096]
273# CHECK: stz2g x1,  [x2, #4080]
274# CHECK: stz2g x2,  [sp, #16]
275# CHECK: stz2g x3,  [x1]
276# CHECK: stz2g sp,  [x1]
277
278# NOMTE:      warning: invalid instruction encoding
279# NOMTE-NEXT: [0x20,0x08,0xf0,0xd9]
280# NOMTE:      warning: invalid instruction encoding
281# NOMTE-NEXT: [0x41,0xf8,0xef,0xd9]
282# NOMTE:      warning: invalid instruction encoding
283# NOMTE-NEXT: [0xe2,0x1b,0xe0,0xd9]
284# NOMTE:      warning: invalid instruction encoding
285# NOMTE-NEXT: [0x23,0x08,0xe0,0xd9]
286# NOMTE:      warning: invalid instruction encoding
287# NOMTE-NEXT: [0x3f,0x08,0xe0,0xd9]
288
289[0x20,0x0c,0xb0,0xd9]
290[0x41,0xfc,0xaf,0xd9]
291[0xe2,0x1f,0xa0,0xd9]
292[0xff,0x1f,0xa0,0xd9]
293
294# CHECK: st2g x0,  [x1, #-4096]!
295# CHECK: st2g x1,  [x2, #4080]!
296# CHECK: st2g x2,  [sp, #16]!
297# CHECK: st2g sp,  [sp, #16]!
298
299# NOMTE:      warning: invalid instruction encoding
300# NOMTE-NEXT: [0x20,0x0c,0xb0,0xd9]
301# NOMTE:      warning: invalid instruction encoding
302# NOMTE-NEXT: [0x41,0xfc,0xaf,0xd9]
303# NOMTE:      warning: invalid instruction encoding
304# NOMTE-NEXT: [0xe2,0x1f,0xa0,0xd9]
305# NOMTE:      warning: invalid instruction encoding
306# NOMTE-NEXT: [0xff,0x1f,0xa0,0xd9]
307
308[0x20,0x0c,0xf0,0xd9]
309[0x41,0xfc,0xef,0xd9]
310[0xe2,0x1f,0xe0,0xd9]
311[0xff,0x1f,0xe0,0xd9]
312
313# CHECK: stz2g x0,  [x1, #-4096]!
314# CHECK: stz2g x1,  [x2, #4080]!
315# CHECK: stz2g x2,  [sp, #16]!
316# CHECK: stz2g sp,  [sp, #16]!
317
318# NOMTE:      warning: invalid instruction encoding
319# NOMTE-NEXT: [0x20,0x0c,0xf0,0xd9]
320# NOMTE:      warning: invalid instruction encoding
321# NOMTE-NEXT: [0x41,0xfc,0xef,0xd9]
322# NOMTE:      warning: invalid instruction encoding
323# NOMTE-NEXT: [0xe2,0x1f,0xe0,0xd9]
324# NOMTE:      warning: invalid instruction encoding
325# NOMTE-NEXT: [0xff,0x1f,0xe0,0xd9]
326
327[0x20,0x04,0xb0,0xd9]
328[0x41,0xf4,0xaf,0xd9]
329[0xe2,0x17,0xa0,0xd9]
330[0xff,0x17,0xa0,0xd9]
331
332# CHECK: st2g x0,  [x1], #-4096
333# CHECK: st2g x1,  [x2], #4080
334# CHECK: st2g x2,  [sp], #16
335# CHECK: st2g sp,  [sp], #16
336
337# NOMTE:      warning: invalid instruction encoding
338# NOMTE-NEXT: [0x20,0x04,0xb0,0xd9]
339# NOMTE:      warning: invalid instruction encoding
340# NOMTE-NEXT: [0x41,0xf4,0xaf,0xd9]
341# NOMTE:      warning: invalid instruction encoding
342# NOMTE-NEXT: [0xe2,0x17,0xa0,0xd9]
343# NOMTE:      warning: invalid instruction encoding
344# NOMTE-NEXT: [0xff,0x17,0xa0,0xd9]
345
346[0x20,0x04,0xf0,0xd9]
347[0x41,0xf4,0xef,0xd9]
348[0xe2,0x17,0xe0,0xd9]
349[0xff,0x17,0xe0,0xd9]
350
351# CHECK: stz2g x0,  [x1], #-4096
352# CHECK: stz2g x1,  [x2], #4080
353# CHECK: stz2g x2,  [sp], #16
354# CHECK: stz2g sp,  [sp], #16
355
356# NOMTE:      warning: invalid instruction encoding
357# NOMTE-NEXT: [0x20,0x04,0xf0,0xd9]
358# NOMTE:      warning: invalid instruction encoding
359# NOMTE-NEXT: [0x41,0xf4,0xef,0xd9]
360# NOMTE:      warning: invalid instruction encoding
361# NOMTE-NEXT: [0xe2,0x17,0xe0,0xd9]
362# NOMTE:      warning: invalid instruction encoding
363# NOMTE-NEXT: [0xff,0x17,0xe0,0xd9]
364
365[0x40,0x04,0x20,0x69]
366[0x40,0x84,0x1f,0x69]
367[0xe0,0x87,0x00,0x69]
368[0x5f,0x84,0x00,0x69]
369[0x40,0xfc,0x00,0x69]
370[0x40,0x7c,0x00,0x69]
371
372# CHECK: stgp x0, x1, [x2, #-1024]
373# CHECK: stgp x0, x1, [x2, #1008]
374# CHECK: stgp x0, x1, [sp, #16]
375# CHECK: stgp xzr, x1, [x2, #16]
376# CHECK: stgp x0, xzr, [x2, #16]
377# CHECK: stgp x0, xzr, [x2]
378
379# NOMTE:      warning: invalid instruction encoding
380# NOMTE-NEXT: [0x40,0x04,0x20,0x69]
381# NOMTE:      warning: invalid instruction encoding
382# NOMTE-NEXT: [0x40,0x84,0x1f,0x69]
383# NOMTE:      warning: invalid instruction encoding
384# NOMTE-NEXT: [0xe0,0x87,0x00,0x69]
385# NOMTE:      warning: invalid instruction encoding
386# NOMTE-NEXT: [0x5f,0x84,0x00,0x69]
387# NOMTE:      warning: invalid instruction encoding
388# NOMTE-NEXT: [0x40,0xfc,0x00,0x69]
389# NOMTE:      warning: invalid instruction encoding
390# NOMTE-NEXT: [0x40,0x7c,0x00,0x69]
391
392[0x40,0x04,0xa0,0x69]
393[0x40,0x84,0x9f,0x69]
394[0xe0,0x87,0x80,0x69]
395[0x5f,0x84,0x80,0x69]
396[0x40,0xfc,0x80,0x69]
397
398# CHECK: stgp x0, x1, [x2, #-1024]!
399# CHECK: stgp x0, x1, [x2, #1008]!
400# CHECK: stgp x0, x1, [sp, #16]!
401# CHECK: stgp xzr, x1, [x2, #16]!
402# CHECK: stgp x0, xzr, [x2, #16]!
403
404# NOMTE:      warning: invalid instruction encoding
405# NOMTE-NEXT: [0x40,0x04,0xa0,0x69]
406# NOMTE:      warning: invalid instruction encoding
407# NOMTE-NEXT: [0x40,0x84,0x9f,0x69]
408# NOMTE:      warning: invalid instruction encoding
409# NOMTE-NEXT: [0xe0,0x87,0x80,0x69]
410# NOMTE:      warning: invalid instruction encoding
411# NOMTE-NEXT: [0x5f,0x84,0x80,0x69]
412# NOMTE:      warning: invalid instruction encoding
413# NOMTE-NEXT: [0x40,0xfc,0x80,0x69]
414
415[0x40,0x04,0xa0,0x68]
416[0x40,0x84,0x9f,0x68]
417[0xe0,0x87,0x80,0x68]
418[0x5f,0x84,0x80,0x68]
419[0x40,0xfc,0x80,0x68]
420
421# CHECK: stgp x0, x1, [x2], #-1024
422# CHECK: stgp x0, x1, [x2], #1008
423# CHECK: stgp x0, x1, [sp], #16
424# CHECK: stgp xzr, x1, [x2], #16
425# CHECK: stgp x0, xzr, [x2], #16
426
427# NOMTE:      warning: invalid instruction encoding
428# NOMTE-NEXT: [0x40,0x04,0xa0,0x68]
429# NOMTE:      warning: invalid instruction encoding
430# NOMTE-NEXT: [0x40,0x84,0x9f,0x68]
431# NOMTE:      warning: invalid instruction encoding
432# NOMTE-NEXT: [0xe0,0x87,0x80,0x68]
433# NOMTE:      warning: invalid instruction encoding
434# NOMTE-NEXT: [0x5f,0x84,0x80,0x68]
435# NOMTE:      warning: invalid instruction encoding
436# NOMTE-NEXT: [0x40,0xfc,0x80,0x68]
437
438[0x20,0x00,0x60,0xd9]
439[0xe2,0x03,0x70,0xd9]
440[0x83,0xf0,0x6f,0xd9]
441
442# CHECK: ldg x0, [x1]
443# CHECK: ldg x2, [sp, #-4096]
444# CHECK: ldg x3, [x4, #4080]
445
446# NOMTE:      warning: invalid instruction encoding
447# NOMTE-NEXT: [0x20,0x00,0x60,0xd9]
448# NOMTE:      warning: invalid instruction encoding
449# NOMTE-NEXT: [0xe2,0x03,0x70,0xd9]
450# NOMTE:      warning: invalid instruction encoding
451# NOMTE-NEXT: [0x83,0xf0,0x6f,0xd9]
452
453[0x20,0x00,0xe0,0xd9]
454[0xe1,0x03,0xe0,0xd9]
455[0x5f,0x00,0xe0,0xd9]
456[0x20,0x00,0xa0,0xd9]
457[0xe1,0x03,0xa0,0xd9]
458[0x5f,0x00,0xa0,0xd9]
459[0x20,0x00,0x20,0xd9]
460[0xe1,0x03,0x20,0xd9]
461[0x5f,0x00,0x20,0xd9]
462
463# CHECK: ldgm x0, [x1]
464# CHECK: ldgm x1, [sp]
465# CHECK: ldgm xzr, [x2]
466# CHECK: stgm x0, [x1]
467# CHECK: stgm x1, [sp]
468# CHECK: stgm xzr, [x2]
469# CHECK: stzgm x0, [x1]
470# CHECK: stzgm x1, [sp]
471# CHECK: stzgm xzr, [x2]
472
473# NOMTE:      warning: invalid instruction encoding
474# NOMTE-NEXT: [0x20,0x00,0xe0,0xd9]
475# NOMTE:      warning: invalid instruction encoding
476# NOMTE-NEXT: [0xe1,0x03,0xe0,0xd9]
477# NOMTE:      warning: invalid instruction encoding
478# NOMTE-NEXT: [0x5f,0x00,0xe0,0xd9]
479# NOMTE:      warning: invalid instruction encoding
480# NOMTE-NEXT: [0x20,0x00,0xa0,0xd9]
481# NOMTE:      warning: invalid instruction encoding
482# NOMTE-NEXT: [0xe1,0x03,0xa0,0xd9]
483# NOMTE:      warning: invalid instruction encoding
484# NOMTE-NEXT: [0x5f,0x00,0xa0,0xd9]
485# NOMTE:      warning: invalid instruction encoding
486# NOMTE-NEXT: [0x20,0x00,0x20,0xd9]
487# NOMTE:      warning: invalid instruction encoding
488# NOMTE-NEXT: [0xe1,0x03,0x20,0xd9]
489# NOMTE:      warning: invalid instruction encoding
490# NOMTE-NEXT: [0x5f,0x00,0x20,0xd9]
491
492[0x60,0x76,0x08,0xd5]
493[0x81,0x76,0x08,0xd5]
494[0x82,0x7a,0x08,0xd5]
495[0x83,0x7e,0x08,0xd5]
496[0x64,0x7a,0x0b,0xd5]
497[0x65,0x7c,0x0b,0xd5]
498[0x66,0x7d,0x0b,0xd5]
499[0x67,0x7e,0x0b,0xd5]
500[0x68,0x74,0x0b,0xd5]
501[0xa9,0x76,0x08,0xd5]
502[0xca,0x76,0x08,0xd5]
503[0xcb,0x7a,0x08,0xd5]
504[0xcc,0x7e,0x08,0xd5]
505[0xad,0x7a,0x0b,0xd5]
506[0xae,0x7c,0x0b,0xd5]
507[0xaf,0x7d,0x0b,0xd5]
508[0xb0,0x7e,0x0b,0xd5]
509[0x91,0x74,0x0b,0xd5]
510
511# CHECK: dc igvac, x0
512# CHECK: dc igsw, x1
513# CHECK: dc cgsw, x2
514# CHECK: dc cigsw, x3
515# CHECK: dc cgvac, x4
516# CHECK: dc cgvap, x5
517# CHECK: dc cgvadp, x6
518# CHECK: dc cigvac, x7
519# CHECK: dc gva, x8
520# CHECK: dc igdvac, x9
521# CHECK: dc igdsw, x10
522# CHECK: dc cgdsw, x11
523# CHECK: dc cigdsw, x12
524# CHECK: dc cgdvac, x13
525# CHECK: dc cgdvap, x14
526# CHECK: dc cgdvadp, x15
527# CHECK: dc cigdvac, x16
528# CHECK: dc gzva, x17
529
530# NOMTE: sys #0, c7, c6, #3, x0
531# NOMTE: sys #0, c7, c6, #4, x1
532# NOMTE: sys #0, c7, c10, #4, x2
533# NOMTE: sys #0, c7, c14, #4, x3
534# NOMTE: sys #3, c7, c10, #3, x4
535# NOMTE: sys #3, c7, c12, #3, x5
536# NOMTE: sys #3, c7, c13, #3, x6
537# NOMTE: sys #3, c7, c14, #3, x7
538# NOMTE: sys #3, c7, c4, #3, x8
539# NOMTE: sys #0, c7, c6, #5, x9
540# NOMTE: sys #0, c7, c6, #6, x10
541# NOMTE: sys #0, c7, c10, #6, x11
542# NOMTE: sys #0, c7, c14, #6, x12
543# NOMTE: sys #3, c7, c10, #5, x13
544# NOMTE: sys #3, c7, c12, #5, x14
545# NOMTE: sys #3, c7, c13, #5, x15
546# NOMTE: sys #3, c7, c14, #5, x16
547# NOMTE: sys #3, c7, c4, #4, x17
548
549[0xe0,0x42,0x3b,0xd5]
550[0xc1,0x10,0x38,0xd5]
551[0xa2,0x10,0x38,0xd5]
552[0x03,0x56,0x38,0xd5]
553[0x04,0x56,0x3c,0xd5]
554[0x05,0x56,0x3e,0xd5]
555[0x06,0x56,0x3d,0xd5]
556[0x27,0x56,0x38,0xd5]
557[0x88,0x00,0x39,0xd5]
558
559# CHECK: mrs x0, TCO
560# CHECK: mrs x1, GCR_EL1
561# CHECK: mrs x2, RGSR_EL1
562# CHECK: mrs x3, TFSR_EL1
563# CHECK: mrs x4, TFSR_EL2
564# CHECK: mrs x5, TFSR_EL3
565# CHECK: mrs x6, TFSR_EL12
566# CHECK: mrs x7, TFSRE0_EL1
567# CHECK: mrs x8, GMID_EL1
568
569# NOMTE: mrs x0, S3_3_C4_C2_7
570# NOMTE: mrs x1, S3_0_C1_C0_6
571# NOMTE: mrs x2, S3_0_C1_C0_5
572# NOMTE: mrs x3, S3_0_C5_C6_0
573# NOMTE: mrs x4, S3_4_C5_C6_0
574# NOMTE: mrs x5, S3_6_C5_C6_0
575# NOMTE: mrs x6, S3_5_C5_C6_0
576# NOMTE: mrs x7, S3_0_C5_C6_1
577# NOMTE: mrs x8, S3_1_C0_C0_4
578
579[0x9f,0x40,0x03,0xd5]
580
581# CHECK: msr TCO, #0
582# NOMTE: msr S0_3_C4_C0_4, xzr
583
584[0xe0,0x42,0x1b,0xd5]
585[0xc1,0x10,0x18,0xd5]
586[0xa2,0x10,0x18,0xd5]
587[0x03,0x56,0x18,0xd5]
588[0x04,0x56,0x1c,0xd5]
589[0x05,0x56,0x1e,0xd5]
590[0x06,0x56,0x1d,0xd5]
591[0x27,0x56,0x18,0xd5]
592[0x88,0x00,0x19,0xd5]
593
594# CHECK: msr TCO, x0
595# CHECK: msr GCR_EL1, x1
596# CHECK: msr RGSR_EL1, x2
597# CHECK: msr TFSR_EL1, x3
598# CHECK: msr TFSR_EL2, x4
599# CHECK: msr TFSR_EL3, x5
600# CHECK: msr TFSR_EL12, x6
601# CHECK: msr TFSRE0_EL1, x7
602# GMID_EL1 is read only
603# CHECK: msr S3_1_C0_C0_4, x8
604
605# NOMTE: msr S3_3_C4_C2_7, x0
606# NOMTE: msr S3_0_C1_C0_6, x1
607# NOMTE: msr S3_0_C1_C0_5, x2
608# NOMTE: msr S3_0_C5_C6_0, x3
609# NOMTE: msr S3_4_C5_C6_0, x4
610# NOMTE: msr S3_6_C5_C6_0, x5
611# NOMTE: msr S3_5_C5_C6_0, x6
612# NOMTE: msr S3_0_C5_C6_1, x7
613# NOMTE: msr S3_1_C0_C0_4, x8
614