[CodeGen] Remove some implict conversions of MCRegister to unsigned by using(). NFC
[llvm-project.git] / llvm / test / MC / Disassembler / AArch64 / basic-a64-instructions.txt
blob5ffabfc692ad10cb8839cd3f6fa23dff3a0eee82
1 # RUN: llvm-mc -triple=aarch64 -mattr=+v8a,+fp-armv8 -disassemble < %s | FileCheck %s
2 # RUN: llvm-mc -triple=arm64 -mattr=+v8a,+fp-armv8 -disassemble < %s | FileCheck %s
3 # RUN: llvm-mc -triple=arm64 -mattr=+v8a,+fp-armv8,+fullfp16 -disassemble < %s | FileCheck %s --check-prefix=CHECK --check-prefix=FP16
4 # RUN: llvm-mc -triple=arm64 -mattr=+v8.2a -disassemble < %s | FileCheck %s --check-prefix=CHECK-V82
5 # RUN: llvm-mc -triple=arm64 -mattr=+ccidx -disassemble < %s | FileCheck %s --check-prefix=CHECK-V83
7 #------------------------------------------------------------------------------
8 # Add/sub (immediate)
9 #------------------------------------------------------------------------------
10 # CHECK: add      w4, w5, #0
11 # CHECK: add      w2, w3, #4095
12 # CHECK: add      w30, w29, #1, lsl #12
13 # CHECK: add      w13, w5, #4095, lsl #12
14 # CHECK: add      x5, x7, #1638
15 0xa4 0x0 0x0 0x11
16 0x62 0xfc 0x3f 0x11
17 0xbe 0x7 0x40 0x11
18 0xad 0xfc 0x7f 0x11
19 0xe5 0x98 0x19 0x91
21 # CHECK: add      w20, wsp, #801
22 # CHECK: add      wsp, wsp, #1104
23 # CHECK: add      wsp, w30, #4084
24 0xf4 0x87 0xc 0x11
25 0xff 0x43 0x11 0x11
26 0xdf 0xd3 0x3f 0x11
28 # CHECK: add      x0, x24, #291
29 # CHECK: add      x3, x24, #4095, lsl #12
30 # CHECK: add      x8, sp, #1074
31 # CHECK: add      sp, x29, #3816
32 0x0 0x8f 0x4 0x91
33 0x3 0xff 0x7f 0x91
34 0xe8 0xcb 0x10 0x91
35 0xbf 0xa3 0x3b 0x91
37 # CHECK: sub      w0, wsp, #4077
38 # CHECK: sub      w4, w20, #546, lsl #12
39 # CHECK: sub      sp, sp, #288
40 # CHECK: sub      wsp, w19, #16
41 0xe0 0xb7 0x3f 0x51
42 0x84 0x8a 0x48 0x51
43 0xff 0x83 0x4 0xd1
44 0x7f 0x42 0x0 0x51
47 # CHECK: adds     w13, w23, #291, lsl #12
48 # CHECK: cmn      w2, #4095
49 # CHECK: adds     w20, wsp, #0
50 # CHECK: cmn      x3, #1, lsl #12
51 0xed 0x8e 0x44 0x31
52 0x5f 0xfc 0x3f 0x31
53 0xf4 0x3 0x0 0x31
54 0x7f 0x4 0x40 0xb1
56 # CHECK: cmp      sp, #20, lsl #12
57 # CHECK: cmp      x30, #4095
58 # CHECK: subs     x4, sp, #3822
59 0xff 0x53 0x40 0xf1
60 0xdf 0xff 0x3f 0xf1
61 0xe4 0xbb 0x3b 0xf1
63 # These should really be CMN
64 # CHECK: cmn      w3, #291, lsl #12
65 # CHECK: cmn      wsp, #1365
66 # CHECK: cmn      sp, #1092, lsl #12
67 0x7f 0x8c 0x44 0x31
68 0xff 0x57 0x15 0x31
69 0xff 0x13 0x51 0xb1
71 # CHECK: mov      sp, x30
72 # CHECK: mov      wsp, w20
73 # CHECK: mov      x11, sp
74 # CHECK: mov      w24, wsp
75 0xdf 0x3 0x0 0x91
76 0x9f 0x2 0x0 0x11
77 0xeb 0x3 0x0 0x91
78 0xf8 0x3 0x0 0x11
80 #------------------------------------------------------------------------------
81 # Add-subtract (shifted register)
82 #------------------------------------------------------------------------------
84 # CHECK: add      w3, w5, w7
85 # CHECK: add      wzr, w3, w5
86 # CHECK: add      w20, wzr, w4
87 # CHECK: add      w4, w6, wzr
88 # CHECK: add      w11, w13, w15
89 # CHECK: add      w9, w3, wzr, lsl #10
90 # CHECK: add      w17, w29, w20, lsl #31
91 # CHECK: add      w21, w22, w23, lsr #0
92 # CHECK: add      w24, w25, w26, lsr #18
93 # CHECK: add      w27, w28, w29, lsr #31
94 # CHECK: add      w2, w3, w4, asr #0
95 # CHECK: add      w5, w6, w7, asr #21
96 # CHECK: add      w8, w9, w10, asr #31
97 0xa3 0x0 0x7 0xb
98 0x7f 0x0 0x5 0xb
99 0xf4 0x3 0x4 0xb
100 0xc4 0x0 0x1f 0xb
101 0xab 0x1 0xf 0xb
102 0x69 0x28 0x1f 0xb
103 0xb1 0x7f 0x14 0xb
104 0xd5 0x2 0x57 0xb
105 0x38 0x4b 0x5a 0xb
106 0x9b 0x7f 0x5d 0xb
107 0x62 0x0 0x84 0xb
108 0xc5 0x54 0x87 0xb
109 0x28 0x7d 0x8a 0xb
111 # CHECK: add      x3, x5, x7
112 # CHECK: add      xzr, x3, x5
113 # CHECK: add      x20, xzr, x4
114 # CHECK: add      x4, x6, xzr
115 # CHECK: add      x11, x13, x15
116 # CHECK: add      x9, x3, xzr, lsl #10
117 # CHECK: add      x17, x29, x20, lsl #63
118 # CHECK: add      x21, x22, x23, lsr #0
119 # CHECK: add      x24, x25, x26, lsr #18
120 # CHECK: add      x27, x28, x29, lsr #63
121 # CHECK: add      x2, x3, x4, asr #0
122 # CHECK: add      x5, x6, x7, asr #21
123 # CHECK: add      x8, x9, x10, asr #63
124 0xa3 0x0 0x7 0x8b
125 0x7f 0x0 0x5 0x8b
126 0xf4 0x3 0x4 0x8b
127 0xc4 0x0 0x1f 0x8b
128 0xab 0x1 0xf 0x8b
129 0x69 0x28 0x1f 0x8b
130 0xb1 0xff 0x14 0x8b
131 0xd5 0x2 0x57 0x8b
132 0x38 0x4b 0x5a 0x8b
133 0x9b 0xff 0x5d 0x8b
134 0x62 0x0 0x84 0x8b
135 0xc5 0x54 0x87 0x8b
136 0x28 0xfd 0x8a 0x8b
138 # CHECK: adds     w3, w5, w7
139 # CHECK: cmn      w3, w5
140 # CHECK: adds     w20, wzr, w4
141 # CHECK: adds     w4, w6, wzr
142 # CHECK: adds     w11, w13, w15
143 # CHECK: adds     w9, w3, wzr, lsl #10
144 # CHECK: adds     w17, w29, w20, lsl #31
145 # CHECK: adds     w21, w22, w23, lsr #0
146 # CHECK: adds     w24, w25, w26, lsr #18
147 # CHECK: adds     w27, w28, w29, lsr #31
148 # CHECK: adds     w2, w3, w4, asr #0
149 # CHECK: adds     w5, w6, w7, asr #21
150 # CHECK: adds     w8, w9, w10, asr #31
151 0xa3 0x0 0x7 0x2b
152 0x7f 0x0 0x5 0x2b
153 0xf4 0x3 0x4 0x2b
154 0xc4 0x0 0x1f 0x2b
155 0xab 0x1 0xf 0x2b
156 0x69 0x28 0x1f 0x2b
157 0xb1 0x7f 0x14 0x2b
158 0xd5 0x2 0x57 0x2b
159 0x38 0x4b 0x5a 0x2b
160 0x9b 0x7f 0x5d 0x2b
161 0x62 0x0 0x84 0x2b
162 0xc5 0x54 0x87 0x2b
163 0x28 0x7d 0x8a 0x2b
165 # CHECK: adds     x3, x5, x7
166 # CHECK: cmn      x3, x5
167 # CHECK: adds     x20, xzr, x4
168 # CHECK: adds     x4, x6, xzr
169 # CHECK: adds     x11, x13, x15
170 # CHECK: adds     x9, x3, xzr, lsl #10
171 # CHECK: adds     x17, x29, x20, lsl #63
172 # CHECK: adds     x21, x22, x23, lsr #0
173 # CHECK: adds     x24, x25, x26, lsr #18
174 # CHECK: adds     x27, x28, x29, lsr #63
175 # CHECK: adds     x2, x3, x4, asr #0
176 # CHECK: adds     x5, x6, x7, asr #21
177 # CHECK: adds     x8, x9, x10, asr #63
178 0xa3 0x0 0x7 0xab
179 0x7f 0x0 0x5 0xab
180 0xf4 0x3 0x4 0xab
181 0xc4 0x0 0x1f 0xab
182 0xab 0x1 0xf 0xab
183 0x69 0x28 0x1f 0xab
184 0xb1 0xff 0x14 0xab
185 0xd5 0x2 0x57 0xab
186 0x38 0x4b 0x5a 0xab
187 0x9b 0xff 0x5d 0xab
188 0x62 0x0 0x84 0xab
189 0xc5 0x54 0x87 0xab
190 0x28 0xfd 0x8a 0xab
192 # CHECK: sub      w3, w5, w7
193 # CHECK: sub      wzr, w3, w5
194 # CHECK: {{sub      w20, wzr, w4|neg w20, w4}}
195 # CHECK: sub      w4, w6, wzr
196 # CHECK: sub      w11, w13, w15
197 # CHECK: sub      w9, w3, wzr, lsl #10
198 # CHECK: sub      w17, w29, w20, lsl #31
199 # CHECK: sub      w21, w22, w23, lsr #0
200 # CHECK: sub      w24, w25, w26, lsr #18
201 # CHECK: sub      w27, w28, w29, lsr #31
202 # CHECK: sub      w2, w3, w4, asr #0
203 # CHECK: sub      w5, w6, w7, asr #21
204 # CHECK: sub      w8, w9, w10, asr #31
205 0xa3 0x0 0x7 0x4b
206 0x7f 0x0 0x5 0x4b
207 0xf4 0x3 0x4 0x4b
208 0xc4 0x0 0x1f 0x4b
209 0xab 0x1 0xf 0x4b
210 0x69 0x28 0x1f 0x4b
211 0xb1 0x7f 0x14 0x4b
212 0xd5 0x2 0x57 0x4b
213 0x38 0x4b 0x5a 0x4b
214 0x9b 0x7f 0x5d 0x4b
215 0x62 0x0 0x84 0x4b
216 0xc5 0x54 0x87 0x4b
217 0x28 0x7d 0x8a 0x4b
219 # CHECK: sub      x3, x5, x7
220 # CHECK: sub      xzr, x3, x5
221 # CHECK: {{sub      x20, xzr, x4|neg x20, x4}}
222 # CHECK: sub      x4, x6, xzr
223 # CHECK: sub      x11, x13, x15
224 # CHECK: sub      x9, x3, xzr, lsl #10
225 # CHECK: sub      x17, x29, x20, lsl #63
226 # CHECK: sub      x21, x22, x23, lsr #0
227 # CHECK: sub      x24, x25, x26, lsr #18
228 # CHECK: sub      x27, x28, x29, lsr #63
229 # CHECK: sub      x2, x3, x4, asr #0
230 # CHECK: sub      x5, x6, x7, asr #21
231 # CHECK: sub      x8, x9, x10, asr #63
232 0xa3 0x0 0x7 0xcb
233 0x7f 0x0 0x5 0xcb
234 0xf4 0x3 0x4 0xcb
235 0xc4 0x0 0x1f 0xcb
236 0xab 0x1 0xf 0xcb
237 0x69 0x28 0x1f 0xcb
238 0xb1 0xff 0x14 0xcb
239 0xd5 0x2 0x57 0xcb
240 0x38 0x4b 0x5a 0xcb
241 0x9b 0xff 0x5d 0xcb
242 0x62 0x0 0x84 0xcb
243 0xc5 0x54 0x87 0xcb
244 0x28 0xfd 0x8a 0xcb
246 # CHECK: subs     w3, w5, w7
247 # CHECK: cmp      w3, w5
248 # CHECK: {{subs     w20, wzr, w4|negs w20, w4}}
249 # CHECK: subs     w4, w6, wzr
250 # CHECK: subs     w11, w13, w15
251 # CHECK: subs     w9, w3, wzr, lsl #10
252 # CHECK: subs     w17, w29, w20, lsl #31
253 # CHECK: subs     w21, w22, w23, lsr #0
254 # CHECK: subs     w24, w25, w26, lsr #18
255 # CHECK: subs     w27, w28, w29, lsr #31
256 # CHECK: subs     w2, w3, w4, asr #0
257 # CHECK: subs     w5, w6, w7, asr #21
258 # CHECK: subs     w8, w9, w10, asr #31
259 0xa3 0x0 0x7 0x6b
260 0x7f 0x0 0x5 0x6b
261 0xf4 0x3 0x4 0x6b
262 0xc4 0x0 0x1f 0x6b
263 0xab 0x1 0xf 0x6b
264 0x69 0x28 0x1f 0x6b
265 0xb1 0x7f 0x14 0x6b
266 0xd5 0x2 0x57 0x6b
267 0x38 0x4b 0x5a 0x6b
268 0x9b 0x7f 0x5d 0x6b
269 0x62 0x0 0x84 0x6b
270 0xc5 0x54 0x87 0x6b
271 0x28 0x7d 0x8a 0x6b
273 # CHECK: subs     x3, x5, x7
274 # CHECK: cmp      x3, x5
275 # CHECK: {{subs     x20, xzr, x4|negs x20, x4}}
276 # CHECK: subs     x4, x6, xzr
277 # CHECK: subs     x11, x13, x15
278 # CHECK: subs     x9, x3, xzr, lsl #10
279 # CHECK: subs     x17, x29, x20, lsl #63
280 # CHECK: subs     x21, x22, x23, lsr #0
281 # CHECK: subs     x24, x25, x26, lsr #18
282 # CHECK: subs     x27, x28, x29, lsr #63
283 # CHECK: subs     x2, x3, x4, asr #0
284 # CHECK: subs     x5, x6, x7, asr #21
285 # CHECK: subs     x8, x9, x10, asr #63
286 0xa3 0x0 0x7 0xeb
287 0x7f 0x0 0x5 0xeb
288 0xf4 0x3 0x4 0xeb
289 0xc4 0x0 0x1f 0xeb
290 0xab 0x1 0xf 0xeb
291 0x69 0x28 0x1f 0xeb
292 0xb1 0xff 0x14 0xeb
293 0xd5 0x2 0x57 0xeb
294 0x38 0x4b 0x5a 0xeb
295 0x9b 0xff 0x5d 0xeb
296 0x62 0x0 0x84 0xeb
297 0xc5 0x54 0x87 0xeb
298 0x28 0xfd 0x8a 0xeb
300 # CHECK: cmn      w0, w3
301 # CHECK: cmn      wzr, w4
302 # CHECK: cmn      w5, wzr
303 # CHECK: cmn      w6, w7
304 # CHECK: cmn      w8, w9, lsl #15
305 # CHECK: cmn      w10, w11, lsl #31
306 # CHECK: cmn      w12, w13, lsr #0
307 # CHECK: cmn      w14, w15, lsr #21
308 # CHECK: cmn      w16, w17, lsr #31
309 # CHECK: cmn      w18, w19, asr #0
310 # CHECK: cmn      w20, w21, asr #22
311 # CHECK: cmn      w22, w23, asr #31
312 0x1f 0x0 0x3 0x2b
313 0xff 0x3 0x4 0x2b
314 0xbf 0x0 0x1f 0x2b
315 0xdf 0x0 0x7 0x2b
316 0x1f 0x3d 0x9 0x2b
317 0x5f 0x7d 0xb 0x2b
318 0x9f 0x1 0x4d 0x2b
319 0xdf 0x55 0x4f 0x2b
320 0x1f 0x7e 0x51 0x2b
321 0x5f 0x2 0x93 0x2b
322 0x9f 0x5a 0x95 0x2b
323 0xdf 0x7e 0x97 0x2b
325 # CHECK: cmn      x0, x3
326 # CHECK: cmn      xzr, x4
327 # CHECK: cmn      x5, xzr
328 # CHECK: cmn      x6, x7
329 # CHECK: cmn      x8, x9, lsl #15
330 # CHECK: cmn      x10, x11, lsl #63
331 # CHECK: cmn      x12, x13, lsr #0
332 # CHECK: cmn      x14, x15, lsr #41
333 # CHECK: cmn      x16, x17, lsr #63
334 # CHECK: cmn      x18, x19, asr #0
335 # CHECK: cmn      x20, x21, asr #55
336 # CHECK: cmn      x22, x23, asr #63
337 0x1f 0x0 0x3 0xab
338 0xff 0x3 0x4 0xab
339 0xbf 0x0 0x1f 0xab
340 0xdf 0x0 0x7 0xab
341 0x1f 0x3d 0x9 0xab
342 0x5f 0xfd 0xb 0xab
343 0x9f 0x1 0x4d 0xab
344 0xdf 0xa5 0x4f 0xab
345 0x1f 0xfe 0x51 0xab
346 0x5f 0x2 0x93 0xab
347 0x9f 0xde 0x95 0xab
348 0xdf 0xfe 0x97 0xab
350 # CHECK: cmp      w0, w3
351 # CHECK: cmp      wzr, w4
352 # CHECK: cmp      w5, wzr
353 # CHECK: cmp      w6, w7
354 # CHECK: cmp      w8, w9, lsl #15
355 # CHECK: cmp      w10, w11, lsl #31
356 # CHECK: cmp      w12, w13, lsr #0
357 # CHECK: cmp      w14, w15, lsr #21
358 # CHECK: cmp      w16, w17, lsr #31
359 # CHECK: cmp      w18, w19, asr #0
360 # CHECK: cmp      w20, w21, asr #22
361 # CHECK: cmp      w22, w23, asr #31
362 0x1f 0x0 0x3 0x6b
363 0xff 0x3 0x4 0x6b
364 0xbf 0x0 0x1f 0x6b
365 0xdf 0x0 0x7 0x6b
366 0x1f 0x3d 0x9 0x6b
367 0x5f 0x7d 0xb 0x6b
368 0x9f 0x1 0x4d 0x6b
369 0xdf 0x55 0x4f 0x6b
370 0x1f 0x7e 0x51 0x6b
371 0x5f 0x2 0x93 0x6b
372 0x9f 0x5a 0x95 0x6b
373 0xdf 0x7e 0x97 0x6b
375 # CHECK: cmp      x0, x3
376 # CHECK: cmp      xzr, x4
377 # CHECK: cmp      x5, xzr
378 # CHECK: cmp      x6, x7
379 # CHECK: cmp      x8, x9, lsl #15
380 # CHECK: cmp      x10, x11, lsl #63
381 # CHECK: cmp      x12, x13, lsr #0
382 # CHECK: cmp      x14, x15, lsr #41
383 # CHECK: cmp      x16, x17, lsr #63
384 # CHECK: cmp      x18, x19, asr #0
385 # CHECK: cmp      x20, x21, asr #55
386 # CHECK: cmp      x22, x23, asr #63
387 0x1f 0x0 0x3 0xeb
388 0xff 0x3 0x4 0xeb
389 0xbf 0x0 0x1f 0xeb
390 0xdf 0x0 0x7 0xeb
391 0x1f 0x3d 0x9 0xeb
392 0x5f 0xfd 0xb 0xeb
393 0x9f 0x1 0x4d 0xeb
394 0xdf 0xa5 0x4f 0xeb
395 0x1f 0xfe 0x51 0xeb
396 0x5f 0x2 0x93 0xeb
397 0x9f 0xde 0x95 0xeb
398 0xdf 0xfe 0x97 0xeb
400 # CHECK: {{sub      w29, wzr|neg w29}}, w30
401 # CHECK: {{sub      w30, wzr|neg w30}}, wzr
402 # CHECK: {{sub      wzr, wzr|neg wzr}}, w0
403 # CHECK: {{sub      w28, wzr|neg w28}}, w27
404 # CHECK: {{sub      w26, wzr|neg w26}}, w25, lsl #29
405 # CHECK: {{sub      w24, wzr|neg w24}}, w23, lsl #31
406 # CHECK: {{sub      w22, wzr|neg w22}}, w21, lsr #0
407 # CHECK: {{sub      w20, wzr|neg w20}}, w19, lsr #1
408 # CHECK: {{sub      w18, wzr|neg w18}}, w17, lsr #31
409 # CHECK: {{sub      w16, wzr|neg w16}}, w15, asr #0
410 # CHECK: {{sub      w14, wzr|neg w14}}, w13, asr #12
411 # CHECK: {{sub      w12, wzr|neg w12}}, w11, asr #31
412 0xfd 0x3 0x1e 0x4b
413 0xfe 0x3 0x1f 0x4b
414 0xff 0x3 0x0 0x4b
415 0xfc 0x3 0x1b 0x4b
416 0xfa 0x77 0x19 0x4b
417 0xf8 0x7f 0x17 0x4b
418 0xf6 0x3 0x55 0x4b
419 0xf4 0x7 0x53 0x4b
420 0xf2 0x7f 0x51 0x4b
421 0xf0 0x3 0x8f 0x4b
422 0xee 0x33 0x8d 0x4b
423 0xec 0x7f 0x8b 0x4b
425 # CHECK: {{sub      x29, xzr|neg x29}}, x30
426 # CHECK: {{sub      x30, xzr|neg x30}}, xzr
427 # CHECK: {{sub      xzr, xzr|neg xzr}}, x0
428 # CHECK: {{sub      x28, xzr|neg x28}}, x27
429 # CHECK: {{sub      x26, xzr|neg x26}}, x25, lsl #29
430 # CHECK: {{sub      x24, xzr|neg x24}}, x23, lsl #31
431 # CHECK: {{sub      x22, xzr|neg x22}}, x21, lsr #0
432 # CHECK: {{sub      x20, xzr|neg x20}}, x19, lsr #1
433 # CHECK: {{sub      x18, xzr|neg x18}}, x17, lsr #31
434 # CHECK: {{sub      x16, xzr|neg x16}}, x15, asr #0
435 # CHECK: {{sub      x14, xzr|neg x14}}, x13, asr #12
436 # CHECK: {{sub      x12, xzr|neg x12}}, x11, asr #31
437 0xfd 0x3 0x1e 0xcb
438 0xfe 0x3 0x1f 0xcb
439 0xff 0x3 0x0 0xcb
440 0xfc 0x3 0x1b 0xcb
441 0xfa 0x77 0x19 0xcb
442 0xf8 0x7f 0x17 0xcb
443 0xf6 0x3 0x55 0xcb
444 0xf4 0x7 0x53 0xcb
445 0xf2 0x7f 0x51 0xcb
446 0xf0 0x3 0x8f 0xcb
447 0xee 0x33 0x8d 0xcb
448 0xec 0x7f 0x8b 0xcb
450 # CHECK: {{subs     w29, wzr|negs w29}}, w30
451 # CHECK: {{subs     w30, wzr|negs w30}}, wzr
452 # CHECK: cmp      wzr, w0
453 # CHECK: {{subs     w28, wzr|negs w28}}, w27
454 # CHECK: {{subs     w26, wzr|negs w26}}, w25, lsl #29
455 # CHECK: {{subs     w24, wzr|negs w24}}, w23, lsl #31
456 # CHECK: {{subs     w22, wzr|negs w22}}, w21, lsr #0
457 # CHECK: {{subs     w20, wzr|negs w20}}, w19, lsr #1
458 # CHECK: {{subs     w18, wzr|negs w18}}, w17, lsr #31
459 # CHECK: {{subs     w16, wzr|negs w16}}, w15, asr #0
460 # CHECK: {{subs     w14, wzr|negs w14}}, w13, asr #12
461 # CHECK: {{subs     w12, wzr|negs w12}}, w11, asr #31
462 0xfd 0x3 0x1e 0x6b
463 0xfe 0x3 0x1f 0x6b
464 0xff 0x3 0x0 0x6b
465 0xfc 0x3 0x1b 0x6b
466 0xfa 0x77 0x19 0x6b
467 0xf8 0x7f 0x17 0x6b
468 0xf6 0x3 0x55 0x6b
469 0xf4 0x7 0x53 0x6b
470 0xf2 0x7f 0x51 0x6b
471 0xf0 0x3 0x8f 0x6b
472 0xee 0x33 0x8d 0x6b
473 0xec 0x7f 0x8b 0x6b
475 # CHECK: {{subs     x29, xzr|negs x29}}, x30
476 # CHECK: {{subs     x30, xzr|negs x30}}, xzr
477 # CHECK: cmp      xzr, x0
478 # CHECK: {{subs     x28, xzr|negs x28}}, x27
479 # CHECK: {{subs     x26, xzr|negs x26}}, x25, lsl #29
480 # CHECK: {{subs     x24, xzr|negs x24}}, x23, lsl #31
481 # CHECK: {{subs     x22, xzr|negs x22}}, x21, lsr #0
482 # CHECK: {{subs     x20, xzr|negs x20}}, x19, lsr #1
483 # CHECK: {{subs     x18, xzr|negs x18}}, x17, lsr #31
484 # CHECK: {{subs     x16, xzr|negs x16}}, x15, asr #0
485 # CHECK: {{subs     x14, xzr|negs x14}}, x13, asr #12
486 # CHECK: {{subs     x12, xzr|negs x12}}, x11, asr #31
487 0xfd 0x3 0x1e 0xeb
488 0xfe 0x3 0x1f 0xeb
489 0xff 0x3 0x0 0xeb
490 0xfc 0x3 0x1b 0xeb
491 0xfa 0x77 0x19 0xeb
492 0xf8 0x7f 0x17 0xeb
493 0xf6 0x3 0x55 0xeb
494 0xf4 0x7 0x53 0xeb
495 0xf2 0x7f 0x51 0xeb
496 0xf0 0x3 0x8f 0xeb
497 0xee 0x33 0x8d 0xeb
498 0xec 0x7f 0x8b 0xeb
500 #------------------------------------------------------------------------------
501 # Add-subtract (shifted register)
502 #------------------------------------------------------------------------------
504 # CHECK: adc      w29, w27, w25
505 # CHECK: adc      wzr, w3, w4
506 # CHECK: adc      w9, wzr, w10
507 # CHECK: adc      w20, w0, wzr
508 0x7d 0x3 0x19 0x1a
509 0x7f 0x0 0x4 0x1a
510 0xe9 0x3 0xa 0x1a
511 0x14 0x0 0x1f 0x1a
513 # CHECK: adc      x29, x27, x25
514 # CHECK: adc      xzr, x3, x4
515 # CHECK: adc      x9, xzr, x10
516 # CHECK: adc      x20, x0, xzr
517 0x7d 0x3 0x19 0x9a
518 0x7f 0x0 0x4 0x9a
519 0xe9 0x3 0xa 0x9a
520 0x14 0x0 0x1f 0x9a
522 # CHECK: adcs     w29, w27, w25
523 # CHECK: adcs     wzr, w3, w4
524 # CHECK: adcs     w9, wzr, w10
525 # CHECK: adcs     w20, w0, wzr
526 0x7d 0x3 0x19 0x3a
527 0x7f 0x0 0x4 0x3a
528 0xe9 0x3 0xa 0x3a
529 0x14 0x0 0x1f 0x3a
531 # CHECK: adcs     x29, x27, x25
532 # CHECK: adcs     xzr, x3, x4
533 # CHECK: adcs     x9, xzr, x10
534 # CHECK: adcs     x20, x0, xzr
535 0x7d 0x3 0x19 0xba
536 0x7f 0x0 0x4 0xba
537 0xe9 0x3 0xa 0xba
538 0x14 0x0 0x1f 0xba
540 # CHECK: sbc      w29, w27, w25
541 # CHECK: sbc      wzr, w3, w4
542 # CHECK: ngc      w9, w10
543 # CHECK: sbc      w20, w0, wzr
544 0x7d 0x3 0x19 0x5a
545 0x7f 0x0 0x4 0x5a
546 0xe9 0x3 0xa 0x5a
547 0x14 0x0 0x1f 0x5a
549 # CHECK: sbc      x29, x27, x25
550 # CHECK: sbc      xzr, x3, x4
551 # CHECK: ngc      x9, x10
552 # CHECK: sbc      x20, x0, xzr
553 0x7d 0x3 0x19 0xda
554 0x7f 0x0 0x4 0xda
555 0xe9 0x3 0xa 0xda
556 0x14 0x0 0x1f 0xda
558 # CHECK: sbcs     w29, w27, w25
559 # CHECK: sbcs     wzr, w3, w4
560 # CHECK: ngcs     w9, w10
561 # CHECK: sbcs     w20, w0, wzr
562 0x7d 0x3 0x19 0x7a
563 0x7f 0x0 0x4 0x7a
564 0xe9 0x3 0xa 0x7a
565 0x14 0x0 0x1f 0x7a
567 # CHECK: sbcs     x29, x27, x25
568 # CHECK: sbcs     xzr, x3, x4
569 # CHECK: ngcs     x9, x10
570 # CHECK: sbcs     x20, x0, xzr
571 0x7d 0x3 0x19 0xfa
572 0x7f 0x0 0x4 0xfa
573 0xe9 0x3 0xa 0xfa
574 0x14 0x0 0x1f 0xfa
576 # CHECK: ngc      w3, w12
577 # CHECK: ngc      wzr, w9
578 # CHECK: ngc      w23, wzr
579 0xe3 0x3 0xc 0x5a
580 0xff 0x3 0x9 0x5a
581 0xf7 0x3 0x1f 0x5a
583 # CHECK: ngc      x29, x30
584 # CHECK: ngc      xzr, x0
585 # CHECK: ngc      x0, xzr
586 0xfd 0x3 0x1e 0xda
587 0xff 0x3 0x0 0xda
588 0xe0 0x3 0x1f 0xda
590 # CHECK: ngcs     w3, w12
591 # CHECK: ngcs     wzr, w9
592 # CHECK: ngcs     w23, wzr
593 0xe3 0x3 0xc 0x7a
594 0xff 0x3 0x9 0x7a
595 0xf7 0x3 0x1f 0x7a
597 # CHECK: ngcs     x29, x30
598 # CHECK: ngcs     xzr, x0
599 # CHECK: ngcs     x0, xzr
600 0xfd 0x3 0x1e 0xfa
601 0xff 0x3 0x0 0xfa
602 0xe0 0x3 0x1f 0xfa
604 #------------------------------------------------------------------------------
605 # Compare and branch (immediate)
606 #------------------------------------------------------------------------------
608 # CHECK: sbfx     x1, x2, #3, #2
609 # CHECK: asr      x3, x4, #63
610 # CHECK: asr      wzr, wzr, #31
611 # CHECK: sbfx     w12, w9, #0, #1
612 0x41 0x10 0x43 0x93
613 0x83 0xfc 0x7f 0x93
614 0xff 0x7f 0x1f 0x13
615 0x2c 0x1 0x0 0x13
617 # CHECK: ubfiz    x4, x5, #52, #11
618 # CHECK: ubfx     xzr, x4, #0, #1
619 # CHECK: ubfiz    x4, xzr, #1, #6
620 # CHECK: lsr      x5, x6, #12
621 0xa4 0x28 0x4c 0xd3
622 0x9f 0x0 0x40 0xd3
623 0xe4 0x17 0x7f 0xd3
624 0xc5 0xfc 0x4c 0xd3
626 # CHECK: bfi      x4, x5, #52, #11
627 # CHECK: bfxil    xzr, x4, #0, #1
628 # CHECK: bfi      x4, xzr, #1, #6
629 # CHECK-V82: bfc      x4, #1, #6
630 # CHECK: bfxil    x5, x6, #12, #52
631 0xa4 0x28 0x4c 0xb3
632 0x9f 0x0 0x40 0xb3
633 0xe4 0x17 0x7f 0xb3
634 0xc5 0xfc 0x4c 0xb3
636 # CHECK: sxtb     w1, w2
637 # CHECK: sxtb     xzr, w3
638 # CHECK: sxth     w9, w10
639 # CHECK: sxth     x0, w1
640 # CHECK: sxtw     x3, w30
641 0x41 0x1c 0x0 0x13
642 0x7f 0x1c 0x40 0x93
643 0x49 0x3d 0x0 0x13
644 0x20 0x3c 0x40 0x93
645 0xc3 0x7f 0x40 0x93
647 # CHECK: uxtb     w1, w2
648 # CHECK: uxth     w9, w10
649 # CHECK: ubfx     x3, x30, #0, #32
650 0x41 0x1c 0x0 0x53
651 0x49 0x3d 0x0 0x53
652 0xc3 0x7f 0x40 0xd3
654 # CHECK: asr      w3, w2, #0
655 # CHECK: asr      w9, w10, #31
656 # CHECK: asr      x20, x21, #63
657 # CHECK: asr      w1, wzr, #3
658 0x43 0x7c 0x0 0x13
659 0x49 0x7d 0x1f 0x13
660 0xb4 0xfe 0x7f 0x93
661 0xe1 0x7f 0x3 0x13
663 # CHECK: lsr      w3, w2, #0
664 # CHECK: lsr      w9, w10, #31
665 # CHECK: lsr      x20, x21, #63
666 # CHECK: lsr      wzr, wzr, #3
667 0x43 0x7c 0x0 0x53
668 0x49 0x7d 0x1f 0x53
669 0xb4 0xfe 0x7f 0xd3
670 0xff 0x7f 0x3 0x53
672 # CHECK: lsr      w3, w2, #0
673 # CHECK: lsl      w9, w10, #31
674 # CHECK: lsl      x20, x21, #63
675 # CHECK: lsl      w1, wzr, #3
676 0x43 0x7c 0x0 0x53
677 0x49 0x1 0x1 0x53
678 0xb4 0x2 0x41 0xd3
679 0xe1 0x73 0x1d 0x53
681 # CHECK: sbfx     w9, w10, #0, #1
682 # CHECK: sbfiz    x2, x3, #63, #1
683 # CHECK: asr      x19, x20, #0
684 # CHECK: sbfiz    x9, x10, #5, #59
685 # CHECK: asr      w9, w10, #0
686 # CHECK: sbfiz    w11, w12, #31, #1
687 # CHECK: sbfiz    w13, w14, #29, #3
688 # CHECK: sbfiz    xzr, xzr, #10, #11
689 0x49 0x1 0x0 0x13
690 0x62 0x0 0x41 0x93
691 0x93 0xfe 0x40 0x93
692 0x49 0xe9 0x7b 0x93
693 0x49 0x7d 0x0 0x13
694 0x8b 0x1 0x1 0x13
695 0xcd 0x9 0x3 0x13
696 0xff 0x2b 0x76 0x93
698 # CHECK: sbfx     w9, w10, #0, #1
699 # CHECK: asr      x2, x3, #63
700 # CHECK: asr      x19, x20, #0
701 # CHECK: asr      x9, x10, #5
702 # CHECK: asr      w9, w10, #0
703 # CHECK: asr      w11, w12, #31
704 # CHECK: asr      w13, w14, #29
705 # CHECK: sbfx     xzr, xzr, #10, #11
706 0x49 0x1 0x0 0x13
707 0x62 0xfc 0x7f 0x93
708 0x93 0xfe 0x40 0x93
709 0x49 0xfd 0x45 0x93
710 0x49 0x7d 0x0 0x13
711 0x8b 0x7d 0x1f 0x13
712 0xcd 0x7d 0x1d 0x13
713 0xff 0x53 0x4a 0x93
715 # CHECK: bfxil    w9, w10, #0, #1
716 # CHECK: bfi      x2, x3, #63, #1
717 # CHECK: bfxil    x19, x20, #0, #64
718 # CHECK: bfi      x9, x10, #5, #59
719 # CHECK: bfxil    w9, w10, #0, #32
720 # CHECK: bfi      w11, w12, #31, #1
721 # CHECK: bfi      w13, w14, #29, #3
722 # CHECK-V82: bfc      xzr, #10, #11
723 # CHECK: bfi      xzr, xzr, #10, #11
724 0x49 0x1 0x0 0x33
725 0x62 0x0 0x41 0xb3
726 0x93 0xfe 0x40 0xb3
727 0x49 0xe9 0x7b 0xb3
728 0x49 0x7d 0x0 0x33
729 0x8b 0x1 0x1 0x33
730 0xcd 0x9 0x3 0x33
731 0xff 0x2b 0x76 0xb3
733 # CHECK: bfxil    w9, w10, #0, #1
734 # CHECK: bfxil    x2, x3, #63, #1
735 # CHECK: bfxil    x19, x20, #0, #64
736 # CHECK: bfxil    x9, x10, #5, #59
737 # CHECK: bfxil    w9, w10, #0, #32
738 # CHECK: bfxil    w11, w12, #31, #1
739 # CHECK: bfxil    w13, w14, #29, #3
740 # CHECK: bfxil    xzr, xzr, #10, #11
741 0x49 0x1 0x0 0x33
742 0x62 0xfc 0x7f 0xb3
743 0x93 0xfe 0x40 0xb3
744 0x49 0xfd 0x45 0xb3
745 0x49 0x7d 0x0 0x33
746 0x8b 0x7d 0x1f 0x33
747 0xcd 0x7d 0x1d 0x33
748 0xff 0x53 0x4a 0xb3
750 # CHECK: ubfx     w9, w10, #0, #1
751 # CHECK: lsl      x2, x3, #63
752 # CHECK: lsr      x19, x20, #0
753 # CHECK: lsl      x9, x10, #5
754 # CHECK: lsr      w9, w10, #0
755 # CHECK: lsl      w11, w12, #31
756 # CHECK: lsl      w13, w14, #29
757 # CHECK: ubfiz    xzr, xzr, #10, #11
758 0x49 0x1 0x0 0x53
759 0x62 0x0 0x41 0xd3
760 0x93 0xfe 0x40 0xd3
761 0x49 0xe9 0x7b 0xd3
762 0x49 0x7d 0x0 0x53
763 0x8b 0x1 0x1 0x53
764 0xcd 0x9 0x3 0x53
765 0xff 0x2b 0x76 0xd3
767 # CHECK: ubfx     w9, w10, #0, #1
768 # CHECK: lsr      x2, x3, #63
769 # CHECK: lsr      x19, x20, #0
770 # CHECK: lsr      x9, x10, #5
771 # CHECK: lsr      w9, w10, #0
772 # CHECK: lsr      w11, w12, #31
773 # CHECK: lsr      w13, w14, #29
774 # CHECK: ubfx     xzr, xzr, #10, #11
775 0x49 0x1 0x0 0x53
776 0x62 0xfc 0x7f 0xd3
777 0x93 0xfe 0x40 0xd3
778 0x49 0xfd 0x45 0xd3
779 0x49 0x7d 0x0 0x53
780 0x8b 0x7d 0x1f 0x53
781 0xcd 0x7d 0x1d 0x53
782 0xff 0x53 0x4a 0xd3
785 #------------------------------------------------------------------------------
786 # Compare and branch (immediate)
787 #------------------------------------------------------------------------------
789 # CHECK: cbz      w5, #4
790 # CHECK: cbz      x5, #0
791 # CHECK: cbnz     x2, #-4
792 # CHECK: cbnz     x26, #1048572
793 0x25 0x0 0x0 0x34
794 0x05 0x0 0x0 0xb4
795 0xe2 0xff 0xff 0xb5
796 0xfa 0xff 0x7f 0xb5
798 # CHECK: cbz      wzr, #0
799 # CHECK: cbnz     xzr, #0
800 0x1f 0x0 0x0 0x34
801 0x1f 0x0 0x0 0xb5
803 #------------------------------------------------------------------------------
804 # Conditional branch (immediate)
805 #------------------------------------------------------------------------------
807 # CHECK: b.ne #4
808 # CHECK: b.ge #1048572
809 # CHECK: b.ge #-4
810 0x21 0x00 0x00 0x54
811 0xea 0xff 0x7f 0x54
812 0xea 0xff 0xff 0x54
814 #------------------------------------------------------------------------------
815 # Conditional compare (immediate)
816 #------------------------------------------------------------------------------
818 # CHECK: ccmp w1, #31, #0, eq
819 # CHECK: ccmp w3, #0, #15, hs
820 # CHECK: ccmp wzr, #15, #13, hs
821 0x20 0x08 0x5f 0x7a
822 0x6f 0x28 0x40 0x7a
823 0xed 0x2b 0x4f 0x7a
825 # CHECK: ccmp x9, #31, #0, le
826 # CHECK: ccmp x3, #0, #15, gt
827 # CHECK: ccmp xzr, #5, #7, ne
828 0x20 0xd9 0x5f 0xfa
829 0x6f 0xc8 0x40 0xfa
830 0xe7 0x1b 0x45 0xfa
832 # CHECK: ccmn w1, #31, #0, eq
833 # CHECK: ccmn w3, #0, #15, hs
834 # CHECK: ccmn wzr, #15, #13, hs
835 0x20 0x08 0x5f 0x3a
836 0x6f 0x28 0x40 0x3a
837 0xed 0x2b 0x4f 0x3a
839 # CHECK: ccmn x9, #31, #0, le
840 # CHECK: ccmn x3, #0, #15, gt
841 # CHECK: ccmn xzr, #5, #7, ne
842 0x20 0xd9 0x5f 0xba
843 0x6f 0xc8 0x40 0xba
844 0xe7 0x1b 0x45 0xba
846 #------------------------------------------------------------------------------
847 # Conditional compare (register)
848 #------------------------------------------------------------------------------
850 # CHECK: ccmp w1, wzr, #0, eq
851 # CHECK: ccmp w3, w0, #15, hs
852 # CHECK: ccmp wzr, w15, #13, hs
853 0x20 0x00 0x5f 0x7a
854 0x6f 0x20 0x40 0x7a
855 0xed 0x23 0x4f 0x7a
857 # CHECK: ccmp x9, xzr, #0, le
858 # CHECK: ccmp x3, x0, #15, gt
859 # CHECK: ccmp xzr, x5, #7, ne
860 0x20 0xd1 0x5f 0xfa
861 0x6f 0xc0 0x40 0xfa
862 0xe7 0x13 0x45 0xfa
864 # CHECK: ccmn w1, wzr, #0, eq
865 # CHECK: ccmn w3, w0, #15, hs
866 # CHECK: ccmn wzr, w15, #13, hs
867 0x20 0x00 0x5f 0x3a
868 0x6f 0x20 0x40 0x3a
869 0xed 0x23 0x4f 0x3a
871 # CHECK: ccmn x9, xzr, #0, le
872 # CHECK: ccmn x3, x0, #15, gt
873 # CHECK: ccmn xzr, x5, #7, ne
874 0x20 0xd1 0x5f 0xba
875 0x6f 0xc0 0x40 0xba
876 0xe7 0x13 0x45 0xba
878 #------------------------------------------------------------------------------
879 # Conditional branch (immediate)
880 #------------------------------------------------------------------------------
881 # CHECK: csel     w1, w0, w19, ne
882 # CHECK: csel     wzr, w5, w9, eq
883 # CHECK: csel     w9, wzr, w30, gt
884 # CHECK: csel     w1, w28, wzr, mi
885 # CHECK: csel     x19, x23, x29, lt
886 # CHECK: csel     xzr, x3, x4, ge
887 # CHECK: csel     x5, xzr, x6, hs
888 # CHECK: csel     x7, x8, xzr, lo
889 0x1 0x10 0x93 0x1a
890 0xbf 0x0 0x89 0x1a
891 0xe9 0xc3 0x9e 0x1a
892 0x81 0x43 0x9f 0x1a
893 0xf3 0xb2 0x9d 0x9a
894 0x7f 0xa0 0x84 0x9a
895 0xe5 0x23 0x86 0x9a
896 0x7 0x31 0x9f 0x9a
898 # CHECK: csinc    w1, w0, w19, ne
899 # CHECK: csinc    wzr, w5, w9, eq
900 # CHECK: csinc    w9, wzr, w30, gt
901 # CHECK: csinc    w1, w28, wzr, mi
902 # CHECK: csinc    x19, x23, x29, lt
903 # CHECK: csinc    xzr, x3, x4, ge
904 # CHECK: csinc    x5, xzr, x6, hs
905 # CHECK: csinc    x7, x8, xzr, lo
906 0x1 0x14 0x93 0x1a
907 0xbf 0x4 0x89 0x1a
908 0xe9 0xc7 0x9e 0x1a
909 0x81 0x47 0x9f 0x1a
910 0xf3 0xb6 0x9d 0x9a
911 0x7f 0xa4 0x84 0x9a
912 0xe5 0x27 0x86 0x9a
913 0x7 0x35 0x9f 0x9a
915 # CHECK: csinv    w1, w0, w19, ne
916 # CHECK: csinv    wzr, w5, w9, eq
917 # CHECK: csinv    w9, wzr, w30, gt
918 # CHECK: csinv    w1, w28, wzr, mi
919 # CHECK: csinv    x19, x23, x29, lt
920 # CHECK: csinv    xzr, x3, x4, ge
921 # CHECK: csinv    x5, xzr, x6, hs
922 # CHECK: csinv    x7, x8, xzr, lo
923 0x1 0x10 0x93 0x5a
924 0xbf 0x0 0x89 0x5a
925 0xe9 0xc3 0x9e 0x5a
926 0x81 0x43 0x9f 0x5a
927 0xf3 0xb2 0x9d 0xda
928 0x7f 0xa0 0x84 0xda
929 0xe5 0x23 0x86 0xda
930 0x7 0x31 0x9f 0xda
932 # CHECK: csneg    w1, w0, w19, ne
933 # CHECK: csneg    wzr, w5, w9, eq
934 # CHECK: csneg    w9, wzr, w30, gt
935 # CHECK: csneg    w1, w28, wzr, mi
936 # CHECK: csneg    x19, x23, x29, lt
937 # CHECK: csneg    xzr, x3, x4, ge
938 # CHECK: csneg    x5, xzr, x6, hs
939 # CHECK: csneg    x7, x8, xzr, lo
940 0x1 0x14 0x93 0x5a
941 0xbf 0x4 0x89 0x5a
942 0xe9 0xc7 0x9e 0x5a
943 0x81 0x47 0x9f 0x5a
944 0xf3 0xb6 0x9d 0xda
945 0x7f 0xa4 0x84 0xda
946 0xe5 0x27 0x86 0xda
947 0x7 0x35 0x9f 0xda
949 # CHECK: cset    w3, eq
950 # CHECK: cset    x9, pl
951 # CHECK: csetm    w20, ne
952 # CHECK: csetm    x30, ge
953 # "cset w2, nv" and "csetm x3, al" are invalid aliases for these two
954 # CHECK: csinc    w2, wzr, wzr, al
955 # CHECK: csinv    x3, xzr, xzr, nv
956 0xe3 0x17 0x9f 0x1a
957 0xe9 0x47 0x9f 0x9a
958 0xf4 0x3 0x9f 0x5a
959 0xfe 0xb3 0x9f 0xda
960 0xe2,0xe7,0x9f,0x1a
961 0xe3,0xf3,0x9f,0xda
963 # CHECK: cinc    w3, w5, gt
964 # CHECK: cinc    wzr, w4, le
965 # CHECK: cset    w9, lt
966 # CHECK: cinc    x3, x5, gt
967 # CHECK: cinc    xzr, x4, le
968 # CHECK: cset    x9, lt
969 # "cinc w5, w6, al" and "cinc x1, x2, nv" are invalid aliases for these two
970 # CHECK: csinc   w5, w6, w6, nv
971 # CHECK: csinc   x1, x2, x2, al
972 0xa3 0xd4 0x85 0x1a
973 0x9f 0xc4 0x84 0x1a
974 0xe9 0xa7 0x9f 0x1a
975 0xa3 0xd4 0x85 0x9a
976 0x9f 0xc4 0x84 0x9a
977 0xe9 0xa7 0x9f 0x9a
978 0xc5,0xf4,0x86,0x1a
979 0x41,0xe4,0x82,0x9a
981 # CHECK: cinv    w3, w5, gt
982 # CHECK: cinv    wzr, w4, le
983 # CHECK: csetm   w9, lt
984 # CHECK: cinv    x3, x5, gt
985 # CHECK: cinv    xzr, x4, le
986 # CHECK: csetm   x9, lt
987 # "cinv x1, x0, nv" and "cinv w9, w8, al" are invalid aliases for these two
988 # CHECK: csinv   x1, x0, x0, al
989 # CHECK: csinv   w9, w8, w8, nv
990 0xa3 0xd0 0x85 0x5a
991 0x9f 0xc0 0x84 0x5a
992 0xe9 0xa3 0x9f 0x5a
993 0xa3 0xd0 0x85 0xda
994 0x9f 0xc0 0x84 0xda
995 0xe9 0xa3 0x9f 0xda
996 0x01 0xe0 0x80 0xda
997 0x09,0xf1,0x88,0x5a
999 # CHECK: cneg     w3, w5, gt
1000 # CHECK: cneg     wzr, w4, le
1001 # CHECK: cneg     w9, wzr, lt
1002 # CHECK: cneg     x3, x5, gt
1003 # CHECK: cneg     xzr, x4, le
1004 # CHECK: cneg     x9, xzr, lt
1005 # "cneg x4, x8, nv" and "cneg w5, w6, al" are invalid aliases for these two
1006 # CHECK: csneg    x4, x8, x8, al
1007 # CHECK: csinv    w9, w8, w8, nv
1008 0xa3 0xd4 0x85 0x5a
1009 0x9f 0xc4 0x84 0x5a
1010 0xe9 0xa7 0x9f 0x5a
1011 0xa3 0xd4 0x85 0xda
1012 0x9f 0xc4 0x84 0xda
1013 0xe9 0xa7 0x9f 0xda
1014 0x04,0xe5,0x88,0xda
1015 0x09,0xf1,0x88,0x5a
1017 #------------------------------------------------------------------------------
1018 # Data-processing (1 source)
1019 #------------------------------------------------------------------------------
1021 # CHECK: rbit   w0, w7
1022 # CHECK: rbit   x18, x3
1023 # CHECK: rev16  w17, w1
1024 # CHECK: rev16  x5, x2
1025 # CHECK: rev    w18, w0
1026 # CHECK: rev32  x20, x1
1027 0xe0 0x00 0xc0 0x5a
1028 0x72 0x00 0xc0 0xda
1029 0x31 0x04 0xc0 0x5a
1030 0x45 0x04 0xc0 0xda
1031 0x12 0x08 0xc0 0x5a
1032 0x34 0x08 0xc0 0xda
1034 # CHECK: rev    x22, x2
1035 # CHECK: clz    w24, w3
1036 # CHECK: clz    x26, x4
1037 # CHECK: cls    w3, w5
1038 # CHECK: cls    x20, x5
1039 0x56 0x0c 0xc0 0xda
1040 0x78 0x10 0xc0 0x5a
1041 0x9a 0x10 0xc0 0xda
1042 0xa3 0x14 0xc0 0x5a
1043 0xb4 0x14 0xc0 0xda
1045 #------------------------------------------------------------------------------
1046 # Data-processing (2 source)
1047 #------------------------------------------------------------------------------
1049 # CHECK: udiv   w0, w7, w10
1050 # CHECK: udiv   x9, x22, x4
1051 # CHECK: sdiv   w12, w21, w0
1052 # CHECK: sdiv   x13, x2, x1
1053 # CHECK: lsl    w11, w12, w13
1054 # CHECK: lsl    x14, x15, x16
1055 # CHECK: lsr    w17, w18, w19
1056 # CHECK: lsr    x20, x21, x22
1057 # CHECK: asr    w23, w24, w25
1058 # CHECK: asr    x26, x27, x28
1059 # CHECK: ror    w0, w1, w2
1060 # CHECK: ror    x3, x4, x5
1061 0xe0 0x08 0xca 0x1a
1062 0xc9 0x0a 0xc4 0x9a
1063 0xac 0x0e 0xc0 0x1a
1064 0x4d 0x0c 0xc1 0x9a
1065 0x8b 0x21 0xcd 0x1a
1066 0xee 0x21 0xd0 0x9a
1067 0x51 0x26 0xd3 0x1a
1068 0xb4 0x26 0xd6 0x9a
1069 0x17 0x2b 0xd9 0x1a
1070 0x7a 0x2b 0xdc 0x9a
1071 0x20 0x2c 0xc2 0x1a
1072 0x83 0x2c 0xc5 0x9a
1074 # CHECK: lsl    w6, w7, w8
1075 # CHECK: lsl    x9, x10, x11
1076 # CHECK: lsr    w12, w13, w14
1077 # CHECK: lsr    x15, x16, x17
1078 # CHECK: asr    w18, w19, w20
1079 # CHECK: asr    x21, x22, x23
1080 # CHECK: ror    w24, w25, w26
1081 # CHECK: ror    x27, x28, x29
1082 0xe6 0x20 0xc8 0x1a
1083 0x49 0x21 0xcb 0x9a
1084 0xac 0x25 0xce 0x1a
1085 0x0f 0x26 0xd1 0x9a
1086 0x72 0x2a 0xd4 0x1a
1087 0xd5 0x2a 0xd7 0x9a
1088 0x38 0x2f 0xda 0x1a
1089 0x9b 0x2f 0xdd 0x9a
1091 #------------------------------------------------------------------------------
1092 # Data-processing (3 sources)
1093 #------------------------------------------------------------------------------
1095 # First check some non-canonical encodings where Ra is not 0b11111 (only umulh
1096 # and smulh have them).
1098 # CHECK: smulh    x30, x29, x28
1099 # CHECK: smulh    xzr, x27, x26
1100 # CHECK: umulh    x30, x29, x28
1101 # CHECK: umulh    x23, x30, xzr
1102 0xbe 0x73 0x5c 0x9b
1103 0x7f 0x2f 0x5a 0x9b
1104 0xbe 0x3f 0xdc 0x9b
1105 0xd7 0x77 0xdf 0x9b
1107 # Now onto the boilerplate stuff
1109 # CHECK: madd     w1, w3, w7, w4
1110 # CHECK: madd     wzr, w0, w9, w11
1111 # CHECK: madd     w13, wzr, w4, w4
1112 # CHECK: madd     w19, w30, wzr, w29
1113 # CHECK: mul      w4, w5, w6
1114 0x61 0x10 0x7 0x1b
1115 0x1f 0x2c 0x9 0x1b
1116 0xed 0x13 0x4 0x1b
1117 0xd3 0x77 0x1f 0x1b
1118 0xa4 0x7c 0x6 0x1b
1120 # CHECK: madd     x1, x3, x7, x4
1121 # CHECK: madd     xzr, x0, x9, x11
1122 # CHECK: madd     x13, xzr, x4, x4
1123 # CHECK: madd     x19, x30, xzr, x29
1124 # CHECK: mul      x4, x5, x6
1125 0x61 0x10 0x7 0x9b
1126 0x1f 0x2c 0x9 0x9b
1127 0xed 0x13 0x4 0x9b
1128 0xd3 0x77 0x1f 0x9b
1129 0xa4 0x7c 0x6 0x9b
1131 # CHECK: msub     w1, w3, w7, w4
1132 # CHECK: msub     wzr, w0, w9, w11
1133 # CHECK: msub     w13, wzr, w4, w4
1134 # CHECK: msub     w19, w30, wzr, w29
1135 # CHECK: mneg     w4, w5, w6
1136 0x61 0x90 0x7 0x1b
1137 0x1f 0xac 0x9 0x1b
1138 0xed 0x93 0x4 0x1b
1139 0xd3 0xf7 0x1f 0x1b
1140 0xa4 0xfc 0x6 0x1b
1142 # CHECK: msub     x1, x3, x7, x4
1143 # CHECK: msub     xzr, x0, x9, x11
1144 # CHECK: msub     x13, xzr, x4, x4
1145 # CHECK: msub     x19, x30, xzr, x29
1146 # CHECK: mneg     x4, x5, x6
1147 0x61 0x90 0x7 0x9b
1148 0x1f 0xac 0x9 0x9b
1149 0xed 0x93 0x4 0x9b
1150 0xd3 0xf7 0x1f 0x9b
1151 0xa4 0xfc 0x6 0x9b
1153 # CHECK: smaddl   x3, w5, w2, x9
1154 # CHECK: smaddl   xzr, w10, w11, x12
1155 # CHECK: smaddl   x13, wzr, w14, x15
1156 # CHECK: smaddl   x16, w17, wzr, x18
1157 # CHECK: smull    x19, w20, w21
1158 0xa3 0x24 0x22 0x9b
1159 0x5f 0x31 0x2b 0x9b
1160 0xed 0x3f 0x2e 0x9b
1161 0x30 0x4a 0x3f 0x9b
1162 0x93 0x7e 0x35 0x9b
1164 # CHECK: smsubl   x3, w5, w2, x9
1165 # CHECK: smsubl   xzr, w10, w11, x12
1166 # CHECK: smsubl   x13, wzr, w14, x15
1167 # CHECK: smsubl   x16, w17, wzr, x18
1168 # CHECK: smnegl   x19, w20, w21
1169 0xa3 0xa4 0x22 0x9b
1170 0x5f 0xb1 0x2b 0x9b
1171 0xed 0xbf 0x2e 0x9b
1172 0x30 0xca 0x3f 0x9b
1173 0x93 0xfe 0x35 0x9b
1175 # CHECK: umaddl   x3, w5, w2, x9
1176 # CHECK: umaddl   xzr, w10, w11, x12
1177 # CHECK: umaddl   x13, wzr, w14, x15
1178 # CHECK: umaddl   x16, w17, wzr, x18
1179 # CHECK: umull    x19, w20, w21
1180 0xa3 0x24 0xa2 0x9b
1181 0x5f 0x31 0xab 0x9b
1182 0xed 0x3f 0xae 0x9b
1183 0x30 0x4a 0xbf 0x9b
1184 0x93 0x7e 0xb5 0x9b
1186 # CHECK: umsubl   x3, w5, w2, x9
1187 # CHECK: umsubl   xzr, w10, w11, x12
1188 # CHECK: umsubl   x13, wzr, w14, x15
1189 # CHECK: umsubl   x16, w17, wzr, x18
1190 # CHECK: umnegl   x19, w20, w21
1191 0xa3 0xa4 0xa2 0x9b
1192 0x5f 0xb1 0xab 0x9b
1193 0xed 0xbf 0xae 0x9b
1194 0x30 0xca 0xbf 0x9b
1195 0x93 0xfe 0xb5 0x9b
1197 # CHECK: smulh    x30, x29, x28
1198 # CHECK: smulh    xzr, x27, x26
1199 # CHECK: smulh    x25, xzr, x24
1200 # CHECK: smulh    x23, x22, xzr
1201 0xbe 0x7f 0x5c 0x9b
1202 0x7f 0x7f 0x5a 0x9b
1203 0xf9 0x7f 0x58 0x9b
1204 0xd7 0x7e 0x5f 0x9b
1206 # CHECK: umulh    x30, x29, x28
1207 # CHECK: umulh    xzr, x27, x26
1208 # CHECK: umulh    x25, xzr, x24
1209 # CHECK: umulh    x23, x22, xzr
1210 0xbe 0x7f 0xdc 0x9b
1211 0x7f 0x7f 0xda 0x9b
1212 0xf9 0x7f 0xd8 0x9b
1213 0xd7 0x7e 0xdf 0x9b
1215 # CHECK: mul      w3, w4, w5
1216 # CHECK: mul      wzr, w6, w7
1217 # CHECK: mul      w8, wzr, w9
1218 # CHECK: mul      w10, w11, wzr
1219 # CHECK: mul      x12, x13, x14
1220 # CHECK: mul      xzr, x15, x16
1221 # CHECK: mul      x17, xzr, x18
1222 # CHECK: mul      x19, x20, xzr
1223 0x83 0x7c 0x5 0x1b
1224 0xdf 0x7c 0x7 0x1b
1225 0xe8 0x7f 0x9 0x1b
1226 0x6a 0x7d 0x1f 0x1b
1227 0xac 0x7d 0xe 0x9b
1228 0xff 0x7d 0x10 0x9b
1229 0xf1 0x7f 0x12 0x9b
1230 0x93 0x7e 0x1f 0x9b
1232 # CHECK: mneg     w21, w22, w23
1233 # CHECK: mneg     wzr, w24, w25
1234 # CHECK: mneg     w26, wzr, w27
1235 # CHECK: mneg     w28, w29, wzr
1236 0xd5 0xfe 0x17 0x1b
1237 0x1f 0xff 0x19 0x1b
1238 0xfa 0xff 0x1b 0x1b
1239 0xbc 0xff 0x1f 0x1b
1241 # CHECK: smull    x11, w13, w17
1242 # CHECK: umull    x11, w13, w17
1243 # CHECK: smnegl   x11, w13, w17
1244 # CHECK: umnegl   x11, w13, w17
1245 0xab 0x7d 0x31 0x9b
1246 0xab 0x7d 0xb1 0x9b
1247 0xab 0xfd 0x31 0x9b
1248 0xab 0xfd 0xb1 0x9b
1250 #------------------------------------------------------------------------------
1251 # Exception generation
1252 #------------------------------------------------------------------------------
1254 # CHECK: svc      #0
1255 # CHECK: svc      #{{65535|0xffff}}
1256 0x1 0x0 0x0 0xd4
1257 0xe1 0xff 0x1f 0xd4
1259 # CHECK: hvc      #{{1|0x1}}
1260 # CHECK: smc      #{{12000|0x2ee0}}
1261 # CHECK: brk      #{{12|0xc}}
1262 # CHECK: hlt      #{{123|0x7b}}
1263 0x22 0x0 0x0 0xd4
1264 0x3 0xdc 0x5 0xd4
1265 0x80 0x1 0x20 0xd4
1266 0x60 0xf 0x40 0xd4
1268 # CHECK: dcps1    #{{42|0x2a}}
1269 # CHECK: dcps2    #{{9|0x9}}
1270 # CHECK: dcps3    #{{1000|0x3e8}}
1271 0x41 0x5 0xa0 0xd4
1272 0x22 0x1 0xa0 0xd4
1273 0x3 0x7d 0xa0 0xd4
1275 # CHECK: dcps1
1276 # CHECK: dcps2
1277 # CHECK: dcps3
1278 0x1 0x0 0xa0 0xd4
1279 0x2 0x0 0xa0 0xd4
1280 0x3 0x0 0xa0 0xd4
1282 #------------------------------------------------------------------------------
1283 # Extract (immediate)
1284 #------------------------------------------------------------------------------
1286 # CHECK: extr     w3, w5, w7, #0
1287 # CHECK: extr     w11, w13, w17, #31
1288 0xa3 0x0 0x87 0x13
1289 0xab 0x7d 0x91 0x13
1291 # CHECK: extr     x3, x5, x7, #15
1292 # CHECK: extr     x11, x13, x17, #63
1293 0xa3 0x3c 0xc7 0x93
1294 0xab 0xfd 0xd1 0x93
1296 # CHECK: ror     x19, x23, #24
1297 # CHECK: ror     x29, xzr, #63
1298 # CHECK: ror     w9, w13, #31
1299 0xf3 0x62 0xd7 0x93
1300 0xfd 0xff 0xdf 0x93
1301 0xa9 0x7d 0x8d 0x13
1303 #------------------------------------------------------------------------------
1304 # Floating-point compare
1305 #------------------------------------------------------------------------------
1307 # CHECK: fcmp    s3, s5
1308 # CHECK: fcmp    s31, #0.0
1309 # CHECK: fcmp    s31, #0.0
1310 0x60 0x20 0x25 0x1e
1311 0xe8 0x23 0x20 0x1e
1312 0xe8 0x23 0x3f 0x1e
1314 # CHECK: fcmpe   s29, s30
1315 # CHECK: fcmpe   s15, #0.0
1316 # CHECK: fcmpe   s15, #0.0
1317 0xb0 0x23 0x3e 0x1e
1318 0xf8 0x21 0x20 0x1e
1319 0xf8 0x21 0x2f 0x1e
1321 # CHECK: fcmp    d4, d12
1322 # CHECK: fcmp    d23, #0.0
1323 # CHECK: fcmp    d23, #0.0
1324 0x80 0x20 0x6c 0x1e
1325 0xe8 0x22 0x60 0x1e
1326 0xe8 0x22 0x77 0x1e
1328 # CHECK: fcmpe   d26, d22
1329 # CHECK: fcmpe   d29, #0.0
1330 # CHECK: fcmpe   d29, #0.0
1331 0x50 0x23 0x76 0x1e
1332 0xb8 0x23 0x60 0x1e
1333 0xb8 0x23 0x6d 0x1e
1335 #------------------------------------------------------------------------------
1336 # Floating-point conditional compare
1337 #------------------------------------------------------------------------------
1339 # CHECK: fccmp s1, s31, #0, eq
1340 # CHECK: fccmp s3, s0, #15, hs
1341 # CHECK: fccmp s31, s15, #13, hs
1342 0x20 0x04 0x3f 0x1e
1343 0x6f 0x24 0x20 0x1e
1344 0xed 0x27 0x2f 0x1e
1346 # CHECK: fccmp d9, d31, #0, le
1347 # CHECK: fccmp d3, d0, #15, gt
1348 # CHECK: fccmp d31, d5, #7, ne
1349 0x20 0xd5 0x7f 0x1e
1350 0x6f 0xc4 0x60 0x1e
1351 0xe7 0x17 0x65 0x1e
1353 # CHECK: fccmpe s1, s31, #0, eq
1354 # CHECK: fccmpe s3, s0, #15, hs
1355 # CHECK: fccmpe s31, s15, #13, hs
1356 0x30 0x04 0x3f 0x1e
1357 0x7f 0x24 0x20 0x1e
1358 0xfd 0x27 0x2f 0x1e
1360 # CHECK: fccmpe d9, d31, #0, le
1361 # CHECK: fccmpe d3, d0, #15, gt
1362 # CHECK: fccmpe d31, d5, #7, ne
1363 0x30 0xd5 0x7f 0x1e
1364 0x7f 0xc4 0x60 0x1e
1365 0xf7 0x17 0x65 0x1e
1367 #-------------------------------------------------------------------------------
1368 # Floating-point conditional compare
1369 #-------------------------------------------------------------------------------
1371 # CHECK: fcsel s3, s20, s9, pl
1372 # CHECK: fcsel d9, d10, d11, mi
1373 0x83 0x5e 0x29 0x1e
1374 0x49 0x4d 0x6b 0x1e
1376 #------------------------------------------------------------------------------
1377 # Floating-point data-processing (1 source)
1378 #------------------------------------------------------------------------------
1380 # CHECK: fmov     s0, s1
1381 # CHECK: fabs     s2, s3
1382 # CHECK: fneg     s4, s5
1383 # CHECK: fsqrt    s6, s7
1384 # CHECK: fcvt     d8, s9
1385 # CHECK: fcvt     h10, s11
1386 # CHECK: frintn   s12, s13
1387 # CHECK: frintp   s14, s15
1388 # CHECK: frintm   s16, s17
1389 # CHECK: frintz   s18, s19
1390 # CHECK: frinta   s20, s21
1391 # CHECK: frintx   s22, s23
1392 # CHECK: frinti   s24, s25
1393 0x20 0x40 0x20 0x1e
1394 0x62 0xc0 0x20 0x1e
1395 0xa4 0x40 0x21 0x1e
1396 0xe6 0xc0 0x21 0x1e
1397 0x28 0xc1 0x22 0x1e
1398 0x6a 0xc1 0x23 0x1e
1399 0xac 0x41 0x24 0x1e
1400 0xee 0xc1 0x24 0x1e
1401 0x30 0x42 0x25 0x1e
1402 0x72 0xc2 0x25 0x1e
1403 0xb4 0x42 0x26 0x1e
1404 0xf6 0x42 0x27 0x1e
1405 0x38 0xc3 0x27 0x1e
1407 # CHECK: fmov     d0, d1
1408 # CHECK: fabs     d2, d3
1409 # CHECK: fneg     d4, d5
1410 # CHECK: fsqrt    d6, d7
1411 # CHECK: fcvt     s8, d9
1412 # CHECK: fcvt     h10, d11
1413 # CHECK: frintn   d12, d13
1414 # CHECK: frintp   d14, d15
1415 # CHECK: frintm   d16, d17
1416 # CHECK: frintz   d18, d19
1417 # CHECK: frinta   d20, d21
1418 # CHECK: frintx   d22, d23
1419 # CHECK: frinti   d24, d25
1420 0x20 0x40 0x60 0x1e
1421 0x62 0xc0 0x60 0x1e
1422 0xa4 0x40 0x61 0x1e
1423 0xe6 0xc0 0x61 0x1e
1424 0x28 0x41 0x62 0x1e
1425 0x6a 0xc1 0x63 0x1e
1426 0xac 0x41 0x64 0x1e
1427 0xee 0xc1 0x64 0x1e
1428 0x30 0x42 0x65 0x1e
1429 0x72 0xc2 0x65 0x1e
1430 0xb4 0x42 0x66 0x1e
1431 0xf6 0x42 0x67 0x1e
1432 0x38 0xc3 0x67 0x1e
1434 # CHECK: fcvt     s26, h27
1435 # CHECK: fcvt     d28, h29
1436 0x7a 0x43 0xe2 0x1e
1437 0xbc 0xc3 0xe2 0x1e
1439 #------------------------------------------------------------------------------
1440 # Floating-point data-processing (2 sources)
1441 #------------------------------------------------------------------------------
1443 # CHECK: fmul     s20, s19, s17
1444 # CHECK: fdiv     s1, s2, s3
1445 # CHECK: fadd     s4, s5, s6
1446 # CHECK: fsub     s7, s8, s9
1447 # CHECK: fmax     s10, s11, s12
1448 # CHECK: fmin     s13, s14, s15
1449 # CHECK: fmaxnm   s16, s17, s18
1450 # CHECK: fminnm   s19, s20, s21
1451 # CHECK: fnmul    s22, s23, s2
1452 0x74 0xa 0x31 0x1e
1453 0x41 0x18 0x23 0x1e
1454 0xa4 0x28 0x26 0x1e
1455 0x7 0x39 0x29 0x1e
1456 0x6a 0x49 0x2c 0x1e
1457 0xcd 0x59 0x2f 0x1e
1458 0x30 0x6a 0x32 0x1e
1459 0x93 0x7a 0x35 0x1e
1460 0xf6 0x8a 0x38 0x1e
1463 # CHECK: fmul     d20, d19, d17
1464 # CHECK: fdiv     d1, d2, d3
1465 # CHECK: fadd     d4, d5, d6
1466 # CHECK: fsub     d7, d8, d9
1467 # CHECK: fmax     d10, d11, d12
1468 # CHECK: fmin     d13, d14, d15
1469 # CHECK: fmaxnm   d16, d17, d18
1470 # CHECK: fminnm   d19, d20, d21
1471 # CHECK: fnmul    d22, d23, d24
1472 0x74 0xa 0x71 0x1e
1473 0x41 0x18 0x63 0x1e
1474 0xa4 0x28 0x66 0x1e
1475 0x7 0x39 0x69 0x1e
1476 0x6a 0x49 0x6c 0x1e
1477 0xcd 0x59 0x6f 0x1e
1478 0x30 0x6a 0x72 0x1e
1479 0x93 0x7a 0x75 0x1e
1480 0xf6 0x8a 0x78 0x1e
1482 #------------------------------------------------------------------------------
1483 # Floating-point data-processing (1 source)
1484 #------------------------------------------------------------------------------
1486 # CHECK: fmadd s3, s5, s6, s31
1487 # CHECK: fmadd d3, d13, d0, d23
1488 # CHECK: fmsub s3, s5, s6, s31
1489 # CHECK: fmsub d3, d13, d0, d23
1490 # CHECK: fnmadd s3, s5, s6, s31
1491 # CHECK: fnmadd d3, d13, d0, d23
1492 # CHECK: fnmsub s3, s5, s6, s31
1493 # CHECK: fnmsub d3, d13, d0, d23
1494 0xa3 0x7c 0x06 0x1f
1495 0xa3 0x5d 0x40 0x1f
1496 0xa3 0xfc 0x06 0x1f
1497 0xa3 0xdd 0x40 0x1f
1498 0xa3 0x7c 0x26 0x1f
1499 0xa3 0x5d 0x60 0x1f
1500 0xa3 0xfc 0x26 0x1f
1501 0xa3 0xdd 0x60 0x1f
1503 #------------------------------------------------------------------------------
1504 # Floating-point <-> fixed-point conversion
1505 #------------------------------------------------------------------------------
1507 # FP16: fcvtzs  w3, h5, #1
1508 # FP16: fcvtzs  wzr, h20, #13
1509 # FP16: fcvtzs  w19, h0, #32
1510 0xa3 0xfc 0xd8 0x1e
1511 0x9f 0xce 0xd8 0x1e
1512 0x13 0x80 0xd8 0x1e
1514 # FP16: fcvtzs  x3, h5, #1
1515 # FP16: fcvtzs  x12, h30, #45
1516 # FP16: fcvtzs  x19, h0, #64
1517 0xa3 0xfc 0xd8 0x9e
1518 0xcc 0x4f 0xd8 0x9e
1519 0x13 0x00 0xd8 0x9e
1521 # CHECK: fcvtzs  w3, s5, #1
1522 # CHECK: fcvtzs  wzr, s20, #13
1523 # CHECK: fcvtzs  w19, s0, #32
1524 0xa3 0xfc 0x18 0x1e
1525 0x9f 0xce 0x18 0x1e
1526 0x13 0x80 0x18 0x1e
1528 # CHECK: fcvtzs  x3, s5, #1
1529 # CHECK: fcvtzs  x12, s30, #45
1530 # CHECK: fcvtzs  x19, s0, #64
1531 0xa3 0xfc 0x18 0x9e
1532 0xcc 0x4f 0x18 0x9e
1533 0x13 0x00 0x18 0x9e
1535 # CHECK: fcvtzs  w3, d5, #1
1536 # CHECK: fcvtzs  wzr, d20, #13
1537 # CHECK: fcvtzs  w19, d0, #32
1538 0xa3 0xfc 0x58 0x1e
1539 0x9f 0xce 0x58 0x1e
1540 0x13 0x80 0x58 0x1e
1542 # CHECK: fcvtzs  x3, d5, #1
1543 # CHECK: fcvtzs  x12, d30, #45
1544 # CHECK: fcvtzs  x19, d0, #64
1545 0xa3 0xfc 0x58 0x9e
1546 0xcc 0x4f 0x58 0x9e
1547 0x13 0x00 0x58 0x9e
1549 # FP16: fcvtzu  w3, h5, #1
1550 # FP16: fcvtzu  wzr, h20, #13
1551 # FP16: fcvtzu  w19, h0, #32
1552 0xa3 0xfc 0xd9 0x1e
1553 0x9f 0xce 0xd9 0x1e
1554 0x13 0x80 0xd9 0x1e
1556 # FP16: fcvtzu  x3, h5, #1
1557 # FP16: fcvtzu  x12, h30, #45
1558 # FP16: fcvtzu  x19, h0, #64
1559 0xa3 0xfc 0xd9 0x9e
1560 0xcc 0x4f 0xd9 0x9e
1561 0x13 0x00 0xd9 0x9e
1563 # CHECK: fcvtzu  w3, s5, #1
1564 # CHECK: fcvtzu  wzr, s20, #13
1565 # CHECK: fcvtzu  w19, s0, #32
1566 0xa3 0xfc 0x19 0x1e
1567 0x9f 0xce 0x19 0x1e
1568 0x13 0x80 0x19 0x1e
1570 # CHECK: fcvtzu  x3, s5, #1
1571 # CHECK: fcvtzu  x12, s30, #45
1572 # CHECK: fcvtzu  x19, s0, #64
1573 0xa3 0xfc 0x19 0x9e
1574 0xcc 0x4f 0x19 0x9e
1575 0x13 0x00 0x19 0x9e
1577 # CHECK: fcvtzu  w3, d5, #1
1578 # CHECK: fcvtzu  wzr, d20, #13
1579 # CHECK: fcvtzu  w19, d0, #32
1580 0xa3 0xfc 0x59 0x1e
1581 0x9f 0xce 0x59 0x1e
1582 0x13 0x80 0x59 0x1e
1584 # CHECK: fcvtzu  x3, d5, #1
1585 # CHECK: fcvtzu  x12, d30, #45
1586 # CHECK: fcvtzu  x19, d0, #64
1587 0xa3 0xfc 0x59 0x9e
1588 0xcc 0x4f 0x59 0x9e
1589 0x13 0x00 0x59 0x9e
1591 # FP16: scvtf   h23, w19, #1
1592 # FP16: scvtf   h31, wzr, #20
1593 # FP16: scvtf   h14, w0, #32
1594 0x77 0xfe 0xc2 0x1e
1595 0xff 0xb3 0xc2 0x1e
1596 0x0e 0x80 0xc2 0x1e
1598 # FP16: scvtf   h23, x19, #1
1599 # FP16: scvtf   h31, xzr, #20
1600 # FP16: scvtf   h14, x0, #64
1601 0x77 0xfe 0xc2 0x9e
1602 0xff 0xb3 0xc2 0x9e
1603 0x0e 0x00 0xc2 0x9e
1605 # CHECK: scvtf   s23, w19, #1
1606 # CHECK: scvtf   s31, wzr, #20
1607 # CHECK: scvtf   s14, w0, #32
1608 0x77 0xfe 0x02 0x1e
1609 0xff 0xb3 0x02 0x1e
1610 0x0e 0x80 0x02 0x1e
1612 # CHECK: scvtf   s23, x19, #1
1613 # CHECK: scvtf   s31, xzr, #20
1614 # CHECK: scvtf   s14, x0, #64
1615 0x77 0xfe 0x02 0x9e
1616 0xff 0xb3 0x02 0x9e
1617 0x0e 0x00 0x02 0x9e
1619 # CHECK: scvtf   d23, w19, #1
1620 # CHECK: scvtf   d31, wzr, #20
1621 # CHECK: scvtf   d14, w0, #32
1622 0x77 0xfe 0x42 0x1e
1623 0xff 0xb3 0x42 0x1e
1624 0x0e 0x80 0x42 0x1e
1626 # CHECK: scvtf   d23, x19, #1
1627 # CHECK: scvtf   d31, xzr, #20
1628 # CHECK: scvtf   d14, x0, #64
1629 0x77 0xfe 0x42 0x9e
1630 0xff 0xb3 0x42 0x9e
1631 0x0e 0x00 0x42 0x9e
1633 # FP16: ucvtf   h23, w19, #1
1634 # FP16: ucvtf   h31, wzr, #20
1635 # FP16: ucvtf   h14, w0, #32
1636 0x77 0xfe 0xc3 0x1e
1637 0xff 0xb3 0xc3 0x1e
1638 0x0e 0x80 0xc3 0x1e
1640 # FP16: ucvtf   h23, x19, #1
1641 # FP16: ucvtf   h31, xzr, #20
1642 # FP16: ucvtf   h14, x0, #64
1643 0x77 0xfe 0xc3 0x9e
1644 0xff 0xb3 0xc3 0x9e
1645 0x0e 0x00 0xc3 0x9e
1647 # CHECK: ucvtf   s23, w19, #1
1648 # CHECK: ucvtf   s31, wzr, #20
1649 # CHECK: ucvtf   s14, w0, #32
1650 0x77 0xfe 0x03 0x1e
1651 0xff 0xb3 0x03 0x1e
1652 0x0e 0x80 0x03 0x1e
1654 # CHECK: ucvtf   s23, x19, #1
1655 # CHECK: ucvtf   s31, xzr, #20
1656 # CHECK: ucvtf   s14, x0, #64
1657 0x77 0xfe 0x03 0x9e
1658 0xff 0xb3 0x03 0x9e
1659 0x0e 0x00 0x03 0x9e
1661 # CHECK: ucvtf   d23, w19, #1
1662 # CHECK: ucvtf   d31, wzr, #20
1663 # CHECK: ucvtf   d14, w0, #32
1664 0x77 0xfe 0x43 0x1e
1665 0xff 0xb3 0x43 0x1e
1666 0x0e 0x80 0x43 0x1e
1668 # CHECK: ucvtf   d23, x19, #1
1669 # CHECK: ucvtf   d31, xzr, #20
1670 # CHECK: ucvtf   d14, x0, #64
1671 0x77 0xfe 0x43 0x9e
1672 0xff 0xb3 0x43 0x9e
1673 0x0e 0x00 0x43 0x9e
1675 #------------------------------------------------------------------------------
1676 # Floating-point <-> integer conversion
1677 #------------------------------------------------------------------------------
1679 # FP16: fcvtns   w3, h31
1680 # FP16: fcvtns   xzr, h12
1681 # FP16: fcvtnu   wzr, h12
1682 # FP16: fcvtnu   x0, h0
1683 0xe3 0x3 0xe0 0x1e
1684 0x9f 0x1 0xe0 0x9e
1685 0x9f 0x1 0xe1 0x1e
1686 0x0 0x0 0xe1 0x9e
1688 # FP16: fcvtps   wzr, h9
1689 # FP16: fcvtps   x12, h20
1690 # FP16: fcvtpu   w30, h23
1691 # FP16: fcvtpu   x29, h3
1692 0x3f 0x1 0xe8 0x1e
1693 0x8c 0x2 0xe8 0x9e
1694 0xfe 0x2 0xe9 0x1e
1695 0x7d 0x0 0xe9 0x9e
1697 # FP16: fcvtms   w2, h3
1698 # FP16: fcvtms   x4, h5
1699 # FP16: fcvtmu   w6, h7
1700 # FP16: fcvtmu   x8, h9
1701 0x62 0x0 0xf0 0x1e
1702 0xa4 0x0 0xf0 0x9e
1703 0xe6 0x0 0xf1 0x1e
1704 0x28 0x1 0xf1 0x9e
1706 # FP16: fcvtzs   w10, h11
1707 # FP16: fcvtzs   x12, h13
1708 # FP16: fcvtzu   w14, h15
1709 # FP16: fcvtzu   x15, h16
1710 0x6a 0x1 0xf8 0x1e
1711 0xac 0x1 0xf8 0x9e
1712 0xee 0x1 0xf9 0x1e
1713 0xf 0x2 0xf9 0x9e
1715 # FP16: scvtf    h17, w18
1716 # FP16: scvtf    h19, x20
1717 # FP16: ucvtf    h21, w22
1718 # FP16: scvtf    h23, x24
1719 0x51 0x2 0xe2 0x1e
1720 0x93 0x2 0xe2 0x9e
1721 0xd5 0x2 0xe3 0x1e
1722 0x17 0x3 0xe2 0x9e
1724 # FP16: fcvtas   w25, h26
1725 # FP16: fcvtas   x27, h28
1726 # FP16: fcvtau   w29, h30
1727 # FP16: fcvtau   xzr, h0
1728 0x59 0x3 0xe4 0x1e
1729 0x9b 0x3 0xe4 0x9e
1730 0xdd 0x3 0xe5 0x1e
1731 0x1f 0x0 0xe5 0x9e
1733 # CHECK: fcvtns   w3, s31
1734 # CHECK: fcvtns   xzr, s12
1735 # CHECK: fcvtnu   wzr, s12
1736 # CHECK: fcvtnu   x0, s0
1737 0xe3 0x3 0x20 0x1e
1738 0x9f 0x1 0x20 0x9e
1739 0x9f 0x1 0x21 0x1e
1740 0x0 0x0 0x21 0x9e
1742 # CHECK: fcvtps   wzr, s9
1743 # CHECK: fcvtps   x12, s20
1744 # CHECK: fcvtpu   w30, s23
1745 # CHECK: fcvtpu   x29, s3
1746 0x3f 0x1 0x28 0x1e
1747 0x8c 0x2 0x28 0x9e
1748 0xfe 0x2 0x29 0x1e
1749 0x7d 0x0 0x29 0x9e
1751 # CHECK: fcvtms   w2, s3
1752 # CHECK: fcvtms   x4, s5
1753 # CHECK: fcvtmu   w6, s7
1754 # CHECK: fcvtmu   x8, s9
1755 0x62 0x0 0x30 0x1e
1756 0xa4 0x0 0x30 0x9e
1757 0xe6 0x0 0x31 0x1e
1758 0x28 0x1 0x31 0x9e
1760 # CHECK: fcvtzs   w10, s11
1761 # CHECK: fcvtzs   x12, s13
1762 # CHECK: fcvtzu   w14, s15
1763 # CHECK: fcvtzu   x15, s16
1764 0x6a 0x1 0x38 0x1e
1765 0xac 0x1 0x38 0x9e
1766 0xee 0x1 0x39 0x1e
1767 0xf 0x2 0x39 0x9e
1769 # CHECK: scvtf    s17, w18
1770 # CHECK: scvtf    s19, x20
1771 # CHECK: ucvtf    s21, w22
1772 # CHECK: scvtf    s23, x24
1773 0x51 0x2 0x22 0x1e
1774 0x93 0x2 0x22 0x9e
1775 0xd5 0x2 0x23 0x1e
1776 0x17 0x3 0x22 0x9e
1778 # CHECK: fcvtas   w25, s26
1779 # CHECK: fcvtas   x27, s28
1780 # CHECK: fcvtau   w29, s30
1781 # CHECK: fcvtau   xzr, s0
1782 0x59 0x3 0x24 0x1e
1783 0x9b 0x3 0x24 0x9e
1784 0xdd 0x3 0x25 0x1e
1785 0x1f 0x0 0x25 0x9e
1787 # CHECK: fcvtns   w3, d31
1788 # CHECK: fcvtns   xzr, d12
1789 # CHECK: fcvtnu   wzr, d12
1790 # CHECK: fcvtnu   x0, d0
1791 0xe3 0x3 0x60 0x1e
1792 0x9f 0x1 0x60 0x9e
1793 0x9f 0x1 0x61 0x1e
1794 0x0 0x0 0x61 0x9e
1796 # CHECK: fcvtps   wzr, d9
1797 # CHECK: fcvtps   x12, d20
1798 # CHECK: fcvtpu   w30, d23
1799 # CHECK: fcvtpu   x29, d3
1800 0x3f 0x1 0x68 0x1e
1801 0x8c 0x2 0x68 0x9e
1802 0xfe 0x2 0x69 0x1e
1803 0x7d 0x0 0x69 0x9e
1805 # CHECK: fcvtms   w2, d3
1806 # CHECK: fcvtms   x4, d5
1807 # CHECK: fcvtmu   w6, d7
1808 # CHECK: fcvtmu   x8, d9
1809 0x62 0x0 0x70 0x1e
1810 0xa4 0x0 0x70 0x9e
1811 0xe6 0x0 0x71 0x1e
1812 0x28 0x1 0x71 0x9e
1814 # CHECK: fcvtzs   w10, d11
1815 # CHECK: fcvtzs   x12, d13
1816 # CHECK: fcvtzu   w14, d15
1817 # CHECK: fcvtzu   x15, d16
1818 0x6a 0x1 0x78 0x1e
1819 0xac 0x1 0x78 0x9e
1820 0xee 0x1 0x79 0x1e
1821 0xf 0x2 0x79 0x9e
1823 # CHECK: scvtf    d17, w18
1824 # CHECK: scvtf    d19, x20
1825 # CHECK: ucvtf    d21, w22
1826 # CHECK: ucvtf    d23, x24
1827 0x51 0x2 0x62 0x1e
1828 0x93 0x2 0x62 0x9e
1829 0xd5 0x2 0x63 0x1e
1830 0x17 0x3 0x63 0x9e
1832 # CHECK: fcvtas   w25, d26
1833 # CHECK: fcvtas   x27, d28
1834 # CHECK: fcvtau   w29, d30
1835 # CHECK: fcvtau   xzr, d0
1836 0x59 0x3 0x64 0x1e
1837 0x9b 0x3 0x64 0x9e
1838 0xdd 0x3 0x65 0x1e
1839 0x1f 0x0 0x65 0x9e
1841 # CHECK: fmov     w3, s9
1842 # CHECK: fmov     s9, w3
1843 0x23 0x1 0x26 0x1e
1844 0x69 0x0 0x27 0x1e
1846 # CHECK: fmov     x20, d31
1847 # CHECK: fmov     d1, x15
1848 0xf4 0x3 0x66 0x9e
1849 0xe1 0x1 0x67 0x9e
1851 # CHECK: fmov     x3, v12.d[1]
1852 # CHECK: fmov     v1.d[1], x19
1853 0x83 0x1 0xae 0x9e
1854 0x61 0x2 0xaf 0x9e
1856 #------------------------------------------------------------------------------
1857 # Floating-point immediate
1858 #------------------------------------------------------------------------------
1860 # CHECK: fmov     s2, #0.12500000
1861 # CHECK: fmov     s3, #1.00000000
1862 # CHECK: fmov     d30, #16.00000000
1863 0x2 0x10 0x28 0x1e
1864 0x3 0x10 0x2e 0x1e
1865 0x1e 0x10 0x66 0x1e
1867 # CHECK: fmov     s4, #1.06250000
1868 # CHECK: fmov     d10, #1.93750000
1869 0x4 0x30 0x2e 0x1e
1870 0xa 0xf0 0x6f 0x1e
1872 # CHECK: fmov     s12, #-1.00000000
1873 0xc 0x10 0x3e 0x1e
1875 # CHECK: fmov     d16, #8.50000000
1876 0x10 0x30 0x64 0x1e
1878 #------------------------------------------------------------------------------
1879 # Load-register (literal)
1880 #------------------------------------------------------------------------------
1882 # CHECK: ldr       w3, #0
1883 # CHECK: ldr       x29, #4
1884 # CHECK: ldrsw     xzr, #-4
1885 0x03 0x00 0x00 0x18
1886 0x3d 0x00 0x00 0x58
1887 0xff 0xff 0xff 0x98
1889 # CHECK: ldr       s0, #8
1890 # CHECK: ldr       d0, #1048572
1891 # CHECK: ldr       q0, #-1048576
1892 0x40 0x00 0x00 0x1c
1893 0xe0 0xff 0x7f 0x5c
1894 0x00 0x00 0x80 0x9c
1896 # CHECK: prfm      pldl1strm, #0
1897 # CHECK: prfm      #22, #0
1898 0x01 0x00 0x00 0xd8
1899 0x16 0x00 0x00 0xd8
1901 #------------------------------------------------------------------------------
1902 # Load/store exclusive
1903 #------------------------------------------------------------------------------
1905 #CHECK: stxrb      w18, w8, [sp]
1906 #CHECK: stxrh      w24, w15, [x16]
1907 #CHECK: stxr       w5, w6, [x17]
1908 #CHECK: stxr       w1, x10, [x21]
1909 #CHECK: stxr       w1, x10, [x21]
1910 0xe8 0x7f 0x12 0x08
1911 0x0f 0x7e 0x18 0x48
1912 0x26 0x7e 0x05 0x88
1913 0xaa 0x7e 0x01 0xc8
1914 0xaa 0x7a 0x01 0xc8
1916 #CHECK: ldxrb      w30, [x0]
1917 #CHECK: ldxrh      w17, [x4]
1918 #CHECK: ldxr       w22, [sp]
1919 #CHECK: ldxr       x11, [x29]
1920 #CHECK: ldxr       x11, [x29]
1921 #CHECK: ldxr       x11, [x29]
1922 0x1e 0x7c 0x5f 0x08
1923 0x91 0x7c 0x5f 0x48
1924 0xf6 0x7f 0x5f 0x88
1925 0xab 0x7f 0x5f 0xc8
1926 0xab 0x6f 0x5f 0xc8
1927 0xab 0x7f 0x5e 0xc8
1929 #CHECK: stxp       w12, w11, w10, [sp]
1930 #CHECK: stxp       wzr, x27, x9, [x12]
1931 0xeb 0x2b 0x2c 0x88
1932 0x9b 0x25 0x3f 0xc8
1934 #CHECK: ldxp       w0, wzr, [sp]
1935 #CHECK: ldxp       x17, x0, [x18]
1936 #CHECK: ldxp       x17, x0, [x18]
1937 0xe0 0x7f 0x7f 0x88
1938 0x51 0x02 0x7f 0xc8
1939 0x51 0x02 0x7e 0xc8
1941 #CHECK: stlxrb     w12, w22, [x0]
1942 #CHECK: stlxrh     w10, w1, [x1]
1943 #CHECK: stlxr      w9, w2, [x2]
1944 #CHECK: stlxr      w9, x3, [sp]
1946 0x16 0xfc 0x0c 0x08
1947 0x21 0xfc 0x0a 0x48
1948 0x42 0xfc 0x09 0x88
1949 0xe3 0xff 0x09 0xc8
1951 #CHECK: ldaxrb     w8, [x4]
1952 #CHECK: ldaxrh     w7, [x5]
1953 #CHECK: ldaxr      w6, [sp]
1954 #CHECK: ldaxr      x5, [x6]
1955 #CHECK: ldaxr      x5, [x6]
1956 #CHECK: ldaxr      x5, [x6]
1957 0x88 0xfc 0x5f 0x08
1958 0xa7 0xfc 0x5f 0x48
1959 0xe6 0xff 0x5f 0x88
1960 0xc5 0xfc 0x5f 0xc8
1961 0xc5 0xec 0x5f 0xc8
1962 0xc5 0xfc 0x5e 0xc8
1964 #CHECK: stlxp      w4, w5, w6, [sp]
1965 #CHECK: stlxp      wzr, x6, x7, [x1]
1966 0xe5 0x9b 0x24 0x88
1967 0x26 0x9c 0x3f 0xc8
1969 #CHECK: ldaxp      w5, w18, [sp]
1970 #CHECK: ldaxp      x6, x19, [x22]
1971 #CHECK: ldaxp      x6, x19, [x22]
1972 0xe5 0xcb 0x7f 0x88
1973 0xc6 0xce 0x7f 0xc8
1974 0xc6 0xce 0x7e 0xc8
1976 #CHECK: stlrb      w24, [sp]
1977 #CHECK: stlrh      w25, [x30]
1978 #CHECK: stlr       w26, [x29]
1979 #CHECK: stlr       x27, [x28]
1980 #CHECK: stlr       x27, [x28]
1981 #CHECK: stlr       x27, [x28]
1982 0xf8 0xff 0x9f 0x08
1983 0xd9 0xff 0x9f 0x48
1984 0xba 0xff 0x9f 0x88
1985 0x9b 0xff 0x9f 0xc8
1986 0x9b 0xef 0x9f 0xc8
1987 0x9b 0xff 0x9e 0xc8
1989 #CHECK: ldarb      w23, [sp]
1990 #CHECK: ldarh      w22, [x30]
1991 #CHECK: ldar       wzr, [x29]
1992 #CHECK: ldar       x21, [x28]
1993 #CHECK: ldar       x21, [x28]
1994 #CHECK: ldar       x21, [x28]
1995 0xf7 0xff 0xdf 0x08
1996 0xd6 0xff 0xdf 0x48
1997 0xbf 0xff 0xdf 0x88
1998 0x95 0xff 0xdf 0xc8
1999 0x95 0xef 0xdf 0xc8
2000 0x95 0xff 0xde 0xc8
2002 #------------------------------------------------------------------------------
2003 # Load/store (unscaled  immediate)
2004 #------------------------------------------------------------------------------
2006 # CHECK: sturb    w9, [sp]
2007 # CHECK: sturh    wzr, [x12, #255]
2008 # CHECK: stur     w16, [x0, #-256]
2009 # CHECK: stur     x28, [x14, #1]
2010 0xe9 0x3 0x0 0x38
2011 0x9f 0xf1 0xf 0x78
2012 0x10 0x0 0x10 0xb8
2013 0xdc 0x11 0x0 0xf8
2015 # CHECK: ldurb    w1, [x20, #255]
2016 # CHECK: ldurh    w20, [x1, #255]
2017 # CHECK: ldur     w12, [sp, #255]
2018 # CHECK: ldur     xzr, [x12, #255]
2019 0x81 0xf2 0x4f 0x38
2020 0x34 0xf0 0x4f 0x78
2021 0xec 0xf3 0x4f 0xb8
2022 0x9f 0xf1 0x4f 0xf8
2024 # CHECK: ldursb   x9, [x7, #-256]
2025 # CHECK: ldursh   x17, [x19, #-256]
2026 # CHECK: ldursw   x20, [x15, #-256]
2027 # CHECK: prfum    pldl2keep, [sp, #-256]
2028 # CHECK: ldursb   w19, [x1, #-256]
2029 # CHECK: ldursh   w15, [x21, #-256]
2030 0xe9 0x0 0x90 0x38
2031 0x71 0x2 0x90 0x78
2032 0xf4 0x1 0x90 0xb8
2033 0xe2 0x3 0x90 0xf8
2034 0x33 0x0 0xd0 0x38
2035 0xaf 0x2 0xd0 0x78
2037 # CHECK: stur     b0, [sp, #1]
2038 # CHECK: stur     h12, [x12, #-1]
2039 # CHECK: stur     s15, [x0, #255]
2040 # CHECK: stur     d31, [x5, #25]
2041 # CHECK: stur     q9, [x5]
2042 0xe0 0x13 0x0 0x3c
2043 0x8c 0xf1 0x1f 0x7c
2044 0xf 0xf0 0xf 0xbc
2045 0xbf 0x90 0x1 0xfc
2046 0xa9 0x0 0x80 0x3c
2048 # CHECK: ldur     b3, [sp]
2049 # CHECK: ldur     h5, [x4, #-256]
2050 # CHECK: ldur     s7, [x12, #-1]
2051 # CHECK: ldur     d11, [x19, #4]
2052 # CHECK: ldur     q13, [x1, #2]
2053 0xe3 0x3 0x40 0x3c
2054 0x85 0x0 0x50 0x7c
2055 0x87 0xf1 0x5f 0xbc
2056 0x6b 0x42 0x40 0xfc
2057 0x2d 0x20 0xc0 0x3c
2059 #------------------------------------------------------------------------------
2060 # Load/store (immediate post-indexed)
2061 #------------------------------------------------------------------------------
2063 # E.g. "str xzr, [sp], #4" is *not* unpredictable
2064 # CHECK-NOT: warning: potentially undefined instruction encoding
2065 0xff 0x47 0x40 0xb8
2067 # CHECK: strb     w9, [x2], #255
2068 # CHECK: strb     w10, [x3], #1
2069 # CHECK: strb     w10, [x3], #-256
2070 # CHECK: strh     w9, [x2], #255
2071 # CHECK: strh     w9, [x2], #1
2072 # CHECK: strh     w10, [x3], #-256
2073 0x49 0xf4 0xf 0x38
2074 0x6a 0x14 0x0 0x38
2075 0x6a 0x4 0x10 0x38
2076 0x49 0xf4 0xf 0x78
2077 0x49 0x14 0x0 0x78
2078 0x6a 0x4 0x10 0x78
2080 # CHECK: str      w19, [sp], #255
2081 # CHECK: str      w20, [x30], #1
2082 # CHECK: str      w21, [x12], #-256
2083 # CHECK: str      xzr, [x9], #255
2084 # CHECK: str      x2, [x3], #1
2085 # CHECK: str      x19, [x12], #-256
2086 0xf3 0xf7 0xf 0xb8
2087 0xd4 0x17 0x0 0xb8
2088 0x95 0x5 0x10 0xb8
2089 0x3f 0xf5 0xf 0xf8
2090 0x62 0x14 0x0 0xf8
2091 0x93 0x5 0x10 0xf8
2093 # CHECK: ldrb     w9, [x2], #255
2094 # CHECK: ldrb     w10, [x3], #1
2095 # CHECK: ldrb     w10, [x3], #-256
2096 # CHECK: ldrh     w9, [x2], #255
2097 # CHECK: ldrh     w9, [x2], #1
2098 # CHECK: ldrh     w10, [x3], #-256
2099 0x49 0xf4 0x4f 0x38
2100 0x6a 0x14 0x40 0x38
2101 0x6a 0x4 0x50 0x38
2102 0x49 0xf4 0x4f 0x78
2103 0x49 0x14 0x40 0x78
2104 0x6a 0x4 0x50 0x78
2106 # CHECK: ldr      w19, [sp], #255
2107 # CHECK: ldr      w20, [x30], #1
2108 # CHECK: ldr      w21, [x12], #-256
2109 # CHECK: ldr      xzr, [x9], #255
2110 # CHECK: ldr      x2, [x3], #1
2111 # CHECK: ldr      x19, [x12], #-256
2112 0xf3 0xf7 0x4f 0xb8
2113 0xd4 0x17 0x40 0xb8
2114 0x95 0x5 0x50 0xb8
2115 0x3f 0xf5 0x4f 0xf8
2116 0x62 0x14 0x40 0xf8
2117 0x93 0x5 0x50 0xf8
2119 # CHECK: ldrsb    xzr, [x9], #255
2120 # CHECK: ldrsb    x2, [x3], #1
2121 # CHECK: ldrsb    x19, [x12], #-256
2122 # CHECK: ldrsh    xzr, [x9], #255
2123 # CHECK: ldrsh    x2, [x3], #1
2124 # CHECK: ldrsh    x19, [x12], #-256
2125 # CHECK: ldrsw    xzr, [x9], #255
2126 # CHECK: ldrsw    x2, [x3], #1
2127 # CHECK: ldrsw    x19, [x12], #-256
2128 0x3f 0xf5 0x8f 0x38
2129 0x62 0x14 0x80 0x38
2130 0x93 0x5 0x90 0x38
2131 0x3f 0xf5 0x8f 0x78
2132 0x62 0x14 0x80 0x78
2133 0x93 0x5 0x90 0x78
2134 0x3f 0xf5 0x8f 0xb8
2135 0x62 0x14 0x80 0xb8
2136 0x93 0x5 0x90 0xb8
2138 # CHECK: ldrsb    wzr, [x9], #255
2139 # CHECK: ldrsb    w2, [x3], #1
2140 # CHECK: ldrsb    w19, [x12], #-256
2141 # CHECK: ldrsh    wzr, [x9], #255
2142 # CHECK: ldrsh    w2, [x3], #1
2143 # CHECK: ldrsh    w19, [x12], #-256
2144 0x3f 0xf5 0xcf 0x38
2145 0x62 0x14 0xc0 0x38
2146 0x93 0x5 0xd0 0x38
2147 0x3f 0xf5 0xcf 0x78
2148 0x62 0x14 0xc0 0x78
2149 0x93 0x5 0xd0 0x78
2151 # CHECK: str      b0, [x0], #255
2152 # CHECK: str      b3, [x3], #1
2153 # CHECK: str      b5, [sp], #-256
2154 # CHECK: str      h10, [x10], #255
2155 # CHECK: str      h13, [x23], #1
2156 # CHECK: str      h15, [sp], #-256
2157 # CHECK: str      s20, [x20], #255
2158 # CHECK: str      s23, [x23], #1
2159 # CHECK: str      s25, [x0], #-256
2160 # CHECK: str      d20, [x20], #255
2161 # CHECK: str      d23, [x23], #1
2162 # CHECK: str      d25, [x0], #-256
2163 0x0 0xf4 0xf 0x3c
2164 0x63 0x14 0x0 0x3c
2165 0xe5 0x7 0x10 0x3c
2166 0x4a 0xf5 0xf 0x7c
2167 0xed 0x16 0x0 0x7c
2168 0xef 0x7 0x10 0x7c
2169 0x94 0xf6 0xf 0xbc
2170 0xf7 0x16 0x0 0xbc
2171 0x19 0x4 0x10 0xbc
2172 0x94 0xf6 0xf 0xfc
2173 0xf7 0x16 0x0 0xfc
2174 0x19 0x4 0x10 0xfc
2176 # CHECK: ldr      b0, [x0], #255
2177 # CHECK: ldr      b3, [x3], #1
2178 # CHECK: ldr      b5, [sp], #-256
2179 # CHECK: ldr      h10, [x10], #255
2180 # CHECK: ldr      h13, [x23], #1
2181 # CHECK: ldr      h15, [sp], #-256
2182 # CHECK: ldr      s20, [x20], #255
2183 # CHECK: ldr      s23, [x23], #1
2184 # CHECK: ldr      s25, [x0], #-256
2185 # CHECK: ldr      d20, [x20], #255
2186 # CHECK: ldr      d23, [x23], #1
2187 # CHECK: ldr      d25, [x0], #-256
2188 0x0 0xf4 0x4f 0x3c
2189 0x63 0x14 0x40 0x3c
2190 0xe5 0x7 0x50 0x3c
2191 0x4a 0xf5 0x4f 0x7c
2192 0xed 0x16 0x40 0x7c
2193 0xef 0x7 0x50 0x7c
2194 0x94 0xf6 0x4f 0xbc
2195 0xf7 0x16 0x40 0xbc
2196 0x19 0x4 0x50 0xbc
2197 0x94 0xf6 0x4f 0xfc
2198 0xf7 0x16 0x40 0xfc
2199 0x19 0x4 0x50 0xfc
2200 0x34 0xf4 0xcf 0x3c
2202 # CHECK: ldr      q20, [x1], #255
2203 # CHECK: ldr      q23, [x9], #1
2204 # CHECK: ldr      q25, [x20], #-256
2205 # CHECK: str      q10, [x1], #255
2206 # CHECK: str      q22, [sp], #1
2207 # CHECK: str      q21, [x20], #-256
2208 0x37 0x15 0xc0 0x3c
2209 0x99 0x6 0xd0 0x3c
2210 0x2a 0xf4 0x8f 0x3c
2211 0xf6 0x17 0x80 0x3c
2212 0x95 0x6 0x90 0x3c
2214 #-------------------------------------------------------------------------------
2215 # Load-store register (immediate pre-indexed)
2216 #-------------------------------------------------------------------------------
2218 # E.g. "str xzr, [sp, #4]!" is *not* unpredictable
2219 # CHECK-NOT: warning: potentially undefined instruction encoding
2220 0xff 0xf 0x40 0xf8
2222 # CHECK: ldr      x3, [x4, #0]!
2223 0x83 0xc 0x40 0xf8
2225 # CHECK: strb     w9, [x2, #255]!
2226 # CHECK: strb     w10, [x3, #1]!
2227 # CHECK: strb     w10, [x3, #-256]!
2228 # CHECK: strh     w9, [x2, #255]!
2229 # CHECK: strh     w9, [x2, #1]!
2230 # CHECK: strh     w10, [x3, #-256]!
2231 0x49 0xfc 0xf 0x38
2232 0x6a 0x1c 0x0 0x38
2233 0x6a 0xc 0x10 0x38
2234 0x49 0xfc 0xf 0x78
2235 0x49 0x1c 0x0 0x78
2236 0x6a 0xc 0x10 0x78
2238 # CHECK: str      w19, [sp, #255]!
2239 # CHECK: str      w20, [x30, #1]!
2240 # CHECK: str      w21, [x12, #-256]!
2241 # CHECK: str      xzr, [x9, #255]!
2242 # CHECK: str      x2, [x3, #1]!
2243 # CHECK: str      x19, [x12, #-256]!
2244 0xf3 0xff 0xf 0xb8
2245 0xd4 0x1f 0x0 0xb8
2246 0x95 0xd 0x10 0xb8
2247 0x3f 0xfd 0xf 0xf8
2248 0x62 0x1c 0x0 0xf8
2249 0x93 0xd 0x10 0xf8
2251 # CHECK: ldrb     w9, [x2, #255]!
2252 # CHECK: ldrb     w10, [x3, #1]!
2253 # CHECK: ldrb     w10, [x3, #-256]!
2254 # CHECK: ldrh     w9, [x2, #255]!
2255 # CHECK: ldrh     w9, [x2, #1]!
2256 # CHECK: ldrh     w10, [x3, #-256]!
2257 0x49 0xfc 0x4f 0x38
2258 0x6a 0x1c 0x40 0x38
2259 0x6a 0xc 0x50 0x38
2260 0x49 0xfc 0x4f 0x78
2261 0x49 0x1c 0x40 0x78
2262 0x6a 0xc 0x50 0x78
2264 # CHECK: ldr      w19, [sp, #255]!
2265 # CHECK: ldr      w20, [x30, #1]!
2266 # CHECK: ldr      w21, [x12, #-256]!
2267 # CHECK: ldr      xzr, [x9, #255]!
2268 # CHECK: ldr      x2, [x3, #1]!
2269 # CHECK: ldr      x19, [x12, #-256]!
2270 0xf3 0xff 0x4f 0xb8
2271 0xd4 0x1f 0x40 0xb8
2272 0x95 0xd 0x50 0xb8
2273 0x3f 0xfd 0x4f 0xf8
2274 0x62 0x1c 0x40 0xf8
2275 0x93 0xd 0x50 0xf8
2277 # CHECK: ldrsb    xzr, [x9, #255]!
2278 # CHECK: ldrsb    x2, [x3, #1]!
2279 # CHECK: ldrsb    x19, [x12, #-256]!
2280 # CHECK: ldrsh    xzr, [x9, #255]!
2281 # CHECK: ldrsh    x2, [x3, #1]!
2282 # CHECK: ldrsh    x19, [x12, #-256]!
2283 # CHECK: ldrsw    xzr, [x9, #255]!
2284 # CHECK: ldrsw    x2, [x3, #1]!
2285 # CHECK: ldrsw    x19, [x12, #-256]!
2286 0x3f 0xfd 0x8f 0x38
2287 0x62 0x1c 0x80 0x38
2288 0x93 0xd 0x90 0x38
2289 0x3f 0xfd 0x8f 0x78
2290 0x62 0x1c 0x80 0x78
2291 0x93 0xd 0x90 0x78
2292 0x3f 0xfd 0x8f 0xb8
2293 0x62 0x1c 0x80 0xb8
2294 0x93 0xd 0x90 0xb8
2296 # CHECK: ldrsb    wzr, [x9, #255]!
2297 # CHECK: ldrsb    w2, [x3, #1]!
2298 # CHECK: ldrsb    w19, [x12, #-256]!
2299 # CHECK: ldrsh    wzr, [x9, #255]!
2300 # CHECK: ldrsh    w2, [x3, #1]!
2301 # CHECK: ldrsh    w19, [x12, #-256]!
2302 0x3f 0xfd 0xcf 0x38
2303 0x62 0x1c 0xc0 0x38
2304 0x93 0xd 0xd0 0x38
2305 0x3f 0xfd 0xcf 0x78
2306 0x62 0x1c 0xc0 0x78
2307 0x93 0xd 0xd0 0x78
2309 # CHECK: str      b0, [x0, #255]!
2310 # CHECK: str      b3, [x3, #1]!
2311 # CHECK: str      b5, [sp, #-256]!
2312 # CHECK: str      h10, [x10, #255]!
2313 # CHECK: str      h13, [x23, #1]!
2314 # CHECK: str      h15, [sp, #-256]!
2315 # CHECK: str      s20, [x20, #255]!
2316 # CHECK: str      s23, [x23, #1]!
2317 # CHECK: str      s25, [x0, #-256]!
2318 # CHECK: str      d20, [x20, #255]!
2319 # CHECK: str      d23, [x23, #1]!
2320 # CHECK: str      d25, [x0, #-256]!
2321 0x0 0xfc 0xf 0x3c
2322 0x63 0x1c 0x0 0x3c
2323 0xe5 0xf 0x10 0x3c
2324 0x4a 0xfd 0xf 0x7c
2325 0xed 0x1e 0x0 0x7c
2326 0xef 0xf 0x10 0x7c
2327 0x94 0xfe 0xf 0xbc
2328 0xf7 0x1e 0x0 0xbc
2329 0x19 0xc 0x10 0xbc
2330 0x94 0xfe 0xf 0xfc
2331 0xf7 0x1e 0x0 0xfc
2332 0x19 0xc 0x10 0xfc
2334 # CHECK: ldr      b0, [x0, #255]!
2335 # CHECK: ldr      b3, [x3, #1]!
2336 # CHECK: ldr      b5, [sp, #-256]!
2337 # CHECK: ldr      h10, [x10, #255]!
2338 # CHECK: ldr      h13, [x23, #1]!
2339 # CHECK: ldr      h15, [sp, #-256]!
2340 # CHECK: ldr      s20, [x20, #255]!
2341 # CHECK: ldr      s23, [x23, #1]!
2342 # CHECK: ldr      s25, [x0, #-256]!
2343 # CHECK: ldr      d20, [x20, #255]!
2344 # CHECK: ldr      d23, [x23, #1]!
2345 # CHECK: ldr      d25, [x0, #-256]!
2346 0x0 0xfc 0x4f 0x3c
2347 0x63 0x1c 0x40 0x3c
2348 0xe5 0xf 0x50 0x3c
2349 0x4a 0xfd 0x4f 0x7c
2350 0xed 0x1e 0x40 0x7c
2351 0xef 0xf 0x50 0x7c
2352 0x94 0xfe 0x4f 0xbc
2353 0xf7 0x1e 0x40 0xbc
2354 0x19 0xc 0x50 0xbc
2355 0x94 0xfe 0x4f 0xfc
2356 0xf7 0x1e 0x40 0xfc
2357 0x19 0xc 0x50 0xfc
2359 # CHECK: ldr      q20, [x1, #255]!
2360 # CHECK: ldr      q23, [x9, #1]!
2361 # CHECK: ldr      q25, [x20, #-256]!
2362 # CHECK: str      q10, [x1, #255]!
2363 # CHECK: str      q22, [sp, #1]!
2364 # CHECK: str      q21, [x20, #-256]!
2365 0x34 0xfc 0xcf 0x3c
2366 0x37 0x1d 0xc0 0x3c
2367 0x99 0xe 0xd0 0x3c
2368 0x2a 0xfc 0x8f 0x3c
2369 0xf6 0x1f 0x80 0x3c
2370 0x95 0xe 0x90 0x3c
2372 #------------------------------------------------------------------------------
2373 # Load/store (unprivileged)
2374 #------------------------------------------------------------------------------
2376 # CHECK: sttrb    w9, [sp]
2377 # CHECK: sttrh    wzr, [x12, #255]
2378 # CHECK: sttr     w16, [x0, #-256]
2379 # CHECK: sttr     x28, [x14, #1]
2380 0xe9 0x0b 0x0 0x38
2381 0x9f 0xf9 0xf 0x78
2382 0x10 0x08 0x10 0xb8
2383 0xdc 0x19 0x0 0xf8
2385 # CHECK: ldtrb    w1, [x20, #255]
2386 # CHECK: ldtrh    w20, [x1, #255]
2387 # CHECK: ldtr     w12, [sp, #255]
2388 # CHECK: ldtr     xzr, [x12, #255]
2389 0x81 0xfa 0x4f 0x38
2390 0x34 0xf8 0x4f 0x78
2391 0xec 0xfb 0x4f 0xb8
2392 0x9f 0xf9 0x4f 0xf8
2394 # CHECK: ldtrsb   x9, [x7, #-256]
2395 # CHECK: ldtrsh   x17, [x19, #-256]
2396 # CHECK: ldtrsw   x20, [x15, #-256]
2397 # CHECK: ldtrsb   w19, [x1, #-256]
2398 # CHECK: ldtrsh   w15, [x21, #-256]
2399 0xe9 0x08 0x90 0x38
2400 0x71 0x0a 0x90 0x78
2401 0xf4 0x09 0x90 0xb8
2402 0x33 0x08 0xd0 0x38
2403 0xaf 0x0a 0xd0 0x78
2405 #------------------------------------------------------------------------------
2406 # Load/store (unsigned  immediate)
2407 #------------------------------------------------------------------------------
2409 # CHECK: ldr      x0, [x0]
2410 # CHECK: ldr      x4, [x29]
2411 # CHECK: ldr      x30, [x12, #32760]
2412 # CHECK: ldr      x20, [sp, #8]
2413 0x0 0x0 0x40 0xf9
2414 0xa4 0x3 0x40 0xf9
2415 0x9e 0xfd 0x7f 0xf9
2416 0xf4 0x7 0x40 0xf9
2418 # CHECK: ldr      xzr, [sp]
2419 0xff 0x3 0x40 0xf9
2421 # CHECK: ldr      w2, [sp]
2422 # CHECK: ldr      w17, [sp, #16380]
2423 # CHECK: ldr      w13, [x2, #4]
2424 0xe2 0x3 0x40 0xb9
2425 0xf1 0xff 0x7f 0xb9
2426 0x4d 0x4 0x40 0xb9
2428 # CHECK: ldrsw    x2, [x5, #4]
2429 # CHECK: ldrsw    x23, [sp, #16380]
2430 0xa2 0x4 0x80 0xb9
2431 0xf7 0xff 0xbf 0xb9
2433 # CHECK: ldrh     w2, [x4]
2434 # CHECK: ldrsh    w23, [x6, #8190]
2435 # CHECK: ldrsh    wzr, [sp, #2]
2436 # CHECK: ldrsh    x29, [x2, #2]
2437 0x82 0x0 0x40 0x79
2438 0xd7 0xfc 0xff 0x79
2439 0xff 0x7 0xc0 0x79
2440 0x5d 0x4 0x80 0x79
2442 # CHECK: ldrb     w26, [x3, #121]
2443 # CHECK: ldrb     w12, [x2]
2444 # CHECK: ldrsb    w27, [sp, #4095]
2445 # CHECK: ldrsb    xzr, [x15]
2446 0x7a 0xe4 0x41 0x39
2447 0x4c 0x0 0x40 0x39
2448 0xfb 0xff 0xff 0x39
2449 0xff 0x1 0x80 0x39
2451 # CHECK: str      x30, [sp]
2452 # CHECK: str      w20, [x4, #16380]
2453 # CHECK: strh     w20, [x10, #14]
2454 # CHECK: strh     w17, [sp, #8190]
2455 # CHECK: strb     w23, [x3, #4095]
2456 # CHECK: strb     wzr, [x2]
2457 0xfe 0x3 0x0 0xf9
2458 0x94 0xfc 0x3f 0xb9
2459 0x54 0x1d 0x0 0x79
2460 0xf1 0xff 0x3f 0x79
2461 0x77 0xfc 0x3f 0x39
2462 0x5f 0x0 0x0 0x39
2464 # CHECK: ldr      b31, [sp, #4095]
2465 # CHECK: ldr      h20, [x2, #8190]
2466 # CHECK: ldr      s10, [x19, #16380]
2467 # CHECK: ldr      d3, [x10, #32760]
2468 # CHECK: str      q12, [sp, #65520]
2469 0xff 0xff 0x7f 0x3d
2470 0x54 0xfc 0x7f 0x7d
2471 0x6a 0xfe 0x7f 0xbd
2472 0x43 0xfd 0x7f 0xfd
2473 0xec 0xff 0xbf 0x3d
2475 # CHECK: prfm    pldl1keep, [sp, #8]
2476 # CHECK: prfm    pldl1strm, [x3{{(, #0)?}}]
2477 # CHECK: prfm    pldl2keep, [x5, #16]
2478 # CHECK: prfm    pldl2strm, [x2{{(, #0)?}}]
2479 # CHECK: prfm    pldl3keep, [x5{{(, #0)?}}]
2480 # CHECK: prfm    pldl3strm, [x6{{(, #0)?}}]
2481 # CHECK: prfm    plil1keep, [sp, #8]
2482 # CHECK: prfm    plil1strm, [x3{{(, #0)?}}]
2483 # CHECK: prfm    plil2keep, [x5, #16]
2484 # CHECK: prfm    plil2strm, [x2{{(, #0)?}}]
2485 # CHECK: prfm    plil3keep, [x5{{(, #0)?}}]
2486 # CHECK: prfm    plil3strm, [x6{{(, #0)?}}]
2487 # CHECK: prfm    pstl1keep, [sp, #8]
2488 # CHECK: prfm    pstl1strm, [x3{{(, #0)?}}]
2489 # CHECK: prfm    pstl2keep, [x5, #16]
2490 # CHECK: prfm    pstl2strm, [x2{{(, #0)?}}]
2491 # CHECK: prfm    pstl3keep, [x5{{(, #0)?}}]
2492 # CHECK: prfm    pstl3strm, [x6{{(, #0)?}}]
2493 0xe0 0x07 0x80 0xf9
2494 0x61 0x00 0x80 0xf9
2495 0xa2 0x08 0x80 0xf9
2496 0x43 0x00 0x80 0xf9
2497 0xa4 0x00 0x80 0xf9
2498 0xc5 0x00 0x80 0xf9
2499 0xe8 0x07 0x80 0xf9
2500 0x69 0x00 0x80 0xf9
2501 0xaa 0x08 0x80 0xf9
2502 0x4b 0x00 0x80 0xf9
2503 0xac 0x00 0x80 0xf9
2504 0xcd 0x00 0x80 0xf9
2505 0xf0 0x07 0x80 0xf9
2506 0x71 0x00 0x80 0xf9
2507 0xb2 0x08 0x80 0xf9
2508 0x53 0x00 0x80 0xf9
2509 0xb4 0x00 0x80 0xf9
2510 0xd5 0x00 0x80 0xf9
2513 #------------------------------------------------------------------------------
2514 # Load/store (register offset)
2515 #------------------------------------------------------------------------------
2517 # CHECK: ldrb     w3, [sp, x5]
2518 # CHECK: ldrb     w9, [x27, x6]
2519 # CHECK: ldrsb    w10, [x30, x7]
2520 # CHECK: ldrb     w11, [x29, x3, sxtx]
2521 # CHECK: strb     w12, [x28, xzr, sxtx]
2522 # CHECK: ldrb     w14, [x26, w6, uxtw]
2523 # CHECK: ldrsb    w15, [x25, w7, uxtw]
2524 # CHECK: ldrb     w17, [x23, w9, sxtw]
2525 # CHECK: ldrsb    x18, [x22, w10, sxtw]
2526 0xe3 0x6b 0x65 0x38
2527 0x69 0x6b 0x66 0x38
2528 0xca 0x6b 0xe7 0x38
2529 0xab 0xeb 0x63 0x38
2530 0x8c 0xeb 0x3f 0x38
2531 0x4e 0x4b 0x66 0x38
2532 0x2f 0x4b 0xe7 0x38
2533 0xf1 0xca 0x69 0x38
2534 0xd2 0xca 0xaa 0x38
2536 # CHECK: ldrsh    w3, [sp, x5]
2537 # CHECK: ldrsh    w9, [x27, x6]
2538 # CHECK: ldrh     w10, [x30, x7, lsl #1]
2539 # CHECK: strh     w11, [x29, x3, sxtx]
2540 # CHECK: ldrh     w12, [x28, xzr, sxtx]
2541 # CHECK: ldrsh    x13, [x27, x5, sxtx #1]
2542 # CHECK: ldrh     w14, [x26, w6, uxtw]
2543 # CHECK: ldrh     w15, [x25, w7, uxtw]
2544 # CHECK: ldrsh    w16, [x24, w8, uxtw #1]
2545 # CHECK: ldrh     w17, [x23, w9, sxtw]
2546 # CHECK: ldrh     w18, [x22, w10, sxtw]
2547 # CHECK: strh     w19, [x21, wzr, sxtw #1]
2548 0xe3 0x6b 0xe5 0x78
2549 0x69 0x6b 0xe6 0x78
2550 0xca 0x7b 0x67 0x78
2551 0xab 0xeb 0x23 0x78
2552 0x8c 0xeb 0x7f 0x78
2553 0x6d 0xfb 0xa5 0x78
2554 0x4e 0x4b 0x66 0x78
2555 0x2f 0x4b 0x67 0x78
2556 0x10 0x5b 0xe8 0x78
2557 0xf1 0xca 0x69 0x78
2558 0xd2 0xca 0x6a 0x78
2559 0xb3 0xda 0x3f 0x78
2561 # CHECK: ldr      w3, [sp, x5]
2562 # CHECK: ldr      s9, [x27, x6]
2563 # CHECK: ldr      w10, [x30, x7, lsl #2]
2564 # CHECK: ldr      w11, [x29, x3, sxtx]
2565 # CHECK: str      s12, [x28, xzr, sxtx]
2566 # CHECK: str      w13, [x27, x5, sxtx #2]
2567 # CHECK: str      w14, [x26, w6, uxtw]
2568 # CHECK: ldr      w15, [x25, w7, uxtw]
2569 # CHECK: ldr      w16, [x24, w8, uxtw #2]
2570 # CHECK: ldrsw    x17, [x23, w9, sxtw]
2571 # CHECK: ldr      w18, [x22, w10, sxtw]
2572 # CHECK: ldrsw    x19, [x21, wzr, sxtw #2]
2573 0xe3 0x6b 0x65 0xb8
2574 0x69 0x6b 0x66 0xbc
2575 0xca 0x7b 0x67 0xb8
2576 0xab 0xeb 0x63 0xb8
2577 0x8c 0xeb 0x3f 0xbc
2578 0x6d 0xfb 0x25 0xb8
2579 0x4e 0x4b 0x26 0xb8
2580 0x2f 0x4b 0x67 0xb8
2581 0x10 0x5b 0x68 0xb8
2582 0xf1 0xca 0xa9 0xb8
2583 0xd2 0xca 0x6a 0xb8
2584 0xb3 0xda 0xbf 0xb8
2586 # CHECK: ldr      x3, [sp, x5]
2587 # CHECK: str      x9, [x27, x6]
2588 # CHECK: ldr      d10, [x30, x7, lsl #3]
2589 # CHECK: str      x11, [x29, x3, sxtx]
2590 # CHECK: ldr      x12, [x28, xzr, sxtx]
2591 # CHECK: ldr      x13, [x27, x5, sxtx #3]
2592 # CHECK: prfm     pldl1keep, [x26, w6, uxtw]
2593 # CHECK: ldr      x15, [x25, w7, uxtw]
2594 # CHECK: ldr      x16, [x24, w8, uxtw #3]
2595 # CHECK: ldr      x17, [x23, w9, sxtw]
2596 # CHECK: ldr      x18, [x22, w10, sxtw]
2597 # CHECK: str      d19, [x21, wzr, sxtw #3]
2598 0xe3 0x6b 0x65 0xf8
2599 0x69 0x6b 0x26 0xf8
2600 0xca 0x7b 0x67 0xfc
2601 0xab 0xeb 0x23 0xf8
2602 0x8c 0xeb 0x7f 0xf8
2603 0x6d 0xfb 0x65 0xf8
2604 0x40 0x4b 0xa6 0xf8
2605 0x2f 0x4b 0x67 0xf8
2606 0x10 0x5b 0x68 0xf8
2607 0xf1 0xca 0x69 0xf8
2608 0xd2 0xca 0x6a 0xf8
2609 0xb3 0xda 0x3f 0xfc
2611 # CHECK: ldr      q3, [sp, x5]
2612 # CHECK: ldr      q9, [x27, x6]
2613 # CHECK: ldr      q10, [x30, x7, lsl #4]
2614 # CHECK: str      q11, [x29, x3, sxtx]
2615 # CHECK: str      q12, [x28, xzr, sxtx]
2616 # CHECK: str      q13, [x27, x5, sxtx #4]
2617 # CHECK: ldr      q14, [x26, w6, uxtw]
2618 # CHECK: ldr      q15, [x25, w7, uxtw]
2619 # CHECK: ldr      q16, [x24, w8, uxtw #4]
2620 # CHECK: ldr      q17, [x23, w9, sxtw]
2621 # CHECK: str      q18, [x22, w10, sxtw]
2622 # CHECK: ldr      q19, [x21, wzr, sxtw #4]
2623 0xe3 0x6b 0xe5 0x3c
2624 0x69 0x6b 0xe6 0x3c
2625 0xca 0x7b 0xe7 0x3c
2626 0xab 0xeb 0xa3 0x3c
2627 0x8c 0xeb 0xbf 0x3c
2628 0x6d 0xfb 0xa5 0x3c
2629 0x4e 0x4b 0xe6 0x3c
2630 0x2f 0x4b 0xe7 0x3c
2631 0x10 0x5b 0xe8 0x3c
2632 0xf1 0xca 0xe9 0x3c
2633 0xd2 0xca 0xaa 0x3c
2634 0xb3 0xda 0xff 0x3c
2636 #------------------------------------------------------------------------------
2637 # Load/store register pair (offset)
2638 #------------------------------------------------------------------------------
2640 # CHECK: ldp      w3, w5, [sp]
2641 # CHECK: stp      wzr, w9, [sp, #252]
2642 # CHECK: ldp      w2, wzr, [sp, #-256]
2643 # CHECK: ldp      w9, w10, [sp, #4]
2644 0xe3 0x17 0x40 0x29
2645 0xff 0xa7 0x1f 0x29
2646 0xe2 0x7f 0x60 0x29
2647 0xe9 0xab 0x40 0x29
2649 # CHECK: ldpsw    x9, x10, [sp, #4]
2650 # CHECK: ldpsw    x9, x10, [x2, #-256]
2651 # CHECK: ldpsw    x20, x30, [sp, #252]
2652 0xe9 0xab 0x40 0x69
2653 0x49 0x28 0x60 0x69
2654 0xf4 0xfb 0x5f 0x69
2656 # CHECK: ldp      x21, x29, [x2, #504]
2657 # CHECK: ldp      x22, x23, [x3, #-512]
2658 # CHECK: ldp      x24, x25, [x4, #8]
2659 0x55 0xf4 0x5f 0xa9
2660 0x76 0x5c 0x60 0xa9
2661 0x98 0xe4 0x40 0xa9
2663 # CHECK: ldp      s29, s28, [sp, #252]
2664 # CHECK: stp      s27, s26, [sp, #-256]
2665 # CHECK: ldp      s1, s2, [x3, #44]
2666 0xfd 0xf3 0x5f 0x2d
2667 0xfb 0x6b 0x20 0x2d
2668 0x61 0x88 0x45 0x2d
2670 # CHECK: stp      d3, d5, [x9, #504]
2671 # CHECK: stp      d7, d11, [x10, #-512]
2672 # CHECK: ldp      d2, d3, [x30, #-8]
2673 0x23 0x95 0x1f 0x6d
2674 0x47 0x2d 0x20 0x6d
2675 0xc2 0x8f 0x7f 0x6d
2677 # CHECK: stp      q3, q5, [sp]
2678 # CHECK: stp      q17, q19, [sp, #1008]
2679 # CHECK: ldp      q23, q29, [x1, #-1024]
2680 0xe3 0x17 0x0 0xad
2681 0xf1 0xcf 0x1f 0xad
2682 0x37 0x74 0x60 0xad
2684 #------------------------------------------------------------------------------
2685 # Load/store register pair (post-indexed)
2686 #------------------------------------------------------------------------------
2688 # CHECK: ldp      w3, w5, [sp], #0
2689 # CHECK: stp      wzr, w9, [sp], #252
2690 # CHECK: ldp      w2, wzr, [sp], #-256
2691 # CHECK: ldp      w9, w10, [sp], #4
2692 0xe3 0x17 0xc0 0x28
2693 0xff 0xa7 0x9f 0x28
2694 0xe2 0x7f 0xe0 0x28
2695 0xe9 0xab 0xc0 0x28
2697 # CHECK: ldpsw    x9, x10, [sp], #4
2698 # CHECK: ldpsw    x9, x10, [x2], #-256
2699 # CHECK: ldpsw    x20, x30, [sp], #252
2700 0xe9 0xab 0xc0 0x68
2701 0x49 0x28 0xe0 0x68
2702 0xf4 0xfb 0xdf 0x68
2704 # CHECK: ldp      x21, x29, [x2], #504
2705 # CHECK: ldp      x22, x23, [x3], #-512
2706 # CHECK: ldp      x24, x25, [x4], #8
2707 0x55 0xf4 0xdf 0xa8
2708 0x76 0x5c 0xe0 0xa8
2709 0x98 0xe4 0xc0 0xa8
2711 # CHECK: ldp      s29, s28, [sp], #252
2712 # CHECK: stp      s27, s26, [sp], #-256
2713 # CHECK: ldp      s1, s2, [x3], #44
2714 0xfd 0xf3 0xdf 0x2c
2715 0xfb 0x6b 0xa0 0x2c
2716 0x61 0x88 0xc5 0x2c
2718 # CHECK: stp      d3, d5, [x9], #504
2719 # CHECK: stp      d7, d11, [x10], #-512
2720 # CHECK: ldp      d2, d3, [x30], #-8
2721 0x23 0x95 0x9f 0x6c
2722 0x47 0x2d 0xa0 0x6c
2723 0xc2 0x8f 0xff 0x6c
2725 # CHECK: stp      q3, q5, [sp], #0
2726 # CHECK: stp      q17, q19, [sp], #1008
2727 # CHECK: ldp      q23, q29, [x1], #-1024
2728 0xe3 0x17 0x80 0xac
2729 0xf1 0xcf 0x9f 0xac
2730 0x37 0x74 0xe0 0xac
2732 #------------------------------------------------------------------------------
2733 # Load/store register pair (pre-indexed)
2734 #------------------------------------------------------------------------------
2736 # CHECK: ldp      w3, w5, [sp, #0]!
2737 # CHECK: stp      wzr, w9, [sp, #252]!
2738 # CHECK: ldp      w2, wzr, [sp, #-256]!
2739 # CHECK: ldp      w9, w10, [sp, #4]!
2740 0xe3 0x17 0xc0 0x29
2741 0xff 0xa7 0x9f 0x29
2742 0xe2 0x7f 0xe0 0x29
2743 0xe9 0xab 0xc0 0x29
2745 # CHECK: ldpsw    x9, x10, [sp, #4]!
2746 # CHECK: ldpsw    x9, x10, [x2, #-256]!
2747 # CHECK: ldpsw    x20, x30, [sp, #252]!
2748 0xe9 0xab 0xc0 0x69
2749 0x49 0x28 0xe0 0x69
2750 0xf4 0xfb 0xdf 0x69
2752 # CHECK: ldp      x21, x29, [x2, #504]!
2753 # CHECK: ldp      x22, x23, [x3, #-512]!
2754 # CHECK: ldp      x24, x25, [x4, #8]!
2755 0x55 0xf4 0xdf 0xa9
2756 0x76 0x5c 0xe0 0xa9
2757 0x98 0xe4 0xc0 0xa9
2759 # CHECK: ldp      s29, s28, [sp, #252]!
2760 # CHECK: stp      s27, s26, [sp, #-256]!
2761 # CHECK: ldp      s1, s2, [x3, #44]!
2762 0xfd 0xf3 0xdf 0x2d
2763 0xfb 0x6b 0xa0 0x2d
2764 0x61 0x88 0xc5 0x2d
2766 # CHECK: stp      d3, d5, [x9, #504]!
2767 # CHECK: stp      d7, d11, [x10, #-512]!
2768 # CHECK: ldp      d2, d3, [x30, #-8]!
2769 0x23 0x95 0x9f 0x6d
2770 0x47 0x2d 0xa0 0x6d
2771 0xc2 0x8f 0xff 0x6d
2773 # CHECK: stp      q3, q5, [sp, #0]!
2774 # CHECK: stp      q17, q19, [sp, #1008]!
2775 # CHECK: ldp      q23, q29, [x1, #-1024]!
2776 0xe3 0x17 0x80 0xad
2777 0xf1 0xcf 0x9f 0xad
2778 0x37 0x74 0xe0 0xad
2780 #------------------------------------------------------------------------------
2781 # Load/store register pair (offset)
2782 #------------------------------------------------------------------------------
2784 # CHECK: ldnp      w3, w5, [sp]
2785 # CHECK: stnp      wzr, w9, [sp, #252]
2786 # CHECK: ldnp      w2, wzr, [sp, #-256]
2787 # CHECK: ldnp      w9, w10, [sp, #4]
2788 0xe3 0x17 0x40 0x28
2789 0xff 0xa7 0x1f 0x28
2790 0xe2 0x7f 0x60 0x28
2791 0xe9 0xab 0x40 0x28
2793 # CHECK: ldnp      x21, x29, [x2, #504]
2794 # CHECK: ldnp      x22, x23, [x3, #-512]
2795 # CHECK: ldnp      x24, x25, [x4, #8]
2796 0x55 0xf4 0x5f 0xa8
2797 0x76 0x5c 0x60 0xa8
2798 0x98 0xe4 0x40 0xa8
2800 # CHECK: ldnp      s29, s28, [sp, #252]
2801 # CHECK: stnp      s27, s26, [sp, #-256]
2802 # CHECK: ldnp      s1, s2, [x3, #44]
2803 0xfd 0xf3 0x5f 0x2c
2804 0xfb 0x6b 0x20 0x2c
2805 0x61 0x88 0x45 0x2c
2807 # CHECK: stnp      d3, d5, [x9, #504]
2808 # CHECK: stnp      d7, d11, [x10, #-512]
2809 # CHECK: ldnp      d2, d3, [x30, #-8]
2810 0x23 0x95 0x1f 0x6c
2811 0x47 0x2d 0x20 0x6c
2812 0xc2 0x8f 0x7f 0x6c
2814 # CHECK: stnp      q3, q5, [sp]
2815 # CHECK: stnp      q17, q19, [sp, #1008]
2816 # CHECK: ldnp      q23, q29, [x1, #-1024]
2817 0xe3 0x17 0x0 0xac
2818 0xf1 0xcf 0x1f 0xac
2819 0x37 0x74 0x60 0xac
2821 #------------------------------------------------------------------------------
2822 # Logical (immediate)
2823 #------------------------------------------------------------------------------
2824 # CHECK: orr      w3, w9, #0xffff0000
2825 # CHECK: orr      wsp, w10, #0xe00000ff
2826 # CHECK: orr      w9, w10, #0x3ff
2827 0x23 0x3d 0x10 0x32
2828 0x5f 0x29 0x3 0x32
2829 0x49 0x25 0x0 0x32
2831 # CHECK: and      w14, w15, #0x80008000
2832 # CHECK: and      w12, w13, #0xffc3ffc3
2833 # CHECK: and      w11, wzr, #0x30003
2834 0xee 0x81 0x1 0x12
2835 0xac 0xad 0xa 0x12
2836 0xeb 0x87 0x0 0x12
2838 # CHECK: eor      w3, w6, #0xe0e0e0e0
2839 # CHECK: eor      wsp, wzr, #0x3030303
2840 # CHECK: eor      w16, w17, #0x81818181
2841 0xc3 0xc8 0x3 0x52
2842 0xff 0xc7 0x0 0x52
2843 0x30 0xc6 0x1 0x52
2845 # CHECK: {{ands     wzr,|tst}} w18, #0xcccccccc
2846 # CHECK: ands     w19, w20, #0x33333333
2847 # CHECK: ands     w21, w22, #0x99999999
2848 0x5f 0xe6 0x2 0x72
2849 0x93 0xe6 0x0 0x72
2850 0xd5 0xe6 0x1 0x72
2852 # CHECK: {{ands     wzr,|tst}} w3, #0xaaaaaaaa
2853 # CHECK: {{ands     wzr,|tst}} wzr, #0x55555555
2854 0x7f 0xf0 0x1 0x72
2855 0xff 0xf3 0x0 0x72
2857 # CHECK: eor      x3, x5, #0xffffffffc000000
2858 # CHECK: and      x9, x10, #0x7fffffffffff
2859 # CHECK: orr      x11, x12, #0x8000000000000fff
2860 0xa3 0x84 0x66 0xd2
2861 0x49 0xb9 0x40 0x92
2862 0x8b 0x31 0x41 0xb2
2864 # CHECK: orr      x3, x9, #0xffff0000ffff0000
2865 # CHECK: orr      sp, x10, #0xe00000ffe00000ff
2866 # CHECK: orr      x9, x10, #0x3ff000003ff
2867 0x23 0x3d 0x10 0xb2
2868 0x5f 0x29 0x3 0xb2
2869 0x49 0x25 0x0 0xb2
2871 # CHECK: and      x14, x15, #0x8000800080008000
2872 # CHECK: and      x12, x13, #0xffc3ffc3ffc3ffc3
2873 # CHECK: and      x11, xzr, #0x3000300030003
2874 0xee 0x81 0x1 0x92
2875 0xac 0xad 0xa 0x92
2876 0xeb 0x87 0x0 0x92
2878 # CHECK: eor      x3, x6, #0xe0e0e0e0e0e0e0e0
2879 # CHECK: eor      sp, xzr, #0x303030303030303
2880 # CHECK: eor      x16, x17, #0x8181818181818181
2881 0xc3 0xc8 0x3 0xd2
2882 0xff 0xc7 0x0 0xd2
2883 0x30 0xc6 0x1 0xd2
2885 # CHECK: {{ands     xzr,|tst}} x18, #0xcccccccccccccccc
2886 # CHECK: ands     x19, x20, #0x3333333333333333
2887 # CHECK: ands     x21, x22, #0x9999999999999999
2888 0x5f 0xe6 0x2 0xf2
2889 0x93 0xe6 0x0 0xf2
2890 0xd5 0xe6 0x1 0xf2
2892 # CHECK: {{ands     xzr,|tst}} x3, #0xaaaaaaaaaaaaaaaa
2893 # CHECK: {{ands     xzr,|tst}} xzr, #0x5555555555555555
2894 0x7f 0xf0 0x1 0xf2
2895 0xff 0xf3 0x0 0xf2
2897 # CHECK: mov      w3, #983055
2898 # CHECK: mov      x10, #-6148914691236517206
2899 0xe3 0x8f 0x0 0x32
2900 0xea 0xf3 0x1 0xb2
2902 # CHECK: orr      w3, wzr, #0xffff
2903 # CHECK: orr      x9, xzr, #0xffff00000000
2904 0xe3 0x3f 0x0 0x32
2905 0xe9 0x3f 0x60 0xb2
2907 #------------------------------------------------------------------------------
2908 # Logical (shifted register)
2909 #------------------------------------------------------------------------------
2911 # CHECK: and      w12, w23, w21
2912 # CHECK: and      w16, w15, w1, lsl #1
2913 # CHECK: and      w9, w4, w10, lsl #31
2914 # CHECK: and      w3, w30, w11
2915 # CHECK: and      x3, x5, x7, lsl #63
2916 0xec 0x2 0x15 0xa
2917 0xf0 0x5 0x1 0xa
2918 0x89 0x7c 0xa 0xa
2919 0xc3 0x3 0xb 0xa
2920 0xa3 0xfc 0x7 0x8a
2922 # CHECK: and      x5, x14, x19, asr #4
2923 # CHECK: and      w3, w17, w19, ror #31
2924 # CHECK: and      w0, w2, wzr, lsr #17
2925 # CHECK: and      w3, w30, w11, asr
2926 0xc5 0x11 0x93 0x8a
2927 0x23 0x7e 0xd3 0xa
2928 0x40 0x44 0x5f 0xa
2929 0xc3 0x3 0x8b 0xa
2931 # CHECK: and      xzr, x4, x26
2932 # CHECK: and      w3, wzr, w20, ror
2933 # CHECK: and      x7, x20, xzr, asr #63
2934 0x9f 0x0 0x1a 0x8a
2935 0xe3 0x3 0xd4 0xa
2936 0x87 0xfe 0x9f 0x8a
2938 # CHECK: bic      x13, x20, x14, lsl #47
2939 # CHECK: bic      w2, w7, w9
2940 # CHECK: orr      w2, w7, w0, asr #31
2941 # CHECK: orr      x8, x9, x10, lsl #12
2942 # CHECK: orn      x3, x5, x7, asr
2943 # CHECK: orn      w2, w5, w29
2944 0x8d 0xbe 0x2e 0x8a
2945 0xe2 0x0 0x29 0xa
2946 0xe2 0x7c 0x80 0x2a
2947 0x28 0x31 0xa 0xaa
2948 0xa3 0x0 0xa7 0xaa
2949 0xa2 0x0 0x3d 0x2a
2951 # CHECK: ands     w7, wzr, w9, lsl #1
2952 # CHECK: ands     x3, x5, x20, ror #63
2953 # CHECK: bics     w3, w5, w7
2954 # CHECK: bics     x3, xzr, x3, lsl #1
2955 # CHECK: tst      w3, w7, lsl #31
2956 # CHECK: tst      x2, x20, asr
2957 0xe7 0x7 0x9 0x6a
2958 0xa3 0xfc 0xd4 0xea
2959 0xa3 0x0 0x27 0x6a
2960 0xe3 0x7 0x23 0xea
2961 0x7f 0x7c 0x7 0x6a
2962 0x5f 0x0 0x94 0xea
2964 # CHECK: mov      x3, x6
2965 # CHECK: mov      x3, xzr
2966 # CHECK: mov      wzr, w2
2967 # CHECK: mov      w3, w5
2968 0xe3 0x3 0x6 0xaa
2969 0xe3 0x3 0x1f 0xaa
2970 0xff 0x3 0x2 0x2a
2971 0xe3 0x3 0x5 0x2a
2973 #------------------------------------------------------------------------------
2974 # Move wide (immediate)
2975 #------------------------------------------------------------------------------
2977 # N.b. (FIXME) canonical aliases aren't produced here because of
2978 # limitation in InstAlias. Lots of the "mov[nz]" instructions should
2979 # be "mov".
2981 # CHECK: mov     w1, #{{65535|0xffff}}
2982 # CHECK: movz     w2, #0, lsl #16
2983 # CHECK: mov     w2, #-1235
2984 0xe1 0xff 0x9f 0x52
2985 0x2 0x0 0xa0 0x52
2986 0x42 0x9a 0x80 0x12
2988 # CHECK: mov     x2, #5299989643264
2989 # CHECK: movk     xzr, #{{4321|0x10e1}}, lsl #48
2990 0x42 0x9a 0xc0 0xd2
2991 0x3f 0x1c 0xe2 0xf2
2993 # CHECK: mov      x2, #0
2994 # CHECK: movk     w3, #0
2995 # CHECK: movz     x4, #0, lsl #16
2996 # CHECK: movk     w5, #0, lsl #16
2997 # CHECK: movz     x6, #0, lsl #32
2998 # CHECK: movk     x7, #0, lsl #32
2999 # CHECK: movz     x8, #0, lsl #48
3000 # CHECK: movk     x9, #0, lsl #48
3001 0x2 0x0 0x80 0xd2
3002 0x3 0x0 0x80 0x72
3003 0x4 0x0 0xa0 0xd2
3004 0x5 0x0 0xa0 0x72
3005 0x6 0x0 0xc0 0xd2
3006 0x7 0x0 0xc0 0xf2
3007 0x8 0x0 0xe0 0xd2
3008 0x9 0x0 0xe0 0xf2
3010 #------------------------------------------------------------------------------
3011 # PC-relative addressing
3012 #------------------------------------------------------------------------------
3014 # It's slightly dodgy using immediates here, but harmless enough when
3015 # it's all that's available.
3017 # CHECK: adr      x2, #1600
3018 # CHECK: adrp     x21, #6553600
3019 # CHECK: adr      x0, #262144
3020 0x02 0x32 0x00 0x10
3021 0x15 0x32 0x00 0x90
3022 0x00 0x00 0x20 0x10
3024 #------------------------------------------------------------------------------
3025 # System
3026 #------------------------------------------------------------------------------
3028 # CHECK: nop
3029 # CHECK: hint     #{{127|0x7f}}
3030 # CHECK: nop
3031 # CHECK: yield
3032 # CHECK: wfe
3033 # CHECK: wfi
3034 # CHECK: sev
3035 # CHECK: sevl
3036 # CHECK: dgh
3037 0x1f 0x20 0x3 0xd5
3038 0xff 0x2f 0x3 0xd5
3039 0x1f 0x20 0x3 0xd5
3040 0x3f 0x20 0x3 0xd5
3041 0x5f 0x20 0x3 0xd5
3042 0x7f 0x20 0x3 0xd5
3043 0x9f 0x20 0x3 0xd5
3044 0xbf 0x20 0x3 0xd5
3045 0xdf,0x20,0x3,0xd5
3047 # CHECK: clrex
3048 # CHECK: clrex    #0
3049 # CHECK: clrex    #7
3050 # CHECK: clrex
3051 0x5f 0x3f 0x3 0xd5
3052 0x5f 0x30 0x3 0xd5
3053 0x5f 0x37 0x3 0xd5
3054 0x5f 0x3f 0x3 0xd5
3056 # CHECK: dsb      #12
3057 # CHECK: dsb      sy
3058 # CHECK: dsb      oshld
3059 # CHECK: dsb      oshst
3060 # CHECK: dsb      osh
3061 # CHECK: dsb      nshld
3062 # CHECK: dsb      nshst
3063 # CHECK: dsb      nsh
3064 # CHECK: dsb      ishld
3065 # CHECK: dsb      ishst
3066 # CHECK: dsb      ish
3067 # CHECK: dsb      ld
3068 # CHECK: dsb      st
3069 # CHECK: dsb      sy
3070 0x9f 0x3c 0x3 0xd5
3071 0x9f 0x3f 0x3 0xd5
3072 0x9f 0x31 0x3 0xd5
3073 0x9f 0x32 0x3 0xd5
3074 0x9f 0x33 0x3 0xd5
3075 0x9f 0x35 0x3 0xd5
3076 0x9f 0x36 0x3 0xd5
3077 0x9f 0x37 0x3 0xd5
3078 0x9f 0x39 0x3 0xd5
3079 0x9f 0x3a 0x3 0xd5
3080 0x9f 0x3b 0x3 0xd5
3081 0x9f 0x3d 0x3 0xd5
3082 0x9f 0x3e 0x3 0xd5
3083 0x9f 0x3f 0x3 0xd5
3085 # CHECK: dmb      #0
3086 # CHECK: dmb      #12
3087 # CHECK: dmb      sy
3088 # CHECK: dmb      oshld
3089 # CHECK: dmb      oshst
3090 # CHECK: dmb      osh
3091 # CHECK: dmb      nshld
3092 # CHECK: dmb      nshst
3093 # CHECK: dmb      nsh
3094 # CHECK: dmb      ishld
3095 # CHECK: dmb      ishst
3096 # CHECK: dmb      ish
3097 # CHECK: dmb      ld
3098 # CHECK: dmb      st
3099 # CHECK: dmb      sy
3100 0xbf 0x30 0x3 0xd5
3101 0xbf 0x3c 0x3 0xd5
3102 0xbf 0x3f 0x3 0xd5
3103 0xbf 0x31 0x3 0xd5
3104 0xbf 0x32 0x3 0xd5
3105 0xbf 0x33 0x3 0xd5
3106 0xbf 0x35 0x3 0xd5
3107 0xbf 0x36 0x3 0xd5
3108 0xbf 0x37 0x3 0xd5
3109 0xbf 0x39 0x3 0xd5
3110 0xbf 0x3a 0x3 0xd5
3111 0xbf 0x3b 0x3 0xd5
3112 0xbf 0x3d 0x3 0xd5
3113 0xbf 0x3e 0x3 0xd5
3114 0xbf 0x3f 0x3 0xd5
3116 # CHECK: isb
3117 # CHECK: isb      #12
3118 0xdf 0x3f 0x3 0xd5
3119 0xdf 0x3c 0x3 0xd5
3121 # CHECK: msr      {{SPSel|SPSEL}}, #0
3122 # CHECK: msr      {{DAIFSet|DAIFSET}}, #15
3123 # CHECK: msr      {{DAIFClr|DAIFCLR}}, #12
3124 0xbf 0x40 0x0 0xd5
3125 0xdf 0x4f 0x3 0xd5
3126 0xff 0x4c 0x3 0xd5
3128 # CHECK: sys      #7, c5, c9, #7, x5
3129 # CHECK: sys      #0, c15, c15, #2
3130 # CHECK: sysl     x9, #7, c5, c9, #7
3131 # CHECK: sysl     x1, #0, c15, c15, #2
3132 0xe5 0x59 0xf 0xd5
3133 0x5f 0xff 0x8 0xd5
3134 0xe9 0x59 0x2f 0xd5
3135 0x41 0xff 0x28 0xd5
3137 # CHECK: {{sys     #0, c7, c1, #0|ic ialluis}}
3138 # CHECK: {{sys     #0, c7, c5, #0|ic iallu}}
3139 # CHECK: {{sys     #3, c7, c5, #1|ic ivau}}, x9
3140 0x1f 0x71 0x8 0xd5
3141 0x1f 0x75 0x8 0xd5
3142 0x29 0x75 0xb 0xd5
3144 # CHECK: {{sys     #3, c7, c4, #1|dc zva}}, x12
3145 # CHECK: {{sys     #0, c7, c6, #1|dc ivac}}
3146 # CHECK: {{sys     #0, c7, c6, #2|dc isw}}, x2
3147 # CHECK: {{sys     #3, c7, c10, #1|dc cvac}}, x9
3148 # CHECK: {{sys     #0, c7, c10, #2|dc csw}}, x10
3149 # CHECK: {{sys     #3, c7, c11, #1|dc cvau}}, x0
3150 # CHECK: {{sys     #3, c7, c14, #1|dc civac}}, x3
3151 # CHECK: {{sys     #0, c7, c14, #2|dc cisw}}, x30
3152 0x2c 0x74 0xb 0xd5
3153 0x3f 0x76 0x8 0xd5
3154 0x42 0x76 0x8 0xd5
3155 0x29 0x7a 0xb 0xd5
3156 0x4a 0x7a 0x8 0xd5
3157 0x20 0x7b 0xb 0xd5
3158 0x23 0x7e 0xb 0xd5
3159 0x5e 0x7e 0x8 0xd5
3162 # CHECK: msr      {{teecr32_el1|TEECR32_EL1}}, x12
3163 # CHECK: msr      {{osdtrrx_el1|OSDTRRX_EL1}}, x12
3164 # CHECK: msr      {{mdccint_el1|MDCCINT_EL1}}, x12
3165 # CHECK: msr      {{mdscr_el1|MDSCR_EL1}}, x12
3166 # CHECK: msr      {{osdtrtx_el1|OSDTRTX_EL1}}, x12
3167 # CHECK: msr      {{dbgdtr_el0|DBGDTR_EL0}}, x12
3168 # CHECK: msr      {{dbgdtrtx_el0|DBGDTRTX_EL0}}, x12
3169 # CHECK: msr      {{oseccr_el1|OSECCR_EL1}}, x12
3170 # CHECK: msr      {{dbgvcr32_el2|DBGVCR32_EL2}}, x12
3171 # CHECK: msr      {{dbgbvr0_el1|DBGBVR0_EL1}}, x12
3172 # CHECK: msr      {{dbgbvr1_el1|DBGBVR1_EL1}}, x12
3173 # CHECK: msr      {{dbgbvr2_el1|DBGBVR2_EL1}}, x12
3174 # CHECK: msr      {{dbgbvr3_el1|DBGBVR3_EL1}}, x12
3175 # CHECK: msr      {{dbgbvr4_el1|DBGBVR4_EL1}}, x12
3176 # CHECK: msr      {{dbgbvr5_el1|DBGBVR5_EL1}}, x12
3177 # CHECK: msr      {{dbgbvr6_el1|DBGBVR6_EL1}}, x12
3178 # CHECK: msr      {{dbgbvr7_el1|DBGBVR7_EL1}}, x12
3179 # CHECK: msr      {{dbgbvr8_el1|DBGBVR8_EL1}}, x12
3180 # CHECK: msr      {{dbgbvr9_el1|DBGBVR9_EL1}}, x12
3181 # CHECK: msr      {{dbgbvr10_el1|DBGBVR10_EL1}}, x12
3182 # CHECK: msr      {{dbgbvr11_el1|DBGBVR11_EL1}}, x12
3183 # CHECK: msr      {{dbgbvr12_el1|DBGBVR12_EL1}}, x12
3184 # CHECK: msr      {{dbgbvr13_el1|DBGBVR13_EL1}}, x12
3185 # CHECK: msr      {{dbgbvr14_el1|DBGBVR14_EL1}}, x12
3186 # CHECK: msr      {{dbgbvr15_el1|DBGBVR15_EL1}}, x12
3187 # CHECK: msr      {{dbgbcr0_el1|DBGBCR0_EL1}}, x12
3188 # CHECK: msr      {{dbgbcr1_el1|DBGBCR1_EL1}}, x12
3189 # CHECK: msr      {{dbgbcr2_el1|DBGBCR2_EL1}}, x12
3190 # CHECK: msr      {{dbgbcr3_el1|DBGBCR3_EL1}}, x12
3191 # CHECK: msr      {{dbgbcr4_el1|DBGBCR4_EL1}}, x12
3192 # CHECK: msr      {{dbgbcr5_el1|DBGBCR5_EL1}}, x12
3193 # CHECK: msr      {{dbgbcr6_el1|DBGBCR6_EL1}}, x12
3194 # CHECK: msr      {{dbgbcr7_el1|DBGBCR7_EL1}}, x12
3195 # CHECK: msr      {{dbgbcr8_el1|DBGBCR8_EL1}}, x12
3196 # CHECK: msr      {{dbgbcr9_el1|DBGBCR9_EL1}}, x12
3197 # CHECK: msr      {{dbgbcr10_el1|DBGBCR10_EL1}}, x12
3198 # CHECK: msr      {{dbgbcr11_el1|DBGBCR11_EL1}}, x12
3199 # CHECK: msr      {{dbgbcr12_el1|DBGBCR12_EL1}}, x12
3200 # CHECK: msr      {{dbgbcr13_el1|DBGBCR13_EL1}}, x12
3201 # CHECK: msr      {{dbgbcr14_el1|DBGBCR14_EL1}}, x12
3202 # CHECK: msr      {{dbgbcr15_el1|DBGBCR15_EL1}}, x12
3203 # CHECK: msr      {{dbgwvr0_el1|DBGWVR0_EL1}}, x12
3204 # CHECK: msr      {{dbgwvr1_el1|DBGWVR1_EL1}}, x12
3205 # CHECK: msr      {{dbgwvr2_el1|DBGWVR2_EL1}}, x12
3206 # CHECK: msr      {{dbgwvr3_el1|DBGWVR3_EL1}}, x12
3207 # CHECK: msr      {{dbgwvr4_el1|DBGWVR4_EL1}}, x12
3208 # CHECK: msr      {{dbgwvr5_el1|DBGWVR5_EL1}}, x12
3209 # CHECK: msr      {{dbgwvr6_el1|DBGWVR6_EL1}}, x12
3210 # CHECK: msr      {{dbgwvr7_el1|DBGWVR7_EL1}}, x12
3211 # CHECK: msr      {{dbgwvr8_el1|DBGWVR8_EL1}}, x12
3212 # CHECK: msr      {{dbgwvr9_el1|DBGWVR9_EL1}}, x12
3213 # CHECK: msr      {{dbgwvr10_el1|DBGWVR10_EL1}}, x12
3214 # CHECK: msr      {{dbgwvr11_el1|DBGWVR11_EL1}}, x12
3215 # CHECK: msr      {{dbgwvr12_el1|DBGWVR12_EL1}}, x12
3216 # CHECK: msr      {{dbgwvr13_el1|DBGWVR13_EL1}}, x12
3217 # CHECK: msr      {{dbgwvr14_el1|DBGWVR14_EL1}}, x12
3218 # CHECK: msr      {{dbgwvr15_el1|DBGWVR15_EL1}}, x12
3219 # CHECK: msr      {{dbgwcr0_el1|DBGWCR0_EL1}}, x12
3220 # CHECK: msr      {{dbgwcr1_el1|DBGWCR1_EL1}}, x12
3221 # CHECK: msr      {{dbgwcr2_el1|DBGWCR2_EL1}}, x12
3222 # CHECK: msr      {{dbgwcr3_el1|DBGWCR3_EL1}}, x12
3223 # CHECK: msr      {{dbgwcr4_el1|DBGWCR4_EL1}}, x12
3224 # CHECK: msr      {{dbgwcr5_el1|DBGWCR5_EL1}}, x12
3225 # CHECK: msr      {{dbgwcr6_el1|DBGWCR6_EL1}}, x12
3226 # CHECK: msr      {{dbgwcr7_el1|DBGWCR7_EL1}}, x12
3227 # CHECK: msr      {{dbgwcr8_el1|DBGWCR8_EL1}}, x12
3228 # CHECK: msr      {{dbgwcr9_el1|DBGWCR9_EL1}}, x12
3229 # CHECK: msr      {{dbgwcr10_el1|DBGWCR10_EL1}}, x12
3230 # CHECK: msr      {{dbgwcr11_el1|DBGWCR11_EL1}}, x12
3231 # CHECK: msr      {{dbgwcr12_el1|DBGWCR12_EL1}}, x12
3232 # CHECK: msr      {{dbgwcr13_el1|DBGWCR13_EL1}}, x12
3233 # CHECK: msr      {{dbgwcr14_el1|DBGWCR14_EL1}}, x12
3234 # CHECK: msr      {{dbgwcr15_el1|DBGWCR15_EL1}}, x12
3235 # CHECK: msr      {{teehbr32_el1|TEEHBR32_EL1}}, x12
3236 # CHECK: msr      {{oslar_el1|OSLAR_EL1}}, x12
3237 # CHECK: msr      {{osdlr_el1|OSDLR_EL1}}, x12
3238 # CHECK: msr      {{dbgprcr_el1|DBGPRCR_EL1}}, x12
3239 # CHECK: msr      {{dbgclaimset_el1|DBGCLAIMSET_EL1}}, x12
3240 # CHECK: msr      {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}}, x12
3241 # CHECK: msr      {{csselr_el1|CSSELR_EL1}}, x12
3242 # CHECK: msr      {{vpidr_el2|VPIDR_EL2}}, x12
3243 # CHECK: msr      {{vmpidr_el2|VMPIDR_EL2}}, x12
3244 # CHECK: msr      {{sctlr_el1|SCTLR_EL1}}, x12
3245 # CHECK: msr      {{sctlr_el2|SCTLR_EL2}}, x12
3246 # CHECK: msr      {{sctlr_el3|SCTLR_EL3}}, x12
3247 # CHECK: msr      {{actlr_el1|ACTLR_EL1}}, x12
3248 # CHECK: msr      {{actlr_el12|ACTLR_EL12}}, x12
3249 # CHECK: msr      {{actlr_el2|ACTLR_EL2}}, x12
3250 # CHECK: msr      {{actlr_el3|ACTLR_EL3}}, x12
3251 # CHECK: msr      {{cpacr_el1|CPACR_EL1}}, x12
3252 # CHECK: msr      {{hcr_el2|HCR_EL2}}, x12
3253 # CHECK: msr      {{scr_el3|SCR_EL3}}, x12
3254 # CHECK: msr      {{mdcr_el2|MDCR_EL2}}, x12
3255 # CHECK: msr      {{sder32_el3|SDER32_EL3}}, x12
3256 # CHECK: msr      {{cptr_el2|CPTR_EL2}}, x12
3257 # CHECK: msr      {{cptr_el3|CPTR_EL3}}, x12
3258 # CHECK: msr      {{hstr_el2|HSTR_EL2}}, x12
3259 # CHECK: msr      {{hacr_el2|HACR_EL2}}, x12
3260 # CHECK: msr      {{mdcr_el3|MDCR_EL3}}, x12
3261 # CHECK: msr      {{ttbr0_el1|TTBR0_EL1}}, x12
3262 # CHECK: msr      {{ttbr0_el2|TTBR0_EL2}}, x12
3263 # CHECK: msr      {{ttbr0_el3|TTBR0_EL3}}, x12
3264 # CHECK: msr      {{ttbr1_el1|TTBR1_EL1}}, x12
3265 # CHECK: msr      {{tcr_el1|TCR_EL1}}, x12
3266 # CHECK: msr      {{tcr_el2|TCR_EL2}}, x12
3267 # CHECK: msr      {{tcr_el3|TCR_EL3}}, x12
3268 # CHECK: msr      {{vttbr_el2|VTTBR_EL2}}, x12
3269 # CHECK: msr      {{vtcr_el2|VTCR_EL2}}, x12
3270 # CHECK: msr      {{dacr32_el2|DACR32_EL2}}, x12
3271 # CHECK: msr      {{spsr_el1|SPSR_EL1}}, x12
3272 # CHECK: msr      {{spsr_el2|SPSR_EL2}}, x12
3273 # CHECK: msr      {{spsr_el3|SPSR_EL3}}, x12
3274 # CHECK: msr      {{elr_el1|ELR_EL1}}, x12
3275 # CHECK: msr      {{elr_el2|ELR_EL2}}, x12
3276 # CHECK: msr      {{elr_el3|ELR_EL3}}, x12
3277 # CHECK: msr      {{sp_el0|SP_EL0}}, x12
3278 # CHECK: msr      {{sp_el1|SP_EL1}}, x12
3279 # CHECK: msr      {{sp_el2|SP_EL2}}, x12
3280 # CHECK: msr      {{SPSel|SPSEL}}, x12
3281 # CHECK: msr      {{nzcv|NZCV}}, x12
3282 # CHECK: msr      {{daif|DAIF}}, x12
3283 # CHECK: msr      S3_0_C4_C2_2, x12
3284 # CHECK: msr      {{SPSR_irq|SPSR_IRQ}}, x12
3285 # CHECK: msr      {{SPSR_abt|SPSR_ABT}}, x12
3286 # CHECK: msr      {{SPSR_und|SPSR_UND}}, x12
3287 # CHECK: msr      {{SPSR_fiq|SPSR_FIQ}}, x12
3288 # CHECK: msr      {{fpcr|FPCR}}, x12
3289 # CHECK: msr      {{fpsr|FPSR}}, x12
3290 # CHECK: msr      {{dspsr_el0|DSPSR_EL0}}, x12
3291 # CHECK: msr      {{dlr_el0|DLR_EL0}}, x12
3292 # CHECK: msr      {{ifsr32_el2|IFSR32_EL2}}, x12
3293 # CHECK: msr      {{afsr0_el1|AFSR0_EL1}}, x12
3294 # CHECK: msr      {{afsr0_el2|AFSR0_EL2}}, x12
3295 # CHECK: msr      {{afsr0_el3|AFSR0_EL3}}, x12
3296 # CHECK: msr      {{afsr1_el1|AFSR1_EL1}}, x12
3297 # CHECK: msr      {{afsr1_el2|AFSR1_EL2}}, x12
3298 # CHECK: msr      {{afsr1_el3|AFSR1_EL3}}, x12
3299 # CHECK: msr      {{esr_el1|ESR_EL1}}, x12
3300 # CHECK: msr      {{esr_el2|ESR_EL2}}, x12
3301 # CHECK: msr      {{esr_el3|ESR_EL3}}, x12
3302 # CHECK: msr      {{fpexc32_el2|FPEXC32_EL2}}, x12
3303 # CHECK: msr      {{far_el1|FAR_EL1}}, x12
3304 # CHECK: msr      {{far_el2|FAR_EL2}}, x12
3305 # CHECK: msr      {{far_el3|FAR_EL3}}, x12
3306 # CHECK: msr      {{hpfar_el2|HPFAR_EL2}}, x12
3307 # CHECK: msr      {{par_el1|PAR_EL1}}, x12
3308 # CHECK: msr      {{pmcr_el0|PMCR_EL0}}, x12
3309 # CHECK: msr      {{pmcntenset_el0|PMCNTENSET_EL0}}, x12
3310 # CHECK: msr      {{pmcntenclr_el0|PMCNTENCLR_EL0}}, x12
3311 # CHECK: msr      {{pmovsclr_el0|PMOVSCLR_EL0}}, x12
3312 # CHECK: msr      {{pmselr_el0|PMSELR_EL0}}, x12
3313 # CHECK: msr      {{pmccntr_el0|PMCCNTR_EL0}}, x12
3314 # CHECK: msr      {{pmxevtyper_el0|PMXEVTYPER_EL0}}, x12
3315 # CHECK: msr      {{pmxevcntr_el0|PMXEVCNTR_EL0}}, x12
3316 # CHECK: msr      {{pmuserenr_el0|PMUSERENR_EL0}}, x12
3317 # CHECK: msr      {{pmintenset_el1|PMINTENSET_EL1}}, x12
3318 # CHECK: msr      {{pmintenclr_el1|PMINTENCLR_EL1}}, x12
3319 # CHECK: msr      {{pmovsset_el0|PMOVSSET_EL0}}, x12
3320 # CHECK: msr      {{mair_el1|MAIR_EL1}}, x12
3321 # CHECK: msr      {{mair_el2|MAIR_EL2}}, x12
3322 # CHECK: msr      {{mair_el3|MAIR_EL3}}, x12
3323 # CHECK: msr      {{amair_el1|AMAIR_EL1}}, x12
3324 # CHECK: msr      {{amair_el2|AMAIR_EL2}}, x12
3325 # CHECK: msr      {{amair_el3|AMAIR_EL3}}, x12
3326 # CHECK: msr      {{vbar_el1|VBAR_EL1}}, x12
3327 # CHECK: msr      {{vbar_el2|VBAR_EL2}}, x12
3328 # CHECK: msr      {{vbar_el3|VBAR_EL3}}, x12
3329 # CHECK: msr      {{rmr_el1|RMR_EL1}}, x12
3330 # CHECK: msr      {{rmr_el2|RMR_EL2}}, x12
3331 # CHECK: msr      {{rmr_el3|RMR_EL3}}, x12
3332 # CHECK: msr      {{tpidr_el0|TPIDR_EL0}}, x12
3333 # CHECK: msr      {{tpidr_el2|TPIDR_EL2}}, x12
3334 # CHECK: msr      {{tpidr_el3|TPIDR_EL3}}, x12
3335 # CHECK: msr      {{tpidrro_el0|TPIDRRO_EL0}}, x12
3336 # CHECK: msr      {{tpidr_el1|TPIDR_EL1}}, x12
3337 # CHECK: msr      {{cntfrq_el0|CNTFRQ_EL0}}, x12
3338 # CHECK: msr      {{cntvoff_el2|CNTVOFF_EL2}}, x12
3339 # CHECK: msr      {{cntkctl_el1|CNTKCTL_EL1}}, x12
3340 # CHECK: msr      {{cnthctl_el2|CNTHCTL_EL2}}, x12
3341 # CHECK: msr      {{cntp_tval_el0|CNTP_TVAL_EL0}}, x12
3342 # CHECK: msr      {{cnthp_tval_el2|CNTHP_TVAL_EL2}}, x12
3343 # CHECK: msr      {{cntps_tval_el1|CNTPS_TVAL_EL1}}, x12
3344 # CHECK: msr      {{cntp_ctl_el0|CNTP_CTL_EL0}}, x12
3345 # CHECK: msr      {{cnthp_ctl_el2|CNTHP_CTL_EL2}}, x12
3346 # CHECK: msr      {{cntps_ctl_el1|CNTPS_CTL_EL1}}, x12
3347 # CHECK: msr      {{cntp_cval_el0|CNTP_CVAL_EL0}}, x12
3348 # CHECK: msr      {{cnthp_cval_el2|CNTHP_CVAL_EL2}}, x12
3349 # CHECK: msr      {{cntps_cval_el1|CNTPS_CVAL_EL1}}, x12
3350 # CHECK: msr      {{cntv_tval_el0|CNTV_TVAL_EL0}}, x12
3351 # CHECK: msr      {{cntv_ctl_el0|CNTV_CTL_EL0}}, x12
3352 # CHECK: msr      {{cntv_cval_el0|CNTV_CVAL_EL0}}, x12
3353 # CHECK: msr      {{pmevcntr0_el0|PMEVCNTR0_EL0}}, x12
3354 # CHECK: msr      {{pmevcntr1_el0|PMEVCNTR1_EL0}}, x12
3355 # CHECK: msr      {{pmevcntr2_el0|PMEVCNTR2_EL0}}, x12
3356 # CHECK: msr      {{pmevcntr3_el0|PMEVCNTR3_EL0}}, x12
3357 # CHECK: msr      {{pmevcntr4_el0|PMEVCNTR4_EL0}}, x12
3358 # CHECK: msr      {{pmevcntr5_el0|PMEVCNTR5_EL0}}, x12
3359 # CHECK: msr      {{pmevcntr6_el0|PMEVCNTR6_EL0}}, x12
3360 # CHECK: msr      {{pmevcntr7_el0|PMEVCNTR7_EL0}}, x12
3361 # CHECK: msr      {{pmevcntr8_el0|PMEVCNTR8_EL0}}, x12
3362 # CHECK: msr      {{pmevcntr9_el0|PMEVCNTR9_EL0}}, x12
3363 # CHECK: msr      {{pmevcntr10_el0|PMEVCNTR10_EL0}}, x12
3364 # CHECK: msr      {{pmevcntr11_el0|PMEVCNTR11_EL0}}, x12
3365 # CHECK: msr      {{pmevcntr12_el0|PMEVCNTR12_EL0}}, x12
3366 # CHECK: msr      {{pmevcntr13_el0|PMEVCNTR13_EL0}}, x12
3367 # CHECK: msr      {{pmevcntr14_el0|PMEVCNTR14_EL0}}, x12
3368 # CHECK: msr      {{pmevcntr15_el0|PMEVCNTR15_EL0}}, x12
3369 # CHECK: msr      {{pmevcntr16_el0|PMEVCNTR16_EL0}}, x12
3370 # CHECK: msr      {{pmevcntr17_el0|PMEVCNTR17_EL0}}, x12
3371 # CHECK: msr      {{pmevcntr18_el0|PMEVCNTR18_EL0}}, x12
3372 # CHECK: msr      {{pmevcntr19_el0|PMEVCNTR19_EL0}}, x12
3373 # CHECK: msr      {{pmevcntr20_el0|PMEVCNTR20_EL0}}, x12
3374 # CHECK: msr      {{pmevcntr21_el0|PMEVCNTR21_EL0}}, x12
3375 # CHECK: msr      {{pmevcntr22_el0|PMEVCNTR22_EL0}}, x12
3376 # CHECK: msr      {{pmevcntr23_el0|PMEVCNTR23_EL0}}, x12
3377 # CHECK: msr      {{pmevcntr24_el0|PMEVCNTR24_EL0}}, x12
3378 # CHECK: msr      {{pmevcntr25_el0|PMEVCNTR25_EL0}}, x12
3379 # CHECK: msr      {{pmevcntr26_el0|PMEVCNTR26_EL0}}, x12
3380 # CHECK: msr      {{pmevcntr27_el0|PMEVCNTR27_EL0}}, x12
3381 # CHECK: msr      {{pmevcntr28_el0|PMEVCNTR28_EL0}}, x12
3382 # CHECK: msr      {{pmevcntr29_el0|PMEVCNTR29_EL0}}, x12
3383 # CHECK: msr      {{pmevcntr30_el0|PMEVCNTR30_EL0}}, x12
3384 # CHECK: msr      {{pmccfiltr_el0|PMCCFILTR_EL0}}, x12
3385 # CHECK: msr      {{pmevtyper0_el0|PMEVTYPER0_EL0}}, x12
3386 # CHECK: msr      {{pmevtyper1_el0|PMEVTYPER1_EL0}}, x12
3387 # CHECK: msr      {{pmevtyper2_el0|PMEVTYPER2_EL0}}, x12
3388 # CHECK: msr      {{pmevtyper3_el0|PMEVTYPER3_EL0}}, x12
3389 # CHECK: msr      {{pmevtyper4_el0|PMEVTYPER4_EL0}}, x12
3390 # CHECK: msr      {{pmevtyper5_el0|PMEVTYPER5_EL0}}, x12
3391 # CHECK: msr      {{pmevtyper6_el0|PMEVTYPER6_EL0}}, x12
3392 # CHECK: msr      {{pmevtyper7_el0|PMEVTYPER7_EL0}}, x12
3393 # CHECK: msr      {{pmevtyper8_el0|PMEVTYPER8_EL0}}, x12
3394 # CHECK: msr      {{pmevtyper9_el0|PMEVTYPER9_EL0}}, x12
3395 # CHECK: msr      {{pmevtyper10_el0|PMEVTYPER10_EL0}}, x12
3396 # CHECK: msr      {{pmevtyper11_el0|PMEVTYPER11_EL0}}, x12
3397 # CHECK: msr      {{pmevtyper12_el0|PMEVTYPER12_EL0}}, x12
3398 # CHECK: msr      {{pmevtyper13_el0|PMEVTYPER13_EL0}}, x12
3399 # CHECK: msr      {{pmevtyper14_el0|PMEVTYPER14_EL0}}, x12
3400 # CHECK: msr      {{pmevtyper15_el0|PMEVTYPER15_EL0}}, x12
3401 # CHECK: msr      {{pmevtyper16_el0|PMEVTYPER16_EL0}}, x12
3402 # CHECK: msr      {{pmevtyper17_el0|PMEVTYPER17_EL0}}, x12
3403 # CHECK: msr      {{pmevtyper18_el0|PMEVTYPER18_EL0}}, x12
3404 # CHECK: msr      {{pmevtyper19_el0|PMEVTYPER19_EL0}}, x12
3405 # CHECK: msr      {{pmevtyper20_el0|PMEVTYPER20_EL0}}, x12
3406 # CHECK: msr      {{pmevtyper21_el0|PMEVTYPER21_EL0}}, x12
3407 # CHECK: msr      {{pmevtyper22_el0|PMEVTYPER22_EL0}}, x12
3408 # CHECK: msr      {{pmevtyper23_el0|PMEVTYPER23_EL0}}, x12
3409 # CHECK: msr      {{pmevtyper24_el0|PMEVTYPER24_EL0}}, x12
3410 # CHECK: msr      {{pmevtyper25_el0|PMEVTYPER25_EL0}}, x12
3411 # CHECK: msr      {{pmevtyper26_el0|PMEVTYPER26_EL0}}, x12
3412 # CHECK: msr      {{pmevtyper27_el0|PMEVTYPER27_EL0}}, x12
3413 # CHECK: msr      {{pmevtyper28_el0|PMEVTYPER28_EL0}}, x12
3414 # CHECK: msr      {{pmevtyper29_el0|PMEVTYPER29_EL0}}, x12
3415 # CHECK: msr      {{pmevtyper30_el0|PMEVTYPER30_EL0}}, x12
3416 # CHECK: msr      {{amair2_el1|AMAIR2_EL1}}, x12
3417 # CHECK: msr      {{amair2_el12|AMAIR2_EL12}}, x12
3418 # CHECK: msr      {{amair2_el2|AMAIR2_EL2}}, x12
3419 # CHECK: msr      {{amair2_el3|AMAIR2_EL3}}, x12
3420 # CHECK: msr      {{mair2_el1|MAIR2_EL1}}, x12
3421 # CHECK: msr      {{mair2_el12|MAIR2_EL12}}, x12
3422 # CHECK: msr      {{mair2_el2|MAIR2_EL2}}, x12
3423 # CHECK: msr      {{mair2_el3|MAIR2_EL3}}, x12
3424 # CHECK: msr      {{pire0_el1|PIRE0_EL1}}, x12
3425 # CHECK: msr      {{pire0_el12|PIRE0_EL12}}, x12
3426 # CHECK: msr      {{pire0_el2|PIRE0_EL2}}, x12
3427 # CHECK: msr      {{pir_el1|PIR_EL1}}, x12
3428 # CHECK: msr      {{pir_el12|PIR_EL12}}, x12
3429 # CHECK: msr      {{pir_el2|PIR_EL2}}, x12
3430 # CHECK: msr      {{pir_el3|PIR_EL3}}, x12
3431 # CHECK: msr      {{s2pir_el2|S2PIR_EL2}}, x12
3432 # CHECK: msr      {{por_el0|POR_EL0}}, x12
3433 # CHECK: msr      {{por_el1|POR_EL1}}, x12
3434 # CHECK: msr      {{por_el12|POR_EL12}}, x12
3435 # CHECK: msr      {{por_el2|POR_EL2}}, x12
3436 # CHECK: msr      {{por_el3|POR_EL3}}, x12
3437 # CHECK: msr      {{s2por_el1|S2POR_EL1}}, x12
3438 # CHECK: msr      {{sctlr2_el1|SCTLR2_EL1}}, x12
3439 # CHECK: msr      {{sctlr2_el12|SCTLR2_EL12}}, x12
3440 # CHECK: msr      {{sctlr2_el2|SCTLR2_EL2}}, x12
3441 # CHECK: msr      {{tcr2_el1|TCR2_EL1}}, x12
3442 # CHECK: msr      {{tcr2_el12|TCR2_EL12}}, x12
3443 # CHECK: msr      {{tcr2_el2|TCR2_EL2}}, x12
3444 # CHECK: mrs      x9, {{teecr32_el1|TEECR32_EL1}}
3445 # CHECK: mrs      x9, {{osdtrrx_el1|OSDTRRX_EL1}}
3446 # CHECK: mrs      x9, {{mdccsr_el0|MDCCSR_EL0}}
3447 # CHECK: mrs      x9, {{mdccint_el1|MDCCINT_EL1}}
3448 # CHECK: mrs      x9, {{mdscr_el1|MDSCR_EL1}}
3449 # CHECK: mrs      x9, {{osdtrtx_el1|OSDTRTX_EL1}}
3450 # CHECK: mrs      x9, {{dbgdtr_el0|DBGDTR_EL0}}
3451 # CHECK: mrs      x9, {{dbgdtrrx_el0|DBGDTRRX_EL0}}
3452 # CHECK: mrs      x9, {{oseccr_el1|OSECCR_EL1}}
3453 # CHECK: mrs      x9, {{dbgvcr32_el2|DBGVCR32_EL2}}
3454 # CHECK: mrs      x9, {{dbgbvr0_el1|DBGBVR0_EL1}}
3455 # CHECK: mrs      x9, {{dbgbvr1_el1|DBGBVR1_EL1}}
3456 # CHECK: mrs      x9, {{dbgbvr2_el1|DBGBVR2_EL1}}
3457 # CHECK: mrs      x9, {{dbgbvr3_el1|DBGBVR3_EL1}}
3458 # CHECK: mrs      x9, {{dbgbvr4_el1|DBGBVR4_EL1}}
3459 # CHECK: mrs      x9, {{dbgbvr5_el1|DBGBVR5_EL1}}
3460 # CHECK: mrs      x9, {{dbgbvr6_el1|DBGBVR6_EL1}}
3461 # CHECK: mrs      x9, {{dbgbvr7_el1|DBGBVR7_EL1}}
3462 # CHECK: mrs      x9, {{dbgbvr8_el1|DBGBVR8_EL1}}
3463 # CHECK: mrs      x9, {{dbgbvr9_el1|DBGBVR9_EL1}}
3464 # CHECK: mrs      x9, {{dbgbvr10_el1|DBGBVR10_EL1}}
3465 # CHECK: mrs      x9, {{dbgbvr11_el1|DBGBVR11_EL1}}
3466 # CHECK: mrs      x9, {{dbgbvr12_el1|DBGBVR12_EL1}}
3467 # CHECK: mrs      x9, {{dbgbvr13_el1|DBGBVR13_EL1}}
3468 # CHECK: mrs      x9, {{dbgbvr14_el1|DBGBVR14_EL1}}
3469 # CHECK: mrs      x9, {{dbgbvr15_el1|DBGBVR15_EL1}}
3470 # CHECK: mrs      x9, {{dbgbcr0_el1|DBGBCR0_EL1}}
3471 # CHECK: mrs      x9, {{dbgbcr1_el1|DBGBCR1_EL1}}
3472 # CHECK: mrs      x9, {{dbgbcr2_el1|DBGBCR2_EL1}}
3473 # CHECK: mrs      x9, {{dbgbcr3_el1|DBGBCR3_EL1}}
3474 # CHECK: mrs      x9, {{dbgbcr4_el1|DBGBCR4_EL1}}
3475 # CHECK: mrs      x9, {{dbgbcr5_el1|DBGBCR5_EL1}}
3476 # CHECK: mrs      x9, {{dbgbcr6_el1|DBGBCR6_EL1}}
3477 # CHECK: mrs      x9, {{dbgbcr7_el1|DBGBCR7_EL1}}
3478 # CHECK: mrs      x9, {{dbgbcr8_el1|DBGBCR8_EL1}}
3479 # CHECK: mrs      x9, {{dbgbcr9_el1|DBGBCR9_EL1}}
3480 # CHECK: mrs      x9, {{dbgbcr10_el1|DBGBCR10_EL1}}
3481 # CHECK: mrs      x9, {{dbgbcr11_el1|DBGBCR11_EL1}}
3482 # CHECK: mrs      x9, {{dbgbcr12_el1|DBGBCR12_EL1}}
3483 # CHECK: mrs      x9, {{dbgbcr13_el1|DBGBCR13_EL1}}
3484 # CHECK: mrs      x9, {{dbgbcr14_el1|DBGBCR14_EL1}}
3485 # CHECK: mrs      x9, {{dbgbcr15_el1|DBGBCR15_EL1}}
3486 # CHECK: mrs      x9, {{dbgwvr0_el1|DBGWVR0_EL1}}
3487 # CHECK: mrs      x9, {{dbgwvr1_el1|DBGWVR1_EL1}}
3488 # CHECK: mrs      x9, {{dbgwvr2_el1|DBGWVR2_EL1}}
3489 # CHECK: mrs      x9, {{dbgwvr3_el1|DBGWVR3_EL1}}
3490 # CHECK: mrs      x9, {{dbgwvr4_el1|DBGWVR4_EL1}}
3491 # CHECK: mrs      x9, {{dbgwvr5_el1|DBGWVR5_EL1}}
3492 # CHECK: mrs      x9, {{dbgwvr6_el1|DBGWVR6_EL1}}
3493 # CHECK: mrs      x9, {{dbgwvr7_el1|DBGWVR7_EL1}}
3494 # CHECK: mrs      x9, {{dbgwvr8_el1|DBGWVR8_EL1}}
3495 # CHECK: mrs      x9, {{dbgwvr9_el1|DBGWVR9_EL1}}
3496 # CHECK: mrs      x9, {{dbgwvr10_el1|DBGWVR10_EL1}}
3497 # CHECK: mrs      x9, {{dbgwvr11_el1|DBGWVR11_EL1}}
3498 # CHECK: mrs      x9, {{dbgwvr12_el1|DBGWVR12_EL1}}
3499 # CHECK: mrs      x9, {{dbgwvr13_el1|DBGWVR13_EL1}}
3500 # CHECK: mrs      x9, {{dbgwvr14_el1|DBGWVR14_EL1}}
3501 # CHECK: mrs      x9, {{dbgwvr15_el1|DBGWVR15_EL1}}
3502 # CHECK: mrs      x9, {{dbgwcr0_el1|DBGWCR0_EL1}}
3503 # CHECK: mrs      x9, {{dbgwcr1_el1|DBGWCR1_EL1}}
3504 # CHECK: mrs      x9, {{dbgwcr2_el1|DBGWCR2_EL1}}
3505 # CHECK: mrs      x9, {{dbgwcr3_el1|DBGWCR3_EL1}}
3506 # CHECK: mrs      x9, {{dbgwcr4_el1|DBGWCR4_EL1}}
3507 # CHECK: mrs      x9, {{dbgwcr5_el1|DBGWCR5_EL1}}
3508 # CHECK: mrs      x9, {{dbgwcr6_el1|DBGWCR6_EL1}}
3509 # CHECK: mrs      x9, {{dbgwcr7_el1|DBGWCR7_EL1}}
3510 # CHECK: mrs      x9, {{dbgwcr8_el1|DBGWCR8_EL1}}
3511 # CHECK: mrs      x9, {{dbgwcr9_el1|DBGWCR9_EL1}}
3512 # CHECK: mrs      x9, {{dbgwcr10_el1|DBGWCR10_EL1}}
3513 # CHECK: mrs      x9, {{dbgwcr11_el1|DBGWCR11_EL1}}
3514 # CHECK: mrs      x9, {{dbgwcr12_el1|DBGWCR12_EL1}}
3515 # CHECK: mrs      x9, {{dbgwcr13_el1|DBGWCR13_EL1}}
3516 # CHECK: mrs      x9, {{dbgwcr14_el1|DBGWCR14_EL1}}
3517 # CHECK: mrs      x9, {{dbgwcr15_el1|DBGWCR15_EL1}}
3518 # CHECK: mrs      x9, {{mdrar_el1|MDRAR_EL1}}
3519 # CHECK: mrs      x9, {{teehbr32_el1|TEEHBR32_EL1}}
3520 # CHECK: mrs      x9, {{oslsr_el1|OSLSR_EL1}}
3521 # CHECK: mrs      x9, {{osdlr_el1|OSDLR_EL1}}
3522 # CHECK: mrs      x9, {{dbgprcr_el1|DBGPRCR_EL1}}
3523 # CHECK: mrs      x9, {{dbgclaimset_el1|DBGCLAIMSET_EL1}}
3524 # CHECK: mrs      x9, {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}}
3525 # CHECK: mrs      x9, {{dbgauthstatus_el1|DBGAUTHSTATUS_EL1}}
3526 # CHECK: mrs      x9, {{midr_el1|MIDR_EL1}}
3527 # CHECK: mrs      x9, {{ccsidr_el1|CCSIDR_EL1}}
3528 # CHECK: mrs      x9, {{csselr_el1|CSSELR_EL1}}
3529 # CHECK-V83: mrs  x9, {{ccsidr2_el1|CCSIDR2_EL1}}
3530 # CHECK: mrs      x9, {{vpidr_el2|VPIDR_EL2}}
3531 # CHECK: mrs      x9, {{clidr_el1|CLIDR_EL1}}
3532 # CHECK: mrs      x9, {{ctr_el0|CTR_EL0}}
3533 # CHECK: mrs      x9, {{mpidr_el1|MPIDR_EL1}}
3534 # CHECK: mrs      x9, {{vmpidr_el2|VMPIDR_EL2}}
3535 # CHECK: mrs      x9, {{revidr_el1|REVIDR_EL1}}
3536 # CHECK: mrs      x9, {{aidr_el1|AIDR_EL1}}
3537 # CHECK: mrs      x9, {{dczid_el0|DCZID_EL0}}
3538 # CHECK: mrs      x9, {{id_pfr0_el1|ID_PFR0_EL1}}
3539 # CHECK: mrs      x9, {{id_pfr1_el1|ID_PFR1_EL1}}
3540 # CHECK: mrs      x9, {{id_dfr0_el1|ID_DFR0_EL1}}
3541 # CHECK: mrs      x9, {{id_dfr1_el1|ID_DFR1_EL1}}
3542 # CHECK: mrs      x9, {{id_afr0_el1|ID_AFR0_EL1}}
3543 # CHECK: mrs      x9, {{id_mmfr0_el1|ID_MMFR0_EL1}}
3544 # CHECK: mrs      x9, {{id_mmfr1_el1|ID_MMFR1_EL1}}
3545 # CHECK: mrs      x9, {{id_mmfr2_el1|ID_MMFR2_EL1}}
3546 # CHECK: mrs      x9, {{id_mmfr3_el1|ID_MMFR3_EL1}}
3547 # CHECK: mrs      x9, {{id_mmfr4_el1|ID_MMFR4_EL1}}
3548 # CHECK: mrs      x9, {{id_mmfr5_el1|ID_MMFR5_EL1}}
3549 # CHECK: mrs      x9, {{id_isar0_el1|ID_ISAR0_EL1}}
3550 # CHECK: mrs      x9, {{id_isar1_el1|ID_ISAR1_EL1}}
3551 # CHECK: mrs      x9, {{id_isar2_el1|ID_ISAR2_EL1}}
3552 # CHECK: mrs      x9, {{id_isar3_el1|ID_ISAR3_EL1}}
3553 # CHECK: mrs      x9, {{id_isar4_el1|ID_ISAR4_EL1}}
3554 # CHECK: mrs      x9, {{id_isar5_el1|ID_ISAR5_EL1}}
3555 # CHECK: mrs      x9, {{mvfr0_el1|MVFR0_EL1}}
3556 # CHECK: mrs      x9, {{mvfr1_el1|MVFR1_EL1}}
3557 # CHECK: mrs      x9, {{mvfr2_el1|MVFR2_EL1}}
3558 # CHECK: mrs      x9, {{id_aa64pfr0_el1|ID_AA64PFR0_EL1}}
3559 # CHECK: mrs      x9, {{id_aa64pfr1_el1|ID_AA64PFR1_EL1}}
3560 # CHECK: mrs      x9, {{id_aa64pfr2_el1|ID_AA64PFR2_EL1}}
3561 # CHECK: mrs      x9, {{id_aa64dfr0_el1|ID_AA64DFR0_EL1}}
3562 # CHECK: mrs      x9, {{id_aa64dfr1_el1|ID_AA64DFR1_EL1}}
3563 # CHECK: mrs      x9, {{id_aa64dfr2_el1|ID_AA64DFR2_EL1}}
3564 # CHECK: mrs      x9, {{id_aa64afr0_el1|ID_AA64AFR0_EL1}}
3565 # CHECK: mrs      x9, {{id_aa64afr1_el1|ID_AA64AFR1_EL1}}
3566 # CHECK: mrs      x9, {{id_aa64isar0_el1|ID_AA64ISAR0_EL1}}
3567 # CHECK: mrs      x9, {{id_aa64isar1_el1|ID_AA64ISAR1_EL1}}
3568 # CHECK: mrs      x9, {{id_aa64isar2_el1|ID_AA64ISAR2_EL1}}
3569 # CHECK: mrs      x9, {{id_aa64isar2_el1|ID_AA64ISAR3_EL1}}
3570 # CHECK: mrs      x9, {{id_aa64mmfr0_el1|ID_AA64MMFR0_EL1}}
3571 # CHECK: mrs      x9, {{id_aa64mmfr1_el1|ID_AA64MMFR1_EL1}}
3572 # CHECK: mrs      x9, {{id_aa64mmfr2_el1|ID_AA64MMFR2_EL1}}
3573 # CHECK: mrs      x9, {{id_aa64mmfr3_el1|ID_AA64MMFR3_EL1}}
3574 # CHECK: mrs      x9, {{id_aa64mmfr4_el1|ID_AA64MMFR4_EL1}}
3575 # CHECK: mrs      x9, {{sctlr_el1|SCTLR_EL1}}
3576 # CHECK: mrs      x9, {{sctlr_el2|SCTLR_EL2}}
3577 # CHECK: mrs      x9, {{sctlr_el3|SCTLR_EL3}}
3578 # CHECK: mrs      x9, {{actlr_el1|ACTLR_EL1}}
3579 # CHECK: mrs      x9, {{actlr_el12|ACTLR_EL12}}
3580 # CHECK: mrs      x9, {{actlr_el2|ACTLR_EL2}}
3581 # CHECK: mrs      x9, {{actlr_el3|ACTLR_EL3}}
3582 # CHECK: mrs      x9, {{cpacr_el1|CPACR_EL1}}
3583 # CHECK: mrs      x9, {{hcr_el2|HCR_EL2}}
3584 # CHECK: mrs      x9, {{scr_el3|SCR_EL3}}
3585 # CHECK: mrs      x9, {{mdcr_el2|MDCR_EL2}}
3586 # CHECK: mrs      x9, {{sder32_el3|SDER32_EL3}}
3587 # CHECK: mrs      x9, {{cptr_el2|CPTR_EL2}}
3588 # CHECK: mrs      x9, {{cptr_el3|CPTR_EL3}}
3589 # CHECK: mrs      x9, {{hstr_el2|HSTR_EL2}}
3590 # CHECK: mrs      x9, {{hacr_el2|HACR_EL2}}
3591 # CHECK: mrs      x9, {{mdcr_el3|MDCR_EL3}}
3592 # CHECK: mrs      x9, {{ttbr0_el1|TTBR0_EL1}}
3593 # CHECK: mrs      x9, {{ttbr0_el2|TTBR0_EL2}}
3594 # CHECK: mrs      x9, {{ttbr0_el3|TTBR0_EL3}}
3595 # CHECK: mrs      x9, {{ttbr1_el1|TTBR1_EL1}}
3596 # CHECK: mrs      x9, {{tcr_el1|TCR_EL1}}
3597 # CHECK: mrs      x9, {{tcr_el2|TCR_EL2}}
3598 # CHECK: mrs      x9, {{tcr_el3|TCR_EL3}}
3599 # CHECK: mrs      x9, {{vttbr_el2|VTTBR_EL2}}
3600 # CHECK: mrs      x9, {{vtcr_el2|VTCR_EL2}}
3601 # CHECK: mrs      x9, {{dacr32_el2|DACR32_EL2}}
3602 # CHECK: mrs      x9, {{spsr_el1|SPSR_EL1}}
3603 # CHECK: mrs      x9, {{spsr_el2|SPSR_EL2}}
3604 # CHECK: mrs      x9, {{spsr_el3|SPSR_EL3}}
3605 # CHECK: mrs      x9, {{elr_el1|ELR_EL1}}
3606 # CHECK: mrs      x9, {{elr_el2|ELR_EL2}}
3607 # CHECK: mrs      x9, {{elr_el3|ELR_EL3}}
3608 # CHECK: mrs      x9, {{sp_el0|SP_EL0}}
3609 # CHECK: mrs      x9, {{sp_el1|SP_EL1}}
3610 # CHECK: mrs      x9, {{sp_el2|SP_EL2}}
3611 # CHECK: mrs      x9, {{SPSel|SPSEL}}
3612 # CHECK: mrs      x9, {{nzcv|NZCV}}
3613 # CHECK: mrs      x9, {{daif|DAIF}}
3614 # CHECK: mrs      x9, {{CurrentEL|CURRENTEL}}
3615 # CHECK: mrs      x9, {{SPSR_irq|SPSR_IRQ}}
3616 # CHECK: mrs      x9, {{SPSR_abt|SPSR_ABT}}
3617 # CHECK: mrs      x9, {{SPSR_und|SPSR_UND}}
3618 # CHECK: mrs      x9, {{SPSR_fiq|SPSR_FIQ}}
3619 # CHECK: mrs      x9, {{fpcr|FPCR}}
3620 # CHECK: mrs      x9, {{fpsr|FPSR}}
3621 # CHECK: mrs      x9, {{dspsr_el0|DSPSR_EL0}}
3622 # CHECK: mrs      x9, {{dlr_el0|DLR_EL0}}
3623 # CHECK: mrs      x9, {{ifsr32_el2|IFSR32_EL2}}
3624 # CHECK: mrs      x9, {{afsr0_el1|AFSR0_EL1}}
3625 # CHECK: mrs      x9, {{afsr0_el2|AFSR0_EL2}}
3626 # CHECK: mrs      x9, {{afsr0_el3|AFSR0_EL3}}
3627 # CHECK: mrs      x9, {{afsr1_el1|AFSR1_EL1}}
3628 # CHECK: mrs      x9, {{afsr1_el2|AFSR1_EL2}}
3629 # CHECK: mrs      x9, {{afsr1_el3|AFSR1_EL3}}
3630 # CHECK: mrs      x9, {{esr_el1|ESR_EL1}}
3631 # CHECK: mrs      x9, {{esr_el2|ESR_EL2}}
3632 # CHECK: mrs      x9, {{esr_el3|ESR_EL3}}
3633 # CHECK: mrs      x9, {{fpexc32_el2|FPEXC32_EL2}}
3634 # CHECK: mrs      x9, {{far_el1|FAR_EL1}}
3635 # CHECK: mrs      x9, {{far_el2|FAR_EL2}}
3636 # CHECK: mrs      x9, {{far_el3|FAR_EL3}}
3637 # CHECK: mrs      x9, {{hpfar_el2|HPFAR_EL2}}
3638 # CHECK: mrs      x9, {{par_el1|PAR_EL1}}
3639 # CHECK: mrs      x9, {{pmcr_el0|PMCR_EL0}}
3640 # CHECK: mrs      x9, {{pmcntenset_el0|PMCNTENSET_EL0}}
3641 # CHECK: mrs      x9, {{pmcntenclr_el0|PMCNTENCLR_EL0}}
3642 # CHECK: mrs      x9, {{pmovsclr_el0|PMOVSCLR_EL0}}
3643 # CHECK: mrs      x9, {{pmselr_el0|PMSELR_EL0}}
3644 # CHECK: mrs      x9, {{pmceid0_el0|PMCEID0_EL0}}
3645 # CHECK: mrs      x9, {{pmceid1_el0|PMCEID1_EL0}}
3646 # CHECK: mrs      x9, {{pmccntr_el0|PMCCNTR_EL0}}
3647 # CHECK: mrs      x9, {{pmxevtyper_el0|PMXEVTYPER_EL0}}
3648 # CHECK: mrs      x9, {{pmxevcntr_el0|PMXEVCNTR_EL0}}
3649 # CHECK: mrs      x9, {{pmuserenr_el0|PMUSERENR_EL0}}
3650 # CHECK: mrs      x9, {{pmintenset_el1|PMINTENSET_EL1}}
3651 # CHECK: mrs      x9, {{pmintenclr_el1|PMINTENCLR_EL1}}
3652 # CHECK: mrs      x9, {{pmovsset_el0|PMOVSSET_EL0}}
3653 # CHECK: mrs      x9, {{mair_el1|MAIR_EL1}}
3654 # CHECK: mrs      x9, {{mair_el2|MAIR_EL2}}
3655 # CHECK: mrs      x9, {{mair_el3|MAIR_EL3}}
3656 # CHECK: mrs      x9, {{amair_el1|AMAIR_EL1}}
3657 # CHECK: mrs      x9, {{amair_el2|AMAIR_EL2}}
3658 # CHECK: mrs      x9, {{amair_el3|AMAIR_EL3}}
3659 # CHECK: mrs      x9, {{vbar_el1|VBAR_EL1}}
3660 # CHECK: mrs      x9, {{vbar_el2|VBAR_EL2}}
3661 # CHECK: mrs      x9, {{vbar_el3|VBAR_EL3}}
3662 # CHECK: mrs      x9, {{rvbar_el1|RVBAR_EL1}}
3663 # CHECK: mrs      x9, {{rvbar_el2|RVBAR_EL2}}
3664 # CHECK: mrs      x9, {{rvbar_el3|RVBAR_EL3}}
3665 # CHECK: mrs      x9, {{rmr_el1|RMR_EL1}}
3666 # CHECK: mrs      x9, {{rmr_el2|RMR_EL2}}
3667 # CHECK: mrs      x9, {{rmr_el3|RMR_EL3}}
3668 # CHECK: mrs      x9, {{isr_el1|ISR_EL1}}
3669 # CHECK: mrs      x9, {{contextidr_el1|CONTEXTIDR_EL1}}
3670 # CHECK: mrs      x9, {{tpidr_el0|TPIDR_EL0}}
3671 # CHECK: mrs      x9, {{tpidr_el2|TPIDR_EL2}}
3672 # CHECK: mrs      x9, {{tpidr_el3|TPIDR_EL3}}
3673 # CHECK: mrs      x9, {{tpidrro_el0|TPIDRRO_EL0}}
3674 # CHECK: mrs      x9, {{tpidr_el1|TPIDR_EL1}}
3675 # CHECK: mrs      x9, {{cntfrq_el0|CNTFRQ_EL0}}
3676 # CHECK: mrs      x9, {{cntpct_el0|CNTPCT_EL0}}
3677 # CHECK: mrs      x9, {{cntvct_el0|CNTVCT_EL0}}
3678 # CHECK: mrs      x9, {{cntvoff_el2|CNTVOFF_EL2}}
3679 # CHECK: mrs      x9, {{cntkctl_el1|CNTKCTL_EL1}}
3680 # CHECK: mrs      x9, {{cnthctl_el2|CNTHCTL_EL2}}
3681 # CHECK: mrs      x9, {{cntp_tval_el0|CNTP_TVAL_EL0}}
3682 # CHECK: mrs      x9, {{cnthp_tval_el2|CNTHP_TVAL_EL2}}
3683 # CHECK: mrs      x9, {{cntps_tval_el1|CNTPS_TVAL_EL1}}
3684 # CHECK: mrs      x9, {{cntp_ctl_el0|CNTP_CTL_EL0}}
3685 # CHECK: mrs      x9, {{cnthp_ctl_el2|CNTHP_CTL_EL2}}
3686 # CHECK: mrs      x9, {{cntps_ctl_el1|CNTPS_CTL_EL1}}
3687 # CHECK: mrs      x9, {{cntp_cval_el0|CNTP_CVAL_EL0}}
3688 # CHECK: mrs      x9, {{cnthp_cval_el2|CNTHP_CVAL_EL2}}
3689 # CHECK: mrs      x9, {{cntps_cval_el1|CNTPS_CVAL_EL1}}
3690 # CHECK: mrs      x9, {{cntv_tval_el0|CNTV_TVAL_EL0}}
3691 # CHECK: mrs      x9, {{cntv_ctl_el0|CNTV_CTL_EL0}}
3692 # CHECK: mrs      x9, {{cntv_cval_el0|CNTV_CVAL_EL0}}
3693 # CHECK: mrs      x9, {{pmevcntr0_el0|PMEVCNTR0_EL0}}
3694 # CHECK: mrs      x9, {{pmevcntr1_el0|PMEVCNTR1_EL0}}
3695 # CHECK: mrs      x9, {{pmevcntr2_el0|PMEVCNTR2_EL0}}
3696 # CHECK: mrs      x9, {{pmevcntr3_el0|PMEVCNTR3_EL0}}
3697 # CHECK: mrs      x9, {{pmevcntr4_el0|PMEVCNTR4_EL0}}
3698 # CHECK: mrs      x9, {{pmevcntr5_el0|PMEVCNTR5_EL0}}
3699 # CHECK: mrs      x9, {{pmevcntr6_el0|PMEVCNTR6_EL0}}
3700 # CHECK: mrs      x9, {{pmevcntr7_el0|PMEVCNTR7_EL0}}
3701 # CHECK: mrs      x9, {{pmevcntr8_el0|PMEVCNTR8_EL0}}
3702 # CHECK: mrs      x9, {{pmevcntr9_el0|PMEVCNTR9_EL0}}
3703 # CHECK: mrs      x9, {{pmevcntr10_el0|PMEVCNTR10_EL0}}
3704 # CHECK: mrs      x9, {{pmevcntr11_el0|PMEVCNTR11_EL0}}
3705 # CHECK: mrs      x9, {{pmevcntr12_el0|PMEVCNTR12_EL0}}
3706 # CHECK: mrs      x9, {{pmevcntr13_el0|PMEVCNTR13_EL0}}
3707 # CHECK: mrs      x9, {{pmevcntr14_el0|PMEVCNTR14_EL0}}
3708 # CHECK: mrs      x9, {{pmevcntr15_el0|PMEVCNTR15_EL0}}
3709 # CHECK: mrs      x9, {{pmevcntr16_el0|PMEVCNTR16_EL0}}
3710 # CHECK: mrs      x9, {{pmevcntr17_el0|PMEVCNTR17_EL0}}
3711 # CHECK: mrs      x9, {{pmevcntr18_el0|PMEVCNTR18_EL0}}
3712 # CHECK: mrs      x9, {{pmevcntr19_el0|PMEVCNTR19_EL0}}
3713 # CHECK: mrs      x9, {{pmevcntr20_el0|PMEVCNTR20_EL0}}
3714 # CHECK: mrs      x9, {{pmevcntr21_el0|PMEVCNTR21_EL0}}
3715 # CHECK: mrs      x9, {{pmevcntr22_el0|PMEVCNTR22_EL0}}
3716 # CHECK: mrs      x9, {{pmevcntr23_el0|PMEVCNTR23_EL0}}
3717 # CHECK: mrs      x9, {{pmevcntr24_el0|PMEVCNTR24_EL0}}
3718 # CHECK: mrs      x9, {{pmevcntr25_el0|PMEVCNTR25_EL0}}
3719 # CHECK: mrs      x9, {{pmevcntr26_el0|PMEVCNTR26_EL0}}
3720 # CHECK: mrs      x9, {{pmevcntr27_el0|PMEVCNTR27_EL0}}
3721 # CHECK: mrs      x9, {{pmevcntr28_el0|PMEVCNTR28_EL0}}
3722 # CHECK: mrs      x9, {{pmevcntr29_el0|PMEVCNTR29_EL0}}
3723 # CHECK: mrs      x9, {{pmevcntr30_el0|PMEVCNTR30_EL0}}
3724 # CHECK: mrs      x9, {{pmccfiltr_el0|PMCCFILTR_EL0}}
3725 # CHECK: mrs      x9, {{pmevtyper0_el0|PMEVTYPER0_EL0}}
3726 # CHECK: mrs      x9, {{pmevtyper1_el0|PMEVTYPER1_EL0}}
3727 # CHECK: mrs      x9, {{pmevtyper2_el0|PMEVTYPER2_EL0}}
3728 # CHECK: mrs      x9, {{pmevtyper3_el0|PMEVTYPER3_EL0}}
3729 # CHECK: mrs      x9, {{pmevtyper4_el0|PMEVTYPER4_EL0}}
3730 # CHECK: mrs      x9, {{pmevtyper5_el0|PMEVTYPER5_EL0}}
3731 # CHECK: mrs      x9, {{pmevtyper6_el0|PMEVTYPER6_EL0}}
3732 # CHECK: mrs      x9, {{pmevtyper7_el0|PMEVTYPER7_EL0}}
3733 # CHECK: mrs      x9, {{pmevtyper8_el0|PMEVTYPER8_EL0}}
3734 # CHECK: mrs      x9, {{pmevtyper9_el0|PMEVTYPER9_EL0}}
3735 # CHECK: mrs      x9, {{pmevtyper10_el0|PMEVTYPER10_EL0}}
3736 # CHECK: mrs      x9, {{pmevtyper11_el0|PMEVTYPER11_EL0}}
3737 # CHECK: mrs      x9, {{pmevtyper12_el0|PMEVTYPER12_EL0}}
3738 # CHECK: mrs      x9, {{pmevtyper13_el0|PMEVTYPER13_EL0}}
3739 # CHECK: mrs      x9, {{pmevtyper14_el0|PMEVTYPER14_EL0}}
3740 # CHECK: mrs      x9, {{pmevtyper15_el0|PMEVTYPER15_EL0}}
3741 # CHECK: mrs      x9, {{pmevtyper16_el0|PMEVTYPER16_EL0}}
3742 # CHECK: mrs      x9, {{pmevtyper17_el0|PMEVTYPER17_EL0}}
3743 # CHECK: mrs      x9, {{pmevtyper18_el0|PMEVTYPER18_EL0}}
3744 # CHECK: mrs      x9, {{pmevtyper19_el0|PMEVTYPER19_EL0}}
3745 # CHECK: mrs      x9, {{pmevtyper20_el0|PMEVTYPER20_EL0}}
3746 # CHECK: mrs      x9, {{pmevtyper21_el0|PMEVTYPER21_EL0}}
3747 # CHECK: mrs      x9, {{pmevtyper22_el0|PMEVTYPER22_EL0}}
3748 # CHECK: mrs      x9, {{pmevtyper23_el0|PMEVTYPER23_EL0}}
3749 # CHECK: mrs      x9, {{pmevtyper24_el0|PMEVTYPER24_EL0}}
3750 # CHECK: mrs      x9, {{pmevtyper25_el0|PMEVTYPER25_EL0}}
3751 # CHECK: mrs      x9, {{pmevtyper26_el0|PMEVTYPER26_EL0}}
3752 # CHECK: mrs      x9, {{pmevtyper27_el0|PMEVTYPER27_EL0}}
3753 # CHECK: mrs      x9, {{pmevtyper28_el0|PMEVTYPER28_EL0}}
3754 # CHECK: mrs      x9, {{pmevtyper29_el0|PMEVTYPER29_EL0}}
3755 # CHECK: mrs      x9, {{pmevtyper30_el0|PMEVTYPER30_EL0}}
3756 # CHECK: mrs      x9, {{amair2_el1|AMAIR2_EL1}}
3757 # CHECK: mrs      x9, {{amair2_el12|AMAIR2_EL12}}
3758 # CHECK: mrs      x9, {{amair2_el2|AMAIR2_EL2}}
3759 # CHECK: mrs      x9, {{amair2_el3|AMAIR2_EL3}}
3760 # CHECK: mrs      x9, {{mair2_el1|MAIR2_EL1}}
3761 # CHECK: mrs      x9, {{mair2_el12|MAIR2_EL12}}
3762 # CHECK: mrs      x9, {{mair2_el2|MAIR2_EL2}}
3763 # CHECK: mrs      x9, {{mair2_el3|MAIR2_EL3}}
3764 # CHECK: mrs      x9, {{pire0_el1|PIRE0_EL1}}
3765 # CHECK: mrs      x9, {{pire0_el12|PIRE0_EL12}}
3766 # CHECK: mrs      x9, {{pire0_el2|PIRE0_EL2}}
3767 # CHECK: mrs      x9, {{pir_el1|PIR_EL1}}
3768 # CHECK: mrs      x9, {{pir_el12|PIR_EL12}}
3769 # CHECK: mrs      x9, {{pir_el2|PIR_EL2}}
3770 # CHECK: mrs      x9, {{pir_el3|PIR_EL3}}
3771 # CHECK: mrs      x9, {{s2pir_el2|S2PIR_EL2}}
3772 # CHECK: mrs      x9, {{por_el0|POR_EL0}}
3773 # CHECK: mrs      x9, {{por_el1|POR_EL1}}
3774 # CHECK: mrs      x9, {{por_el12|POR_EL12}}
3775 # CHECK: mrs      x9, {{por_el2|POR_EL2}}
3776 # CHECK: mrs      x9, {{por_el3|POR_EL3}}
3777 # CHECK: mrs      x9, {{s2por_el1|S2POR_EL1}}
3778 # CHECK: mrs      x9, {{sctlr2_el1|SCTLR2_EL1}}
3779 # CHECK: mrs      x9, {{sctlr2_el12|SCTLR2_EL12}}
3780 # CHECK: mrs      x9, {{sctlr2_el2|SCTLR2_EL2}}
3781 # CHECK: mrs      x9, {{sctlr2_el3|SCTLR2_EL3}}
3782 # CHECK: mrs      x9, {{tcr2_el1|TCR2_EL1}}
3783 # CHECK: mrs      x9, {{tcr2_el12|TCR2_EL12}}
3784 # CHECK: mrs      x9, {{tcr2_el2|TCR2_EL2}}
3786 0xc 0x0 0x12 0xd5
3787 0x4c 0x0 0x10 0xd5
3788 0xc 0x2 0x10 0xd5
3789 0x4c 0x2 0x10 0xd5
3790 0x4c 0x3 0x10 0xd5
3791 0xc 0x4 0x13 0xd5
3792 0xc 0x5 0x13 0xd5
3793 0x4c 0x6 0x10 0xd5
3794 0xc 0x7 0x14 0xd5
3795 0x8c 0x0 0x10 0xd5
3796 0x8c 0x1 0x10 0xd5
3797 0x8c 0x2 0x10 0xd5
3798 0x8c 0x3 0x10 0xd5
3799 0x8c 0x4 0x10 0xd5
3800 0x8c 0x5 0x10 0xd5
3801 0x8c 0x6 0x10 0xd5
3802 0x8c 0x7 0x10 0xd5
3803 0x8c 0x8 0x10 0xd5
3804 0x8c 0x9 0x10 0xd5
3805 0x8c 0xa 0x10 0xd5
3806 0x8c 0xb 0x10 0xd5
3807 0x8c 0xc 0x10 0xd5
3808 0x8c 0xd 0x10 0xd5
3809 0x8c 0xe 0x10 0xd5
3810 0x8c 0xf 0x10 0xd5
3811 0xac 0x0 0x10 0xd5
3812 0xac 0x1 0x10 0xd5
3813 0xac 0x2 0x10 0xd5
3814 0xac 0x3 0x10 0xd5
3815 0xac 0x4 0x10 0xd5
3816 0xac 0x5 0x10 0xd5
3817 0xac 0x6 0x10 0xd5
3818 0xac 0x7 0x10 0xd5
3819 0xac 0x8 0x10 0xd5
3820 0xac 0x9 0x10 0xd5
3821 0xac 0xa 0x10 0xd5
3822 0xac 0xb 0x10 0xd5
3823 0xac 0xc 0x10 0xd5
3824 0xac 0xd 0x10 0xd5
3825 0xac 0xe 0x10 0xd5
3826 0xac 0xf 0x10 0xd5
3827 0xcc 0x0 0x10 0xd5
3828 0xcc 0x1 0x10 0xd5
3829 0xcc 0x2 0x10 0xd5
3830 0xcc 0x3 0x10 0xd5
3831 0xcc 0x4 0x10 0xd5
3832 0xcc 0x5 0x10 0xd5
3833 0xcc 0x6 0x10 0xd5
3834 0xcc 0x7 0x10 0xd5
3835 0xcc 0x8 0x10 0xd5
3836 0xcc 0x9 0x10 0xd5
3837 0xcc 0xa 0x10 0xd5
3838 0xcc 0xb 0x10 0xd5
3839 0xcc 0xc 0x10 0xd5
3840 0xcc 0xd 0x10 0xd5
3841 0xcc 0xe 0x10 0xd5
3842 0xcc 0xf 0x10 0xd5
3843 0xec 0x0 0x10 0xd5
3844 0xec 0x1 0x10 0xd5
3845 0xec 0x2 0x10 0xd5
3846 0xec 0x3 0x10 0xd5
3847 0xec 0x4 0x10 0xd5
3848 0xec 0x5 0x10 0xd5
3849 0xec 0x6 0x10 0xd5
3850 0xec 0x7 0x10 0xd5
3851 0xec 0x8 0x10 0xd5
3852 0xec 0x9 0x10 0xd5
3853 0xec 0xa 0x10 0xd5
3854 0xec 0xb 0x10 0xd5
3855 0xec 0xc 0x10 0xd5
3856 0xec 0xd 0x10 0xd5
3857 0xec 0xe 0x10 0xd5
3858 0xec 0xf 0x10 0xd5
3859 0xc 0x10 0x12 0xd5
3860 0x8c 0x10 0x10 0xd5
3861 0x8c 0x13 0x10 0xd5
3862 0x8c 0x14 0x10 0xd5
3863 0xcc 0x78 0x10 0xd5
3864 0xcc 0x79 0x10 0xd5
3865 0xc 0x0 0x1a 0xd5
3866 0xc 0x0 0x1c 0xd5
3867 0xac 0x0 0x1c 0xd5
3868 0xc 0x10 0x18 0xd5
3869 0xc 0x10 0x1c 0xd5
3870 0xc 0x10 0x1e 0xd5
3871 0x2c 0x10 0x18 0xd5
3872 0x2c 0x10 0x1d 0xd5
3873 0x2c 0x10 0x1c 0xd5
3874 0x2c 0x10 0x1e 0xd5
3875 0x4c 0x10 0x18 0xd5
3876 0xc 0x11 0x1c 0xd5
3877 0xc 0x11 0x1e 0xd5
3878 0x2c 0x11 0x1c 0xd5
3879 0x2c 0x11 0x1e 0xd5
3880 0x4c 0x11 0x1c 0xd5
3881 0x4c 0x11 0x1e 0xd5
3882 0x6c 0x11 0x1c 0xd5
3883 0xec 0x11 0x1c 0xd5
3884 0x2c 0x13 0x1e 0xd5
3885 0xc 0x20 0x18 0xd5
3886 0xc 0x20 0x1c 0xd5
3887 0xc 0x20 0x1e 0xd5
3888 0x2c 0x20 0x18 0xd5
3889 0x4c 0x20 0x18 0xd5
3890 0x4c 0x20 0x1c 0xd5
3891 0x4c 0x20 0x1e 0xd5
3892 0xc 0x21 0x1c 0xd5
3893 0x4c 0x21 0x1c 0xd5
3894 0xc 0x30 0x1c 0xd5
3895 0xc 0x40 0x18 0xd5
3896 0xc 0x40 0x1c 0xd5
3897 0xc 0x40 0x1e 0xd5
3898 0x2c 0x40 0x18 0xd5
3899 0x2c 0x40 0x1c 0xd5
3900 0x2c 0x40 0x1e 0xd5
3901 0xc 0x41 0x18 0xd5
3902 0xc 0x41 0x1c 0xd5
3903 0xc 0x41 0x1e 0xd5
3904 0xc 0x42 0x18 0xd5
3905 0xc 0x42 0x1b 0xd5
3906 0x2c 0x42 0x1b 0xd5
3907 0x4c 0x42 0x18 0xd5
3908 0xc 0x43 0x1c 0xd5
3909 0x2c 0x43 0x1c 0xd5
3910 0x4c 0x43 0x1c 0xd5
3911 0x6c 0x43 0x1c 0xd5
3912 0xc 0x44 0x1b 0xd5
3913 0x2c 0x44 0x1b 0xd5
3914 0xc 0x45 0x1b 0xd5
3915 0x2c 0x45 0x1b 0xd5
3916 0x2c 0x50 0x1c 0xd5
3917 0xc 0x51 0x18 0xd5
3918 0xc 0x51 0x1c 0xd5
3919 0xc 0x51 0x1e 0xd5
3920 0x2c 0x51 0x18 0xd5
3921 0x2c 0x51 0x1c 0xd5
3922 0x2c 0x51 0x1e 0xd5
3923 0xc 0x52 0x18 0xd5
3924 0xc 0x52 0x1c 0xd5
3925 0xc 0x52 0x1e 0xd5
3926 0xc 0x53 0x1c 0xd5
3927 0xc 0x60 0x18 0xd5
3928 0xc 0x60 0x1c 0xd5
3929 0xc 0x60 0x1e 0xd5
3930 0x8c 0x60 0x1c 0xd5
3931 0xc 0x74 0x18 0xd5
3932 0xc 0x9c 0x1b 0xd5
3933 0x2c 0x9c 0x1b 0xd5
3934 0x4c 0x9c 0x1b 0xd5
3935 0x6c 0x9c 0x1b 0xd5
3936 0xac 0x9c 0x1b 0xd5
3937 0xc 0x9d 0x1b 0xd5
3938 0x2c 0x9d 0x1b 0xd5
3939 0x4c 0x9d 0x1b 0xd5
3940 0xc 0x9e 0x1b 0xd5
3941 0x2c 0x9e 0x18 0xd5
3942 0x4c 0x9e 0x18 0xd5
3943 0x6c 0x9e 0x1b 0xd5
3944 0xcc 0x9e 0x18 0xd5
3945 0xc 0xa2 0x18 0xd5
3946 0xc 0xa2 0x1c 0xd5
3947 0xc 0xa2 0x1e 0xd5
3948 0xc 0xa3 0x18 0xd5
3949 0xc 0xa3 0x1c 0xd5
3950 0xc 0xa3 0x1e 0xd5
3951 0xc 0xc0 0x18 0xd5
3952 0xc 0xc0 0x1c 0xd5
3953 0xc 0xc0 0x1e 0xd5
3954 0x4c 0xc0 0x18 0xd5
3955 0x4c 0xc0 0x1c 0xd5
3956 0x4c 0xc0 0x1e 0xd5
3957 0x4c 0xd0 0x1b 0xd5
3958 0x4c 0xd0 0x1c 0xd5
3959 0x4c 0xd0 0x1e 0xd5
3960 0x6c 0xd0 0x1b 0xd5
3961 0x8c 0xd0 0x18 0xd5
3962 0xc 0xe0 0x1b 0xd5
3963 0x6c 0xe0 0x1c 0xd5
3964 0xc 0xe1 0x18 0xd5
3965 0xc 0xe1 0x1c 0xd5
3966 0xc 0xe2 0x1b 0xd5
3967 0xc 0xe2 0x1c 0xd5
3968 0xc 0xe2 0x1f 0xd5
3969 0x2c 0xe2 0x1b 0xd5
3970 0x2c 0xe2 0x1c 0xd5
3971 0x2c 0xe2 0x1f 0xd5
3972 0x4c 0xe2 0x1b 0xd5
3973 0x4c 0xe2 0x1c 0xd5
3974 0x4c 0xe2 0x1f 0xd5
3975 0xc 0xe3 0x1b 0xd5
3976 0x2c 0xe3 0x1b 0xd5
3977 0x4c 0xe3 0x1b 0xd5
3978 0xc 0xe8 0x1b 0xd5
3979 0x2c 0xe8 0x1b 0xd5
3980 0x4c 0xe8 0x1b 0xd5
3981 0x6c 0xe8 0x1b 0xd5
3982 0x8c 0xe8 0x1b 0xd5
3983 0xac 0xe8 0x1b 0xd5
3984 0xcc 0xe8 0x1b 0xd5
3985 0xec 0xe8 0x1b 0xd5
3986 0xc 0xe9 0x1b 0xd5
3987 0x2c 0xe9 0x1b 0xd5
3988 0x4c 0xe9 0x1b 0xd5
3989 0x6c 0xe9 0x1b 0xd5
3990 0x8c 0xe9 0x1b 0xd5
3991 0xac 0xe9 0x1b 0xd5
3992 0xcc 0xe9 0x1b 0xd5
3993 0xec 0xe9 0x1b 0xd5
3994 0xc 0xea 0x1b 0xd5
3995 0x2c 0xea 0x1b 0xd5
3996 0x4c 0xea 0x1b 0xd5
3997 0x6c 0xea 0x1b 0xd5
3998 0x8c 0xea 0x1b 0xd5
3999 0xac 0xea 0x1b 0xd5
4000 0xcc 0xea 0x1b 0xd5
4001 0xec 0xea 0x1b 0xd5
4002 0xc 0xeb 0x1b 0xd5
4003 0x2c 0xeb 0x1b 0xd5
4004 0x4c 0xeb 0x1b 0xd5
4005 0x6c 0xeb 0x1b 0xd5
4006 0x8c 0xeb 0x1b 0xd5
4007 0xac 0xeb 0x1b 0xd5
4008 0xcc 0xeb 0x1b 0xd5
4009 0xec 0xef 0x1b 0xd5
4010 0xc 0xec 0x1b 0xd5
4011 0x2c 0xec 0x1b 0xd5
4012 0x4c 0xec 0x1b 0xd5
4013 0x6c 0xec 0x1b 0xd5
4014 0x8c 0xec 0x1b 0xd5
4015 0xac 0xec 0x1b 0xd5
4016 0xcc 0xec 0x1b 0xd5
4017 0xec 0xec 0x1b 0xd5
4018 0xc 0xed 0x1b 0xd5
4019 0x2c 0xed 0x1b 0xd5
4020 0x4c 0xed 0x1b 0xd5
4021 0x6c 0xed 0x1b 0xd5
4022 0x8c 0xed 0x1b 0xd5
4023 0xac 0xed 0x1b 0xd5
4024 0xcc 0xed 0x1b 0xd5
4025 0xec 0xed 0x1b 0xd5
4026 0xc 0xee 0x1b 0xd5
4027 0x2c 0xee 0x1b 0xd5
4028 0x4c 0xee 0x1b 0xd5
4029 0x6c 0xee 0x1b 0xd5
4030 0x8c 0xee 0x1b 0xd5
4031 0xac 0xee 0x1b 0xd5
4032 0xcc 0xee 0x1b 0xd5
4033 0xec 0xee 0x1b 0xd5
4034 0xc 0xef 0x1b 0xd5
4035 0x2c 0xef 0x1b 0xd5
4036 0x4c 0xef 0x1b 0xd5
4037 0x6c 0xef 0x1b 0xd5
4038 0x8c 0xef 0x1b 0xd5
4039 0xac 0xef 0x1b 0xd5
4040 0xcc 0xef 0x1b 0xd5
4041 0x2c 0xa3 0x18 0xd5
4042 0x2c 0xa3 0x1d 0xd5
4043 0x2c 0xa3 0x1c 0xd5
4044 0x2c 0xa3 0x1e 0xd5
4045 0x2c 0xa2 0x18 0xd5
4046 0x2c 0xa2 0x1d 0xd5
4047 0x2c 0xa1 0x1c 0xd5
4048 0x2c 0xa1 0x1e 0xd5
4049 0x4c 0xa2 0x18 0xd5
4050 0x4c 0xa2 0x1d 0xd5
4051 0x4c 0xa2 0x1c 0xd5
4052 0x6c 0xa2 0x18 0xd5
4053 0x6c 0xa2 0x1d 0xd5
4054 0x6c 0xa2 0x1c 0xd5
4055 0x6c 0xa2 0x1e 0xd5
4056 0xac 0xa2 0x1c 0xd5
4057 0x8c 0xa2 0x1b 0xd5
4058 0x8c 0xa2 0x18 0xd5
4059 0x8c 0xa2 0x1d 0xd5
4060 0x8c 0xa2 0x1c 0xd5
4061 0x8c 0xa2 0x1e 0xd5
4062 0xac 0xa2 0x18 0xd5
4063 0x6c 0x10 0x18 0xd5
4064 0x6c 0x10 0x1d 0xd5
4065 0x6c 0x10 0x1c 0xd5
4066 0x6c 0x10 0x1e 0xd5
4067 0x6c 0x20 0x18 0xd5
4068 0x6c 0x20 0x1d 0xd5
4069 0x6c 0x20 0x1c 0xd5
4070 0x9 0x0 0x32 0xd5
4071 0x49 0x0 0x30 0xd5
4072 0x9 0x1 0x33 0xd5
4073 0x9 0x2 0x30 0xd5
4074 0x49 0x2 0x30 0xd5
4075 0x49 0x3 0x30 0xd5
4076 0x9 0x4 0x33 0xd5
4077 0x9 0x5 0x33 0xd5
4078 0x49 0x6 0x30 0xd5
4079 0x9 0x7 0x34 0xd5
4080 0x89 0x0 0x30 0xd5
4081 0x89 0x1 0x30 0xd5
4082 0x89 0x2 0x30 0xd5
4083 0x89 0x3 0x30 0xd5
4084 0x89 0x4 0x30 0xd5
4085 0x89 0x5 0x30 0xd5
4086 0x89 0x6 0x30 0xd5
4087 0x89 0x7 0x30 0xd5
4088 0x89 0x8 0x30 0xd5
4089 0x89 0x9 0x30 0xd5
4090 0x89 0xa 0x30 0xd5
4091 0x89 0xb 0x30 0xd5
4092 0x89 0xc 0x30 0xd5
4093 0x89 0xd 0x30 0xd5
4094 0x89 0xe 0x30 0xd5
4095 0x89 0xf 0x30 0xd5
4096 0xa9 0x0 0x30 0xd5
4097 0xa9 0x1 0x30 0xd5
4098 0xa9 0x2 0x30 0xd5
4099 0xa9 0x3 0x30 0xd5
4100 0xa9 0x4 0x30 0xd5
4101 0xa9 0x5 0x30 0xd5
4102 0xa9 0x6 0x30 0xd5
4103 0xa9 0x7 0x30 0xd5
4104 0xa9 0x8 0x30 0xd5
4105 0xa9 0x9 0x30 0xd5
4106 0xa9 0xa 0x30 0xd5
4107 0xa9 0xb 0x30 0xd5
4108 0xa9 0xc 0x30 0xd5
4109 0xa9 0xd 0x30 0xd5
4110 0xa9 0xe 0x30 0xd5
4111 0xa9 0xf 0x30 0xd5
4112 0xc9 0x0 0x30 0xd5
4113 0xc9 0x1 0x30 0xd5
4114 0xc9 0x2 0x30 0xd5
4115 0xc9 0x3 0x30 0xd5
4116 0xc9 0x4 0x30 0xd5
4117 0xc9 0x5 0x30 0xd5
4118 0xc9 0x6 0x30 0xd5
4119 0xc9 0x7 0x30 0xd5
4120 0xc9 0x8 0x30 0xd5
4121 0xc9 0x9 0x30 0xd5
4122 0xc9 0xa 0x30 0xd5
4123 0xc9 0xb 0x30 0xd5
4124 0xc9 0xc 0x30 0xd5
4125 0xc9 0xd 0x30 0xd5
4126 0xc9 0xe 0x30 0xd5
4127 0xc9 0xf 0x30 0xd5
4128 0xe9 0x0 0x30 0xd5
4129 0xe9 0x1 0x30 0xd5
4130 0xe9 0x2 0x30 0xd5
4131 0xe9 0x3 0x30 0xd5
4132 0xe9 0x4 0x30 0xd5
4133 0xe9 0x5 0x30 0xd5
4134 0xe9 0x6 0x30 0xd5
4135 0xe9 0x7 0x30 0xd5
4136 0xe9 0x8 0x30 0xd5
4137 0xe9 0x9 0x30 0xd5
4138 0xe9 0xa 0x30 0xd5
4139 0xe9 0xb 0x30 0xd5
4140 0xe9 0xc 0x30 0xd5
4141 0xe9 0xd 0x30 0xd5
4142 0xe9 0xe 0x30 0xd5
4143 0xe9 0xf 0x30 0xd5
4144 0x9 0x10 0x30 0xd5
4145 0x9 0x10 0x32 0xd5
4146 0x89 0x11 0x30 0xd5
4147 0x89 0x13 0x30 0xd5
4148 0x89 0x14 0x30 0xd5
4149 0xc9 0x78 0x30 0xd5
4150 0xc9 0x79 0x30 0xd5
4151 0xc9 0x7e 0x30 0xd5
4152 0x9 0x0 0x38 0xd5
4153 0x9 0x0 0x39 0xd5
4154 0x9 0x0 0x3a 0xd5
4155 0x49 0x0 0x39 0xd5
4156 0x9 0x0 0x3c 0xd5
4157 0x29 0x0 0x39 0xd5
4158 0x29 0x0 0x3b 0xd5
4159 0xa9 0x0 0x38 0xd5
4160 0xa9 0x0 0x3c 0xd5
4161 0xc9 0x0 0x38 0xd5
4162 0xe9 0x0 0x39 0xd5
4163 0xe9 0x0 0x3b 0xd5
4164 0x9 0x1 0x38 0xd5
4165 0x29 0x1 0x38 0xd5
4166 0x49 0x1 0x38 0xd5
4167 0xa9 0x3 0x38 0xd5
4168 0x69 0x1 0x38 0xd5
4169 0x89 0x1 0x38 0xd5
4170 0xa9 0x1 0x38 0xd5
4171 0xc9 0x1 0x38 0xd5
4172 0xe9 0x1 0x38 0xd5
4173 0xc9 0x2 0x38 0xd5
4174 0xc9 0x3 0x38 0xd5
4175 0x9 0x2 0x38 0xd5
4176 0x29 0x2 0x38 0xd5
4177 0x49 0x2 0x38 0xd5
4178 0x69 0x2 0x38 0xd5
4179 0x89 0x2 0x38 0xd5
4180 0xa9 0x2 0x38 0xd5
4181 0x9 0x3 0x38 0xd5
4182 0x29 0x3 0x38 0xd5
4183 0x49 0x3 0x38 0xd5
4184 0x9 0x4 0x38 0xd5
4185 0x29 0x4 0x38 0xd5
4186 0x49 0x4 0x38 0xd5
4187 0x9 0x5 0x38 0xd5
4188 0x29 0x5 0x38 0xd5
4189 0x49 0x5 0x38 0xd5
4190 0x89 0x5 0x38 0xd5
4191 0xa9 0x5 0x38 0xd5
4192 0x9 0x6 0x38 0xd5
4193 0x29 0x6 0x38 0xd5
4194 0x49 0x06 0x38 0xd5
4195 0x69 0x06 0x38 0xd5
4196 0x9 0x7 0x38 0xd5
4197 0x29 0x7 0x38 0xd5
4198 0x49 0x7 0x38 0xd5
4199 0x69 0x7 0x38 0xd5
4200 0x89 0x7 0x38 0xd5
4201 0x9 0x10 0x38 0xd5
4202 0x9 0x10 0x3c 0xd5
4203 0x9 0x10 0x3e 0xd5
4204 0x29 0x10 0x38 0xd5
4205 0x29 0x10 0x3d 0xd5
4206 0x29 0x10 0x3c 0xd5
4207 0x29 0x10 0x3e 0xd5
4208 0x49 0x10 0x38 0xd5
4209 0x9 0x11 0x3c 0xd5
4210 0x9 0x11 0x3e 0xd5
4211 0x29 0x11 0x3c 0xd5
4212 0x29 0x11 0x3e 0xd5
4213 0x49 0x11 0x3c 0xd5
4214 0x49 0x11 0x3e 0xd5
4215 0x69 0x11 0x3c 0xd5
4216 0xe9 0x11 0x3c 0xd5
4217 0x29 0x13 0x3e 0xd5
4218 0x9 0x20 0x38 0xd5
4219 0x9 0x20 0x3c 0xd5
4220 0x9 0x20 0x3e 0xd5
4221 0x29 0x20 0x38 0xd5
4222 0x49 0x20 0x38 0xd5
4223 0x49 0x20 0x3c 0xd5
4224 0x49 0x20 0x3e 0xd5
4225 0x9 0x21 0x3c 0xd5
4226 0x49 0x21 0x3c 0xd5
4227 0x9 0x30 0x3c 0xd5
4228 0x9 0x40 0x38 0xd5
4229 0x9 0x40 0x3c 0xd5
4230 0x9 0x40 0x3e 0xd5
4231 0x29 0x40 0x38 0xd5
4232 0x29 0x40 0x3c 0xd5
4233 0x29 0x40 0x3e 0xd5
4234 0x9 0x41 0x38 0xd5
4235 0x9 0x41 0x3c 0xd5
4236 0x9 0x41 0x3e 0xd5
4237 0x9 0x42 0x38 0xd5
4238 0x9 0x42 0x3b 0xd5
4239 0x29 0x42 0x3b 0xd5
4240 0x49 0x42 0x38 0xd5
4241 0x9 0x43 0x3c 0xd5
4242 0x29 0x43 0x3c 0xd5
4243 0x49 0x43 0x3c 0xd5
4244 0x69 0x43 0x3c 0xd5
4245 0x9 0x44 0x3b 0xd5
4246 0x29 0x44 0x3b 0xd5
4247 0x9 0x45 0x3b 0xd5
4248 0x29 0x45 0x3b 0xd5
4249 0x29 0x50 0x3c 0xd5
4250 0x9 0x51 0x38 0xd5
4251 0x9 0x51 0x3c 0xd5
4252 0x9 0x51 0x3e 0xd5
4253 0x29 0x51 0x38 0xd5
4254 0x29 0x51 0x3c 0xd5
4255 0x29 0x51 0x3e 0xd5
4256 0x9 0x52 0x38 0xd5
4257 0x9 0x52 0x3c 0xd5
4258 0x9 0x52 0x3e 0xd5
4259 0x9 0x53 0x3c 0xd5
4260 0x9 0x60 0x38 0xd5
4261 0x9 0x60 0x3c 0xd5
4262 0x9 0x60 0x3e 0xd5
4263 0x89 0x60 0x3c 0xd5
4264 0x9 0x74 0x38 0xd5
4265 0x9 0x9c 0x3b 0xd5
4266 0x29 0x9c 0x3b 0xd5
4267 0x49 0x9c 0x3b 0xd5
4268 0x69 0x9c 0x3b 0xd5
4269 0xa9 0x9c 0x3b 0xd5
4270 0xc9 0x9c 0x3b 0xd5
4271 0xe9 0x9c 0x3b 0xd5
4272 0x9 0x9d 0x3b 0xd5
4273 0x29 0x9d 0x3b 0xd5
4274 0x49 0x9d 0x3b 0xd5
4275 0x9 0x9e 0x3b 0xd5
4276 0x29 0x9e 0x38 0xd5
4277 0x49 0x9e 0x38 0xd5
4278 0x69 0x9e 0x3b 0xd5
4279 0xc9 0x9e 0x38 0xd5
4280 0x9 0xa2 0x38 0xd5
4281 0x9 0xa2 0x3c 0xd5
4282 0x9 0xa2 0x3e 0xd5
4283 0x9 0xa3 0x38 0xd5
4284 0x9 0xa3 0x3c 0xd5
4285 0x9 0xa3 0x3e 0xd5
4286 0x9 0xc0 0x38 0xd5
4287 0x9 0xc0 0x3c 0xd5
4288 0x9 0xc0 0x3e 0xd5
4289 0x29 0xc0 0x38 0xd5
4290 0x29 0xc0 0x3c 0xd5
4291 0x29 0xc0 0x3e 0xd5
4292 0x49 0xc0 0x38 0xd5
4293 0x49 0xc0 0x3c 0xd5
4294 0x49 0xc0 0x3e 0xd5
4295 0x9 0xc1 0x38 0xd5
4296 0x29 0xd0 0x38 0xd5
4297 0x49 0xd0 0x3b 0xd5
4298 0x49 0xd0 0x3c 0xd5
4299 0x49 0xd0 0x3e 0xd5
4300 0x69 0xd0 0x3b 0xd5
4301 0x89 0xd0 0x38 0xd5
4302 0x9 0xe0 0x3b 0xd5
4303 0x29 0xe0 0x3b 0xd5
4304 0x49 0xe0 0x3b 0xd5
4305 0x69 0xe0 0x3c 0xd5
4306 0x9 0xe1 0x38 0xd5
4307 0x9 0xe1 0x3c 0xd5
4308 0x9 0xe2 0x3b 0xd5
4309 0x9 0xe2 0x3c 0xd5
4310 0x9 0xe2 0x3f 0xd5
4311 0x29 0xe2 0x3b 0xd5
4312 0x29 0xe2 0x3c 0xd5
4313 0x29 0xe2 0x3f 0xd5
4314 0x49 0xe2 0x3b 0xd5
4315 0x49 0xe2 0x3c 0xd5
4316 0x49 0xe2 0x3f 0xd5
4317 0x9 0xe3 0x3b 0xd5
4318 0x29 0xe3 0x3b 0xd5
4319 0x49 0xe3 0x3b 0xd5
4320 0x9 0xe8 0x3b 0xd5
4321 0x29 0xe8 0x3b 0xd5
4322 0x49 0xe8 0x3b 0xd5
4323 0x69 0xe8 0x3b 0xd5
4324 0x89 0xe8 0x3b 0xd5
4325 0xa9 0xe8 0x3b 0xd5
4326 0xc9 0xe8 0x3b 0xd5
4327 0xe9 0xe8 0x3b 0xd5
4328 0x9 0xe9 0x3b 0xd5
4329 0x29 0xe9 0x3b 0xd5
4330 0x49 0xe9 0x3b 0xd5
4331 0x69 0xe9 0x3b 0xd5
4332 0x89 0xe9 0x3b 0xd5
4333 0xa9 0xe9 0x3b 0xd5
4334 0xc9 0xe9 0x3b 0xd5
4335 0xe9 0xe9 0x3b 0xd5
4336 0x9 0xea 0x3b 0xd5
4337 0x29 0xea 0x3b 0xd5
4338 0x49 0xea 0x3b 0xd5
4339 0x69 0xea 0x3b 0xd5
4340 0x89 0xea 0x3b 0xd5
4341 0xa9 0xea 0x3b 0xd5
4342 0xc9 0xea 0x3b 0xd5
4343 0xe9 0xea 0x3b 0xd5
4344 0x9 0xeb 0x3b 0xd5
4345 0x29 0xeb 0x3b 0xd5
4346 0x49 0xeb 0x3b 0xd5
4347 0x69 0xeb 0x3b 0xd5
4348 0x89 0xeb 0x3b 0xd5
4349 0xa9 0xeb 0x3b 0xd5
4350 0xc9 0xeb 0x3b 0xd5
4351 0xe9 0xef 0x3b 0xd5
4352 0x9 0xec 0x3b 0xd5
4353 0x29 0xec 0x3b 0xd5
4354 0x49 0xec 0x3b 0xd5
4355 0x69 0xec 0x3b 0xd5
4356 0x89 0xec 0x3b 0xd5
4357 0xa9 0xec 0x3b 0xd5
4358 0xc9 0xec 0x3b 0xd5
4359 0xe9 0xec 0x3b 0xd5
4360 0x9 0xed 0x3b 0xd5
4361 0x29 0xed 0x3b 0xd5
4362 0x49 0xed 0x3b 0xd5
4363 0x69 0xed 0x3b 0xd5
4364 0x89 0xed 0x3b 0xd5
4365 0xa9 0xed 0x3b 0xd5
4366 0xc9 0xed 0x3b 0xd5
4367 0xe9 0xed 0x3b 0xd5
4368 0x9 0xee 0x3b 0xd5
4369 0x29 0xee 0x3b 0xd5
4370 0x49 0xee 0x3b 0xd5
4371 0x69 0xee 0x3b 0xd5
4372 0x89 0xee 0x3b 0xd5
4373 0xa9 0xee 0x3b 0xd5
4374 0xc9 0xee 0x3b 0xd5
4375 0xe9 0xee 0x3b 0xd5
4376 0x9 0xef 0x3b 0xd5
4377 0x29 0xef 0x3b 0xd5
4378 0x49 0xef 0x3b 0xd5
4379 0x69 0xef 0x3b 0xd5
4380 0x89 0xef 0x3b 0xd5
4381 0xa9 0xef 0x3b 0xd5
4382 0xc9 0xef 0x3b 0xd5
4383 0x29 0xa3 0x38 0xd5
4384 0x29 0xa3 0x3d 0xd5
4385 0x29 0xa3 0x3c 0xd5
4386 0x29 0xa3 0x3e 0xd5
4387 0x29 0xa2 0x38 0xd5
4388 0x29 0xa2 0x3d 0xd5
4389 0x29 0xa1 0x3c 0xd5
4390 0x29 0xa1 0x3e 0xd5
4391 0x49 0xa2 0x38 0xd5
4392 0x49 0xa2 0x3d 0xd5
4393 0x49 0xa2 0x3c 0xd5
4394 0x69 0xa2 0x38 0xd5
4395 0x69 0xa2 0x3d 0xd5
4396 0x69 0xa2 0x3c 0xd5
4397 0x69 0xa2 0x3e 0xd5
4398 0xa9 0xa2 0x3c 0xd5
4399 0x89 0xa2 0x3b 0xd5
4400 0x89 0xa2 0x38 0xd5
4401 0x89 0xa2 0x3d 0xd5
4402 0x89 0xa2 0x3c 0xd5
4403 0x89 0xa2 0x3e 0xd5
4404 0xa9 0xa2 0x38 0xd5
4405 0x69 0x10 0x38 0xd5
4406 0x69 0x10 0x3d 0xd5
4407 0x69 0x10 0x3c 0xd5
4408 0x69 0x10 0x3e 0xd5
4409 0x69 0x20 0x38 0xd5
4410 0x69 0x20 0x3d 0xd5
4411 0x69 0x20 0x3c 0xd5
4413 # CHECK: mrs     x12, {{s3_7_c15_c1_5|S3_7_C15_C1_5}}
4414 # CHECK: mrs     x13, {{s3_2_c11_c15_7|S3_2_C11_C15_7}}
4415 # CHECK: mrs     xzr, {{s0_0_c4_c0_0|S0_0_C4_C0_0}}
4416 # CHECK: msr     {{s3_0_c15_c0_0|S3_0_C15_C0_0}}, x12
4417 # CHECK: msr     {{s3_7_c11_c13_7|S3_7_C11_C13_7}}, x5
4418 # CHECK: msr     {{s0_0_c4_c0_0|S0_0_C4_C0_0}}, xzr
4419 0xac 0xf1 0x3f 0xd5
4420 0xed 0xbf 0x3a 0xd5
4421 0x1f 0x40 0x20 0xd5
4422 0x0c 0xf0 0x18 0xd5
4423 0xe5 0xbd 0x1f 0xd5
4424 0x1f 0x40 0x00 0xd5
4426 #------------------------------------------------------------------------------
4427 # Test and branch (immediate)
4428 #------------------------------------------------------------------------------
4430 # CHECK: tbz     x12, #62, #0
4431 # CHECK: tbz     x12, #62, #4
4432 # CHECK: tbz     x12, #62, #-32768
4433 # CHECK: tbnz    x12, #60, #32764
4434 0x0c 0x00 0xf0 0xb6
4435 0x2c 0x00 0xf0 0xb6
4436 0x0c 0x00 0xf4 0xb6
4437 0xec 0xff 0xe3 0xb7
4439 #------------------------------------------------------------------------------
4440 # Unconditional branch (immediate)
4441 #------------------------------------------------------------------------------
4443 # CHECK: b        #4
4444 # CHECK: b        #-4
4445 # CHECK: b        #134217724
4446 0x01 0x00 0x00 0x14
4447 0xff 0xff 0xff 0x17
4448 0xff 0xff 0xff 0x15
4450 #------------------------------------------------------------------------------
4451 # Unconditional branch (register)
4452 #------------------------------------------------------------------------------
4454 # CHECK: br       x20
4455 # CHECK: blr      xzr
4456 # CHECK: ret      x10
4457 0x80 0x2 0x1f 0xd6
4458 0xe0 0x3 0x3f 0xd6
4459 0x40 0x1 0x5f 0xd6
4461 # CHECK: ret
4462 # CHECK: eret
4463 # CHECK: drps
4464 0xc0 0x3 0x5f 0xd6
4465 0xe0 0x3 0x9f 0xd6
4466 0xe0 0x3 0xbf 0xd6