blob: 185f0c1124a6cd5a6a025e0ff1b80110b0f71da0 [file] [log] [blame]
Amara Emersonf80f95f2013-10-31 09:32:11 +00001# RUN: llvm-mc -triple=aarch64 -mattr=+fp-armv8 -disassemble < %s | FileCheck %s
Tim Northover4ec135f2014-05-01 12:29:56 +00002# RUN: llvm-mc -triple=arm64 -mattr=+fp-armv8 -disassemble < %s | FileCheck %s
Oliver Stannardb25914e2015-11-27 13:04:48 +00003# RUN: llvm-mc -triple=arm64 -mattr=+fp-armv8,+fullfp16 -disassemble < %s | FileCheck %s --check-prefix=CHECK --check-prefix=FP16
Tim Northovere0e3aef2013-01-31 12:12:40 +00004
5#------------------------------------------------------------------------------
6# Add/sub (immediate)
7#------------------------------------------------------------------------------
8# CHECK: add w4, w5, #0
9# CHECK: add w2, w3, #4095
10# CHECK: add w30, w29, #1, lsl #12
11# CHECK: add w13, w5, #4095, lsl #12
12# CHECK: add x5, x7, #1638
130xa4 0x0 0x0 0x11
140x62 0xfc 0x3f 0x11
150xbe 0x7 0x40 0x11
160xad 0xfc 0x7f 0x11
170xe5 0x98 0x19 0x91
18
19# CHECK: add w20, wsp, #801
20# CHECK: add wsp, wsp, #1104
21# CHECK: add wsp, w30, #4084
220xf4 0x87 0xc 0x11
230xff 0x43 0x11 0x11
240xdf 0xd3 0x3f 0x11
25
26# CHECK: add x0, x24, #291
27# CHECK: add x3, x24, #4095, lsl #12
28# CHECK: add x8, sp, #1074
29# CHECK: add sp, x29, #3816
300x0 0x8f 0x4 0x91
310x3 0xff 0x7f 0x91
320xe8 0xcb 0x10 0x91
330xbf 0xa3 0x3b 0x91
34
35# CHECK: sub w0, wsp, #4077
36# CHECK: sub w4, w20, #546, lsl #12
37# CHECK: sub sp, sp, #288
38# CHECK: sub wsp, w19, #16
390xe0 0xb7 0x3f 0x51
400x84 0x8a 0x48 0x51
410xff 0x83 0x4 0xd1
420x7f 0x42 0x0 0x51
43
44
45# CHECK: adds w13, w23, #291, lsl #12
46# CHECK: cmn w2, #4095
47# CHECK: adds w20, wsp, #0
48# CHECK: cmn x3, #1, lsl #12
490xed 0x8e 0x44 0x31
500x5f 0xfc 0x3f 0x31
510xf4 0x3 0x0 0x31
520x7f 0x4 0x40 0xb1
53
54# CHECK: cmp sp, #20, lsl #12
55# CHECK: cmp x30, #4095
56# CHECK: subs x4, sp, #3822
570xff 0x53 0x40 0xf1
580xdf 0xff 0x3f 0xf1
590xe4 0xbb 0x3b 0xf1
60
61# These should really be CMN
62# CHECK: cmn w3, #291, lsl #12
63# CHECK: cmn wsp, #1365
64# CHECK: cmn sp, #1092, lsl #12
650x7f 0x8c 0x44 0x31
660xff 0x57 0x15 0x31
670xff 0x13 0x51 0xb1
68
69# CHECK: mov sp, x30
70# CHECK: mov wsp, w20
71# CHECK: mov x11, sp
72# CHECK: mov w24, wsp
730xdf 0x3 0x0 0x91
740x9f 0x2 0x0 0x11
750xeb 0x3 0x0 0x91
760xf8 0x3 0x0 0x11
77
78#------------------------------------------------------------------------------
79# Add-subtract (shifted register)
80#------------------------------------------------------------------------------
81
82# CHECK: add w3, w5, w7
83# CHECK: add wzr, w3, w5
84# CHECK: add w20, wzr, w4
85# CHECK: add w4, w6, wzr
86# CHECK: add w11, w13, w15
87# CHECK: add w9, w3, wzr, lsl #10
88# CHECK: add w17, w29, w20, lsl #31
89# CHECK: add w21, w22, w23, lsr #0
90# CHECK: add w24, w25, w26, lsr #18
91# CHECK: add w27, w28, w29, lsr #31
92# CHECK: add w2, w3, w4, asr #0
93# CHECK: add w5, w6, w7, asr #21
94# CHECK: add w8, w9, w10, asr #31
950xa3 0x0 0x7 0xb
960x7f 0x0 0x5 0xb
970xf4 0x3 0x4 0xb
980xc4 0x0 0x1f 0xb
990xab 0x1 0xf 0xb
1000x69 0x28 0x1f 0xb
1010xb1 0x7f 0x14 0xb
1020xd5 0x2 0x57 0xb
1030x38 0x4b 0x5a 0xb
1040x9b 0x7f 0x5d 0xb
1050x62 0x0 0x84 0xb
1060xc5 0x54 0x87 0xb
1070x28 0x7d 0x8a 0xb
108
109# CHECK: add x3, x5, x7
110# CHECK: add xzr, x3, x5
111# CHECK: add x20, xzr, x4
112# CHECK: add x4, x6, xzr
113# CHECK: add x11, x13, x15
114# CHECK: add x9, x3, xzr, lsl #10
115# CHECK: add x17, x29, x20, lsl #63
116# CHECK: add x21, x22, x23, lsr #0
117# CHECK: add x24, x25, x26, lsr #18
118# CHECK: add x27, x28, x29, lsr #63
119# CHECK: add x2, x3, x4, asr #0
120# CHECK: add x5, x6, x7, asr #21
121# CHECK: add x8, x9, x10, asr #63
1220xa3 0x0 0x7 0x8b
1230x7f 0x0 0x5 0x8b
1240xf4 0x3 0x4 0x8b
1250xc4 0x0 0x1f 0x8b
1260xab 0x1 0xf 0x8b
1270x69 0x28 0x1f 0x8b
1280xb1 0xff 0x14 0x8b
1290xd5 0x2 0x57 0x8b
1300x38 0x4b 0x5a 0x8b
1310x9b 0xff 0x5d 0x8b
1320x62 0x0 0x84 0x8b
1330xc5 0x54 0x87 0x8b
1340x28 0xfd 0x8a 0x8b
135
136# CHECK: adds w3, w5, w7
137# CHECK: cmn w3, w5
138# CHECK: adds w20, wzr, w4
139# CHECK: adds w4, w6, wzr
140# CHECK: adds w11, w13, w15
141# CHECK: adds w9, w3, wzr, lsl #10
142# CHECK: adds w17, w29, w20, lsl #31
143# CHECK: adds w21, w22, w23, lsr #0
144# CHECK: adds w24, w25, w26, lsr #18
145# CHECK: adds w27, w28, w29, lsr #31
146# CHECK: adds w2, w3, w4, asr #0
147# CHECK: adds w5, w6, w7, asr #21
148# CHECK: adds w8, w9, w10, asr #31
1490xa3 0x0 0x7 0x2b
1500x7f 0x0 0x5 0x2b
1510xf4 0x3 0x4 0x2b
1520xc4 0x0 0x1f 0x2b
1530xab 0x1 0xf 0x2b
1540x69 0x28 0x1f 0x2b
1550xb1 0x7f 0x14 0x2b
1560xd5 0x2 0x57 0x2b
1570x38 0x4b 0x5a 0x2b
1580x9b 0x7f 0x5d 0x2b
1590x62 0x0 0x84 0x2b
1600xc5 0x54 0x87 0x2b
1610x28 0x7d 0x8a 0x2b
162
163# CHECK: adds x3, x5, x7
164# CHECK: cmn x3, x5
165# CHECK: adds x20, xzr, x4
166# CHECK: adds x4, x6, xzr
167# CHECK: adds x11, x13, x15
168# CHECK: adds x9, x3, xzr, lsl #10
169# CHECK: adds x17, x29, x20, lsl #63
170# CHECK: adds x21, x22, x23, lsr #0
171# CHECK: adds x24, x25, x26, lsr #18
172# CHECK: adds x27, x28, x29, lsr #63
173# CHECK: adds x2, x3, x4, asr #0
174# CHECK: adds x5, x6, x7, asr #21
175# CHECK: adds x8, x9, x10, asr #63
1760xa3 0x0 0x7 0xab
1770x7f 0x0 0x5 0xab
1780xf4 0x3 0x4 0xab
1790xc4 0x0 0x1f 0xab
1800xab 0x1 0xf 0xab
1810x69 0x28 0x1f 0xab
1820xb1 0xff 0x14 0xab
1830xd5 0x2 0x57 0xab
1840x38 0x4b 0x5a 0xab
1850x9b 0xff 0x5d 0xab
1860x62 0x0 0x84 0xab
1870xc5 0x54 0x87 0xab
1880x28 0xfd 0x8a 0xab
189
190# CHECK: sub w3, w5, w7
191# CHECK: sub wzr, w3, w5
Tim Northover4ec135f2014-05-01 12:29:56 +0000192# CHECK: {{sub w20, wzr, w4|neg w20, w4}}
Tim Northovere0e3aef2013-01-31 12:12:40 +0000193# CHECK: sub w4, w6, wzr
194# CHECK: sub w11, w13, w15
195# CHECK: sub w9, w3, wzr, lsl #10
196# CHECK: sub w17, w29, w20, lsl #31
197# CHECK: sub w21, w22, w23, lsr #0
198# CHECK: sub w24, w25, w26, lsr #18
199# CHECK: sub w27, w28, w29, lsr #31
200# CHECK: sub w2, w3, w4, asr #0
201# CHECK: sub w5, w6, w7, asr #21
202# CHECK: sub w8, w9, w10, asr #31
2030xa3 0x0 0x7 0x4b
2040x7f 0x0 0x5 0x4b
2050xf4 0x3 0x4 0x4b
2060xc4 0x0 0x1f 0x4b
2070xab 0x1 0xf 0x4b
2080x69 0x28 0x1f 0x4b
2090xb1 0x7f 0x14 0x4b
2100xd5 0x2 0x57 0x4b
2110x38 0x4b 0x5a 0x4b
2120x9b 0x7f 0x5d 0x4b
2130x62 0x0 0x84 0x4b
2140xc5 0x54 0x87 0x4b
2150x28 0x7d 0x8a 0x4b
216
217# CHECK: sub x3, x5, x7
218# CHECK: sub xzr, x3, x5
Tim Northover4ec135f2014-05-01 12:29:56 +0000219# CHECK: {{sub x20, xzr, x4|neg x20, x4}}
Tim Northovere0e3aef2013-01-31 12:12:40 +0000220# CHECK: sub x4, x6, xzr
221# CHECK: sub x11, x13, x15
222# CHECK: sub x9, x3, xzr, lsl #10
223# CHECK: sub x17, x29, x20, lsl #63
224# CHECK: sub x21, x22, x23, lsr #0
225# CHECK: sub x24, x25, x26, lsr #18
226# CHECK: sub x27, x28, x29, lsr #63
227# CHECK: sub x2, x3, x4, asr #0
228# CHECK: sub x5, x6, x7, asr #21
229# CHECK: sub x8, x9, x10, asr #63
2300xa3 0x0 0x7 0xcb
2310x7f 0x0 0x5 0xcb
2320xf4 0x3 0x4 0xcb
2330xc4 0x0 0x1f 0xcb
2340xab 0x1 0xf 0xcb
2350x69 0x28 0x1f 0xcb
2360xb1 0xff 0x14 0xcb
2370xd5 0x2 0x57 0xcb
2380x38 0x4b 0x5a 0xcb
2390x9b 0xff 0x5d 0xcb
2400x62 0x0 0x84 0xcb
2410xc5 0x54 0x87 0xcb
2420x28 0xfd 0x8a 0xcb
243
244# CHECK: subs w3, w5, w7
245# CHECK: cmp w3, w5
Tim Northover4ec135f2014-05-01 12:29:56 +0000246# CHECK: {{subs w20, wzr, w4|negs w20, w4}}
Tim Northovere0e3aef2013-01-31 12:12:40 +0000247# CHECK: subs w4, w6, wzr
248# CHECK: subs w11, w13, w15
249# CHECK: subs w9, w3, wzr, lsl #10
250# CHECK: subs w17, w29, w20, lsl #31
251# CHECK: subs w21, w22, w23, lsr #0
252# CHECK: subs w24, w25, w26, lsr #18
253# CHECK: subs w27, w28, w29, lsr #31
254# CHECK: subs w2, w3, w4, asr #0
255# CHECK: subs w5, w6, w7, asr #21
256# CHECK: subs w8, w9, w10, asr #31
2570xa3 0x0 0x7 0x6b
2580x7f 0x0 0x5 0x6b
2590xf4 0x3 0x4 0x6b
2600xc4 0x0 0x1f 0x6b
2610xab 0x1 0xf 0x6b
2620x69 0x28 0x1f 0x6b
2630xb1 0x7f 0x14 0x6b
2640xd5 0x2 0x57 0x6b
2650x38 0x4b 0x5a 0x6b
2660x9b 0x7f 0x5d 0x6b
2670x62 0x0 0x84 0x6b
2680xc5 0x54 0x87 0x6b
2690x28 0x7d 0x8a 0x6b
270
271# CHECK: subs x3, x5, x7
272# CHECK: cmp x3, x5
Tim Northover4ec135f2014-05-01 12:29:56 +0000273# CHECK: {{subs x20, xzr, x4|negs x20, x4}}
Tim Northovere0e3aef2013-01-31 12:12:40 +0000274# CHECK: subs x4, x6, xzr
275# CHECK: subs x11, x13, x15
276# CHECK: subs x9, x3, xzr, lsl #10
277# CHECK: subs x17, x29, x20, lsl #63
278# CHECK: subs x21, x22, x23, lsr #0
279# CHECK: subs x24, x25, x26, lsr #18
280# CHECK: subs x27, x28, x29, lsr #63
281# CHECK: subs x2, x3, x4, asr #0
282# CHECK: subs x5, x6, x7, asr #21
283# CHECK: subs x8, x9, x10, asr #63
2840xa3 0x0 0x7 0xeb
2850x7f 0x0 0x5 0xeb
2860xf4 0x3 0x4 0xeb
2870xc4 0x0 0x1f 0xeb
2880xab 0x1 0xf 0xeb
2890x69 0x28 0x1f 0xeb
2900xb1 0xff 0x14 0xeb
2910xd5 0x2 0x57 0xeb
2920x38 0x4b 0x5a 0xeb
2930x9b 0xff 0x5d 0xeb
2940x62 0x0 0x84 0xeb
2950xc5 0x54 0x87 0xeb
2960x28 0xfd 0x8a 0xeb
297
298# CHECK: cmn w0, w3
299# CHECK: cmn wzr, w4
300# CHECK: cmn w5, wzr
301# CHECK: cmn w6, w7
302# CHECK: cmn w8, w9, lsl #15
303# CHECK: cmn w10, w11, lsl #31
304# CHECK: cmn w12, w13, lsr #0
305# CHECK: cmn w14, w15, lsr #21
306# CHECK: cmn w16, w17, lsr #31
307# CHECK: cmn w18, w19, asr #0
308# CHECK: cmn w20, w21, asr #22
309# CHECK: cmn w22, w23, asr #31
3100x1f 0x0 0x3 0x2b
3110xff 0x3 0x4 0x2b
3120xbf 0x0 0x1f 0x2b
3130xdf 0x0 0x7 0x2b
3140x1f 0x3d 0x9 0x2b
3150x5f 0x7d 0xb 0x2b
3160x9f 0x1 0x4d 0x2b
3170xdf 0x55 0x4f 0x2b
3180x1f 0x7e 0x51 0x2b
3190x5f 0x2 0x93 0x2b
3200x9f 0x5a 0x95 0x2b
3210xdf 0x7e 0x97 0x2b
322
323# CHECK: cmn x0, x3
324# CHECK: cmn xzr, x4
325# CHECK: cmn x5, xzr
326# CHECK: cmn x6, x7
327# CHECK: cmn x8, x9, lsl #15
328# CHECK: cmn x10, x11, lsl #63
329# CHECK: cmn x12, x13, lsr #0
330# CHECK: cmn x14, x15, lsr #41
331# CHECK: cmn x16, x17, lsr #63
332# CHECK: cmn x18, x19, asr #0
333# CHECK: cmn x20, x21, asr #55
334# CHECK: cmn x22, x23, asr #63
3350x1f 0x0 0x3 0xab
3360xff 0x3 0x4 0xab
3370xbf 0x0 0x1f 0xab
3380xdf 0x0 0x7 0xab
3390x1f 0x3d 0x9 0xab
3400x5f 0xfd 0xb 0xab
3410x9f 0x1 0x4d 0xab
3420xdf 0xa5 0x4f 0xab
3430x1f 0xfe 0x51 0xab
3440x5f 0x2 0x93 0xab
3450x9f 0xde 0x95 0xab
3460xdf 0xfe 0x97 0xab
347
348# CHECK: cmp w0, w3
349# CHECK: cmp wzr, w4
350# CHECK: cmp w5, wzr
351# CHECK: cmp w6, w7
352# CHECK: cmp w8, w9, lsl #15
353# CHECK: cmp w10, w11, lsl #31
354# CHECK: cmp w12, w13, lsr #0
355# CHECK: cmp w14, w15, lsr #21
356# CHECK: cmp w16, w17, lsr #31
357# CHECK: cmp w18, w19, asr #0
358# CHECK: cmp w20, w21, asr #22
359# CHECK: cmp w22, w23, asr #31
3600x1f 0x0 0x3 0x6b
3610xff 0x3 0x4 0x6b
3620xbf 0x0 0x1f 0x6b
3630xdf 0x0 0x7 0x6b
3640x1f 0x3d 0x9 0x6b
3650x5f 0x7d 0xb 0x6b
3660x9f 0x1 0x4d 0x6b
3670xdf 0x55 0x4f 0x6b
3680x1f 0x7e 0x51 0x6b
3690x5f 0x2 0x93 0x6b
3700x9f 0x5a 0x95 0x6b
3710xdf 0x7e 0x97 0x6b
372
373# CHECK: cmp x0, x3
374# CHECK: cmp xzr, x4
375# CHECK: cmp x5, xzr
376# CHECK: cmp x6, x7
377# CHECK: cmp x8, x9, lsl #15
378# CHECK: cmp x10, x11, lsl #63
379# CHECK: cmp x12, x13, lsr #0
380# CHECK: cmp x14, x15, lsr #41
381# CHECK: cmp x16, x17, lsr #63
382# CHECK: cmp x18, x19, asr #0
383# CHECK: cmp x20, x21, asr #55
384# CHECK: cmp x22, x23, asr #63
3850x1f 0x0 0x3 0xeb
3860xff 0x3 0x4 0xeb
3870xbf 0x0 0x1f 0xeb
3880xdf 0x0 0x7 0xeb
3890x1f 0x3d 0x9 0xeb
3900x5f 0xfd 0xb 0xeb
3910x9f 0x1 0x4d 0xeb
3920xdf 0xa5 0x4f 0xeb
3930x1f 0xfe 0x51 0xeb
3940x5f 0x2 0x93 0xeb
3950x9f 0xde 0x95 0xeb
3960xdf 0xfe 0x97 0xeb
397
Tim Northover4ec135f2014-05-01 12:29:56 +0000398# CHECK: {{sub w29, wzr|neg w29}}, w30
399# CHECK: {{sub w30, wzr|neg w30}}, wzr
400# CHECK: {{sub wzr, wzr|neg wzr}}, w0
401# CHECK: {{sub w28, wzr|neg w28}}, w27
402# CHECK: {{sub w26, wzr|neg w26}}, w25, lsl #29
403# CHECK: {{sub w24, wzr|neg w24}}, w23, lsl #31
404# CHECK: {{sub w22, wzr|neg w22}}, w21, lsr #0
405# CHECK: {{sub w20, wzr|neg w20}}, w19, lsr #1
406# CHECK: {{sub w18, wzr|neg w18}}, w17, lsr #31
407# CHECK: {{sub w16, wzr|neg w16}}, w15, asr #0
408# CHECK: {{sub w14, wzr|neg w14}}, w13, asr #12
409# CHECK: {{sub w12, wzr|neg w12}}, w11, asr #31
Tim Northovere0e3aef2013-01-31 12:12:40 +00004100xfd 0x3 0x1e 0x4b
4110xfe 0x3 0x1f 0x4b
4120xff 0x3 0x0 0x4b
4130xfc 0x3 0x1b 0x4b
4140xfa 0x77 0x19 0x4b
4150xf8 0x7f 0x17 0x4b
4160xf6 0x3 0x55 0x4b
4170xf4 0x7 0x53 0x4b
4180xf2 0x7f 0x51 0x4b
4190xf0 0x3 0x8f 0x4b
4200xee 0x33 0x8d 0x4b
4210xec 0x7f 0x8b 0x4b
422
Tim Northover4ec135f2014-05-01 12:29:56 +0000423# CHECK: {{sub x29, xzr|neg x29}}, x30
424# CHECK: {{sub x30, xzr|neg x30}}, xzr
425# CHECK: {{sub xzr, xzr|neg xzr}}, x0
426# CHECK: {{sub x28, xzr|neg x28}}, x27
427# CHECK: {{sub x26, xzr|neg x26}}, x25, lsl #29
428# CHECK: {{sub x24, xzr|neg x24}}, x23, lsl #31
429# CHECK: {{sub x22, xzr|neg x22}}, x21, lsr #0
430# CHECK: {{sub x20, xzr|neg x20}}, x19, lsr #1
431# CHECK: {{sub x18, xzr|neg x18}}, x17, lsr #31
432# CHECK: {{sub x16, xzr|neg x16}}, x15, asr #0
433# CHECK: {{sub x14, xzr|neg x14}}, x13, asr #12
434# CHECK: {{sub x12, xzr|neg x12}}, x11, asr #31
Tim Northovere0e3aef2013-01-31 12:12:40 +00004350xfd 0x3 0x1e 0xcb
4360xfe 0x3 0x1f 0xcb
4370xff 0x3 0x0 0xcb
4380xfc 0x3 0x1b 0xcb
4390xfa 0x77 0x19 0xcb
4400xf8 0x7f 0x17 0xcb
4410xf6 0x3 0x55 0xcb
4420xf4 0x7 0x53 0xcb
4430xf2 0x7f 0x51 0xcb
4440xf0 0x3 0x8f 0xcb
4450xee 0x33 0x8d 0xcb
4460xec 0x7f 0x8b 0xcb
447
Tim Northover4ec135f2014-05-01 12:29:56 +0000448# CHECK: {{subs w29, wzr|negs w29}}, w30
449# CHECK: {{subs w30, wzr|negs w30}}, wzr
Tim Northovere0e3aef2013-01-31 12:12:40 +0000450# CHECK: cmp wzr, w0
Tim Northover4ec135f2014-05-01 12:29:56 +0000451# CHECK: {{subs w28, wzr|negs w28}}, w27
452# CHECK: {{subs w26, wzr|negs w26}}, w25, lsl #29
453# CHECK: {{subs w24, wzr|negs w24}}, w23, lsl #31
454# CHECK: {{subs w22, wzr|negs w22}}, w21, lsr #0
455# CHECK: {{subs w20, wzr|negs w20}}, w19, lsr #1
456# CHECK: {{subs w18, wzr|negs w18}}, w17, lsr #31
457# CHECK: {{subs w16, wzr|negs w16}}, w15, asr #0
458# CHECK: {{subs w14, wzr|negs w14}}, w13, asr #12
459# CHECK: {{subs w12, wzr|negs w12}}, w11, asr #31
Tim Northovere0e3aef2013-01-31 12:12:40 +00004600xfd 0x3 0x1e 0x6b
4610xfe 0x3 0x1f 0x6b
4620xff 0x3 0x0 0x6b
4630xfc 0x3 0x1b 0x6b
4640xfa 0x77 0x19 0x6b
4650xf8 0x7f 0x17 0x6b
4660xf6 0x3 0x55 0x6b
4670xf4 0x7 0x53 0x6b
4680xf2 0x7f 0x51 0x6b
4690xf0 0x3 0x8f 0x6b
4700xee 0x33 0x8d 0x6b
4710xec 0x7f 0x8b 0x6b
472
Tim Northover4ec135f2014-05-01 12:29:56 +0000473# CHECK: {{subs x29, xzr|negs x29}}, x30
474# CHECK: {{subs x30, xzr|negs x30}}, xzr
Tim Northovere0e3aef2013-01-31 12:12:40 +0000475# CHECK: cmp xzr, x0
Tim Northover4ec135f2014-05-01 12:29:56 +0000476# CHECK: {{subs x28, xzr|negs x28}}, x27
477# CHECK: {{subs x26, xzr|negs x26}}, x25, lsl #29
478# CHECK: {{subs x24, xzr|negs x24}}, x23, lsl #31
479# CHECK: {{subs x22, xzr|negs x22}}, x21, lsr #0
480# CHECK: {{subs x20, xzr|negs x20}}, x19, lsr #1
481# CHECK: {{subs x18, xzr|negs x18}}, x17, lsr #31
482# CHECK: {{subs x16, xzr|negs x16}}, x15, asr #0
483# CHECK: {{subs x14, xzr|negs x14}}, x13, asr #12
484# CHECK: {{subs x12, xzr|negs x12}}, x11, asr #31
Tim Northovere0e3aef2013-01-31 12:12:40 +00004850xfd 0x3 0x1e 0xeb
4860xfe 0x3 0x1f 0xeb
4870xff 0x3 0x0 0xeb
4880xfc 0x3 0x1b 0xeb
4890xfa 0x77 0x19 0xeb
4900xf8 0x7f 0x17 0xeb
4910xf6 0x3 0x55 0xeb
4920xf4 0x7 0x53 0xeb
4930xf2 0x7f 0x51 0xeb
4940xf0 0x3 0x8f 0xeb
4950xee 0x33 0x8d 0xeb
4960xec 0x7f 0x8b 0xeb
497
498#------------------------------------------------------------------------------
499# Add-subtract (shifted register)
500#------------------------------------------------------------------------------
501
502# CHECK: adc w29, w27, w25
503# CHECK: adc wzr, w3, w4
504# CHECK: adc w9, wzr, w10
505# CHECK: adc w20, w0, wzr
5060x7d 0x3 0x19 0x1a
5070x7f 0x0 0x4 0x1a
5080xe9 0x3 0xa 0x1a
5090x14 0x0 0x1f 0x1a
510
511# CHECK: adc x29, x27, x25
512# CHECK: adc xzr, x3, x4
513# CHECK: adc x9, xzr, x10
514# CHECK: adc x20, x0, xzr
5150x7d 0x3 0x19 0x9a
5160x7f 0x0 0x4 0x9a
5170xe9 0x3 0xa 0x9a
5180x14 0x0 0x1f 0x9a
519
520# CHECK: adcs w29, w27, w25
521# CHECK: adcs wzr, w3, w4
522# CHECK: adcs w9, wzr, w10
523# CHECK: adcs w20, w0, wzr
5240x7d 0x3 0x19 0x3a
5250x7f 0x0 0x4 0x3a
5260xe9 0x3 0xa 0x3a
5270x14 0x0 0x1f 0x3a
528
529# CHECK: adcs x29, x27, x25
530# CHECK: adcs xzr, x3, x4
531# CHECK: adcs x9, xzr, x10
532# CHECK: adcs x20, x0, xzr
5330x7d 0x3 0x19 0xba
5340x7f 0x0 0x4 0xba
5350xe9 0x3 0xa 0xba
5360x14 0x0 0x1f 0xba
537
538# CHECK: sbc w29, w27, w25
539# CHECK: sbc wzr, w3, w4
540# CHECK: ngc w9, w10
541# CHECK: sbc w20, w0, wzr
5420x7d 0x3 0x19 0x5a
5430x7f 0x0 0x4 0x5a
5440xe9 0x3 0xa 0x5a
5450x14 0x0 0x1f 0x5a
546
547# CHECK: sbc x29, x27, x25
548# CHECK: sbc xzr, x3, x4
549# CHECK: ngc x9, x10
550# CHECK: sbc x20, x0, xzr
5510x7d 0x3 0x19 0xda
5520x7f 0x0 0x4 0xda
5530xe9 0x3 0xa 0xda
5540x14 0x0 0x1f 0xda
555
556# CHECK: sbcs w29, w27, w25
557# CHECK: sbcs wzr, w3, w4
558# CHECK: ngcs w9, w10
559# CHECK: sbcs w20, w0, wzr
5600x7d 0x3 0x19 0x7a
5610x7f 0x0 0x4 0x7a
5620xe9 0x3 0xa 0x7a
5630x14 0x0 0x1f 0x7a
564
565# CHECK: sbcs x29, x27, x25
566# CHECK: sbcs xzr, x3, x4
567# CHECK: ngcs x9, x10
568# CHECK: sbcs x20, x0, xzr
5690x7d 0x3 0x19 0xfa
5700x7f 0x0 0x4 0xfa
5710xe9 0x3 0xa 0xfa
5720x14 0x0 0x1f 0xfa
573
574# CHECK: ngc w3, w12
575# CHECK: ngc wzr, w9
576# CHECK: ngc w23, wzr
5770xe3 0x3 0xc 0x5a
5780xff 0x3 0x9 0x5a
5790xf7 0x3 0x1f 0x5a
580
581# CHECK: ngc x29, x30
582# CHECK: ngc xzr, x0
583# CHECK: ngc x0, xzr
5840xfd 0x3 0x1e 0xda
5850xff 0x3 0x0 0xda
5860xe0 0x3 0x1f 0xda
587
588# CHECK: ngcs w3, w12
589# CHECK: ngcs wzr, w9
590# CHECK: ngcs w23, wzr
5910xe3 0x3 0xc 0x7a
5920xff 0x3 0x9 0x7a
5930xf7 0x3 0x1f 0x7a
594
595# CHECK: ngcs x29, x30
596# CHECK: ngcs xzr, x0
597# CHECK: ngcs x0, xzr
5980xfd 0x3 0x1e 0xfa
5990xff 0x3 0x0 0xfa
6000xe0 0x3 0x1f 0xfa
601
602#------------------------------------------------------------------------------
603# Compare and branch (immediate)
604#------------------------------------------------------------------------------
605
606# CHECK: sbfx x1, x2, #3, #2
607# CHECK: asr x3, x4, #63
608# CHECK: asr wzr, wzr, #31
609# CHECK: sbfx w12, w9, #0, #1
6100x41 0x10 0x43 0x93
6110x83 0xfc 0x7f 0x93
6120xff 0x7f 0x1f 0x13
6130x2c 0x1 0x0 0x13
614
615# CHECK: ubfiz x4, x5, #52, #11
616# CHECK: ubfx xzr, x4, #0, #1
617# CHECK: ubfiz x4, xzr, #1, #6
618# CHECK: lsr x5, x6, #12
6190xa4 0x28 0x4c 0xd3
6200x9f 0x0 0x40 0xd3
6210xe4 0x17 0x7f 0xd3
6220xc5 0xfc 0x4c 0xd3
623
624# CHECK: bfi x4, x5, #52, #11
625# CHECK: bfxil xzr, x4, #0, #1
Tim Northover03b99f62015-04-30 18:28:58 +0000626# CHECK: bfc x4, #1, #6
Tim Northovere0e3aef2013-01-31 12:12:40 +0000627# CHECK: bfxil x5, x6, #12, #52
6280xa4 0x28 0x4c 0xb3
6290x9f 0x0 0x40 0xb3
6300xe4 0x17 0x7f 0xb3
6310xc5 0xfc 0x4c 0xb3
632
633# CHECK: sxtb w1, w2
634# CHECK: sxtb xzr, w3
635# CHECK: sxth w9, w10
636# CHECK: sxth x0, w1
637# CHECK: sxtw x3, w30
6380x41 0x1c 0x0 0x13
6390x7f 0x1c 0x40 0x93
6400x49 0x3d 0x0 0x13
6410x20 0x3c 0x40 0x93
6420xc3 0x7f 0x40 0x93
643
644# CHECK: uxtb w1, w2
645# CHECK: uxth w9, w10
646# CHECK: ubfx x3, x30, #0, #32
6470x41 0x1c 0x0 0x53
6480x49 0x3d 0x0 0x53
6490xc3 0x7f 0x40 0xd3
650
651# CHECK: asr w3, w2, #0
652# CHECK: asr w9, w10, #31
653# CHECK: asr x20, x21, #63
654# CHECK: asr w1, wzr, #3
6550x43 0x7c 0x0 0x13
6560x49 0x7d 0x1f 0x13
6570xb4 0xfe 0x7f 0x93
6580xe1 0x7f 0x3 0x13
659
660# CHECK: lsr w3, w2, #0
661# CHECK: lsr w9, w10, #31
662# CHECK: lsr x20, x21, #63
663# CHECK: lsr wzr, wzr, #3
6640x43 0x7c 0x0 0x53
6650x49 0x7d 0x1f 0x53
6660xb4 0xfe 0x7f 0xd3
6670xff 0x7f 0x3 0x53
668
669# CHECK: lsr w3, w2, #0
670# CHECK: lsl w9, w10, #31
671# CHECK: lsl x20, x21, #63
672# CHECK: lsl w1, wzr, #3
6730x43 0x7c 0x0 0x53
6740x49 0x1 0x1 0x53
6750xb4 0x2 0x41 0xd3
6760xe1 0x73 0x1d 0x53
677
678# CHECK: sbfx w9, w10, #0, #1
679# CHECK: sbfiz x2, x3, #63, #1
680# CHECK: asr x19, x20, #0
681# CHECK: sbfiz x9, x10, #5, #59
682# CHECK: asr w9, w10, #0
683# CHECK: sbfiz w11, w12, #31, #1
684# CHECK: sbfiz w13, w14, #29, #3
685# CHECK: sbfiz xzr, xzr, #10, #11
6860x49 0x1 0x0 0x13
6870x62 0x0 0x41 0x93
6880x93 0xfe 0x40 0x93
6890x49 0xe9 0x7b 0x93
6900x49 0x7d 0x0 0x13
6910x8b 0x1 0x1 0x13
6920xcd 0x9 0x3 0x13
6930xff 0x2b 0x76 0x93
694
695# CHECK: sbfx w9, w10, #0, #1
696# CHECK: asr x2, x3, #63
697# CHECK: asr x19, x20, #0
698# CHECK: asr x9, x10, #5
699# CHECK: asr w9, w10, #0
700# CHECK: asr w11, w12, #31
701# CHECK: asr w13, w14, #29
702# CHECK: sbfx xzr, xzr, #10, #11
7030x49 0x1 0x0 0x13
7040x62 0xfc 0x7f 0x93
7050x93 0xfe 0x40 0x93
7060x49 0xfd 0x45 0x93
7070x49 0x7d 0x0 0x13
7080x8b 0x7d 0x1f 0x13
7090xcd 0x7d 0x1d 0x13
7100xff 0x53 0x4a 0x93
711
712# CHECK: bfxil w9, w10, #0, #1
713# CHECK: bfi x2, x3, #63, #1
714# CHECK: bfxil x19, x20, #0, #64
715# CHECK: bfi x9, x10, #5, #59
716# CHECK: bfxil w9, w10, #0, #32
717# CHECK: bfi w11, w12, #31, #1
718# CHECK: bfi w13, w14, #29, #3
Tim Northover03b99f62015-04-30 18:28:58 +0000719# CHECK: bfc xzr, #10, #11
Tim Northovere0e3aef2013-01-31 12:12:40 +00007200x49 0x1 0x0 0x33
7210x62 0x0 0x41 0xb3
7220x93 0xfe 0x40 0xb3
7230x49 0xe9 0x7b 0xb3
7240x49 0x7d 0x0 0x33
7250x8b 0x1 0x1 0x33
7260xcd 0x9 0x3 0x33
7270xff 0x2b 0x76 0xb3
728
729# CHECK: bfxil w9, w10, #0, #1
730# CHECK: bfxil x2, x3, #63, #1
731# CHECK: bfxil x19, x20, #0, #64
732# CHECK: bfxil x9, x10, #5, #59
733# CHECK: bfxil w9, w10, #0, #32
734# CHECK: bfxil w11, w12, #31, #1
735# CHECK: bfxil w13, w14, #29, #3
736# CHECK: bfxil xzr, xzr, #10, #11
7370x49 0x1 0x0 0x33
7380x62 0xfc 0x7f 0xb3
7390x93 0xfe 0x40 0xb3
7400x49 0xfd 0x45 0xb3
7410x49 0x7d 0x0 0x33
7420x8b 0x7d 0x1f 0x33
7430xcd 0x7d 0x1d 0x33
7440xff 0x53 0x4a 0xb3
745
746# CHECK: ubfx w9, w10, #0, #1
747# CHECK: lsl x2, x3, #63
748# CHECK: lsr x19, x20, #0
749# CHECK: lsl x9, x10, #5
750# CHECK: lsr w9, w10, #0
751# CHECK: lsl w11, w12, #31
752# CHECK: lsl w13, w14, #29
753# CHECK: ubfiz xzr, xzr, #10, #11
7540x49 0x1 0x0 0x53
7550x62 0x0 0x41 0xd3
7560x93 0xfe 0x40 0xd3
7570x49 0xe9 0x7b 0xd3
7580x49 0x7d 0x0 0x53
7590x8b 0x1 0x1 0x53
7600xcd 0x9 0x3 0x53
7610xff 0x2b 0x76 0xd3
762
763# CHECK: ubfx w9, w10, #0, #1
764# CHECK: lsr x2, x3, #63
765# CHECK: lsr x19, x20, #0
766# CHECK: lsr x9, x10, #5
767# CHECK: lsr w9, w10, #0
768# CHECK: lsr w11, w12, #31
769# CHECK: lsr w13, w14, #29
770# CHECK: ubfx xzr, xzr, #10, #11
7710x49 0x1 0x0 0x53
7720x62 0xfc 0x7f 0xd3
7730x93 0xfe 0x40 0xd3
7740x49 0xfd 0x45 0xd3
7750x49 0x7d 0x0 0x53
7760x8b 0x7d 0x1f 0x53
7770xcd 0x7d 0x1d 0x53
7780xff 0x53 0x4a 0xd3
779
780
781#------------------------------------------------------------------------------
782# Compare and branch (immediate)
783#------------------------------------------------------------------------------
784
785# CHECK: cbz w5, #4
786# CHECK: cbz x5, #0
787# CHECK: cbnz x2, #-4
788# CHECK: cbnz x26, #1048572
7890x25 0x0 0x0 0x34
7900x05 0x0 0x0 0xb4
7910xe2 0xff 0xff 0xb5
7920xfa 0xff 0x7f 0xb5
793
794# CHECK: cbz wzr, #0
795# CHECK: cbnz xzr, #0
7960x1f 0x0 0x0 0x34
7970x1f 0x0 0x0 0xb5
798
799#------------------------------------------------------------------------------
800# Conditional branch (immediate)
801#------------------------------------------------------------------------------
802
803# CHECK: b.ne #4
804# CHECK: b.ge #1048572
805# CHECK: b.ge #-4
8060x21 0x00 0x00 0x54
8070xea 0xff 0x7f 0x54
8080xea 0xff 0xff 0x54
809
810#------------------------------------------------------------------------------
811# Conditional compare (immediate)
812#------------------------------------------------------------------------------
813
814# CHECK: ccmp w1, #31, #0, eq
815# CHECK: ccmp w3, #0, #15, hs
816# CHECK: ccmp wzr, #15, #13, hs
8170x20 0x08 0x5f 0x7a
8180x6f 0x28 0x40 0x7a
8190xed 0x2b 0x4f 0x7a
820
821# CHECK: ccmp x9, #31, #0, le
822# CHECK: ccmp x3, #0, #15, gt
823# CHECK: ccmp xzr, #5, #7, ne
8240x20 0xd9 0x5f 0xfa
8250x6f 0xc8 0x40 0xfa
8260xe7 0x1b 0x45 0xfa
827
828# CHECK: ccmn w1, #31, #0, eq
829# CHECK: ccmn w3, #0, #15, hs
830# CHECK: ccmn wzr, #15, #13, hs
8310x20 0x08 0x5f 0x3a
8320x6f 0x28 0x40 0x3a
8330xed 0x2b 0x4f 0x3a
834
835# CHECK: ccmn x9, #31, #0, le
836# CHECK: ccmn x3, #0, #15, gt
837# CHECK: ccmn xzr, #5, #7, ne
8380x20 0xd9 0x5f 0xba
8390x6f 0xc8 0x40 0xba
8400xe7 0x1b 0x45 0xba
841
842#------------------------------------------------------------------------------
843# Conditional compare (register)
844#------------------------------------------------------------------------------
845
846# CHECK: ccmp w1, wzr, #0, eq
847# CHECK: ccmp w3, w0, #15, hs
848# CHECK: ccmp wzr, w15, #13, hs
8490x20 0x00 0x5f 0x7a
8500x6f 0x20 0x40 0x7a
8510xed 0x23 0x4f 0x7a
852
853# CHECK: ccmp x9, xzr, #0, le
854# CHECK: ccmp x3, x0, #15, gt
855# CHECK: ccmp xzr, x5, #7, ne
8560x20 0xd1 0x5f 0xfa
8570x6f 0xc0 0x40 0xfa
8580xe7 0x13 0x45 0xfa
859
860# CHECK: ccmn w1, wzr, #0, eq
861# CHECK: ccmn w3, w0, #15, hs
862# CHECK: ccmn wzr, w15, #13, hs
8630x20 0x00 0x5f 0x3a
8640x6f 0x20 0x40 0x3a
8650xed 0x23 0x4f 0x3a
866
867# CHECK: ccmn x9, xzr, #0, le
868# CHECK: ccmn x3, x0, #15, gt
869# CHECK: ccmn xzr, x5, #7, ne
8700x20 0xd1 0x5f 0xba
8710x6f 0xc0 0x40 0xba
8720xe7 0x13 0x45 0xba
873
874#------------------------------------------------------------------------------
875# Conditional branch (immediate)
876#------------------------------------------------------------------------------
877# CHECK: csel w1, w0, w19, ne
878# CHECK: csel wzr, w5, w9, eq
879# CHECK: csel w9, wzr, w30, gt
880# CHECK: csel w1, w28, wzr, mi
881# CHECK: csel x19, x23, x29, lt
882# CHECK: csel xzr, x3, x4, ge
883# CHECK: csel x5, xzr, x6, hs
884# CHECK: csel x7, x8, xzr, lo
8850x1 0x10 0x93 0x1a
8860xbf 0x0 0x89 0x1a
8870xe9 0xc3 0x9e 0x1a
8880x81 0x43 0x9f 0x1a
8890xf3 0xb2 0x9d 0x9a
8900x7f 0xa0 0x84 0x9a
8910xe5 0x23 0x86 0x9a
8920x7 0x31 0x9f 0x9a
893
894# CHECK: csinc w1, w0, w19, ne
895# CHECK: csinc wzr, w5, w9, eq
896# CHECK: csinc w9, wzr, w30, gt
897# CHECK: csinc w1, w28, wzr, mi
898# CHECK: csinc x19, x23, x29, lt
899# CHECK: csinc xzr, x3, x4, ge
900# CHECK: csinc x5, xzr, x6, hs
901# CHECK: csinc x7, x8, xzr, lo
9020x1 0x14 0x93 0x1a
9030xbf 0x4 0x89 0x1a
9040xe9 0xc7 0x9e 0x1a
9050x81 0x47 0x9f 0x1a
9060xf3 0xb6 0x9d 0x9a
9070x7f 0xa4 0x84 0x9a
9080xe5 0x27 0x86 0x9a
9090x7 0x35 0x9f 0x9a
910
911# CHECK: csinv w1, w0, w19, ne
912# CHECK: csinv wzr, w5, w9, eq
913# CHECK: csinv w9, wzr, w30, gt
914# CHECK: csinv w1, w28, wzr, mi
915# CHECK: csinv x19, x23, x29, lt
916# CHECK: csinv xzr, x3, x4, ge
917# CHECK: csinv x5, xzr, x6, hs
918# CHECK: csinv x7, x8, xzr, lo
9190x1 0x10 0x93 0x5a
9200xbf 0x0 0x89 0x5a
9210xe9 0xc3 0x9e 0x5a
9220x81 0x43 0x9f 0x5a
9230xf3 0xb2 0x9d 0xda
9240x7f 0xa0 0x84 0xda
9250xe5 0x23 0x86 0xda
9260x7 0x31 0x9f 0xda
927
928# CHECK: csneg w1, w0, w19, ne
929# CHECK: csneg wzr, w5, w9, eq
930# CHECK: csneg w9, wzr, w30, gt
931# CHECK: csneg w1, w28, wzr, mi
932# CHECK: csneg x19, x23, x29, lt
933# CHECK: csneg xzr, x3, x4, ge
934# CHECK: csneg x5, xzr, x6, hs
935# CHECK: csneg x7, x8, xzr, lo
9360x1 0x14 0x93 0x5a
9370xbf 0x4 0x89 0x5a
9380xe9 0xc7 0x9e 0x5a
9390x81 0x47 0x9f 0x5a
9400xf3 0xb6 0x9d 0xda
9410x7f 0xa4 0x84 0xda
9420xe5 0x27 0x86 0xda
9430x7 0x35 0x9f 0xda
944
Tim Northoveree20caa2014-05-12 18:04:06 +0000945# CHECK: cset w3, eq
946# CHECK: cset x9, pl
947# CHECK: csetm w20, ne
948# CHECK: csetm x30, ge
Artyom Skrobov6c8682e2014-06-10 13:11:35 +0000949# "cset w2, nv" and "csetm x3, al" are invalid aliases for these two
950# CHECK: csinc w2, wzr, wzr, al
951# CHECK: csinv x3, xzr, xzr, nv
Tim Northovere0e3aef2013-01-31 12:12:40 +00009520xe3 0x17 0x9f 0x1a
9530xe9 0x47 0x9f 0x9a
9540xf4 0x3 0x9f 0x5a
9550xfe 0xb3 0x9f 0xda
Artyom Skrobov6c8682e2014-06-10 13:11:35 +00009560xe2,0xe7,0x9f,0x1a
9570xe3,0xf3,0x9f,0xda
Tim Northovere0e3aef2013-01-31 12:12:40 +0000958
Tim Northoveree20caa2014-05-12 18:04:06 +0000959# CHECK: cinc w3, w5, gt
960# CHECK: cinc wzr, w4, le
961# CHECK: cset w9, lt
962# CHECK: cinc x3, x5, gt
963# CHECK: cinc xzr, x4, le
964# CHECK: cset x9, lt
Artyom Skrobov6c8682e2014-06-10 13:11:35 +0000965# "cinc w5, w6, al" and "cinc x1, x2, nv" are invalid aliases for these two
966# CHECK: csinc w5, w6, w6, nv
967# CHECK: csinc x1, x2, x2, al
Tim Northovere0e3aef2013-01-31 12:12:40 +00009680xa3 0xd4 0x85 0x1a
9690x9f 0xc4 0x84 0x1a
9700xe9 0xa7 0x9f 0x1a
9710xa3 0xd4 0x85 0x9a
9720x9f 0xc4 0x84 0x9a
9730xe9 0xa7 0x9f 0x9a
Artyom Skrobov6c8682e2014-06-10 13:11:35 +00009740xc5,0xf4,0x86,0x1a
9750x41,0xe4,0x82,0x9a
Tim Northovere0e3aef2013-01-31 12:12:40 +0000976
Tim Northoveree20caa2014-05-12 18:04:06 +0000977# CHECK: cinv w3, w5, gt
978# CHECK: cinv wzr, w4, le
Artyom Skrobov0d22e2a2014-05-29 11:34:50 +0000979# CHECK: csetm w9, lt
Tim Northoveree20caa2014-05-12 18:04:06 +0000980# CHECK: cinv x3, x5, gt
981# CHECK: cinv xzr, x4, le
Artyom Skrobov0d22e2a2014-05-29 11:34:50 +0000982# CHECK: csetm x9, lt
Artyom Skrobov6c8682e2014-06-10 13:11:35 +0000983# "cinv x1, x0, nv" and "cinv w9, w8, al" are invalid aliases for these two
984# CHECK: csinv x1, x0, x0, al
985# CHECK: csinv w9, w8, w8, nv
Tim Northovere0e3aef2013-01-31 12:12:40 +00009860xa3 0xd0 0x85 0x5a
9870x9f 0xc0 0x84 0x5a
9880xe9 0xa3 0x9f 0x5a
9890xa3 0xd0 0x85 0xda
9900x9f 0xc0 0x84 0xda
9910xe9 0xa3 0x9f 0xda
Artyom Skrobov6c8682e2014-06-10 13:11:35 +00009920x01 0xe0 0x80 0xda
9930x09,0xf1,0x88,0x5a
Tim Northovere0e3aef2013-01-31 12:12:40 +0000994
Tim Northoveree20caa2014-05-12 18:04:06 +0000995# CHECK: cneg w3, w5, gt
996# CHECK: cneg wzr, w4, le
997# CHECK: cneg w9, wzr, lt
998# CHECK: cneg x3, x5, gt
999# CHECK: cneg xzr, x4, le
1000# CHECK: cneg x9, xzr, lt
Artyom Skrobov6c8682e2014-06-10 13:11:35 +00001001# "cneg x4, x8, nv" and "cneg w5, w6, al" are invalid aliases for these two
1002# CHECK: csneg x4, x8, x8, al
1003# CHECK: csinv w9, w8, w8, nv
Tim Northovere0e3aef2013-01-31 12:12:40 +000010040xa3 0xd4 0x85 0x5a
10050x9f 0xc4 0x84 0x5a
10060xe9 0xa7 0x9f 0x5a
10070xa3 0xd4 0x85 0xda
10080x9f 0xc4 0x84 0xda
10090xe9 0xa7 0x9f 0xda
Artyom Skrobov6c8682e2014-06-10 13:11:35 +000010100x04,0xe5,0x88,0xda
10110x09,0xf1,0x88,0x5a
Tim Northovere0e3aef2013-01-31 12:12:40 +00001012
1013#------------------------------------------------------------------------------
1014# Data-processing (1 source)
1015#------------------------------------------------------------------------------
1016
1017# CHECK: rbit w0, w7
1018# CHECK: rbit x18, x3
1019# CHECK: rev16 w17, w1
1020# CHECK: rev16 x5, x2
1021# CHECK: rev w18, w0
1022# CHECK: rev32 x20, x1
10230xe0 0x00 0xc0 0x5a
10240x72 0x00 0xc0 0xda
10250x31 0x04 0xc0 0x5a
10260x45 0x04 0xc0 0xda
10270x12 0x08 0xc0 0x5a
10280x34 0x08 0xc0 0xda
1029
1030# CHECK: rev x22, x2
1031# CHECK: clz w24, w3
1032# CHECK: clz x26, x4
1033# CHECK: cls w3, w5
1034# CHECK: cls x20, x5
10350x56 0x0c 0xc0 0xda
10360x78 0x10 0xc0 0x5a
10370x9a 0x10 0xc0 0xda
10380xa3 0x14 0xc0 0x5a
10390xb4 0x14 0xc0 0xda
1040
1041#------------------------------------------------------------------------------
1042# Data-processing (2 source)
1043#------------------------------------------------------------------------------
1044
Tim Northovera80c4c12013-02-06 09:13:13 +00001045# CHECK: crc32b w5, w7, w20
1046# CHECK: crc32h w28, wzr, w30
1047# CHECK: crc32w w0, w1, w2
1048# CHECK: crc32x w7, w9, x20
1049# CHECK: crc32cb w9, w5, w4
1050# CHECK: crc32ch w13, w17, w25
1051# CHECK: crc32cw wzr, w3, w5
1052# CHECK: crc32cx w18, w16, xzr
10530xe5 0x40 0xd4 0x1a
10540xfc 0x47 0xde 0x1a
10550x20 0x48 0xc2 0x1a
10560x27 0x4d 0xd4 0x9a
10570xa9 0x50 0xc4 0x1a
10580x2d 0x56 0xd9 0x1a
10590x7f 0x58 0xc5 0x1a
10600x12 0x5e 0xdf 0x9a
1061
Tim Northovere0e3aef2013-01-31 12:12:40 +00001062# CHECK: udiv w0, w7, w10
1063# CHECK: udiv x9, x22, x4
1064# CHECK: sdiv w12, w21, w0
1065# CHECK: sdiv x13, x2, x1
1066# CHECK: lsl w11, w12, w13
1067# CHECK: lsl x14, x15, x16
1068# CHECK: lsr w17, w18, w19
1069# CHECK: lsr x20, x21, x22
1070# CHECK: asr w23, w24, w25
1071# CHECK: asr x26, x27, x28
1072# CHECK: ror w0, w1, w2
1073# CHECK: ror x3, x4, x5
10740xe0 0x08 0xca 0x1a
10750xc9 0x0a 0xc4 0x9a
10760xac 0x0e 0xc0 0x1a
10770x4d 0x0c 0xc1 0x9a
10780x8b 0x21 0xcd 0x1a
10790xee 0x21 0xd0 0x9a
10800x51 0x26 0xd3 0x1a
10810xb4 0x26 0xd6 0x9a
10820x17 0x2b 0xd9 0x1a
10830x7a 0x2b 0xdc 0x9a
10840x20 0x2c 0xc2 0x1a
10850x83 0x2c 0xc5 0x9a
1086
1087# CHECK: lsl w6, w7, w8
1088# CHECK: lsl x9, x10, x11
1089# CHECK: lsr w12, w13, w14
1090# CHECK: lsr x15, x16, x17
1091# CHECK: asr w18, w19, w20
1092# CHECK: asr x21, x22, x23
1093# CHECK: ror w24, w25, w26
1094# CHECK: ror x27, x28, x29
10950xe6 0x20 0xc8 0x1a
10960x49 0x21 0xcb 0x9a
10970xac 0x25 0xce 0x1a
10980x0f 0x26 0xd1 0x9a
10990x72 0x2a 0xd4 0x1a
11000xd5 0x2a 0xd7 0x9a
11010x38 0x2f 0xda 0x1a
11020x9b 0x2f 0xdd 0x9a
1103
1104#------------------------------------------------------------------------------
1105# Data-processing (3 sources)
1106#------------------------------------------------------------------------------
1107
1108# First check some non-canonical encodings where Ra is not 0b11111 (only umulh
1109# and smulh have them).
1110
1111# CHECK: smulh x30, x29, x28
1112# CHECK: smulh xzr, x27, x26
1113# CHECK: umulh x30, x29, x28
1114# CHECK: umulh x23, x30, xzr
11150xbe 0x73 0x5c 0x9b
11160x7f 0x2f 0x5a 0x9b
11170xbe 0x3f 0xdc 0x9b
11180xd7 0x77 0xdf 0x9b
1119
1120# Now onto the boilerplate stuff
1121
1122# CHECK: madd w1, w3, w7, w4
1123# CHECK: madd wzr, w0, w9, w11
1124# CHECK: madd w13, wzr, w4, w4
1125# CHECK: madd w19, w30, wzr, w29
1126# CHECK: mul w4, w5, w6
11270x61 0x10 0x7 0x1b
11280x1f 0x2c 0x9 0x1b
11290xed 0x13 0x4 0x1b
11300xd3 0x77 0x1f 0x1b
11310xa4 0x7c 0x6 0x1b
1132
1133# CHECK: madd x1, x3, x7, x4
1134# CHECK: madd xzr, x0, x9, x11
1135# CHECK: madd x13, xzr, x4, x4
1136# CHECK: madd x19, x30, xzr, x29
1137# CHECK: mul x4, x5, x6
11380x61 0x10 0x7 0x9b
11390x1f 0x2c 0x9 0x9b
11400xed 0x13 0x4 0x9b
11410xd3 0x77 0x1f 0x9b
11420xa4 0x7c 0x6 0x9b
1143
1144# CHECK: msub w1, w3, w7, w4
1145# CHECK: msub wzr, w0, w9, w11
1146# CHECK: msub w13, wzr, w4, w4
1147# CHECK: msub w19, w30, wzr, w29
1148# CHECK: mneg w4, w5, w6
11490x61 0x90 0x7 0x1b
11500x1f 0xac 0x9 0x1b
11510xed 0x93 0x4 0x1b
11520xd3 0xf7 0x1f 0x1b
11530xa4 0xfc 0x6 0x1b
1154
1155# CHECK: msub x1, x3, x7, x4
1156# CHECK: msub xzr, x0, x9, x11
1157# CHECK: msub x13, xzr, x4, x4
1158# CHECK: msub x19, x30, xzr, x29
1159# CHECK: mneg x4, x5, x6
11600x61 0x90 0x7 0x9b
11610x1f 0xac 0x9 0x9b
11620xed 0x93 0x4 0x9b
11630xd3 0xf7 0x1f 0x9b
11640xa4 0xfc 0x6 0x9b
1165
1166# CHECK: smaddl x3, w5, w2, x9
1167# CHECK: smaddl xzr, w10, w11, x12
1168# CHECK: smaddl x13, wzr, w14, x15
1169# CHECK: smaddl x16, w17, wzr, x18
1170# CHECK: smull x19, w20, w21
11710xa3 0x24 0x22 0x9b
11720x5f 0x31 0x2b 0x9b
11730xed 0x3f 0x2e 0x9b
11740x30 0x4a 0x3f 0x9b
11750x93 0x7e 0x35 0x9b
1176
1177# CHECK: smsubl x3, w5, w2, x9
1178# CHECK: smsubl xzr, w10, w11, x12
1179# CHECK: smsubl x13, wzr, w14, x15
1180# CHECK: smsubl x16, w17, wzr, x18
1181# CHECK: smnegl x19, w20, w21
11820xa3 0xa4 0x22 0x9b
11830x5f 0xb1 0x2b 0x9b
11840xed 0xbf 0x2e 0x9b
11850x30 0xca 0x3f 0x9b
11860x93 0xfe 0x35 0x9b
1187
1188# CHECK: umaddl x3, w5, w2, x9
1189# CHECK: umaddl xzr, w10, w11, x12
1190# CHECK: umaddl x13, wzr, w14, x15
1191# CHECK: umaddl x16, w17, wzr, x18
1192# CHECK: umull x19, w20, w21
11930xa3 0x24 0xa2 0x9b
11940x5f 0x31 0xab 0x9b
11950xed 0x3f 0xae 0x9b
11960x30 0x4a 0xbf 0x9b
11970x93 0x7e 0xb5 0x9b
1198
1199# CHECK: umsubl x3, w5, w2, x9
1200# CHECK: umsubl xzr, w10, w11, x12
1201# CHECK: umsubl x13, wzr, w14, x15
1202# CHECK: umsubl x16, w17, wzr, x18
1203# CHECK: umnegl x19, w20, w21
12040xa3 0xa4 0xa2 0x9b
12050x5f 0xb1 0xab 0x9b
12060xed 0xbf 0xae 0x9b
12070x30 0xca 0xbf 0x9b
12080x93 0xfe 0xb5 0x9b
1209
1210# CHECK: smulh x30, x29, x28
1211# CHECK: smulh xzr, x27, x26
1212# CHECK: smulh x25, xzr, x24
1213# CHECK: smulh x23, x22, xzr
12140xbe 0x7f 0x5c 0x9b
12150x7f 0x7f 0x5a 0x9b
12160xf9 0x7f 0x58 0x9b
12170xd7 0x7e 0x5f 0x9b
1218
1219# CHECK: umulh x30, x29, x28
1220# CHECK: umulh xzr, x27, x26
1221# CHECK: umulh x25, xzr, x24
1222# CHECK: umulh x23, x22, xzr
12230xbe 0x7f 0xdc 0x9b
12240x7f 0x7f 0xda 0x9b
12250xf9 0x7f 0xd8 0x9b
12260xd7 0x7e 0xdf 0x9b
1227
1228# CHECK: mul w3, w4, w5
1229# CHECK: mul wzr, w6, w7
1230# CHECK: mul w8, wzr, w9
1231# CHECK: mul w10, w11, wzr
1232# CHECK: mul x12, x13, x14
1233# CHECK: mul xzr, x15, x16
1234# CHECK: mul x17, xzr, x18
1235# CHECK: mul x19, x20, xzr
12360x83 0x7c 0x5 0x1b
12370xdf 0x7c 0x7 0x1b
12380xe8 0x7f 0x9 0x1b
12390x6a 0x7d 0x1f 0x1b
12400xac 0x7d 0xe 0x9b
12410xff 0x7d 0x10 0x9b
12420xf1 0x7f 0x12 0x9b
12430x93 0x7e 0x1f 0x9b
1244
1245# CHECK: mneg w21, w22, w23
1246# CHECK: mneg wzr, w24, w25
1247# CHECK: mneg w26, wzr, w27
1248# CHECK: mneg w28, w29, wzr
12490xd5 0xfe 0x17 0x1b
12500x1f 0xff 0x19 0x1b
12510xfa 0xff 0x1b 0x1b
12520xbc 0xff 0x1f 0x1b
1253
1254# CHECK: smull x11, w13, w17
1255# CHECK: umull x11, w13, w17
1256# CHECK: smnegl x11, w13, w17
1257# CHECK: umnegl x11, w13, w17
12580xab 0x7d 0x31 0x9b
12590xab 0x7d 0xb1 0x9b
12600xab 0xfd 0x31 0x9b
12610xab 0xfd 0xb1 0x9b
1262
1263#------------------------------------------------------------------------------
1264# Exception generation
1265#------------------------------------------------------------------------------
1266
1267# CHECK: svc #0
Tim Northover4ec135f2014-05-01 12:29:56 +00001268# CHECK: svc #{{65535|0xffff}}
Tim Northovere0e3aef2013-01-31 12:12:40 +000012690x1 0x0 0x0 0xd4
12700xe1 0xff 0x1f 0xd4
1271
Tim Northover4ec135f2014-05-01 12:29:56 +00001272# CHECK: hvc #{{1|0x1}}
1273# CHECK: smc #{{12000|0x2ee0}}
1274# CHECK: brk #{{12|0xc}}
1275# CHECK: hlt #{{123|0x7b}}
Tim Northovere0e3aef2013-01-31 12:12:40 +000012760x22 0x0 0x0 0xd4
12770x3 0xdc 0x5 0xd4
12780x80 0x1 0x20 0xd4
12790x60 0xf 0x40 0xd4
1280
Tim Northover4ec135f2014-05-01 12:29:56 +00001281# CHECK: dcps1 #{{42|0x2a}}
1282# CHECK: dcps2 #{{9|0x9}}
1283# CHECK: dcps3 #{{1000|0x3e8}}
Tim Northovere0e3aef2013-01-31 12:12:40 +000012840x41 0x5 0xa0 0xd4
12850x22 0x1 0xa0 0xd4
12860x3 0x7d 0xa0 0xd4
1287
1288# CHECK: dcps1
1289# CHECK: dcps2
1290# CHECK: dcps3
12910x1 0x0 0xa0 0xd4
12920x2 0x0 0xa0 0xd4
12930x3 0x0 0xa0 0xd4
1294
1295#------------------------------------------------------------------------------
1296# Extract (immediate)
1297#------------------------------------------------------------------------------
1298
1299# CHECK: extr w3, w5, w7, #0
1300# CHECK: extr w11, w13, w17, #31
13010xa3 0x0 0x87 0x13
13020xab 0x7d 0x91 0x13
1303
1304# CHECK: extr x3, x5, x7, #15
1305# CHECK: extr x11, x13, x17, #63
13060xa3 0x3c 0xc7 0x93
13070xab 0xfd 0xd1 0x93
1308
Tim Northoveree20caa2014-05-12 18:04:06 +00001309# CHECK: ror x19, x23, #24
1310# CHECK: ror x29, xzr, #63
1311# CHECK: ror w9, w13, #31
Tim Northovere0e3aef2013-01-31 12:12:40 +000013120xf3 0x62 0xd7 0x93
13130xfd 0xff 0xdf 0x93
13140xa9 0x7d 0x8d 0x13
1315
1316#------------------------------------------------------------------------------
1317# Floating-point compare
1318#------------------------------------------------------------------------------
1319
1320# CHECK: fcmp s3, s5
1321# CHECK: fcmp s31, #0.0
1322# CHECK: fcmp s31, #0.0
13230x60 0x20 0x25 0x1e
13240xe8 0x23 0x20 0x1e
13250xe8 0x23 0x3f 0x1e
1326
1327# CHECK: fcmpe s29, s30
1328# CHECK: fcmpe s15, #0.0
1329# CHECK: fcmpe s15, #0.0
13300xb0 0x23 0x3e 0x1e
13310xf8 0x21 0x20 0x1e
13320xf8 0x21 0x2f 0x1e
1333
1334# CHECK: fcmp d4, d12
1335# CHECK: fcmp d23, #0.0
1336# CHECK: fcmp d23, #0.0
13370x80 0x20 0x6c 0x1e
13380xe8 0x22 0x60 0x1e
13390xe8 0x22 0x77 0x1e
1340
1341# CHECK: fcmpe d26, d22
1342# CHECK: fcmpe d29, #0.0
1343# CHECK: fcmpe d29, #0.0
13440x50 0x23 0x76 0x1e
13450xb8 0x23 0x60 0x1e
13460xb8 0x23 0x6d 0x1e
1347
1348#------------------------------------------------------------------------------
1349# Floating-point conditional compare
1350#------------------------------------------------------------------------------
1351
1352# CHECK: fccmp s1, s31, #0, eq
1353# CHECK: fccmp s3, s0, #15, hs
1354# CHECK: fccmp s31, s15, #13, hs
13550x20 0x04 0x3f 0x1e
13560x6f 0x24 0x20 0x1e
13570xed 0x27 0x2f 0x1e
1358
1359# CHECK: fccmp d9, d31, #0, le
1360# CHECK: fccmp d3, d0, #15, gt
1361# CHECK: fccmp d31, d5, #7, ne
13620x20 0xd5 0x7f 0x1e
13630x6f 0xc4 0x60 0x1e
13640xe7 0x17 0x65 0x1e
1365
1366# CHECK: fccmpe s1, s31, #0, eq
1367# CHECK: fccmpe s3, s0, #15, hs
1368# CHECK: fccmpe s31, s15, #13, hs
13690x30 0x04 0x3f 0x1e
13700x7f 0x24 0x20 0x1e
13710xfd 0x27 0x2f 0x1e
1372
1373# CHECK: fccmpe d9, d31, #0, le
1374# CHECK: fccmpe d3, d0, #15, gt
1375# CHECK: fccmpe d31, d5, #7, ne
13760x30 0xd5 0x7f 0x1e
13770x7f 0xc4 0x60 0x1e
13780xf7 0x17 0x65 0x1e
1379
1380#-------------------------------------------------------------------------------
1381# Floating-point conditional compare
1382#-------------------------------------------------------------------------------
1383
1384# CHECK: fcsel s3, s20, s9, pl
1385# CHECK: fcsel d9, d10, d11, mi
13860x83 0x5e 0x29 0x1e
13870x49 0x4d 0x6b 0x1e
1388
1389#------------------------------------------------------------------------------
1390# Floating-point data-processing (1 source)
1391#------------------------------------------------------------------------------
1392
1393# CHECK: fmov s0, s1
1394# CHECK: fabs s2, s3
1395# CHECK: fneg s4, s5
1396# CHECK: fsqrt s6, s7
1397# CHECK: fcvt d8, s9
1398# CHECK: fcvt h10, s11
1399# CHECK: frintn s12, s13
1400# CHECK: frintp s14, s15
1401# CHECK: frintm s16, s17
1402# CHECK: frintz s18, s19
1403# CHECK: frinta s20, s21
1404# CHECK: frintx s22, s23
1405# CHECK: frinti s24, s25
14060x20 0x40 0x20 0x1e
14070x62 0xc0 0x20 0x1e
14080xa4 0x40 0x21 0x1e
14090xe6 0xc0 0x21 0x1e
14100x28 0xc1 0x22 0x1e
14110x6a 0xc1 0x23 0x1e
14120xac 0x41 0x24 0x1e
14130xee 0xc1 0x24 0x1e
14140x30 0x42 0x25 0x1e
14150x72 0xc2 0x25 0x1e
14160xb4 0x42 0x26 0x1e
14170xf6 0x42 0x27 0x1e
14180x38 0xc3 0x27 0x1e
1419
1420# CHECK: fmov d0, d1
1421# CHECK: fabs d2, d3
1422# CHECK: fneg d4, d5
1423# CHECK: fsqrt d6, d7
1424# CHECK: fcvt s8, d9
1425# CHECK: fcvt h10, d11
1426# CHECK: frintn d12, d13
1427# CHECK: frintp d14, d15
1428# CHECK: frintm d16, d17
1429# CHECK: frintz d18, d19
1430# CHECK: frinta d20, d21
1431# CHECK: frintx d22, d23
1432# CHECK: frinti d24, d25
14330x20 0x40 0x60 0x1e
14340x62 0xc0 0x60 0x1e
14350xa4 0x40 0x61 0x1e
14360xe6 0xc0 0x61 0x1e
14370x28 0x41 0x62 0x1e
14380x6a 0xc1 0x63 0x1e
14390xac 0x41 0x64 0x1e
14400xee 0xc1 0x64 0x1e
14410x30 0x42 0x65 0x1e
14420x72 0xc2 0x65 0x1e
14430xb4 0x42 0x66 0x1e
14440xf6 0x42 0x67 0x1e
14450x38 0xc3 0x67 0x1e
1446
1447# CHECK: fcvt s26, h27
1448# CHECK: fcvt d28, h29
14490x7a 0x43 0xe2 0x1e
14500xbc 0xc3 0xe2 0x1e
1451
1452#------------------------------------------------------------------------------
1453# Floating-point data-processing (2 sources)
1454#------------------------------------------------------------------------------
1455
1456# CHECK: fmul s20, s19, s17
1457# CHECK: fdiv s1, s2, s3
1458# CHECK: fadd s4, s5, s6
1459# CHECK: fsub s7, s8, s9
1460# CHECK: fmax s10, s11, s12
1461# CHECK: fmin s13, s14, s15
1462# CHECK: fmaxnm s16, s17, s18
1463# CHECK: fminnm s19, s20, s21
1464# CHECK: fnmul s22, s23, s2
14650x74 0xa 0x31 0x1e
14660x41 0x18 0x23 0x1e
14670xa4 0x28 0x26 0x1e
14680x7 0x39 0x29 0x1e
14690x6a 0x49 0x2c 0x1e
14700xcd 0x59 0x2f 0x1e
14710x30 0x6a 0x32 0x1e
14720x93 0x7a 0x35 0x1e
14730xf6 0x8a 0x38 0x1e
1474
1475
1476# CHECK: fmul d20, d19, d17
1477# CHECK: fdiv d1, d2, d3
1478# CHECK: fadd d4, d5, d6
1479# CHECK: fsub d7, d8, d9
1480# CHECK: fmax d10, d11, d12
1481# CHECK: fmin d13, d14, d15
1482# CHECK: fmaxnm d16, d17, d18
1483# CHECK: fminnm d19, d20, d21
1484# CHECK: fnmul d22, d23, d24
14850x74 0xa 0x71 0x1e
14860x41 0x18 0x63 0x1e
14870xa4 0x28 0x66 0x1e
14880x7 0x39 0x69 0x1e
14890x6a 0x49 0x6c 0x1e
14900xcd 0x59 0x6f 0x1e
14910x30 0x6a 0x72 0x1e
14920x93 0x7a 0x75 0x1e
14930xf6 0x8a 0x78 0x1e
1494
1495#------------------------------------------------------------------------------
1496# Floating-point data-processing (1 source)
1497#------------------------------------------------------------------------------
1498
1499# CHECK: fmadd s3, s5, s6, s31
1500# CHECK: fmadd d3, d13, d0, d23
1501# CHECK: fmsub s3, s5, s6, s31
1502# CHECK: fmsub d3, d13, d0, d23
1503# CHECK: fnmadd s3, s5, s6, s31
1504# CHECK: fnmadd d3, d13, d0, d23
1505# CHECK: fnmsub s3, s5, s6, s31
1506# CHECK: fnmsub d3, d13, d0, d23
15070xa3 0x7c 0x06 0x1f
15080xa3 0x5d 0x40 0x1f
15090xa3 0xfc 0x06 0x1f
15100xa3 0xdd 0x40 0x1f
15110xa3 0x7c 0x26 0x1f
15120xa3 0x5d 0x60 0x1f
15130xa3 0xfc 0x26 0x1f
15140xa3 0xdd 0x60 0x1f
1515
1516#------------------------------------------------------------------------------
1517# Floating-point <-> fixed-point conversion
1518#------------------------------------------------------------------------------
1519
Oliver Stannardb25914e2015-11-27 13:04:48 +00001520# FP16: fcvtzs w3, h5, #1
1521# FP16: fcvtzs wzr, h20, #13
1522# FP16: fcvtzs w19, h0, #32
15230xa3 0xfc 0xd8 0x1e
15240x9f 0xce 0xd8 0x1e
15250x13 0x80 0xd8 0x1e
1526
1527# FP16: fcvtzs x3, h5, #1
1528# FP16: fcvtzs x12, h30, #45
1529# FP16: fcvtzs x19, h0, #64
15300xa3 0xfc 0xd8 0x9e
15310xcc 0x4f 0xd8 0x9e
15320x13 0x00 0xd8 0x9e
1533
Tim Northovere0e3aef2013-01-31 12:12:40 +00001534# CHECK: fcvtzs w3, s5, #1
1535# CHECK: fcvtzs wzr, s20, #13
1536# CHECK: fcvtzs w19, s0, #32
15370xa3 0xfc 0x18 0x1e
15380x9f 0xce 0x18 0x1e
15390x13 0x80 0x18 0x1e
1540
1541# CHECK: fcvtzs x3, s5, #1
1542# CHECK: fcvtzs x12, s30, #45
1543# CHECK: fcvtzs x19, s0, #64
15440xa3 0xfc 0x18 0x9e
15450xcc 0x4f 0x18 0x9e
15460x13 0x00 0x18 0x9e
1547
1548# CHECK: fcvtzs w3, d5, #1
1549# CHECK: fcvtzs wzr, d20, #13
1550# CHECK: fcvtzs w19, d0, #32
15510xa3 0xfc 0x58 0x1e
15520x9f 0xce 0x58 0x1e
15530x13 0x80 0x58 0x1e
1554
1555# CHECK: fcvtzs x3, d5, #1
1556# CHECK: fcvtzs x12, d30, #45
1557# CHECK: fcvtzs x19, d0, #64
15580xa3 0xfc 0x58 0x9e
15590xcc 0x4f 0x58 0x9e
15600x13 0x00 0x58 0x9e
1561
Oliver Stannardb25914e2015-11-27 13:04:48 +00001562# FP16: fcvtzu w3, h5, #1
1563# FP16: fcvtzu wzr, h20, #13
1564# FP16: fcvtzu w19, h0, #32
15650xa3 0xfc 0xd9 0x1e
15660x9f 0xce 0xd9 0x1e
15670x13 0x80 0xd9 0x1e
1568
1569# FP16: fcvtzu x3, h5, #1
1570# FP16: fcvtzu x12, h30, #45
1571# FP16: fcvtzu x19, h0, #64
15720xa3 0xfc 0xd9 0x9e
15730xcc 0x4f 0xd9 0x9e
15740x13 0x00 0xd9 0x9e
1575
Tim Northovere0e3aef2013-01-31 12:12:40 +00001576# CHECK: fcvtzu w3, s5, #1
1577# CHECK: fcvtzu wzr, s20, #13
1578# CHECK: fcvtzu w19, s0, #32
15790xa3 0xfc 0x19 0x1e
15800x9f 0xce 0x19 0x1e
15810x13 0x80 0x19 0x1e
1582
1583# CHECK: fcvtzu x3, s5, #1
1584# CHECK: fcvtzu x12, s30, #45
1585# CHECK: fcvtzu x19, s0, #64
15860xa3 0xfc 0x19 0x9e
15870xcc 0x4f 0x19 0x9e
15880x13 0x00 0x19 0x9e
1589
1590# CHECK: fcvtzu w3, d5, #1
1591# CHECK: fcvtzu wzr, d20, #13
1592# CHECK: fcvtzu w19, d0, #32
15930xa3 0xfc 0x59 0x1e
15940x9f 0xce 0x59 0x1e
15950x13 0x80 0x59 0x1e
1596
1597# CHECK: fcvtzu x3, d5, #1
1598# CHECK: fcvtzu x12, d30, #45
1599# CHECK: fcvtzu x19, d0, #64
16000xa3 0xfc 0x59 0x9e
16010xcc 0x4f 0x59 0x9e
16020x13 0x00 0x59 0x9e
1603
Oliver Stannardb25914e2015-11-27 13:04:48 +00001604# FP16: scvtf h23, w19, #1
1605# FP16: scvtf h31, wzr, #20
1606# FP16: scvtf h14, w0, #32
16070x77 0xfe 0xc2 0x1e
16080xff 0xb3 0xc2 0x1e
16090x0e 0x80 0xc2 0x1e
1610
1611# FP16: scvtf h23, x19, #1
1612# FP16: scvtf h31, xzr, #20
1613# FP16: scvtf h14, x0, #64
16140x77 0xfe 0xc2 0x9e
16150xff 0xb3 0xc2 0x9e
16160x0e 0x00 0xc2 0x9e
1617
Tim Northovere0e3aef2013-01-31 12:12:40 +00001618# CHECK: scvtf s23, w19, #1
1619# CHECK: scvtf s31, wzr, #20
1620# CHECK: scvtf s14, w0, #32
16210x77 0xfe 0x02 0x1e
16220xff 0xb3 0x02 0x1e
16230x0e 0x80 0x02 0x1e
1624
1625# CHECK: scvtf s23, x19, #1
1626# CHECK: scvtf s31, xzr, #20
1627# CHECK: scvtf s14, x0, #64
16280x77 0xfe 0x02 0x9e
16290xff 0xb3 0x02 0x9e
16300x0e 0x00 0x02 0x9e
1631
1632# CHECK: scvtf d23, w19, #1
1633# CHECK: scvtf d31, wzr, #20
1634# CHECK: scvtf d14, w0, #32
16350x77 0xfe 0x42 0x1e
16360xff 0xb3 0x42 0x1e
16370x0e 0x80 0x42 0x1e
1638
1639# CHECK: scvtf d23, x19, #1
1640# CHECK: scvtf d31, xzr, #20
1641# CHECK: scvtf d14, x0, #64
16420x77 0xfe 0x42 0x9e
16430xff 0xb3 0x42 0x9e
16440x0e 0x00 0x42 0x9e
1645
Oliver Stannardb25914e2015-11-27 13:04:48 +00001646# FP16: ucvtf h23, w19, #1
1647# FP16: ucvtf h31, wzr, #20
1648# FP16: ucvtf h14, w0, #32
16490x77 0xfe 0xc3 0x1e
16500xff 0xb3 0xc3 0x1e
16510x0e 0x80 0xc3 0x1e
1652
1653# FP16: ucvtf h23, x19, #1
1654# FP16: ucvtf h31, xzr, #20
1655# FP16: ucvtf h14, x0, #64
16560x77 0xfe 0xc3 0x9e
16570xff 0xb3 0xc3 0x9e
16580x0e 0x00 0xc3 0x9e
1659
Tim Northovere0e3aef2013-01-31 12:12:40 +00001660# CHECK: ucvtf s23, w19, #1
1661# CHECK: ucvtf s31, wzr, #20
1662# CHECK: ucvtf s14, w0, #32
16630x77 0xfe 0x03 0x1e
16640xff 0xb3 0x03 0x1e
16650x0e 0x80 0x03 0x1e
1666
1667# CHECK: ucvtf s23, x19, #1
1668# CHECK: ucvtf s31, xzr, #20
1669# CHECK: ucvtf s14, x0, #64
16700x77 0xfe 0x03 0x9e
16710xff 0xb3 0x03 0x9e
16720x0e 0x00 0x03 0x9e
1673
1674# CHECK: ucvtf d23, w19, #1
1675# CHECK: ucvtf d31, wzr, #20
1676# CHECK: ucvtf d14, w0, #32
16770x77 0xfe 0x43 0x1e
16780xff 0xb3 0x43 0x1e
16790x0e 0x80 0x43 0x1e
1680
1681# CHECK: ucvtf d23, x19, #1
1682# CHECK: ucvtf d31, xzr, #20
1683# CHECK: ucvtf d14, x0, #64
16840x77 0xfe 0x43 0x9e
16850xff 0xb3 0x43 0x9e
16860x0e 0x00 0x43 0x9e
1687
1688#------------------------------------------------------------------------------
1689# Floating-point <-> integer conversion
1690#------------------------------------------------------------------------------
Oliver Stannardb25914e2015-11-27 13:04:48 +00001691
1692# FP16: fcvtns w3, h31
1693# FP16: fcvtns xzr, h12
1694# FP16: fcvtnu wzr, h12
1695# FP16: fcvtnu x0, h0
16960xe3 0x3 0xe0 0x1e
16970x9f 0x1 0xe0 0x9e
16980x9f 0x1 0xe1 0x1e
16990x0 0x0 0xe1 0x9e
1700
1701# FP16: fcvtps wzr, h9
1702# FP16: fcvtps x12, h20
1703# FP16: fcvtpu w30, h23
1704# FP16: fcvtpu x29, h3
17050x3f 0x1 0xe8 0x1e
17060x8c 0x2 0xe8 0x9e
17070xfe 0x2 0xe9 0x1e
17080x7d 0x0 0xe9 0x9e
1709
1710# FP16: fcvtms w2, h3
1711# FP16: fcvtms x4, h5
1712# FP16: fcvtmu w6, h7
1713# FP16: fcvtmu x8, h9
17140x62 0x0 0xf0 0x1e
17150xa4 0x0 0xf0 0x9e
17160xe6 0x0 0xf1 0x1e
17170x28 0x1 0xf1 0x9e
1718
1719# FP16: fcvtzs w10, h11
1720# FP16: fcvtzs x12, h13
1721# FP16: fcvtzu w14, h15
1722# FP16: fcvtzu x15, h16
17230x6a 0x1 0xf8 0x1e
17240xac 0x1 0xf8 0x9e
17250xee 0x1 0xf9 0x1e
17260xf 0x2 0xf9 0x9e
1727
1728# FP16: scvtf h17, w18
1729# FP16: scvtf h19, x20
1730# FP16: ucvtf h21, w22
1731# FP16: scvtf h23, x24
17320x51 0x2 0xe2 0x1e
17330x93 0x2 0xe2 0x9e
17340xd5 0x2 0xe3 0x1e
17350x17 0x3 0xe2 0x9e
1736
1737# FP16: fcvtas w25, h26
1738# FP16: fcvtas x27, h28
1739# FP16: fcvtau w29, h30
1740# FP16: fcvtau xzr, h0
17410x59 0x3 0xe4 0x1e
17420x9b 0x3 0xe4 0x9e
17430xdd 0x3 0xe5 0x1e
17440x1f 0x0 0xe5 0x9e
1745
Tim Northovere0e3aef2013-01-31 12:12:40 +00001746# CHECK: fcvtns w3, s31
1747# CHECK: fcvtns xzr, s12
1748# CHECK: fcvtnu wzr, s12
1749# CHECK: fcvtnu x0, s0
17500xe3 0x3 0x20 0x1e
17510x9f 0x1 0x20 0x9e
17520x9f 0x1 0x21 0x1e
17530x0 0x0 0x21 0x9e
1754
1755# CHECK: fcvtps wzr, s9
1756# CHECK: fcvtps x12, s20
1757# CHECK: fcvtpu w30, s23
1758# CHECK: fcvtpu x29, s3
17590x3f 0x1 0x28 0x1e
17600x8c 0x2 0x28 0x9e
17610xfe 0x2 0x29 0x1e
17620x7d 0x0 0x29 0x9e
1763
1764# CHECK: fcvtms w2, s3
1765# CHECK: fcvtms x4, s5
1766# CHECK: fcvtmu w6, s7
1767# CHECK: fcvtmu x8, s9
17680x62 0x0 0x30 0x1e
17690xa4 0x0 0x30 0x9e
17700xe6 0x0 0x31 0x1e
17710x28 0x1 0x31 0x9e
1772
1773# CHECK: fcvtzs w10, s11
1774# CHECK: fcvtzs x12, s13
1775# CHECK: fcvtzu w14, s15
1776# CHECK: fcvtzu x15, s16
17770x6a 0x1 0x38 0x1e
17780xac 0x1 0x38 0x9e
17790xee 0x1 0x39 0x1e
17800xf 0x2 0x39 0x9e
1781
1782# CHECK: scvtf s17, w18
1783# CHECK: scvtf s19, x20
1784# CHECK: ucvtf s21, w22
1785# CHECK: scvtf s23, x24
17860x51 0x2 0x22 0x1e
17870x93 0x2 0x22 0x9e
17880xd5 0x2 0x23 0x1e
17890x17 0x3 0x22 0x9e
1790
1791# CHECK: fcvtas w25, s26
1792# CHECK: fcvtas x27, s28
1793# CHECK: fcvtau w29, s30
1794# CHECK: fcvtau xzr, s0
17950x59 0x3 0x24 0x1e
17960x9b 0x3 0x24 0x9e
17970xdd 0x3 0x25 0x1e
17980x1f 0x0 0x25 0x9e
1799
1800# CHECK: fcvtns w3, d31
1801# CHECK: fcvtns xzr, d12
1802# CHECK: fcvtnu wzr, d12
1803# CHECK: fcvtnu x0, d0
18040xe3 0x3 0x60 0x1e
18050x9f 0x1 0x60 0x9e
18060x9f 0x1 0x61 0x1e
18070x0 0x0 0x61 0x9e
1808
1809# CHECK: fcvtps wzr, d9
1810# CHECK: fcvtps x12, d20
1811# CHECK: fcvtpu w30, d23
1812# CHECK: fcvtpu x29, d3
18130x3f 0x1 0x68 0x1e
18140x8c 0x2 0x68 0x9e
18150xfe 0x2 0x69 0x1e
18160x7d 0x0 0x69 0x9e
1817
1818# CHECK: fcvtms w2, d3
1819# CHECK: fcvtms x4, d5
1820# CHECK: fcvtmu w6, d7
1821# CHECK: fcvtmu x8, d9
18220x62 0x0 0x70 0x1e
18230xa4 0x0 0x70 0x9e
18240xe6 0x0 0x71 0x1e
18250x28 0x1 0x71 0x9e
1826
1827# CHECK: fcvtzs w10, d11
1828# CHECK: fcvtzs x12, d13
1829# CHECK: fcvtzu w14, d15
1830# CHECK: fcvtzu x15, d16
18310x6a 0x1 0x78 0x1e
18320xac 0x1 0x78 0x9e
18330xee 0x1 0x79 0x1e
18340xf 0x2 0x79 0x9e
1835
1836# CHECK: scvtf d17, w18
1837# CHECK: scvtf d19, x20
1838# CHECK: ucvtf d21, w22
1839# CHECK: ucvtf d23, x24
18400x51 0x2 0x62 0x1e
18410x93 0x2 0x62 0x9e
18420xd5 0x2 0x63 0x1e
18430x17 0x3 0x63 0x9e
1844
1845# CHECK: fcvtas w25, d26
1846# CHECK: fcvtas x27, d28
1847# CHECK: fcvtau w29, d30
1848# CHECK: fcvtau xzr, d0
18490x59 0x3 0x64 0x1e
18500x9b 0x3 0x64 0x9e
18510xdd 0x3 0x65 0x1e
18520x1f 0x0 0x65 0x9e
1853
1854# CHECK: fmov w3, s9
1855# CHECK: fmov s9, w3
18560x23 0x1 0x26 0x1e
18570x69 0x0 0x27 0x1e
1858
1859# CHECK: fmov x20, d31
1860# CHECK: fmov d1, x15
18610xf4 0x3 0x66 0x9e
18620xe1 0x1 0x67 0x9e
1863
1864# CHECK: fmov x3, v12.d[1]
1865# CHECK: fmov v1.d[1], x19
18660x83 0x1 0xae 0x9e
18670x61 0x2 0xaf 0x9e
1868
1869#------------------------------------------------------------------------------
1870# Floating-point immediate
1871#------------------------------------------------------------------------------
1872
1873# CHECK: fmov s2, #0.12500000
1874# CHECK: fmov s3, #1.00000000
1875# CHECK: fmov d30, #16.00000000
18760x2 0x10 0x28 0x1e
18770x3 0x10 0x2e 0x1e
18780x1e 0x10 0x66 0x1e
1879
1880# CHECK: fmov s4, #1.06250000
1881# CHECK: fmov d10, #1.93750000
18820x4 0x30 0x2e 0x1e
18830xa 0xf0 0x6f 0x1e
1884
1885# CHECK: fmov s12, #-1.00000000
18860xc 0x10 0x3e 0x1e
1887
1888# CHECK: fmov d16, #8.50000000
18890x10 0x30 0x64 0x1e
1890
1891#------------------------------------------------------------------------------
1892# Load-register (literal)
1893#------------------------------------------------------------------------------
1894
1895# CHECK: ldr w3, #0
1896# CHECK: ldr x29, #4
1897# CHECK: ldrsw xzr, #-4
18980x03 0x00 0x00 0x18
18990x3d 0x00 0x00 0x58
19000xff 0xff 0xff 0x98
1901
1902# CHECK: ldr s0, #8
1903# CHECK: ldr d0, #1048572
1904# CHECK: ldr q0, #-1048576
19050x40 0x00 0x00 0x1c
19060xe0 0xff 0x7f 0x5c
19070x00 0x00 0x80 0x9c
1908
1909# CHECK: prfm pldl1strm, #0
1910# CHECK: prfm #22, #0
19110x01 0x00 0x00 0xd8
19120x16 0x00 0x00 0xd8
1913
1914#------------------------------------------------------------------------------
1915# Load/store exclusive
1916#------------------------------------------------------------------------------
1917
1918#CHECK: stxrb w18, w8, [sp]
1919#CHECK: stxrh w24, w15, [x16]
1920#CHECK: stxr w5, w6, [x17]
1921#CHECK: stxr w1, x10, [x21]
1922#CHECK: stxr w1, x10, [x21]
19230xe8 0x7f 0x12 0x08
19240x0f 0x7e 0x18 0x48
19250x26 0x7e 0x05 0x88
19260xaa 0x7e 0x01 0xc8
19270xaa 0x7a 0x01 0xc8
1928
1929#CHECK: ldxrb w30, [x0]
1930#CHECK: ldxrh w17, [x4]
1931#CHECK: ldxr w22, [sp]
1932#CHECK: ldxr x11, [x29]
1933#CHECK: ldxr x11, [x29]
1934#CHECK: ldxr x11, [x29]
19350x1e 0x7c 0x5f 0x08
19360x91 0x7c 0x5f 0x48
19370xf6 0x7f 0x5f 0x88
19380xab 0x7f 0x5f 0xc8
19390xab 0x6f 0x5f 0xc8
19400xab 0x7f 0x5e 0xc8
1941
1942#CHECK: stxp w12, w11, w10, [sp]
1943#CHECK: stxp wzr, x27, x9, [x12]
19440xeb 0x2b 0x2c 0x88
19450x9b 0x25 0x3f 0xc8
1946
1947#CHECK: ldxp w0, wzr, [sp]
1948#CHECK: ldxp x17, x0, [x18]
1949#CHECK: ldxp x17, x0, [x18]
19500xe0 0x7f 0x7f 0x88
19510x51 0x02 0x7f 0xc8
19520x51 0x02 0x7e 0xc8
1953
1954#CHECK: stlxrb w12, w22, [x0]
1955#CHECK: stlxrh w10, w1, [x1]
1956#CHECK: stlxr w9, w2, [x2]
1957#CHECK: stlxr w9, x3, [sp]
1958
19590x16 0xfc 0x0c 0x08
19600x21 0xfc 0x0a 0x48
19610x42 0xfc 0x09 0x88
19620xe3 0xff 0x09 0xc8
1963
1964#CHECK: ldaxrb w8, [x4]
1965#CHECK: ldaxrh w7, [x5]
1966#CHECK: ldaxr w6, [sp]
1967#CHECK: ldaxr x5, [x6]
1968#CHECK: ldaxr x5, [x6]
1969#CHECK: ldaxr x5, [x6]
19700x88 0xfc 0x5f 0x08
19710xa7 0xfc 0x5f 0x48
19720xe6 0xff 0x5f 0x88
19730xc5 0xfc 0x5f 0xc8
19740xc5 0xec 0x5f 0xc8
19750xc5 0xfc 0x5e 0xc8
1976
1977#CHECK: stlxp w4, w5, w6, [sp]
1978#CHECK: stlxp wzr, x6, x7, [x1]
19790xe5 0x9b 0x24 0x88
19800x26 0x9c 0x3f 0xc8
1981
1982#CHECK: ldaxp w5, w18, [sp]
1983#CHECK: ldaxp x6, x19, [x22]
1984#CHECK: ldaxp x6, x19, [x22]
19850xe5 0xcb 0x7f 0x88
19860xc6 0xce 0x7f 0xc8
19870xc6 0xce 0x7e 0xc8
1988
1989#CHECK: stlrb w24, [sp]
1990#CHECK: stlrh w25, [x30]
1991#CHECK: stlr w26, [x29]
1992#CHECK: stlr x27, [x28]
1993#CHECK: stlr x27, [x28]
1994#CHECK: stlr x27, [x28]
19950xf8 0xff 0x9f 0x08
19960xd9 0xff 0x9f 0x48
19970xba 0xff 0x9f 0x88
19980x9b 0xff 0x9f 0xc8
19990x9b 0xef 0x9f 0xc8
20000x9b 0xff 0x9e 0xc8
2001
2002#CHECK: ldarb w23, [sp]
2003#CHECK: ldarh w22, [x30]
2004#CHECK: ldar wzr, [x29]
2005#CHECK: ldar x21, [x28]
2006#CHECK: ldar x21, [x28]
2007#CHECK: ldar x21, [x28]
20080xf7 0xff 0xdf 0x08
20090xd6 0xff 0xdf 0x48
20100xbf 0xff 0xdf 0x88
20110x95 0xff 0xdf 0xc8
20120x95 0xef 0xdf 0xc8
20130x95 0xff 0xde 0xc8
2014
2015#------------------------------------------------------------------------------
2016# Load/store (unscaled immediate)
2017#------------------------------------------------------------------------------
2018
2019# CHECK: sturb w9, [sp]
2020# CHECK: sturh wzr, [x12, #255]
2021# CHECK: stur w16, [x0, #-256]
2022# CHECK: stur x28, [x14, #1]
20230xe9 0x3 0x0 0x38
20240x9f 0xf1 0xf 0x78
20250x10 0x0 0x10 0xb8
20260xdc 0x11 0x0 0xf8
2027
2028# CHECK: ldurb w1, [x20, #255]
2029# CHECK: ldurh w20, [x1, #255]
2030# CHECK: ldur w12, [sp, #255]
2031# CHECK: ldur xzr, [x12, #255]
20320x81 0xf2 0x4f 0x38
20330x34 0xf0 0x4f 0x78
20340xec 0xf3 0x4f 0xb8
20350x9f 0xf1 0x4f 0xf8
2036
2037# CHECK: ldursb x9, [x7, #-256]
2038# CHECK: ldursh x17, [x19, #-256]
2039# CHECK: ldursw x20, [x15, #-256]
2040# CHECK: prfum pldl2keep, [sp, #-256]
2041# CHECK: ldursb w19, [x1, #-256]
2042# CHECK: ldursh w15, [x21, #-256]
20430xe9 0x0 0x90 0x38
20440x71 0x2 0x90 0x78
20450xf4 0x1 0x90 0xb8
20460xe2 0x3 0x90 0xf8
20470x33 0x0 0xd0 0x38
20480xaf 0x2 0xd0 0x78
2049
2050# CHECK: stur b0, [sp, #1]
2051# CHECK: stur h12, [x12, #-1]
2052# CHECK: stur s15, [x0, #255]
2053# CHECK: stur d31, [x5, #25]
2054# CHECK: stur q9, [x5]
20550xe0 0x13 0x0 0x3c
20560x8c 0xf1 0x1f 0x7c
20570xf 0xf0 0xf 0xbc
20580xbf 0x90 0x1 0xfc
20590xa9 0x0 0x80 0x3c
2060
2061# CHECK: ldur b3, [sp]
2062# CHECK: ldur h5, [x4, #-256]
2063# CHECK: ldur s7, [x12, #-1]
2064# CHECK: ldur d11, [x19, #4]
2065# CHECK: ldur q13, [x1, #2]
20660xe3 0x3 0x40 0x3c
20670x85 0x0 0x50 0x7c
20680x87 0xf1 0x5f 0xbc
20690x6b 0x42 0x40 0xfc
20700x2d 0x20 0xc0 0x3c
2071
2072#------------------------------------------------------------------------------
2073# Load/store (immediate post-indexed)
2074#------------------------------------------------------------------------------
2075
2076# E.g. "str xzr, [sp], #4" is *not* unpredictable
2077# CHECK-NOT: warning: potentially undefined instruction encoding
20780xff 0x47 0x40 0xb8
2079
2080# CHECK: strb w9, [x2], #255
2081# CHECK: strb w10, [x3], #1
2082# CHECK: strb w10, [x3], #-256
2083# CHECK: strh w9, [x2], #255
2084# CHECK: strh w9, [x2], #1
2085# CHECK: strh w10, [x3], #-256
20860x49 0xf4 0xf 0x38
20870x6a 0x14 0x0 0x38
20880x6a 0x4 0x10 0x38
20890x49 0xf4 0xf 0x78
20900x49 0x14 0x0 0x78
20910x6a 0x4 0x10 0x78
2092
2093# CHECK: str w19, [sp], #255
2094# CHECK: str w20, [x30], #1
2095# CHECK: str w21, [x12], #-256
2096# CHECK: str xzr, [x9], #255
2097# CHECK: str x2, [x3], #1
2098# CHECK: str x19, [x12], #-256
20990xf3 0xf7 0xf 0xb8
21000xd4 0x17 0x0 0xb8
21010x95 0x5 0x10 0xb8
21020x3f 0xf5 0xf 0xf8
21030x62 0x14 0x0 0xf8
21040x93 0x5 0x10 0xf8
2105
2106# CHECK: ldrb w9, [x2], #255
2107# CHECK: ldrb w10, [x3], #1
2108# CHECK: ldrb w10, [x3], #-256
2109# CHECK: ldrh w9, [x2], #255
2110# CHECK: ldrh w9, [x2], #1
2111# CHECK: ldrh w10, [x3], #-256
21120x49 0xf4 0x4f 0x38
21130x6a 0x14 0x40 0x38
21140x6a 0x4 0x50 0x38
21150x49 0xf4 0x4f 0x78
21160x49 0x14 0x40 0x78
21170x6a 0x4 0x50 0x78
2118
2119# CHECK: ldr w19, [sp], #255
2120# CHECK: ldr w20, [x30], #1
2121# CHECK: ldr w21, [x12], #-256
2122# CHECK: ldr xzr, [x9], #255
2123# CHECK: ldr x2, [x3], #1
2124# CHECK: ldr x19, [x12], #-256
21250xf3 0xf7 0x4f 0xb8
21260xd4 0x17 0x40 0xb8
21270x95 0x5 0x50 0xb8
21280x3f 0xf5 0x4f 0xf8
21290x62 0x14 0x40 0xf8
21300x93 0x5 0x50 0xf8
2131
2132# CHECK: ldrsb xzr, [x9], #255
2133# CHECK: ldrsb x2, [x3], #1
2134# CHECK: ldrsb x19, [x12], #-256
2135# CHECK: ldrsh xzr, [x9], #255
2136# CHECK: ldrsh x2, [x3], #1
2137# CHECK: ldrsh x19, [x12], #-256
2138# CHECK: ldrsw xzr, [x9], #255
2139# CHECK: ldrsw x2, [x3], #1
2140# CHECK: ldrsw x19, [x12], #-256
21410x3f 0xf5 0x8f 0x38
21420x62 0x14 0x80 0x38
21430x93 0x5 0x90 0x38
21440x3f 0xf5 0x8f 0x78
21450x62 0x14 0x80 0x78
21460x93 0x5 0x90 0x78
21470x3f 0xf5 0x8f 0xb8
21480x62 0x14 0x80 0xb8
21490x93 0x5 0x90 0xb8
2150
2151# CHECK: ldrsb wzr, [x9], #255
2152# CHECK: ldrsb w2, [x3], #1
2153# CHECK: ldrsb w19, [x12], #-256
2154# CHECK: ldrsh wzr, [x9], #255
2155# CHECK: ldrsh w2, [x3], #1
2156# CHECK: ldrsh w19, [x12], #-256
21570x3f 0xf5 0xcf 0x38
21580x62 0x14 0xc0 0x38
21590x93 0x5 0xd0 0x38
21600x3f 0xf5 0xcf 0x78
21610x62 0x14 0xc0 0x78
21620x93 0x5 0xd0 0x78
2163
2164# CHECK: str b0, [x0], #255
2165# CHECK: str b3, [x3], #1
2166# CHECK: str b5, [sp], #-256
2167# CHECK: str h10, [x10], #255
2168# CHECK: str h13, [x23], #1
2169# CHECK: str h15, [sp], #-256
2170# CHECK: str s20, [x20], #255
2171# CHECK: str s23, [x23], #1
2172# CHECK: str s25, [x0], #-256
2173# CHECK: str d20, [x20], #255
2174# CHECK: str d23, [x23], #1
2175# CHECK: str d25, [x0], #-256
21760x0 0xf4 0xf 0x3c
21770x63 0x14 0x0 0x3c
21780xe5 0x7 0x10 0x3c
21790x4a 0xf5 0xf 0x7c
21800xed 0x16 0x0 0x7c
21810xef 0x7 0x10 0x7c
21820x94 0xf6 0xf 0xbc
21830xf7 0x16 0x0 0xbc
21840x19 0x4 0x10 0xbc
21850x94 0xf6 0xf 0xfc
21860xf7 0x16 0x0 0xfc
21870x19 0x4 0x10 0xfc
2188
2189# CHECK: ldr b0, [x0], #255
2190# CHECK: ldr b3, [x3], #1
2191# CHECK: ldr b5, [sp], #-256
2192# CHECK: ldr h10, [x10], #255
2193# CHECK: ldr h13, [x23], #1
2194# CHECK: ldr h15, [sp], #-256
2195# CHECK: ldr s20, [x20], #255
2196# CHECK: ldr s23, [x23], #1
2197# CHECK: ldr s25, [x0], #-256
2198# CHECK: ldr d20, [x20], #255
2199# CHECK: ldr d23, [x23], #1
2200# CHECK: ldr d25, [x0], #-256
22010x0 0xf4 0x4f 0x3c
22020x63 0x14 0x40 0x3c
22030xe5 0x7 0x50 0x3c
22040x4a 0xf5 0x4f 0x7c
22050xed 0x16 0x40 0x7c
22060xef 0x7 0x50 0x7c
22070x94 0xf6 0x4f 0xbc
22080xf7 0x16 0x40 0xbc
22090x19 0x4 0x50 0xbc
22100x94 0xf6 0x4f 0xfc
22110xf7 0x16 0x40 0xfc
22120x19 0x4 0x50 0xfc
22130x34 0xf4 0xcf 0x3c
2214
2215# CHECK: ldr q20, [x1], #255
2216# CHECK: ldr q23, [x9], #1
2217# CHECK: ldr q25, [x20], #-256
2218# CHECK: str q10, [x1], #255
2219# CHECK: str q22, [sp], #1
2220# CHECK: str q21, [x20], #-256
22210x37 0x15 0xc0 0x3c
22220x99 0x6 0xd0 0x3c
22230x2a 0xf4 0x8f 0x3c
22240xf6 0x17 0x80 0x3c
22250x95 0x6 0x90 0x3c
2226
2227#-------------------------------------------------------------------------------
2228# Load-store register (immediate pre-indexed)
2229#-------------------------------------------------------------------------------
2230
2231# E.g. "str xzr, [sp, #4]!" is *not* unpredictable
2232# CHECK-NOT: warning: potentially undefined instruction encoding
22330xff 0xf 0x40 0xf8
2234
2235# CHECK: ldr x3, [x4, #0]!
22360x83 0xc 0x40 0xf8
2237
2238# CHECK: strb w9, [x2, #255]!
2239# CHECK: strb w10, [x3, #1]!
2240# CHECK: strb w10, [x3, #-256]!
2241# CHECK: strh w9, [x2, #255]!
2242# CHECK: strh w9, [x2, #1]!
2243# CHECK: strh w10, [x3, #-256]!
22440x49 0xfc 0xf 0x38
22450x6a 0x1c 0x0 0x38
22460x6a 0xc 0x10 0x38
22470x49 0xfc 0xf 0x78
22480x49 0x1c 0x0 0x78
22490x6a 0xc 0x10 0x78
2250
2251# CHECK: str w19, [sp, #255]!
2252# CHECK: str w20, [x30, #1]!
2253# CHECK: str w21, [x12, #-256]!
2254# CHECK: str xzr, [x9, #255]!
2255# CHECK: str x2, [x3, #1]!
2256# CHECK: str x19, [x12, #-256]!
22570xf3 0xff 0xf 0xb8
22580xd4 0x1f 0x0 0xb8
22590x95 0xd 0x10 0xb8
22600x3f 0xfd 0xf 0xf8
22610x62 0x1c 0x0 0xf8
22620x93 0xd 0x10 0xf8
2263
2264# CHECK: ldrb w9, [x2, #255]!
2265# CHECK: ldrb w10, [x3, #1]!
2266# CHECK: ldrb w10, [x3, #-256]!
2267# CHECK: ldrh w9, [x2, #255]!
2268# CHECK: ldrh w9, [x2, #1]!
2269# CHECK: ldrh w10, [x3, #-256]!
22700x49 0xfc 0x4f 0x38
22710x6a 0x1c 0x40 0x38
22720x6a 0xc 0x50 0x38
22730x49 0xfc 0x4f 0x78
22740x49 0x1c 0x40 0x78
22750x6a 0xc 0x50 0x78
2276
2277# CHECK: ldr w19, [sp, #255]!
2278# CHECK: ldr w20, [x30, #1]!
2279# CHECK: ldr w21, [x12, #-256]!
2280# CHECK: ldr xzr, [x9, #255]!
2281# CHECK: ldr x2, [x3, #1]!
2282# CHECK: ldr x19, [x12, #-256]!
22830xf3 0xff 0x4f 0xb8
22840xd4 0x1f 0x40 0xb8
22850x95 0xd 0x50 0xb8
22860x3f 0xfd 0x4f 0xf8
22870x62 0x1c 0x40 0xf8
22880x93 0xd 0x50 0xf8
2289
2290# CHECK: ldrsb xzr, [x9, #255]!
2291# CHECK: ldrsb x2, [x3, #1]!
2292# CHECK: ldrsb x19, [x12, #-256]!
2293# CHECK: ldrsh xzr, [x9, #255]!
2294# CHECK: ldrsh x2, [x3, #1]!
2295# CHECK: ldrsh x19, [x12, #-256]!
2296# CHECK: ldrsw xzr, [x9, #255]!
2297# CHECK: ldrsw x2, [x3, #1]!
2298# CHECK: ldrsw x19, [x12, #-256]!
22990x3f 0xfd 0x8f 0x38
23000x62 0x1c 0x80 0x38
23010x93 0xd 0x90 0x38
23020x3f 0xfd 0x8f 0x78
23030x62 0x1c 0x80 0x78
23040x93 0xd 0x90 0x78
23050x3f 0xfd 0x8f 0xb8
23060x62 0x1c 0x80 0xb8
23070x93 0xd 0x90 0xb8
2308
2309# CHECK: ldrsb wzr, [x9, #255]!
2310# CHECK: ldrsb w2, [x3, #1]!
2311# CHECK: ldrsb w19, [x12, #-256]!
2312# CHECK: ldrsh wzr, [x9, #255]!
2313# CHECK: ldrsh w2, [x3, #1]!
2314# CHECK: ldrsh w19, [x12, #-256]!
23150x3f 0xfd 0xcf 0x38
23160x62 0x1c 0xc0 0x38
23170x93 0xd 0xd0 0x38
23180x3f 0xfd 0xcf 0x78
23190x62 0x1c 0xc0 0x78
23200x93 0xd 0xd0 0x78
2321
2322# CHECK: str b0, [x0, #255]!
2323# CHECK: str b3, [x3, #1]!
2324# CHECK: str b5, [sp, #-256]!
2325# CHECK: str h10, [x10, #255]!
2326# CHECK: str h13, [x23, #1]!
2327# CHECK: str h15, [sp, #-256]!
2328# CHECK: str s20, [x20, #255]!
2329# CHECK: str s23, [x23, #1]!
2330# CHECK: str s25, [x0, #-256]!
2331# CHECK: str d20, [x20, #255]!
2332# CHECK: str d23, [x23, #1]!
2333# CHECK: str d25, [x0, #-256]!
23340x0 0xfc 0xf 0x3c
23350x63 0x1c 0x0 0x3c
23360xe5 0xf 0x10 0x3c
23370x4a 0xfd 0xf 0x7c
23380xed 0x1e 0x0 0x7c
23390xef 0xf 0x10 0x7c
23400x94 0xfe 0xf 0xbc
23410xf7 0x1e 0x0 0xbc
23420x19 0xc 0x10 0xbc
23430x94 0xfe 0xf 0xfc
23440xf7 0x1e 0x0 0xfc
23450x19 0xc 0x10 0xfc
2346
2347# CHECK: ldr b0, [x0, #255]!
2348# CHECK: ldr b3, [x3, #1]!
2349# CHECK: ldr b5, [sp, #-256]!
2350# CHECK: ldr h10, [x10, #255]!
2351# CHECK: ldr h13, [x23, #1]!
2352# CHECK: ldr h15, [sp, #-256]!
2353# CHECK: ldr s20, [x20, #255]!
2354# CHECK: ldr s23, [x23, #1]!
2355# CHECK: ldr s25, [x0, #-256]!
2356# CHECK: ldr d20, [x20, #255]!
2357# CHECK: ldr d23, [x23, #1]!
2358# CHECK: ldr d25, [x0, #-256]!
23590x0 0xfc 0x4f 0x3c
23600x63 0x1c 0x40 0x3c
23610xe5 0xf 0x50 0x3c
23620x4a 0xfd 0x4f 0x7c
23630xed 0x1e 0x40 0x7c
23640xef 0xf 0x50 0x7c
23650x94 0xfe 0x4f 0xbc
23660xf7 0x1e 0x40 0xbc
23670x19 0xc 0x50 0xbc
23680x94 0xfe 0x4f 0xfc
23690xf7 0x1e 0x40 0xfc
23700x19 0xc 0x50 0xfc
2371
2372# CHECK: ldr q20, [x1, #255]!
2373# CHECK: ldr q23, [x9, #1]!
2374# CHECK: ldr q25, [x20, #-256]!
2375# CHECK: str q10, [x1, #255]!
2376# CHECK: str q22, [sp, #1]!
2377# CHECK: str q21, [x20, #-256]!
23780x34 0xfc 0xcf 0x3c
23790x37 0x1d 0xc0 0x3c
23800x99 0xe 0xd0 0x3c
23810x2a 0xfc 0x8f 0x3c
23820xf6 0x1f 0x80 0x3c
23830x95 0xe 0x90 0x3c
2384
2385#------------------------------------------------------------------------------
2386# Load/store (unprivileged)
2387#------------------------------------------------------------------------------
2388
2389# CHECK: sttrb w9, [sp]
2390# CHECK: sttrh wzr, [x12, #255]
2391# CHECK: sttr w16, [x0, #-256]
2392# CHECK: sttr x28, [x14, #1]
23930xe9 0x0b 0x0 0x38
23940x9f 0xf9 0xf 0x78
23950x10 0x08 0x10 0xb8
23960xdc 0x19 0x0 0xf8
2397
2398# CHECK: ldtrb w1, [x20, #255]
2399# CHECK: ldtrh w20, [x1, #255]
2400# CHECK: ldtr w12, [sp, #255]
2401# CHECK: ldtr xzr, [x12, #255]
24020x81 0xfa 0x4f 0x38
24030x34 0xf8 0x4f 0x78
24040xec 0xfb 0x4f 0xb8
24050x9f 0xf9 0x4f 0xf8
2406
2407# CHECK: ldtrsb x9, [x7, #-256]
2408# CHECK: ldtrsh x17, [x19, #-256]
2409# CHECK: ldtrsw x20, [x15, #-256]
2410# CHECK: ldtrsb w19, [x1, #-256]
2411# CHECK: ldtrsh w15, [x21, #-256]
24120xe9 0x08 0x90 0x38
24130x71 0x0a 0x90 0x78
24140xf4 0x09 0x90 0xb8
24150x33 0x08 0xd0 0x38
24160xaf 0x0a 0xd0 0x78
2417
2418#------------------------------------------------------------------------------
2419# Load/store (unsigned immediate)
2420#------------------------------------------------------------------------------
2421
2422# CHECK: ldr x0, [x0]
2423# CHECK: ldr x4, [x29]
2424# CHECK: ldr x30, [x12, #32760]
2425# CHECK: ldr x20, [sp, #8]
24260x0 0x0 0x40 0xf9
24270xa4 0x3 0x40 0xf9
24280x9e 0xfd 0x7f 0xf9
24290xf4 0x7 0x40 0xf9
2430
2431# CHECK: ldr xzr, [sp]
24320xff 0x3 0x40 0xf9
2433
2434# CHECK: ldr w2, [sp]
2435# CHECK: ldr w17, [sp, #16380]
2436# CHECK: ldr w13, [x2, #4]
24370xe2 0x3 0x40 0xb9
24380xf1 0xff 0x7f 0xb9
24390x4d 0x4 0x40 0xb9
2440
2441# CHECK: ldrsw x2, [x5, #4]
2442# CHECK: ldrsw x23, [sp, #16380]
24430xa2 0x4 0x80 0xb9
24440xf7 0xff 0xbf 0xb9
2445
2446# CHECK: ldrh w2, [x4]
2447# CHECK: ldrsh w23, [x6, #8190]
2448# CHECK: ldrsh wzr, [sp, #2]
2449# CHECK: ldrsh x29, [x2, #2]
24500x82 0x0 0x40 0x79
24510xd7 0xfc 0xff 0x79
24520xff 0x7 0xc0 0x79
24530x5d 0x4 0x80 0x79
2454
2455# CHECK: ldrb w26, [x3, #121]
2456# CHECK: ldrb w12, [x2]
2457# CHECK: ldrsb w27, [sp, #4095]
2458# CHECK: ldrsb xzr, [x15]
24590x7a 0xe4 0x41 0x39
24600x4c 0x0 0x40 0x39
24610xfb 0xff 0xff 0x39
24620xff 0x1 0x80 0x39
2463
2464# CHECK: str x30, [sp]
2465# CHECK: str w20, [x4, #16380]
2466# CHECK: strh w20, [x10, #14]
2467# CHECK: strh w17, [sp, #8190]
2468# CHECK: strb w23, [x3, #4095]
2469# CHECK: strb wzr, [x2]
24700xfe 0x3 0x0 0xf9
24710x94 0xfc 0x3f 0xb9
24720x54 0x1d 0x0 0x79
24730xf1 0xff 0x3f 0x79
24740x77 0xfc 0x3f 0x39
24750x5f 0x0 0x0 0x39
2476
2477# CHECK: ldr b31, [sp, #4095]
2478# CHECK: ldr h20, [x2, #8190]
2479# CHECK: ldr s10, [x19, #16380]
2480# CHECK: ldr d3, [x10, #32760]
2481# CHECK: str q12, [sp, #65520]
24820xff 0xff 0x7f 0x3d
24830x54 0xfc 0x7f 0x7d
24840x6a 0xfe 0x7f 0xbd
24850x43 0xfd 0x7f 0xfd
24860xec 0xff 0xbf 0x3d
2487
Tim Northover91a51c52013-02-06 09:04:56 +00002488# CHECK: prfm pldl1keep, [sp, #8]
Tim Northover4ec135f2014-05-01 12:29:56 +00002489# CHECK: prfm pldl1strm, [x3{{(, #0)?}}]
Tim Northover91a51c52013-02-06 09:04:56 +00002490# CHECK: prfm pldl2keep, [x5, #16]
Tim Northover4ec135f2014-05-01 12:29:56 +00002491# CHECK: prfm pldl2strm, [x2{{(, #0)?}}]
2492# CHECK: prfm pldl3keep, [x5{{(, #0)?}}]
2493# CHECK: prfm pldl3strm, [x6{{(, #0)?}}]
Tim Northover91a51c52013-02-06 09:04:56 +00002494# CHECK: prfm plil1keep, [sp, #8]
Tim Northover4ec135f2014-05-01 12:29:56 +00002495# CHECK: prfm plil1strm, [x3{{(, #0)?}}]
Tim Northover91a51c52013-02-06 09:04:56 +00002496# CHECK: prfm plil2keep, [x5, #16]
Tim Northover4ec135f2014-05-01 12:29:56 +00002497# CHECK: prfm plil2strm, [x2{{(, #0)?}}]
2498# CHECK: prfm plil3keep, [x5{{(, #0)?}}]
2499# CHECK: prfm plil3strm, [x6{{(, #0)?}}]
Tim Northover91a51c52013-02-06 09:04:56 +00002500# CHECK: prfm pstl1keep, [sp, #8]
Tim Northover4ec135f2014-05-01 12:29:56 +00002501# CHECK: prfm pstl1strm, [x3{{(, #0)?}}]
Tim Northover91a51c52013-02-06 09:04:56 +00002502# CHECK: prfm pstl2keep, [x5, #16]
Tim Northover4ec135f2014-05-01 12:29:56 +00002503# CHECK: prfm pstl2strm, [x2{{(, #0)?}}]
2504# CHECK: prfm pstl3keep, [x5{{(, #0)?}}]
2505# CHECK: prfm pstl3strm, [x6{{(, #0)?}}]
Tim Northover91a51c52013-02-06 09:04:56 +000025060xe0 0x07 0x80 0xf9
25070x61 0x00 0x80 0xf9
25080xa2 0x08 0x80 0xf9
25090x43 0x00 0x80 0xf9
25100xa4 0x00 0x80 0xf9
25110xc5 0x00 0x80 0xf9
25120xe8 0x07 0x80 0xf9
25130x69 0x00 0x80 0xf9
25140xaa 0x08 0x80 0xf9
25150x4b 0x00 0x80 0xf9
25160xac 0x00 0x80 0xf9
25170xcd 0x00 0x80 0xf9
25180xf0 0x07 0x80 0xf9
25190x71 0x00 0x80 0xf9
25200xb2 0x08 0x80 0xf9
25210x53 0x00 0x80 0xf9
25220xb4 0x00 0x80 0xf9
25230xd5 0x00 0x80 0xf9
2524
2525
Tim Northovere0e3aef2013-01-31 12:12:40 +00002526#------------------------------------------------------------------------------
2527# Load/store (register offset)
2528#------------------------------------------------------------------------------
2529
2530# CHECK: ldrb w3, [sp, x5]
2531# CHECK: ldrb w9, [x27, x6]
2532# CHECK: ldrsb w10, [x30, x7]
2533# CHECK: ldrb w11, [x29, x3, sxtx]
2534# CHECK: strb w12, [x28, xzr, sxtx]
2535# CHECK: ldrb w14, [x26, w6, uxtw]
2536# CHECK: ldrsb w15, [x25, w7, uxtw]
2537# CHECK: ldrb w17, [x23, w9, sxtw]
2538# CHECK: ldrsb x18, [x22, w10, sxtw]
25390xe3 0x6b 0x65 0x38
25400x69 0x6b 0x66 0x38
25410xca 0x6b 0xe7 0x38
25420xab 0xeb 0x63 0x38
25430x8c 0xeb 0x3f 0x38
25440x4e 0x4b 0x66 0x38
25450x2f 0x4b 0xe7 0x38
25460xf1 0xca 0x69 0x38
25470xd2 0xca 0xaa 0x38
2548
2549# CHECK: ldrsh w3, [sp, x5]
2550# CHECK: ldrsh w9, [x27, x6]
2551# CHECK: ldrh w10, [x30, x7, lsl #1]
2552# CHECK: strh w11, [x29, x3, sxtx]
2553# CHECK: ldrh w12, [x28, xzr, sxtx]
2554# CHECK: ldrsh x13, [x27, x5, sxtx #1]
2555# CHECK: ldrh w14, [x26, w6, uxtw]
2556# CHECK: ldrh w15, [x25, w7, uxtw]
2557# CHECK: ldrsh w16, [x24, w8, uxtw #1]
2558# CHECK: ldrh w17, [x23, w9, sxtw]
2559# CHECK: ldrh w18, [x22, w10, sxtw]
2560# CHECK: strh w19, [x21, wzr, sxtw #1]
25610xe3 0x6b 0xe5 0x78
25620x69 0x6b 0xe6 0x78
25630xca 0x7b 0x67 0x78
25640xab 0xeb 0x23 0x78
25650x8c 0xeb 0x7f 0x78
25660x6d 0xfb 0xa5 0x78
25670x4e 0x4b 0x66 0x78
25680x2f 0x4b 0x67 0x78
25690x10 0x5b 0xe8 0x78
25700xf1 0xca 0x69 0x78
25710xd2 0xca 0x6a 0x78
25720xb3 0xda 0x3f 0x78
2573
2574# CHECK: ldr w3, [sp, x5]
2575# CHECK: ldr s9, [x27, x6]
2576# CHECK: ldr w10, [x30, x7, lsl #2]
2577# CHECK: ldr w11, [x29, x3, sxtx]
2578# CHECK: str s12, [x28, xzr, sxtx]
2579# CHECK: str w13, [x27, x5, sxtx #2]
2580# CHECK: str w14, [x26, w6, uxtw]
2581# CHECK: ldr w15, [x25, w7, uxtw]
2582# CHECK: ldr w16, [x24, w8, uxtw #2]
2583# CHECK: ldrsw x17, [x23, w9, sxtw]
2584# CHECK: ldr w18, [x22, w10, sxtw]
2585# CHECK: ldrsw x19, [x21, wzr, sxtw #2]
25860xe3 0x6b 0x65 0xb8
25870x69 0x6b 0x66 0xbc
25880xca 0x7b 0x67 0xb8
25890xab 0xeb 0x63 0xb8
25900x8c 0xeb 0x3f 0xbc
25910x6d 0xfb 0x25 0xb8
25920x4e 0x4b 0x26 0xb8
25930x2f 0x4b 0x67 0xb8
25940x10 0x5b 0x68 0xb8
25950xf1 0xca 0xa9 0xb8
25960xd2 0xca 0x6a 0xb8
25970xb3 0xda 0xbf 0xb8
2598
2599# CHECK: ldr x3, [sp, x5]
2600# CHECK: str x9, [x27, x6]
2601# CHECK: ldr d10, [x30, x7, lsl #3]
2602# CHECK: str x11, [x29, x3, sxtx]
2603# CHECK: ldr x12, [x28, xzr, sxtx]
2604# CHECK: ldr x13, [x27, x5, sxtx #3]
2605# CHECK: prfm pldl1keep, [x26, w6, uxtw]
2606# CHECK: ldr x15, [x25, w7, uxtw]
2607# CHECK: ldr x16, [x24, w8, uxtw #3]
2608# CHECK: ldr x17, [x23, w9, sxtw]
2609# CHECK: ldr x18, [x22, w10, sxtw]
2610# CHECK: str d19, [x21, wzr, sxtw #3]
26110xe3 0x6b 0x65 0xf8
26120x69 0x6b 0x26 0xf8
26130xca 0x7b 0x67 0xfc
26140xab 0xeb 0x23 0xf8
26150x8c 0xeb 0x7f 0xf8
26160x6d 0xfb 0x65 0xf8
26170x40 0x4b 0xa6 0xf8
26180x2f 0x4b 0x67 0xf8
26190x10 0x5b 0x68 0xf8
26200xf1 0xca 0x69 0xf8
26210xd2 0xca 0x6a 0xf8
26220xb3 0xda 0x3f 0xfc
2623
2624# CHECK: ldr q3, [sp, x5]
2625# CHECK: ldr q9, [x27, x6]
2626# CHECK: ldr q10, [x30, x7, lsl #4]
2627# CHECK: str q11, [x29, x3, sxtx]
2628# CHECK: str q12, [x28, xzr, sxtx]
2629# CHECK: str q13, [x27, x5, sxtx #4]
2630# CHECK: ldr q14, [x26, w6, uxtw]
2631# CHECK: ldr q15, [x25, w7, uxtw]
2632# CHECK: ldr q16, [x24, w8, uxtw #4]
2633# CHECK: ldr q17, [x23, w9, sxtw]
2634# CHECK: str q18, [x22, w10, sxtw]
2635# CHECK: ldr q19, [x21, wzr, sxtw #4]
26360xe3 0x6b 0xe5 0x3c
26370x69 0x6b 0xe6 0x3c
26380xca 0x7b 0xe7 0x3c
26390xab 0xeb 0xa3 0x3c
26400x8c 0xeb 0xbf 0x3c
26410x6d 0xfb 0xa5 0x3c
26420x4e 0x4b 0xe6 0x3c
26430x2f 0x4b 0xe7 0x3c
26440x10 0x5b 0xe8 0x3c
26450xf1 0xca 0xe9 0x3c
26460xd2 0xca 0xaa 0x3c
26470xb3 0xda 0xff 0x3c
2648
2649#------------------------------------------------------------------------------
2650# Load/store register pair (offset)
2651#------------------------------------------------------------------------------
2652
2653# CHECK: ldp w3, w5, [sp]
2654# CHECK: stp wzr, w9, [sp, #252]
2655# CHECK: ldp w2, wzr, [sp, #-256]
2656# CHECK: ldp w9, w10, [sp, #4]
26570xe3 0x17 0x40 0x29
26580xff 0xa7 0x1f 0x29
26590xe2 0x7f 0x60 0x29
26600xe9 0xab 0x40 0x29
2661
2662# CHECK: ldpsw x9, x10, [sp, #4]
2663# CHECK: ldpsw x9, x10, [x2, #-256]
2664# CHECK: ldpsw x20, x30, [sp, #252]
26650xe9 0xab 0x40 0x69
26660x49 0x28 0x60 0x69
26670xf4 0xfb 0x5f 0x69
2668
2669# CHECK: ldp x21, x29, [x2, #504]
2670# CHECK: ldp x22, x23, [x3, #-512]
2671# CHECK: ldp x24, x25, [x4, #8]
26720x55 0xf4 0x5f 0xa9
26730x76 0x5c 0x60 0xa9
26740x98 0xe4 0x40 0xa9
2675
2676# CHECK: ldp s29, s28, [sp, #252]
2677# CHECK: stp s27, s26, [sp, #-256]
2678# CHECK: ldp s1, s2, [x3, #44]
26790xfd 0xf3 0x5f 0x2d
26800xfb 0x6b 0x20 0x2d
26810x61 0x88 0x45 0x2d
2682
2683# CHECK: stp d3, d5, [x9, #504]
2684# CHECK: stp d7, d11, [x10, #-512]
2685# CHECK: ldp d2, d3, [x30, #-8]
26860x23 0x95 0x1f 0x6d
26870x47 0x2d 0x20 0x6d
26880xc2 0x8f 0x7f 0x6d
2689
2690# CHECK: stp q3, q5, [sp]
2691# CHECK: stp q17, q19, [sp, #1008]
2692# CHECK: ldp q23, q29, [x1, #-1024]
26930xe3 0x17 0x0 0xad
26940xf1 0xcf 0x1f 0xad
26950x37 0x74 0x60 0xad
2696
2697#------------------------------------------------------------------------------
2698# Load/store register pair (post-indexed)
2699#------------------------------------------------------------------------------
2700
2701# CHECK: ldp w3, w5, [sp], #0
2702# CHECK: stp wzr, w9, [sp], #252
2703# CHECK: ldp w2, wzr, [sp], #-256
2704# CHECK: ldp w9, w10, [sp], #4
27050xe3 0x17 0xc0 0x28
27060xff 0xa7 0x9f 0x28
27070xe2 0x7f 0xe0 0x28
27080xe9 0xab 0xc0 0x28
2709
2710# CHECK: ldpsw x9, x10, [sp], #4
2711# CHECK: ldpsw x9, x10, [x2], #-256
2712# CHECK: ldpsw x20, x30, [sp], #252
27130xe9 0xab 0xc0 0x68
27140x49 0x28 0xe0 0x68
27150xf4 0xfb 0xdf 0x68
2716
2717# CHECK: ldp x21, x29, [x2], #504
2718# CHECK: ldp x22, x23, [x3], #-512
2719# CHECK: ldp x24, x25, [x4], #8
27200x55 0xf4 0xdf 0xa8
27210x76 0x5c 0xe0 0xa8
27220x98 0xe4 0xc0 0xa8
2723
2724# CHECK: ldp s29, s28, [sp], #252
2725# CHECK: stp s27, s26, [sp], #-256
2726# CHECK: ldp s1, s2, [x3], #44
27270xfd 0xf3 0xdf 0x2c
27280xfb 0x6b 0xa0 0x2c
27290x61 0x88 0xc5 0x2c
2730
2731# CHECK: stp d3, d5, [x9], #504
2732# CHECK: stp d7, d11, [x10], #-512
2733# CHECK: ldp d2, d3, [x30], #-8
27340x23 0x95 0x9f 0x6c
27350x47 0x2d 0xa0 0x6c
27360xc2 0x8f 0xff 0x6c
2737
2738# CHECK: stp q3, q5, [sp], #0
2739# CHECK: stp q17, q19, [sp], #1008
2740# CHECK: ldp q23, q29, [x1], #-1024
27410xe3 0x17 0x80 0xac
27420xf1 0xcf 0x9f 0xac
27430x37 0x74 0xe0 0xac
2744
2745#------------------------------------------------------------------------------
2746# Load/store register pair (pre-indexed)
2747#------------------------------------------------------------------------------
2748
2749# CHECK: ldp w3, w5, [sp, #0]!
2750# CHECK: stp wzr, w9, [sp, #252]!
2751# CHECK: ldp w2, wzr, [sp, #-256]!
2752# CHECK: ldp w9, w10, [sp, #4]!
27530xe3 0x17 0xc0 0x29
27540xff 0xa7 0x9f 0x29
27550xe2 0x7f 0xe0 0x29
27560xe9 0xab 0xc0 0x29
2757
2758# CHECK: ldpsw x9, x10, [sp, #4]!
2759# CHECK: ldpsw x9, x10, [x2, #-256]!
2760# CHECK: ldpsw x20, x30, [sp, #252]!
27610xe9 0xab 0xc0 0x69
27620x49 0x28 0xe0 0x69
27630xf4 0xfb 0xdf 0x69
2764
2765# CHECK: ldp x21, x29, [x2, #504]!
2766# CHECK: ldp x22, x23, [x3, #-512]!
2767# CHECK: ldp x24, x25, [x4, #8]!
27680x55 0xf4 0xdf 0xa9
27690x76 0x5c 0xe0 0xa9
27700x98 0xe4 0xc0 0xa9
2771
2772# CHECK: ldp s29, s28, [sp, #252]!
2773# CHECK: stp s27, s26, [sp, #-256]!
2774# CHECK: ldp s1, s2, [x3, #44]!
27750xfd 0xf3 0xdf 0x2d
27760xfb 0x6b 0xa0 0x2d
27770x61 0x88 0xc5 0x2d
2778
2779# CHECK: stp d3, d5, [x9, #504]!
2780# CHECK: stp d7, d11, [x10, #-512]!
2781# CHECK: ldp d2, d3, [x30, #-8]!
27820x23 0x95 0x9f 0x6d
27830x47 0x2d 0xa0 0x6d
27840xc2 0x8f 0xff 0x6d
2785
2786# CHECK: stp q3, q5, [sp, #0]!
2787# CHECK: stp q17, q19, [sp, #1008]!
2788# CHECK: ldp q23, q29, [x1, #-1024]!
27890xe3 0x17 0x80 0xad
27900xf1 0xcf 0x9f 0xad
27910x37 0x74 0xe0 0xad
2792
2793#------------------------------------------------------------------------------
2794# Load/store register pair (offset)
2795#------------------------------------------------------------------------------
2796
2797# CHECK: ldnp w3, w5, [sp]
2798# CHECK: stnp wzr, w9, [sp, #252]
2799# CHECK: ldnp w2, wzr, [sp, #-256]
2800# CHECK: ldnp w9, w10, [sp, #4]
28010xe3 0x17 0x40 0x28
28020xff 0xa7 0x1f 0x28
28030xe2 0x7f 0x60 0x28
28040xe9 0xab 0x40 0x28
2805
2806# CHECK: ldnp x21, x29, [x2, #504]
2807# CHECK: ldnp x22, x23, [x3, #-512]
2808# CHECK: ldnp x24, x25, [x4, #8]
28090x55 0xf4 0x5f 0xa8
28100x76 0x5c 0x60 0xa8
28110x98 0xe4 0x40 0xa8
2812
2813# CHECK: ldnp s29, s28, [sp, #252]
2814# CHECK: stnp s27, s26, [sp, #-256]
2815# CHECK: ldnp s1, s2, [x3, #44]
28160xfd 0xf3 0x5f 0x2c
28170xfb 0x6b 0x20 0x2c
28180x61 0x88 0x45 0x2c
2819
2820# CHECK: stnp d3, d5, [x9, #504]
2821# CHECK: stnp d7, d11, [x10, #-512]
2822# CHECK: ldnp d2, d3, [x30, #-8]
28230x23 0x95 0x1f 0x6c
28240x47 0x2d 0x20 0x6c
28250xc2 0x8f 0x7f 0x6c
2826
2827# CHECK: stnp q3, q5, [sp]
2828# CHECK: stnp q17, q19, [sp, #1008]
2829# CHECK: ldnp q23, q29, [x1, #-1024]
28300xe3 0x17 0x0 0xac
28310xf1 0xcf 0x1f 0xac
28320x37 0x74 0x60 0xac
2833
2834#------------------------------------------------------------------------------
2835# Logical (immediate)
2836#------------------------------------------------------------------------------
2837# CHECK: orr w3, w9, #0xffff0000
2838# CHECK: orr wsp, w10, #0xe00000ff
2839# CHECK: orr w9, w10, #0x3ff
28400x23 0x3d 0x10 0x32
28410x5f 0x29 0x3 0x32
28420x49 0x25 0x0 0x32
2843
2844# CHECK: and w14, w15, #0x80008000
2845# CHECK: and w12, w13, #0xffc3ffc3
2846# CHECK: and w11, wzr, #0x30003
28470xee 0x81 0x1 0x12
28480xac 0xad 0xa 0x12
28490xeb 0x87 0x0 0x12
2850
2851# CHECK: eor w3, w6, #0xe0e0e0e0
2852# CHECK: eor wsp, wzr, #0x3030303
2853# CHECK: eor w16, w17, #0x81818181
28540xc3 0xc8 0x3 0x52
28550xff 0xc7 0x0 0x52
28560x30 0xc6 0x1 0x52
2857
Tim Northover4ec135f2014-05-01 12:29:56 +00002858# CHECK: {{ands wzr,|tst}} w18, #0xcccccccc
Tim Northovere0e3aef2013-01-31 12:12:40 +00002859# CHECK: ands w19, w20, #0x33333333
2860# CHECK: ands w21, w22, #0x99999999
28610x5f 0xe6 0x2 0x72
28620x93 0xe6 0x0 0x72
28630xd5 0xe6 0x1 0x72
2864
Tim Northover4ec135f2014-05-01 12:29:56 +00002865# CHECK: {{ands wzr,|tst}} w3, #0xaaaaaaaa
2866# CHECK: {{ands wzr,|tst}} wzr, #0x55555555
Tim Northovere0e3aef2013-01-31 12:12:40 +000028670x7f 0xf0 0x1 0x72
28680xff 0xf3 0x0 0x72
2869
2870# CHECK: eor x3, x5, #0xffffffffc000000
2871# CHECK: and x9, x10, #0x7fffffffffff
2872# CHECK: orr x11, x12, #0x8000000000000fff
28730xa3 0x84 0x66 0xd2
28740x49 0xb9 0x40 0x92
28750x8b 0x31 0x41 0xb2
2876
2877# CHECK: orr x3, x9, #0xffff0000ffff0000
2878# CHECK: orr sp, x10, #0xe00000ffe00000ff
2879# CHECK: orr x9, x10, #0x3ff000003ff
28800x23 0x3d 0x10 0xb2
28810x5f 0x29 0x3 0xb2
28820x49 0x25 0x0 0xb2
2883
2884# CHECK: and x14, x15, #0x8000800080008000
2885# CHECK: and x12, x13, #0xffc3ffc3ffc3ffc3
2886# CHECK: and x11, xzr, #0x3000300030003
28870xee 0x81 0x1 0x92
28880xac 0xad 0xa 0x92
28890xeb 0x87 0x0 0x92
2890
2891# CHECK: eor x3, x6, #0xe0e0e0e0e0e0e0e0
2892# CHECK: eor sp, xzr, #0x303030303030303
2893# CHECK: eor x16, x17, #0x8181818181818181
28940xc3 0xc8 0x3 0xd2
28950xff 0xc7 0x0 0xd2
28960x30 0xc6 0x1 0xd2
2897
Tim Northover4ec135f2014-05-01 12:29:56 +00002898# CHECK: {{ands xzr,|tst}} x18, #0xcccccccccccccccc
Tim Northovere0e3aef2013-01-31 12:12:40 +00002899# CHECK: ands x19, x20, #0x3333333333333333
2900# CHECK: ands x21, x22, #0x9999999999999999
29010x5f 0xe6 0x2 0xf2
29020x93 0xe6 0x0 0xf2
29030xd5 0xe6 0x1 0xf2
2904
Tim Northover4ec135f2014-05-01 12:29:56 +00002905# CHECK: {{ands xzr,|tst}} x3, #0xaaaaaaaaaaaaaaaa
2906# CHECK: {{ands xzr,|tst}} xzr, #0x5555555555555555
Tim Northovere0e3aef2013-01-31 12:12:40 +000029070x7f 0xf0 0x1 0xf2
29080xff 0xf3 0x0 0xf2
2909
2910# CHECK: orr w3, wzr, #0xf000f
2911# CHECK: orr x10, xzr, #0xaaaaaaaaaaaaaaaa
29120xe3 0x8f 0x0 0x32
29130xea 0xf3 0x1 0xb2
2914
2915# CHECK: orr w3, wzr, #0xffff
2916# CHECK: orr x9, xzr, #0xffff00000000
29170xe3 0x3f 0x0 0x32
29180xe9 0x3f 0x60 0xb2
2919
2920#------------------------------------------------------------------------------
2921# Logical (shifted register)
2922#------------------------------------------------------------------------------
2923
2924# CHECK: and w12, w23, w21
2925# CHECK: and w16, w15, w1, lsl #1
2926# CHECK: and w9, w4, w10, lsl #31
2927# CHECK: and w3, w30, w11
2928# CHECK: and x3, x5, x7, lsl #63
29290xec 0x2 0x15 0xa
29300xf0 0x5 0x1 0xa
29310x89 0x7c 0xa 0xa
29320xc3 0x3 0xb 0xa
29330xa3 0xfc 0x7 0x8a
2934
2935# CHECK: and x5, x14, x19, asr #4
2936# CHECK: and w3, w17, w19, ror #31
2937# CHECK: and w0, w2, wzr, lsr #17
2938# CHECK: and w3, w30, w11, asr
29390xc5 0x11 0x93 0x8a
29400x23 0x7e 0xd3 0xa
29410x40 0x44 0x5f 0xa
29420xc3 0x3 0x8b 0xa
2943
2944# CHECK: and xzr, x4, x26
2945# CHECK: and w3, wzr, w20, ror
2946# CHECK: and x7, x20, xzr, asr #63
29470x9f 0x0 0x1a 0x8a
29480xe3 0x3 0xd4 0xa
29490x87 0xfe 0x9f 0x8a
2950
2951# CHECK: bic x13, x20, x14, lsl #47
2952# CHECK: bic w2, w7, w9
2953# CHECK: orr w2, w7, w0, asr #31
2954# CHECK: orr x8, x9, x10, lsl #12
2955# CHECK: orn x3, x5, x7, asr
2956# CHECK: orn w2, w5, w29
29570x8d 0xbe 0x2e 0x8a
29580xe2 0x0 0x29 0xa
29590xe2 0x7c 0x80 0x2a
29600x28 0x31 0xa 0xaa
29610xa3 0x0 0xa7 0xaa
29620xa2 0x0 0x3d 0x2a
2963
2964# CHECK: ands w7, wzr, w9, lsl #1
2965# CHECK: ands x3, x5, x20, ror #63
2966# CHECK: bics w3, w5, w7
2967# CHECK: bics x3, xzr, x3, lsl #1
2968# CHECK: tst w3, w7, lsl #31
2969# CHECK: tst x2, x20, asr
29700xe7 0x7 0x9 0x6a
29710xa3 0xfc 0xd4 0xea
29720xa3 0x0 0x27 0x6a
29730xe3 0x7 0x23 0xea
29740x7f 0x7c 0x7 0x6a
29750x5f 0x0 0x94 0xea
2976
2977# CHECK: mov x3, x6
2978# CHECK: mov x3, xzr
2979# CHECK: mov wzr, w2
2980# CHECK: mov w3, w5
29810xe3 0x3 0x6 0xaa
29820xe3 0x3 0x1f 0xaa
29830xff 0x3 0x2 0x2a
29840xe3 0x3 0x5 0x2a
2985
2986#------------------------------------------------------------------------------
2987# Move wide (immediate)
2988#------------------------------------------------------------------------------
2989
2990# N.b. (FIXME) canonical aliases aren't produced here because of
2991# limitation in InstAlias. Lots of the "mov[nz]" instructions should
2992# be "mov".
2993
Tim Northover4ec135f2014-05-01 12:29:56 +00002994# CHECK: movz w1, #{{65535|0xffff}}
Tim Northovere0e3aef2013-01-31 12:12:40 +00002995# CHECK: movz w2, #0, lsl #16
Tim Northover4ec135f2014-05-01 12:29:56 +00002996# CHECK: movn w2, #{{1234|0x4d2}}
Tim Northovere0e3aef2013-01-31 12:12:40 +000029970xe1 0xff 0x9f 0x52
29980x2 0x0 0xa0 0x52
29990x42 0x9a 0x80 0x12
3000
Tim Northover4ec135f2014-05-01 12:29:56 +00003001# CHECK: movz x2, #{{1234|0x4d2}}, lsl #32
3002# CHECK: movk xzr, #{{4321|0x10e1}}, lsl #48
Tim Northovere0e3aef2013-01-31 12:12:40 +000030030x42 0x9a 0xc0 0xd2
30040x3f 0x1c 0xe2 0xf2
3005
3006# CHECK: movz x2, #0
3007# CHECK: movk w3, #0
3008# CHECK: movz x4, #0, lsl #16
3009# CHECK: movk w5, #0, lsl #16
3010# CHECK: movz x6, #0, lsl #32
3011# CHECK: movk x7, #0, lsl #32
3012# CHECK: movz x8, #0, lsl #48
3013# CHECK: movk x9, #0, lsl #48
30140x2 0x0 0x80 0xd2
30150x3 0x0 0x80 0x72
30160x4 0x0 0xa0 0xd2
30170x5 0x0 0xa0 0x72
30180x6 0x0 0xc0 0xd2
30190x7 0x0 0xc0 0xf2
30200x8 0x0 0xe0 0xd2
30210x9 0x0 0xe0 0xf2
3022
3023#------------------------------------------------------------------------------
3024# PC-relative addressing
3025#------------------------------------------------------------------------------
3026
3027# It's slightly dodgy using immediates here, but harmless enough when
3028# it's all that's available.
3029
3030# CHECK: adr x2, #1600
3031# CHECK: adrp x21, #6553600
3032# CHECK: adr x0, #262144
30330x02 0x32 0x00 0x10
30340x15 0x32 0x00 0x90
30350x00 0x00 0x20 0x10
3036
3037#------------------------------------------------------------------------------
3038# System
3039#------------------------------------------------------------------------------
3040
3041# CHECK: nop
Tim Northover4ec135f2014-05-01 12:29:56 +00003042# CHECK: hint #{{127|0x7f}}
Tim Northovere0e3aef2013-01-31 12:12:40 +00003043# CHECK: nop
3044# CHECK: yield
3045# CHECK: wfe
3046# CHECK: wfi
3047# CHECK: sev
3048# CHECK: sevl
30490x1f 0x20 0x3 0xd5
30500xff 0x2f 0x3 0xd5
30510x1f 0x20 0x3 0xd5
30520x3f 0x20 0x3 0xd5
30530x5f 0x20 0x3 0xd5
30540x7f 0x20 0x3 0xd5
30550x9f 0x20 0x3 0xd5
30560xbf 0x20 0x3 0xd5
3057
3058# CHECK: clrex
3059# CHECK: clrex #0
3060# CHECK: clrex #7
3061# CHECK: clrex
30620x5f 0x3f 0x3 0xd5
30630x5f 0x30 0x3 0xd5
30640x5f 0x37 0x3 0xd5
30650x5f 0x3f 0x3 0xd5
3066
3067# CHECK: dsb #0
3068# CHECK: dsb #12
3069# CHECK: dsb sy
3070# CHECK: dsb oshld
3071# CHECK: dsb oshst
3072# CHECK: dsb osh
3073# CHECK: dsb nshld
3074# CHECK: dsb nshst
3075# CHECK: dsb nsh
3076# CHECK: dsb ishld
3077# CHECK: dsb ishst
3078# CHECK: dsb ish
3079# CHECK: dsb ld
3080# CHECK: dsb st
3081# CHECK: dsb sy
30820x9f 0x30 0x3 0xd5
30830x9f 0x3c 0x3 0xd5
30840x9f 0x3f 0x3 0xd5
30850x9f 0x31 0x3 0xd5
30860x9f 0x32 0x3 0xd5
30870x9f 0x33 0x3 0xd5
30880x9f 0x35 0x3 0xd5
30890x9f 0x36 0x3 0xd5
30900x9f 0x37 0x3 0xd5
30910x9f 0x39 0x3 0xd5
30920x9f 0x3a 0x3 0xd5
30930x9f 0x3b 0x3 0xd5
30940x9f 0x3d 0x3 0xd5
30950x9f 0x3e 0x3 0xd5
30960x9f 0x3f 0x3 0xd5
3097
3098# CHECK: dmb #0
3099# CHECK: dmb #12
3100# CHECK: dmb sy
3101# CHECK: dmb oshld
3102# CHECK: dmb oshst
3103# CHECK: dmb osh
3104# CHECK: dmb nshld
3105# CHECK: dmb nshst
3106# CHECK: dmb nsh
3107# CHECK: dmb ishld
3108# CHECK: dmb ishst
3109# CHECK: dmb ish
3110# CHECK: dmb ld
3111# CHECK: dmb st
3112# CHECK: dmb sy
31130xbf 0x30 0x3 0xd5
31140xbf 0x3c 0x3 0xd5
31150xbf 0x3f 0x3 0xd5
31160xbf 0x31 0x3 0xd5
31170xbf 0x32 0x3 0xd5
31180xbf 0x33 0x3 0xd5
31190xbf 0x35 0x3 0xd5
31200xbf 0x36 0x3 0xd5
31210xbf 0x37 0x3 0xd5
31220xbf 0x39 0x3 0xd5
31230xbf 0x3a 0x3 0xd5
31240xbf 0x3b 0x3 0xd5
31250xbf 0x3d 0x3 0xd5
31260xbf 0x3e 0x3 0xd5
31270xbf 0x3f 0x3 0xd5
3128
3129# CHECK: isb
3130# CHECK: isb #12
31310xdf 0x3f 0x3 0xd5
31320xdf 0x3c 0x3 0xd5
3133
Tim Northover4ec135f2014-05-01 12:29:56 +00003134# CHECK: msr {{spsel|SPSEL}}, #0
3135# CHECK: msr {{daifset|DAIFSET}}, #15
3136# CHECK: msr {{daifclr|DAIFCLR}}, #12
Tim Northovere0e3aef2013-01-31 12:12:40 +000031370xbf 0x40 0x0 0xd5
31380xdf 0x4f 0x3 0xd5
31390xff 0x4c 0x3 0xd5
3140
3141# CHECK: sys #7, c5, c9, #7, x5
3142# CHECK: sys #0, c15, c15, #2
3143# CHECK: sysl x9, #7, c5, c9, #7
3144# CHECK: sysl x1, #0, c15, c15, #2
31450xe5 0x59 0xf 0xd5
31460x5f 0xff 0x8 0xd5
31470xe9 0x59 0x2f 0xd5
31480x41 0xff 0x28 0xd5
3149
Tim Northoveree20caa2014-05-12 18:04:06 +00003150# CHECK: {{sys #0, c7, c1, #0|ic ialluis}}
3151# CHECK: {{sys #0, c7, c5, #0|ic iallu}}
Tim Northover4ec135f2014-05-01 12:29:56 +00003152# CHECK: {{sys #3, c7, c5, #1|ic ivau}}, x9
Tim Northovere0e3aef2013-01-31 12:12:40 +000031530x1f 0x71 0x8 0xd5
31540x1f 0x75 0x8 0xd5
31550x29 0x75 0xb 0xd5
3156
Tim Northover4ec135f2014-05-01 12:29:56 +00003157# CHECK: {{sys #3, c7, c4, #1|dc zva}}, x12
Tim Northoveree20caa2014-05-12 18:04:06 +00003158# CHECK: {{sys #0, c7, c6, #1|dc ivac}}
Tim Northover4ec135f2014-05-01 12:29:56 +00003159# CHECK: {{sys #0, c7, c6, #2|dc isw}}, x2
3160# CHECK: {{sys #3, c7, c10, #1|dc cvac}}, x9
3161# CHECK: {{sys #0, c7, c10, #2|dc csw}}, x10
3162# CHECK: {{sys #3, c7, c11, #1|dc cvau}}, x0
3163# CHECK: {{sys #3, c7, c14, #1|dc civac}}, x3
3164# CHECK: {{sys #0, c7, c14, #2|dc cisw}}, x30
Tim Northovere0e3aef2013-01-31 12:12:40 +000031650x2c 0x74 0xb 0xd5
31660x3f 0x76 0x8 0xd5
31670x42 0x76 0x8 0xd5
31680x29 0x7a 0xb 0xd5
31690x4a 0x7a 0x8 0xd5
31700x20 0x7b 0xb 0xd5
31710x23 0x7e 0xb 0xd5
31720x5e 0x7e 0x8 0xd5
3173
3174
Tim Northover4ec135f2014-05-01 12:29:56 +00003175# CHECK: msr {{teecr32_el1|TEECR32_EL1}}, x12
3176# CHECK: msr {{osdtrrx_el1|OSDTRRX_EL1}}, x12
3177# CHECK: msr {{mdccint_el1|MDCCINT_EL1}}, x12
3178# CHECK: msr {{mdscr_el1|MDSCR_EL1}}, x12
3179# CHECK: msr {{osdtrtx_el1|OSDTRTX_EL1}}, x12
3180# CHECK: msr {{dbgdtr_el0|DBGDTR_EL0}}, x12
3181# CHECK: msr {{dbgdtrtx_el0|DBGDTRTX_EL0}}, x12
3182# CHECK: msr {{oseccr_el1|OSECCR_EL1}}, x12
3183# CHECK: msr {{dbgvcr32_el2|DBGVCR32_EL2}}, x12
3184# CHECK: msr {{dbgbvr0_el1|DBGBVR0_EL1}}, x12
3185# CHECK: msr {{dbgbvr1_el1|DBGBVR1_EL1}}, x12
3186# CHECK: msr {{dbgbvr2_el1|DBGBVR2_EL1}}, x12
3187# CHECK: msr {{dbgbvr3_el1|DBGBVR3_EL1}}, x12
3188# CHECK: msr {{dbgbvr4_el1|DBGBVR4_EL1}}, x12
3189# CHECK: msr {{dbgbvr5_el1|DBGBVR5_EL1}}, x12
3190# CHECK: msr {{dbgbvr6_el1|DBGBVR6_EL1}}, x12
3191# CHECK: msr {{dbgbvr7_el1|DBGBVR7_EL1}}, x12
3192# CHECK: msr {{dbgbvr8_el1|DBGBVR8_EL1}}, x12
3193# CHECK: msr {{dbgbvr9_el1|DBGBVR9_EL1}}, x12
3194# CHECK: msr {{dbgbvr10_el1|DBGBVR10_EL1}}, x12
3195# CHECK: msr {{dbgbvr11_el1|DBGBVR11_EL1}}, x12
3196# CHECK: msr {{dbgbvr12_el1|DBGBVR12_EL1}}, x12
3197# CHECK: msr {{dbgbvr13_el1|DBGBVR13_EL1}}, x12
3198# CHECK: msr {{dbgbvr14_el1|DBGBVR14_EL1}}, x12
3199# CHECK: msr {{dbgbvr15_el1|DBGBVR15_EL1}}, x12
3200# CHECK: msr {{dbgbcr0_el1|DBGBCR0_EL1}}, x12
3201# CHECK: msr {{dbgbcr1_el1|DBGBCR1_EL1}}, x12
3202# CHECK: msr {{dbgbcr2_el1|DBGBCR2_EL1}}, x12
3203# CHECK: msr {{dbgbcr3_el1|DBGBCR3_EL1}}, x12
3204# CHECK: msr {{dbgbcr4_el1|DBGBCR4_EL1}}, x12
3205# CHECK: msr {{dbgbcr5_el1|DBGBCR5_EL1}}, x12
3206# CHECK: msr {{dbgbcr6_el1|DBGBCR6_EL1}}, x12
3207# CHECK: msr {{dbgbcr7_el1|DBGBCR7_EL1}}, x12
3208# CHECK: msr {{dbgbcr8_el1|DBGBCR8_EL1}}, x12
3209# CHECK: msr {{dbgbcr9_el1|DBGBCR9_EL1}}, x12
3210# CHECK: msr {{dbgbcr10_el1|DBGBCR10_EL1}}, x12
3211# CHECK: msr {{dbgbcr11_el1|DBGBCR11_EL1}}, x12
3212# CHECK: msr {{dbgbcr12_el1|DBGBCR12_EL1}}, x12
3213# CHECK: msr {{dbgbcr13_el1|DBGBCR13_EL1}}, x12
3214# CHECK: msr {{dbgbcr14_el1|DBGBCR14_EL1}}, x12
3215# CHECK: msr {{dbgbcr15_el1|DBGBCR15_EL1}}, x12
3216# CHECK: msr {{dbgwvr0_el1|DBGWVR0_EL1}}, x12
3217# CHECK: msr {{dbgwvr1_el1|DBGWVR1_EL1}}, x12
3218# CHECK: msr {{dbgwvr2_el1|DBGWVR2_EL1}}, x12
3219# CHECK: msr {{dbgwvr3_el1|DBGWVR3_EL1}}, x12
3220# CHECK: msr {{dbgwvr4_el1|DBGWVR4_EL1}}, x12
3221# CHECK: msr {{dbgwvr5_el1|DBGWVR5_EL1}}, x12
3222# CHECK: msr {{dbgwvr6_el1|DBGWVR6_EL1}}, x12
3223# CHECK: msr {{dbgwvr7_el1|DBGWVR7_EL1}}, x12
3224# CHECK: msr {{dbgwvr8_el1|DBGWVR8_EL1}}, x12
3225# CHECK: msr {{dbgwvr9_el1|DBGWVR9_EL1}}, x12
3226# CHECK: msr {{dbgwvr10_el1|DBGWVR10_EL1}}, x12
3227# CHECK: msr {{dbgwvr11_el1|DBGWVR11_EL1}}, x12
3228# CHECK: msr {{dbgwvr12_el1|DBGWVR12_EL1}}, x12
3229# CHECK: msr {{dbgwvr13_el1|DBGWVR13_EL1}}, x12
3230# CHECK: msr {{dbgwvr14_el1|DBGWVR14_EL1}}, x12
3231# CHECK: msr {{dbgwvr15_el1|DBGWVR15_EL1}}, x12
3232# CHECK: msr {{dbgwcr0_el1|DBGWCR0_EL1}}, x12
3233# CHECK: msr {{dbgwcr1_el1|DBGWCR1_EL1}}, x12
3234# CHECK: msr {{dbgwcr2_el1|DBGWCR2_EL1}}, x12
3235# CHECK: msr {{dbgwcr3_el1|DBGWCR3_EL1}}, x12
3236# CHECK: msr {{dbgwcr4_el1|DBGWCR4_EL1}}, x12
3237# CHECK: msr {{dbgwcr5_el1|DBGWCR5_EL1}}, x12
3238# CHECK: msr {{dbgwcr6_el1|DBGWCR6_EL1}}, x12
3239# CHECK: msr {{dbgwcr7_el1|DBGWCR7_EL1}}, x12
3240# CHECK: msr {{dbgwcr8_el1|DBGWCR8_EL1}}, x12
3241# CHECK: msr {{dbgwcr9_el1|DBGWCR9_EL1}}, x12
3242# CHECK: msr {{dbgwcr10_el1|DBGWCR10_EL1}}, x12
3243# CHECK: msr {{dbgwcr11_el1|DBGWCR11_EL1}}, x12
3244# CHECK: msr {{dbgwcr12_el1|DBGWCR12_EL1}}, x12
3245# CHECK: msr {{dbgwcr13_el1|DBGWCR13_EL1}}, x12
3246# CHECK: msr {{dbgwcr14_el1|DBGWCR14_EL1}}, x12
3247# CHECK: msr {{dbgwcr15_el1|DBGWCR15_EL1}}, x12
3248# CHECK: msr {{teehbr32_el1|TEEHBR32_EL1}}, x12
3249# CHECK: msr {{oslar_el1|OSLAR_EL1}}, x12
3250# CHECK: msr {{osdlr_el1|OSDLR_EL1}}, x12
3251# CHECK: msr {{dbgprcr_el1|DBGPRCR_EL1}}, x12
3252# CHECK: msr {{dbgclaimset_el1|DBGCLAIMSET_EL1}}, x12
3253# CHECK: msr {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}}, x12
3254# CHECK: msr {{csselr_el1|CSSELR_EL1}}, x12
3255# CHECK: msr {{vpidr_el2|VPIDR_EL2}}, x12
3256# CHECK: msr {{vmpidr_el2|VMPIDR_EL2}}, x12
3257# CHECK: msr {{sctlr_el1|SCTLR_EL1}}, x12
3258# CHECK: msr {{sctlr_el2|SCTLR_EL2}}, x12
3259# CHECK: msr {{sctlr_el3|SCTLR_EL3}}, x12
3260# CHECK: msr {{actlr_el1|ACTLR_EL1}}, x12
3261# CHECK: msr {{actlr_el2|ACTLR_EL2}}, x12
3262# CHECK: msr {{actlr_el3|ACTLR_EL3}}, x12
3263# CHECK: msr {{cpacr_el1|CPACR_EL1}}, x12
3264# CHECK: msr {{hcr_el2|HCR_EL2}}, x12
3265# CHECK: msr {{scr_el3|SCR_EL3}}, x12
3266# CHECK: msr {{mdcr_el2|MDCR_EL2}}, x12
3267# CHECK: msr {{sder32_el3|SDER32_EL3}}, x12
3268# CHECK: msr {{cptr_el2|CPTR_EL2}}, x12
3269# CHECK: msr {{cptr_el3|CPTR_EL3}}, x12
3270# CHECK: msr {{hstr_el2|HSTR_EL2}}, x12
3271# CHECK: msr {{hacr_el2|HACR_EL2}}, x12
3272# CHECK: msr {{mdcr_el3|MDCR_EL3}}, x12
3273# CHECK: msr {{ttbr0_el1|TTBR0_EL1}}, x12
3274# CHECK: msr {{ttbr0_el2|TTBR0_EL2}}, x12
3275# CHECK: msr {{ttbr0_el3|TTBR0_EL3}}, x12
3276# CHECK: msr {{ttbr1_el1|TTBR1_EL1}}, x12
3277# CHECK: msr {{tcr_el1|TCR_EL1}}, x12
3278# CHECK: msr {{tcr_el2|TCR_EL2}}, x12
3279# CHECK: msr {{tcr_el3|TCR_EL3}}, x12
3280# CHECK: msr {{vttbr_el2|VTTBR_EL2}}, x12
3281# CHECK: msr {{vtcr_el2|VTCR_EL2}}, x12
3282# CHECK: msr {{dacr32_el2|DACR32_EL2}}, x12
3283# CHECK: msr {{spsr_el1|SPSR_EL1}}, x12
3284# CHECK: msr {{spsr_el2|SPSR_EL2}}, x12
3285# CHECK: msr {{spsr_el3|SPSR_EL3}}, x12
3286# CHECK: msr {{elr_el1|ELR_EL1}}, x12
3287# CHECK: msr {{elr_el2|ELR_EL2}}, x12
3288# CHECK: msr {{elr_el3|ELR_EL3}}, x12
3289# CHECK: msr {{sp_el0|SP_EL0}}, x12
3290# CHECK: msr {{sp_el1|SP_EL1}}, x12
3291# CHECK: msr {{sp_el2|SP_EL2}}, x12
3292# CHECK: msr {{spsel|SPSEL}}, x12
3293# CHECK: msr {{nzcv|NZCV}}, x12
3294# CHECK: msr {{daif|DAIF}}, x12
3295# CHECK: msr {{currentel|CURRENTEL}}, x12
3296# CHECK: msr {{spsr_irq|SPSR_IRQ}}, x12
3297# CHECK: msr {{spsr_abt|SPSR_ABT}}, x12
3298# CHECK: msr {{spsr_und|SPSR_UND}}, x12
3299# CHECK: msr {{spsr_fiq|SPSR_FIQ}}, x12
3300# CHECK: msr {{fpcr|FPCR}}, x12
3301# CHECK: msr {{fpsr|FPSR}}, x12
3302# CHECK: msr {{dspsr_el0|DSPSR_EL0}}, x12
3303# CHECK: msr {{dlr_el0|DLR_EL0}}, x12
3304# CHECK: msr {{ifsr32_el2|IFSR32_EL2}}, x12
3305# CHECK: msr {{afsr0_el1|AFSR0_EL1}}, x12
3306# CHECK: msr {{afsr0_el2|AFSR0_EL2}}, x12
3307# CHECK: msr {{afsr0_el3|AFSR0_EL3}}, x12
3308# CHECK: msr {{afsr1_el1|AFSR1_EL1}}, x12
3309# CHECK: msr {{afsr1_el2|AFSR1_EL2}}, x12
3310# CHECK: msr {{afsr1_el3|AFSR1_EL3}}, x12
3311# CHECK: msr {{esr_el1|ESR_EL1}}, x12
3312# CHECK: msr {{esr_el2|ESR_EL2}}, x12
3313# CHECK: msr {{esr_el3|ESR_EL3}}, x12
3314# CHECK: msr {{fpexc32_el2|FPEXC32_EL2}}, x12
3315# CHECK: msr {{far_el1|FAR_EL1}}, x12
3316# CHECK: msr {{far_el2|FAR_EL2}}, x12
3317# CHECK: msr {{far_el3|FAR_EL3}}, x12
3318# CHECK: msr {{hpfar_el2|HPFAR_EL2}}, x12
3319# CHECK: msr {{par_el1|PAR_EL1}}, x12
3320# CHECK: msr {{pmcr_el0|PMCR_EL0}}, x12
3321# CHECK: msr {{pmcntenset_el0|PMCNTENSET_EL0}}, x12
3322# CHECK: msr {{pmcntenclr_el0|PMCNTENCLR_EL0}}, x12
3323# CHECK: msr {{pmovsclr_el0|PMOVSCLR_EL0}}, x12
3324# CHECK: msr {{pmselr_el0|PMSELR_EL0}}, x12
3325# CHECK: msr {{pmccntr_el0|PMCCNTR_EL0}}, x12
3326# CHECK: msr {{pmxevtyper_el0|PMXEVTYPER_EL0}}, x12
3327# CHECK: msr {{pmxevcntr_el0|PMXEVCNTR_EL0}}, x12
3328# CHECK: msr {{pmuserenr_el0|PMUSERENR_EL0}}, x12
3329# CHECK: msr {{pmintenset_el1|PMINTENSET_EL1}}, x12
3330# CHECK: msr {{pmintenclr_el1|PMINTENCLR_EL1}}, x12
3331# CHECK: msr {{pmovsset_el0|PMOVSSET_EL0}}, x12
3332# CHECK: msr {{mair_el1|MAIR_EL1}}, x12
3333# CHECK: msr {{mair_el2|MAIR_EL2}}, x12
3334# CHECK: msr {{mair_el3|MAIR_EL3}}, x12
3335# CHECK: msr {{amair_el1|AMAIR_EL1}}, x12
3336# CHECK: msr {{amair_el2|AMAIR_EL2}}, x12
3337# CHECK: msr {{amair_el3|AMAIR_EL3}}, x12
3338# CHECK: msr {{vbar_el1|VBAR_EL1}}, x12
3339# CHECK: msr {{vbar_el2|VBAR_EL2}}, x12
3340# CHECK: msr {{vbar_el3|VBAR_EL3}}, x12
3341# CHECK: msr {{rmr_el1|RMR_EL1}}, x12
3342# CHECK: msr {{rmr_el2|RMR_EL2}}, x12
3343# CHECK: msr {{rmr_el3|RMR_EL3}}, x12
3344# CHECK: msr {{tpidr_el0|TPIDR_EL0}}, x12
3345# CHECK: msr {{tpidr_el2|TPIDR_EL2}}, x12
3346# CHECK: msr {{tpidr_el3|TPIDR_EL3}}, x12
3347# CHECK: msr {{tpidrro_el0|TPIDRRO_EL0}}, x12
3348# CHECK: msr {{tpidr_el1|TPIDR_EL1}}, x12
3349# CHECK: msr {{cntfrq_el0|CNTFRQ_EL0}}, x12
3350# CHECK: msr {{cntvoff_el2|CNTVOFF_EL2}}, x12
3351# CHECK: msr {{cntkctl_el1|CNTKCTL_EL1}}, x12
3352# CHECK: msr {{cnthctl_el2|CNTHCTL_EL2}}, x12
3353# CHECK: msr {{cntp_tval_el0|CNTP_TVAL_EL0}}, x12
3354# CHECK: msr {{cnthp_tval_el2|CNTHP_TVAL_EL2}}, x12
3355# CHECK: msr {{cntps_tval_el1|CNTPS_TVAL_EL1}}, x12
3356# CHECK: msr {{cntp_ctl_el0|CNTP_CTL_EL0}}, x12
3357# CHECK: msr {{cnthp_ctl_el2|CNTHP_CTL_EL2}}, x12
3358# CHECK: msr {{cntps_ctl_el1|CNTPS_CTL_EL1}}, x12
3359# CHECK: msr {{cntp_cval_el0|CNTP_CVAL_EL0}}, x12
3360# CHECK: msr {{cnthp_cval_el2|CNTHP_CVAL_EL2}}, x12
3361# CHECK: msr {{cntps_cval_el1|CNTPS_CVAL_EL1}}, x12
3362# CHECK: msr {{cntv_tval_el0|CNTV_TVAL_EL0}}, x12
3363# CHECK: msr {{cntv_ctl_el0|CNTV_CTL_EL0}}, x12
3364# CHECK: msr {{cntv_cval_el0|CNTV_CVAL_EL0}}, x12
3365# CHECK: msr {{pmevcntr0_el0|PMEVCNTR0_EL0}}, x12
3366# CHECK: msr {{pmevcntr1_el0|PMEVCNTR1_EL0}}, x12
3367# CHECK: msr {{pmevcntr2_el0|PMEVCNTR2_EL0}}, x12
3368# CHECK: msr {{pmevcntr3_el0|PMEVCNTR3_EL0}}, x12
3369# CHECK: msr {{pmevcntr4_el0|PMEVCNTR4_EL0}}, x12
3370# CHECK: msr {{pmevcntr5_el0|PMEVCNTR5_EL0}}, x12
3371# CHECK: msr {{pmevcntr6_el0|PMEVCNTR6_EL0}}, x12
3372# CHECK: msr {{pmevcntr7_el0|PMEVCNTR7_EL0}}, x12
3373# CHECK: msr {{pmevcntr8_el0|PMEVCNTR8_EL0}}, x12
3374# CHECK: msr {{pmevcntr9_el0|PMEVCNTR9_EL0}}, x12
3375# CHECK: msr {{pmevcntr10_el0|PMEVCNTR10_EL0}}, x12
3376# CHECK: msr {{pmevcntr11_el0|PMEVCNTR11_EL0}}, x12
3377# CHECK: msr {{pmevcntr12_el0|PMEVCNTR12_EL0}}, x12
3378# CHECK: msr {{pmevcntr13_el0|PMEVCNTR13_EL0}}, x12
3379# CHECK: msr {{pmevcntr14_el0|PMEVCNTR14_EL0}}, x12
3380# CHECK: msr {{pmevcntr15_el0|PMEVCNTR15_EL0}}, x12
3381# CHECK: msr {{pmevcntr16_el0|PMEVCNTR16_EL0}}, x12
3382# CHECK: msr {{pmevcntr17_el0|PMEVCNTR17_EL0}}, x12
3383# CHECK: msr {{pmevcntr18_el0|PMEVCNTR18_EL0}}, x12
3384# CHECK: msr {{pmevcntr19_el0|PMEVCNTR19_EL0}}, x12
3385# CHECK: msr {{pmevcntr20_el0|PMEVCNTR20_EL0}}, x12
3386# CHECK: msr {{pmevcntr21_el0|PMEVCNTR21_EL0}}, x12
3387# CHECK: msr {{pmevcntr22_el0|PMEVCNTR22_EL0}}, x12
3388# CHECK: msr {{pmevcntr23_el0|PMEVCNTR23_EL0}}, x12
3389# CHECK: msr {{pmevcntr24_el0|PMEVCNTR24_EL0}}, x12
3390# CHECK: msr {{pmevcntr25_el0|PMEVCNTR25_EL0}}, x12
3391# CHECK: msr {{pmevcntr26_el0|PMEVCNTR26_EL0}}, x12
3392# CHECK: msr {{pmevcntr27_el0|PMEVCNTR27_EL0}}, x12
3393# CHECK: msr {{pmevcntr28_el0|PMEVCNTR28_EL0}}, x12
3394# CHECK: msr {{pmevcntr29_el0|PMEVCNTR29_EL0}}, x12
3395# CHECK: msr {{pmevcntr30_el0|PMEVCNTR30_EL0}}, x12
3396# CHECK: msr {{pmccfiltr_el0|PMCCFILTR_EL0}}, x12
3397# CHECK: msr {{pmevtyper0_el0|PMEVTYPER0_EL0}}, x12
3398# CHECK: msr {{pmevtyper1_el0|PMEVTYPER1_EL0}}, x12
3399# CHECK: msr {{pmevtyper2_el0|PMEVTYPER2_EL0}}, x12
3400# CHECK: msr {{pmevtyper3_el0|PMEVTYPER3_EL0}}, x12
3401# CHECK: msr {{pmevtyper4_el0|PMEVTYPER4_EL0}}, x12
3402# CHECK: msr {{pmevtyper5_el0|PMEVTYPER5_EL0}}, x12
3403# CHECK: msr {{pmevtyper6_el0|PMEVTYPER6_EL0}}, x12
3404# CHECK: msr {{pmevtyper7_el0|PMEVTYPER7_EL0}}, x12
3405# CHECK: msr {{pmevtyper8_el0|PMEVTYPER8_EL0}}, x12
3406# CHECK: msr {{pmevtyper9_el0|PMEVTYPER9_EL0}}, x12
3407# CHECK: msr {{pmevtyper10_el0|PMEVTYPER10_EL0}}, x12
3408# CHECK: msr {{pmevtyper11_el0|PMEVTYPER11_EL0}}, x12
3409# CHECK: msr {{pmevtyper12_el0|PMEVTYPER12_EL0}}, x12
3410# CHECK: msr {{pmevtyper13_el0|PMEVTYPER13_EL0}}, x12
3411# CHECK: msr {{pmevtyper14_el0|PMEVTYPER14_EL0}}, x12
3412# CHECK: msr {{pmevtyper15_el0|PMEVTYPER15_EL0}}, x12
3413# CHECK: msr {{pmevtyper16_el0|PMEVTYPER16_EL0}}, x12
3414# CHECK: msr {{pmevtyper17_el0|PMEVTYPER17_EL0}}, x12
3415# CHECK: msr {{pmevtyper18_el0|PMEVTYPER18_EL0}}, x12
3416# CHECK: msr {{pmevtyper19_el0|PMEVTYPER19_EL0}}, x12
3417# CHECK: msr {{pmevtyper20_el0|PMEVTYPER20_EL0}}, x12
3418# CHECK: msr {{pmevtyper21_el0|PMEVTYPER21_EL0}}, x12
3419# CHECK: msr {{pmevtyper22_el0|PMEVTYPER22_EL0}}, x12
3420# CHECK: msr {{pmevtyper23_el0|PMEVTYPER23_EL0}}, x12
3421# CHECK: msr {{pmevtyper24_el0|PMEVTYPER24_EL0}}, x12
3422# CHECK: msr {{pmevtyper25_el0|PMEVTYPER25_EL0}}, x12
3423# CHECK: msr {{pmevtyper26_el0|PMEVTYPER26_EL0}}, x12
3424# CHECK: msr {{pmevtyper27_el0|PMEVTYPER27_EL0}}, x12
3425# CHECK: msr {{pmevtyper28_el0|PMEVTYPER28_EL0}}, x12
3426# CHECK: msr {{pmevtyper29_el0|PMEVTYPER29_EL0}}, x12
3427# CHECK: msr {{pmevtyper30_el0|PMEVTYPER30_EL0}}, x12
3428# CHECK: mrs x9, {{teecr32_el1|TEECR32_EL1}}
3429# CHECK: mrs x9, {{osdtrrx_el1|OSDTRRX_EL1}}
3430# CHECK: mrs x9, {{mdccsr_el0|MDCCSR_EL0}}
3431# CHECK: mrs x9, {{mdccint_el1|MDCCINT_EL1}}
3432# CHECK: mrs x9, {{mdscr_el1|MDSCR_EL1}}
3433# CHECK: mrs x9, {{osdtrtx_el1|OSDTRTX_EL1}}
3434# CHECK: mrs x9, {{dbgdtr_el0|DBGDTR_EL0}}
3435# CHECK: mrs x9, {{dbgdtrrx_el0|DBGDTRRX_EL0}}
3436# CHECK: mrs x9, {{oseccr_el1|OSECCR_EL1}}
3437# CHECK: mrs x9, {{dbgvcr32_el2|DBGVCR32_EL2}}
3438# CHECK: mrs x9, {{dbgbvr0_el1|DBGBVR0_EL1}}
3439# CHECK: mrs x9, {{dbgbvr1_el1|DBGBVR1_EL1}}
3440# CHECK: mrs x9, {{dbgbvr2_el1|DBGBVR2_EL1}}
3441# CHECK: mrs x9, {{dbgbvr3_el1|DBGBVR3_EL1}}
3442# CHECK: mrs x9, {{dbgbvr4_el1|DBGBVR4_EL1}}
3443# CHECK: mrs x9, {{dbgbvr5_el1|DBGBVR5_EL1}}
3444# CHECK: mrs x9, {{dbgbvr6_el1|DBGBVR6_EL1}}
3445# CHECK: mrs x9, {{dbgbvr7_el1|DBGBVR7_EL1}}
3446# CHECK: mrs x9, {{dbgbvr8_el1|DBGBVR8_EL1}}
3447# CHECK: mrs x9, {{dbgbvr9_el1|DBGBVR9_EL1}}
3448# CHECK: mrs x9, {{dbgbvr10_el1|DBGBVR10_EL1}}
3449# CHECK: mrs x9, {{dbgbvr11_el1|DBGBVR11_EL1}}
3450# CHECK: mrs x9, {{dbgbvr12_el1|DBGBVR12_EL1}}
3451# CHECK: mrs x9, {{dbgbvr13_el1|DBGBVR13_EL1}}
3452# CHECK: mrs x9, {{dbgbvr14_el1|DBGBVR14_EL1}}
3453# CHECK: mrs x9, {{dbgbvr15_el1|DBGBVR15_EL1}}
3454# CHECK: mrs x9, {{dbgbcr0_el1|DBGBCR0_EL1}}
3455# CHECK: mrs x9, {{dbgbcr1_el1|DBGBCR1_EL1}}
3456# CHECK: mrs x9, {{dbgbcr2_el1|DBGBCR2_EL1}}
3457# CHECK: mrs x9, {{dbgbcr3_el1|DBGBCR3_EL1}}
3458# CHECK: mrs x9, {{dbgbcr4_el1|DBGBCR4_EL1}}
3459# CHECK: mrs x9, {{dbgbcr5_el1|DBGBCR5_EL1}}
3460# CHECK: mrs x9, {{dbgbcr6_el1|DBGBCR6_EL1}}
3461# CHECK: mrs x9, {{dbgbcr7_el1|DBGBCR7_EL1}}
3462# CHECK: mrs x9, {{dbgbcr8_el1|DBGBCR8_EL1}}
3463# CHECK: mrs x9, {{dbgbcr9_el1|DBGBCR9_EL1}}
3464# CHECK: mrs x9, {{dbgbcr10_el1|DBGBCR10_EL1}}
3465# CHECK: mrs x9, {{dbgbcr11_el1|DBGBCR11_EL1}}
3466# CHECK: mrs x9, {{dbgbcr12_el1|DBGBCR12_EL1}}
3467# CHECK: mrs x9, {{dbgbcr13_el1|DBGBCR13_EL1}}
3468# CHECK: mrs x9, {{dbgbcr14_el1|DBGBCR14_EL1}}
3469# CHECK: mrs x9, {{dbgbcr15_el1|DBGBCR15_EL1}}
3470# CHECK: mrs x9, {{dbgwvr0_el1|DBGWVR0_EL1}}
3471# CHECK: mrs x9, {{dbgwvr1_el1|DBGWVR1_EL1}}
3472# CHECK: mrs x9, {{dbgwvr2_el1|DBGWVR2_EL1}}
3473# CHECK: mrs x9, {{dbgwvr3_el1|DBGWVR3_EL1}}
3474# CHECK: mrs x9, {{dbgwvr4_el1|DBGWVR4_EL1}}
3475# CHECK: mrs x9, {{dbgwvr5_el1|DBGWVR5_EL1}}
3476# CHECK: mrs x9, {{dbgwvr6_el1|DBGWVR6_EL1}}
3477# CHECK: mrs x9, {{dbgwvr7_el1|DBGWVR7_EL1}}
3478# CHECK: mrs x9, {{dbgwvr8_el1|DBGWVR8_EL1}}
3479# CHECK: mrs x9, {{dbgwvr9_el1|DBGWVR9_EL1}}
3480# CHECK: mrs x9, {{dbgwvr10_el1|DBGWVR10_EL1}}
3481# CHECK: mrs x9, {{dbgwvr11_el1|DBGWVR11_EL1}}
3482# CHECK: mrs x9, {{dbgwvr12_el1|DBGWVR12_EL1}}
3483# CHECK: mrs x9, {{dbgwvr13_el1|DBGWVR13_EL1}}
3484# CHECK: mrs x9, {{dbgwvr14_el1|DBGWVR14_EL1}}
3485# CHECK: mrs x9, {{dbgwvr15_el1|DBGWVR15_EL1}}
3486# CHECK: mrs x9, {{dbgwcr0_el1|DBGWCR0_EL1}}
3487# CHECK: mrs x9, {{dbgwcr1_el1|DBGWCR1_EL1}}
3488# CHECK: mrs x9, {{dbgwcr2_el1|DBGWCR2_EL1}}
3489# CHECK: mrs x9, {{dbgwcr3_el1|DBGWCR3_EL1}}
3490# CHECK: mrs x9, {{dbgwcr4_el1|DBGWCR4_EL1}}
3491# CHECK: mrs x9, {{dbgwcr5_el1|DBGWCR5_EL1}}
3492# CHECK: mrs x9, {{dbgwcr6_el1|DBGWCR6_EL1}}
3493# CHECK: mrs x9, {{dbgwcr7_el1|DBGWCR7_EL1}}
3494# CHECK: mrs x9, {{dbgwcr8_el1|DBGWCR8_EL1}}
3495# CHECK: mrs x9, {{dbgwcr9_el1|DBGWCR9_EL1}}
3496# CHECK: mrs x9, {{dbgwcr10_el1|DBGWCR10_EL1}}
3497# CHECK: mrs x9, {{dbgwcr11_el1|DBGWCR11_EL1}}
3498# CHECK: mrs x9, {{dbgwcr12_el1|DBGWCR12_EL1}}
3499# CHECK: mrs x9, {{dbgwcr13_el1|DBGWCR13_EL1}}
3500# CHECK: mrs x9, {{dbgwcr14_el1|DBGWCR14_EL1}}
3501# CHECK: mrs x9, {{dbgwcr15_el1|DBGWCR15_EL1}}
3502# CHECK: mrs x9, {{mdrar_el1|MDRAR_EL1}}
3503# CHECK: mrs x9, {{teehbr32_el1|TEEHBR32_EL1}}
3504# CHECK: mrs x9, {{oslsr_el1|OSLSR_EL1}}
3505# CHECK: mrs x9, {{osdlr_el1|OSDLR_EL1}}
3506# CHECK: mrs x9, {{dbgprcr_el1|DBGPRCR_EL1}}
3507# CHECK: mrs x9, {{dbgclaimset_el1|DBGCLAIMSET_EL1}}
3508# CHECK: mrs x9, {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}}
3509# CHECK: mrs x9, {{dbgauthstatus_el1|DBGAUTHSTATUS_EL1}}
3510# CHECK: mrs x9, {{midr_el1|MIDR_EL1}}
3511# CHECK: mrs x9, {{ccsidr_el1|CCSIDR_EL1}}
3512# CHECK: mrs x9, {{csselr_el1|CSSELR_EL1}}
3513# CHECK: mrs x9, {{vpidr_el2|VPIDR_EL2}}
3514# CHECK: mrs x9, {{clidr_el1|CLIDR_EL1}}
3515# CHECK: mrs x9, {{ctr_el0|CTR_EL0}}
3516# CHECK: mrs x9, {{mpidr_el1|MPIDR_EL1}}
3517# CHECK: mrs x9, {{vmpidr_el2|VMPIDR_EL2}}
3518# CHECK: mrs x9, {{revidr_el1|REVIDR_EL1}}
3519# CHECK: mrs x9, {{aidr_el1|AIDR_EL1}}
3520# CHECK: mrs x9, {{dczid_el0|DCZID_EL0}}
3521# CHECK: mrs x9, {{id_pfr0_el1|ID_PFR0_EL1}}
3522# CHECK: mrs x9, {{id_pfr1_el1|ID_PFR1_EL1}}
3523# CHECK: mrs x9, {{id_dfr0_el1|ID_DFR0_EL1}}
3524# CHECK: mrs x9, {{id_afr0_el1|ID_AFR0_EL1}}
3525# CHECK: mrs x9, {{id_mmfr0_el1|ID_MMFR0_EL1}}
3526# CHECK: mrs x9, {{id_mmfr1_el1|ID_MMFR1_EL1}}
3527# CHECK: mrs x9, {{id_mmfr2_el1|ID_MMFR2_EL1}}
3528# CHECK: mrs x9, {{id_mmfr3_el1|ID_MMFR3_EL1}}
Javed Absare1c7dc32015-06-08 15:01:11 +00003529# CHECK: mrs x9, {{id_mmfr4_el1|ID_MMFR4_EL1}}
Tim Northover4ec135f2014-05-01 12:29:56 +00003530# CHECK: mrs x9, {{id_isar0_el1|ID_ISAR0_EL1}}
3531# CHECK: mrs x9, {{id_isar1_el1|ID_ISAR1_EL1}}
3532# CHECK: mrs x9, {{id_isar2_el1|ID_ISAR2_EL1}}
3533# CHECK: mrs x9, {{id_isar3_el1|ID_ISAR3_EL1}}
3534# CHECK: mrs x9, {{id_isar4_el1|ID_ISAR4_EL1}}
3535# CHECK: mrs x9, {{id_isar5_el1|ID_ISAR5_EL1}}
3536# CHECK: mrs x9, {{mvfr0_el1|MVFR0_EL1}}
3537# CHECK: mrs x9, {{mvfr1_el1|MVFR1_EL1}}
3538# CHECK: mrs x9, {{mvfr2_el1|MVFR2_EL1}}
3539# CHECK: mrs x9, {{id_aa64pfr0_el1|ID_AA64PFR0_EL1}}
3540# CHECK: mrs x9, {{id_aa64pfr1_el1|ID_AA64PFR1_EL1}}
3541# CHECK: mrs x9, {{id_aa64dfr0_el1|ID_AA64DFR0_EL1}}
3542# CHECK: mrs x9, {{id_aa64dfr1_el1|ID_AA64DFR1_EL1}}
3543# CHECK: mrs x9, {{id_aa64afr0_el1|ID_AA64AFR0_EL1}}
3544# CHECK: mrs x9, {{id_aa64afr1_el1|ID_AA64AFR1_EL1}}
3545# CHECK: mrs x9, {{id_aa64isar0_el1|ID_AA64ISAR0_EL1}}
3546# CHECK: mrs x9, {{id_aa64isar1_el1|ID_AA64ISAR1_EL1}}
3547# CHECK: mrs x9, {{id_aa64mmfr0_el1|ID_AA64MMFR0_EL1}}
3548# CHECK: mrs x9, {{id_aa64mmfr1_el1|ID_AA64MMFR1_EL1}}
3549# CHECK: mrs x9, {{sctlr_el1|SCTLR_EL1}}
3550# CHECK: mrs x9, {{sctlr_el2|SCTLR_EL2}}
3551# CHECK: mrs x9, {{sctlr_el3|SCTLR_EL3}}
3552# CHECK: mrs x9, {{actlr_el1|ACTLR_EL1}}
3553# CHECK: mrs x9, {{actlr_el2|ACTLR_EL2}}
3554# CHECK: mrs x9, {{actlr_el3|ACTLR_EL3}}
3555# CHECK: mrs x9, {{cpacr_el1|CPACR_EL1}}
3556# CHECK: mrs x9, {{hcr_el2|HCR_EL2}}
3557# CHECK: mrs x9, {{scr_el3|SCR_EL3}}
3558# CHECK: mrs x9, {{mdcr_el2|MDCR_EL2}}
3559# CHECK: mrs x9, {{sder32_el3|SDER32_EL3}}
3560# CHECK: mrs x9, {{cptr_el2|CPTR_EL2}}
3561# CHECK: mrs x9, {{cptr_el3|CPTR_EL3}}
3562# CHECK: mrs x9, {{hstr_el2|HSTR_EL2}}
3563# CHECK: mrs x9, {{hacr_el2|HACR_EL2}}
3564# CHECK: mrs x9, {{mdcr_el3|MDCR_EL3}}
3565# CHECK: mrs x9, {{ttbr0_el1|TTBR0_EL1}}
3566# CHECK: mrs x9, {{ttbr0_el2|TTBR0_EL2}}
3567# CHECK: mrs x9, {{ttbr0_el3|TTBR0_EL3}}
3568# CHECK: mrs x9, {{ttbr1_el1|TTBR1_EL1}}
3569# CHECK: mrs x9, {{tcr_el1|TCR_EL1}}
3570# CHECK: mrs x9, {{tcr_el2|TCR_EL2}}
3571# CHECK: mrs x9, {{tcr_el3|TCR_EL3}}
3572# CHECK: mrs x9, {{vttbr_el2|VTTBR_EL2}}
3573# CHECK: mrs x9, {{vtcr_el2|VTCR_EL2}}
3574# CHECK: mrs x9, {{dacr32_el2|DACR32_EL2}}
3575# CHECK: mrs x9, {{spsr_el1|SPSR_EL1}}
3576# CHECK: mrs x9, {{spsr_el2|SPSR_EL2}}
3577# CHECK: mrs x9, {{spsr_el3|SPSR_EL3}}
3578# CHECK: mrs x9, {{elr_el1|ELR_EL1}}
3579# CHECK: mrs x9, {{elr_el2|ELR_EL2}}
3580# CHECK: mrs x9, {{elr_el3|ELR_EL3}}
3581# CHECK: mrs x9, {{sp_el0|SP_EL0}}
3582# CHECK: mrs x9, {{sp_el1|SP_EL1}}
3583# CHECK: mrs x9, {{sp_el2|SP_EL2}}
3584# CHECK: mrs x9, {{spsel|SPSEL}}
3585# CHECK: mrs x9, {{nzcv|NZCV}}
3586# CHECK: mrs x9, {{daif|DAIF}}
3587# CHECK: mrs x9, {{currentel|CURRENTEL}}
3588# CHECK: mrs x9, {{spsr_irq|SPSR_IRQ}}
3589# CHECK: mrs x9, {{spsr_abt|SPSR_ABT}}
3590# CHECK: mrs x9, {{spsr_und|SPSR_UND}}
3591# CHECK: mrs x9, {{spsr_fiq|SPSR_FIQ}}
3592# CHECK: mrs x9, {{fpcr|FPCR}}
3593# CHECK: mrs x9, {{fpsr|FPSR}}
3594# CHECK: mrs x9, {{dspsr_el0|DSPSR_EL0}}
3595# CHECK: mrs x9, {{dlr_el0|DLR_EL0}}
3596# CHECK: mrs x9, {{ifsr32_el2|IFSR32_EL2}}
3597# CHECK: mrs x9, {{afsr0_el1|AFSR0_EL1}}
3598# CHECK: mrs x9, {{afsr0_el2|AFSR0_EL2}}
3599# CHECK: mrs x9, {{afsr0_el3|AFSR0_EL3}}
3600# CHECK: mrs x9, {{afsr1_el1|AFSR1_EL1}}
3601# CHECK: mrs x9, {{afsr1_el2|AFSR1_EL2}}
3602# CHECK: mrs x9, {{afsr1_el3|AFSR1_EL3}}
3603# CHECK: mrs x9, {{esr_el1|ESR_EL1}}
3604# CHECK: mrs x9, {{esr_el2|ESR_EL2}}
3605# CHECK: mrs x9, {{esr_el3|ESR_EL3}}
3606# CHECK: mrs x9, {{fpexc32_el2|FPEXC32_EL2}}
3607# CHECK: mrs x9, {{far_el1|FAR_EL1}}
3608# CHECK: mrs x9, {{far_el2|FAR_EL2}}
3609# CHECK: mrs x9, {{far_el3|FAR_EL3}}
3610# CHECK: mrs x9, {{hpfar_el2|HPFAR_EL2}}
3611# CHECK: mrs x9, {{par_el1|PAR_EL1}}
3612# CHECK: mrs x9, {{pmcr_el0|PMCR_EL0}}
3613# CHECK: mrs x9, {{pmcntenset_el0|PMCNTENSET_EL0}}
3614# CHECK: mrs x9, {{pmcntenclr_el0|PMCNTENCLR_EL0}}
3615# CHECK: mrs x9, {{pmovsclr_el0|PMOVSCLR_EL0}}
3616# CHECK: mrs x9, {{pmselr_el0|PMSELR_EL0}}
3617# CHECK: mrs x9, {{pmceid0_el0|PMCEID0_EL0}}
3618# CHECK: mrs x9, {{pmceid1_el0|PMCEID1_EL0}}
3619# CHECK: mrs x9, {{pmccntr_el0|PMCCNTR_EL0}}
3620# CHECK: mrs x9, {{pmxevtyper_el0|PMXEVTYPER_EL0}}
3621# CHECK: mrs x9, {{pmxevcntr_el0|PMXEVCNTR_EL0}}
3622# CHECK: mrs x9, {{pmuserenr_el0|PMUSERENR_EL0}}
3623# CHECK: mrs x9, {{pmintenset_el1|PMINTENSET_EL1}}
3624# CHECK: mrs x9, {{pmintenclr_el1|PMINTENCLR_EL1}}
3625# CHECK: mrs x9, {{pmovsset_el0|PMOVSSET_EL0}}
3626# CHECK: mrs x9, {{mair_el1|MAIR_EL1}}
3627# CHECK: mrs x9, {{mair_el2|MAIR_EL2}}
3628# CHECK: mrs x9, {{mair_el3|MAIR_EL3}}
3629# CHECK: mrs x9, {{amair_el1|AMAIR_EL1}}
3630# CHECK: mrs x9, {{amair_el2|AMAIR_EL2}}
3631# CHECK: mrs x9, {{amair_el3|AMAIR_EL3}}
3632# CHECK: mrs x9, {{vbar_el1|VBAR_EL1}}
3633# CHECK: mrs x9, {{vbar_el2|VBAR_EL2}}
3634# CHECK: mrs x9, {{vbar_el3|VBAR_EL3}}
3635# CHECK: mrs x9, {{rvbar_el1|RVBAR_EL1}}
3636# CHECK: mrs x9, {{rvbar_el2|RVBAR_EL2}}
3637# CHECK: mrs x9, {{rvbar_el3|RVBAR_EL3}}
3638# CHECK: mrs x9, {{rmr_el1|RMR_EL1}}
3639# CHECK: mrs x9, {{rmr_el2|RMR_EL2}}
3640# CHECK: mrs x9, {{rmr_el3|RMR_EL3}}
3641# CHECK: mrs x9, {{isr_el1|ISR_EL1}}
3642# CHECK: mrs x9, {{contextidr_el1|CONTEXTIDR_EL1}}
3643# CHECK: mrs x9, {{tpidr_el0|TPIDR_EL0}}
3644# CHECK: mrs x9, {{tpidr_el2|TPIDR_EL2}}
3645# CHECK: mrs x9, {{tpidr_el3|TPIDR_EL3}}
3646# CHECK: mrs x9, {{tpidrro_el0|TPIDRRO_EL0}}
3647# CHECK: mrs x9, {{tpidr_el1|TPIDR_EL1}}
3648# CHECK: mrs x9, {{cntfrq_el0|CNTFRQ_EL0}}
3649# CHECK: mrs x9, {{cntpct_el0|CNTPCT_EL0}}
3650# CHECK: mrs x9, {{cntvct_el0|CNTVCT_EL0}}
3651# CHECK: mrs x9, {{cntvoff_el2|CNTVOFF_EL2}}
3652# CHECK: mrs x9, {{cntkctl_el1|CNTKCTL_EL1}}
3653# CHECK: mrs x9, {{cnthctl_el2|CNTHCTL_EL2}}
3654# CHECK: mrs x9, {{cntp_tval_el0|CNTP_TVAL_EL0}}
3655# CHECK: mrs x9, {{cnthp_tval_el2|CNTHP_TVAL_EL2}}
3656# CHECK: mrs x9, {{cntps_tval_el1|CNTPS_TVAL_EL1}}
3657# CHECK: mrs x9, {{cntp_ctl_el0|CNTP_CTL_EL0}}
3658# CHECK: mrs x9, {{cnthp_ctl_el2|CNTHP_CTL_EL2}}
3659# CHECK: mrs x9, {{cntps_ctl_el1|CNTPS_CTL_EL1}}
3660# CHECK: mrs x9, {{cntp_cval_el0|CNTP_CVAL_EL0}}
3661# CHECK: mrs x9, {{cnthp_cval_el2|CNTHP_CVAL_EL2}}
3662# CHECK: mrs x9, {{cntps_cval_el1|CNTPS_CVAL_EL1}}
3663# CHECK: mrs x9, {{cntv_tval_el0|CNTV_TVAL_EL0}}
3664# CHECK: mrs x9, {{cntv_ctl_el0|CNTV_CTL_EL0}}
3665# CHECK: mrs x9, {{cntv_cval_el0|CNTV_CVAL_EL0}}
3666# CHECK: mrs x9, {{pmevcntr0_el0|PMEVCNTR0_EL0}}
3667# CHECK: mrs x9, {{pmevcntr1_el0|PMEVCNTR1_EL0}}
3668# CHECK: mrs x9, {{pmevcntr2_el0|PMEVCNTR2_EL0}}
3669# CHECK: mrs x9, {{pmevcntr3_el0|PMEVCNTR3_EL0}}
3670# CHECK: mrs x9, {{pmevcntr4_el0|PMEVCNTR4_EL0}}
3671# CHECK: mrs x9, {{pmevcntr5_el0|PMEVCNTR5_EL0}}
3672# CHECK: mrs x9, {{pmevcntr6_el0|PMEVCNTR6_EL0}}
3673# CHECK: mrs x9, {{pmevcntr7_el0|PMEVCNTR7_EL0}}
3674# CHECK: mrs x9, {{pmevcntr8_el0|PMEVCNTR8_EL0}}
3675# CHECK: mrs x9, {{pmevcntr9_el0|PMEVCNTR9_EL0}}
3676# CHECK: mrs x9, {{pmevcntr10_el0|PMEVCNTR10_EL0}}
3677# CHECK: mrs x9, {{pmevcntr11_el0|PMEVCNTR11_EL0}}
3678# CHECK: mrs x9, {{pmevcntr12_el0|PMEVCNTR12_EL0}}
3679# CHECK: mrs x9, {{pmevcntr13_el0|PMEVCNTR13_EL0}}
3680# CHECK: mrs x9, {{pmevcntr14_el0|PMEVCNTR14_EL0}}
3681# CHECK: mrs x9, {{pmevcntr15_el0|PMEVCNTR15_EL0}}
3682# CHECK: mrs x9, {{pmevcntr16_el0|PMEVCNTR16_EL0}}
3683# CHECK: mrs x9, {{pmevcntr17_el0|PMEVCNTR17_EL0}}
3684# CHECK: mrs x9, {{pmevcntr18_el0|PMEVCNTR18_EL0}}
3685# CHECK: mrs x9, {{pmevcntr19_el0|PMEVCNTR19_EL0}}
3686# CHECK: mrs x9, {{pmevcntr20_el0|PMEVCNTR20_EL0}}
3687# CHECK: mrs x9, {{pmevcntr21_el0|PMEVCNTR21_EL0}}
3688# CHECK: mrs x9, {{pmevcntr22_el0|PMEVCNTR22_EL0}}
3689# CHECK: mrs x9, {{pmevcntr23_el0|PMEVCNTR23_EL0}}
3690# CHECK: mrs x9, {{pmevcntr24_el0|PMEVCNTR24_EL0}}
3691# CHECK: mrs x9, {{pmevcntr25_el0|PMEVCNTR25_EL0}}
3692# CHECK: mrs x9, {{pmevcntr26_el0|PMEVCNTR26_EL0}}
3693# CHECK: mrs x9, {{pmevcntr27_el0|PMEVCNTR27_EL0}}
3694# CHECK: mrs x9, {{pmevcntr28_el0|PMEVCNTR28_EL0}}
3695# CHECK: mrs x9, {{pmevcntr29_el0|PMEVCNTR29_EL0}}
3696# CHECK: mrs x9, {{pmevcntr30_el0|PMEVCNTR30_EL0}}
3697# CHECK: mrs x9, {{pmccfiltr_el0|PMCCFILTR_EL0}}
3698# CHECK: mrs x9, {{pmevtyper0_el0|PMEVTYPER0_EL0}}
3699# CHECK: mrs x9, {{pmevtyper1_el0|PMEVTYPER1_EL0}}
3700# CHECK: mrs x9, {{pmevtyper2_el0|PMEVTYPER2_EL0}}
3701# CHECK: mrs x9, {{pmevtyper3_el0|PMEVTYPER3_EL0}}
3702# CHECK: mrs x9, {{pmevtyper4_el0|PMEVTYPER4_EL0}}
3703# CHECK: mrs x9, {{pmevtyper5_el0|PMEVTYPER5_EL0}}
3704# CHECK: mrs x9, {{pmevtyper6_el0|PMEVTYPER6_EL0}}
3705# CHECK: mrs x9, {{pmevtyper7_el0|PMEVTYPER7_EL0}}
3706# CHECK: mrs x9, {{pmevtyper8_el0|PMEVTYPER8_EL0}}
3707# CHECK: mrs x9, {{pmevtyper9_el0|PMEVTYPER9_EL0}}
3708# CHECK: mrs x9, {{pmevtyper10_el0|PMEVTYPER10_EL0}}
3709# CHECK: mrs x9, {{pmevtyper11_el0|PMEVTYPER11_EL0}}
3710# CHECK: mrs x9, {{pmevtyper12_el0|PMEVTYPER12_EL0}}
3711# CHECK: mrs x9, {{pmevtyper13_el0|PMEVTYPER13_EL0}}
3712# CHECK: mrs x9, {{pmevtyper14_el0|PMEVTYPER14_EL0}}
3713# CHECK: mrs x9, {{pmevtyper15_el0|PMEVTYPER15_EL0}}
3714# CHECK: mrs x9, {{pmevtyper16_el0|PMEVTYPER16_EL0}}
3715# CHECK: mrs x9, {{pmevtyper17_el0|PMEVTYPER17_EL0}}
3716# CHECK: mrs x9, {{pmevtyper18_el0|PMEVTYPER18_EL0}}
3717# CHECK: mrs x9, {{pmevtyper19_el0|PMEVTYPER19_EL0}}
3718# CHECK: mrs x9, {{pmevtyper20_el0|PMEVTYPER20_EL0}}
3719# CHECK: mrs x9, {{pmevtyper21_el0|PMEVTYPER21_EL0}}
3720# CHECK: mrs x9, {{pmevtyper22_el0|PMEVTYPER22_EL0}}
3721# CHECK: mrs x9, {{pmevtyper23_el0|PMEVTYPER23_EL0}}
3722# CHECK: mrs x9, {{pmevtyper24_el0|PMEVTYPER24_EL0}}
3723# CHECK: mrs x9, {{pmevtyper25_el0|PMEVTYPER25_EL0}}
3724# CHECK: mrs x9, {{pmevtyper26_el0|PMEVTYPER26_EL0}}
3725# CHECK: mrs x9, {{pmevtyper27_el0|PMEVTYPER27_EL0}}
3726# CHECK: mrs x9, {{pmevtyper28_el0|PMEVTYPER28_EL0}}
3727# CHECK: mrs x9, {{pmevtyper29_el0|PMEVTYPER29_EL0}}
3728# CHECK: mrs x9, {{pmevtyper30_el0|PMEVTYPER30_EL0}}
Tim Northovere0e3aef2013-01-31 12:12:40 +00003729
37300xc 0x0 0x12 0xd5
37310x4c 0x0 0x10 0xd5
37320xc 0x2 0x10 0xd5
37330x4c 0x2 0x10 0xd5
37340x4c 0x3 0x10 0xd5
37350xc 0x4 0x13 0xd5
37360xc 0x5 0x13 0xd5
37370x4c 0x6 0x10 0xd5
37380xc 0x7 0x14 0xd5
37390x8c 0x0 0x10 0xd5
37400x8c 0x1 0x10 0xd5
37410x8c 0x2 0x10 0xd5
37420x8c 0x3 0x10 0xd5
37430x8c 0x4 0x10 0xd5
37440x8c 0x5 0x10 0xd5
37450x8c 0x6 0x10 0xd5
37460x8c 0x7 0x10 0xd5
37470x8c 0x8 0x10 0xd5
37480x8c 0x9 0x10 0xd5
37490x8c 0xa 0x10 0xd5
37500x8c 0xb 0x10 0xd5
37510x8c 0xc 0x10 0xd5
37520x8c 0xd 0x10 0xd5
37530x8c 0xe 0x10 0xd5
37540x8c 0xf 0x10 0xd5
37550xac 0x0 0x10 0xd5
37560xac 0x1 0x10 0xd5
37570xac 0x2 0x10 0xd5
37580xac 0x3 0x10 0xd5
37590xac 0x4 0x10 0xd5
37600xac 0x5 0x10 0xd5
37610xac 0x6 0x10 0xd5
37620xac 0x7 0x10 0xd5
37630xac 0x8 0x10 0xd5
37640xac 0x9 0x10 0xd5
37650xac 0xa 0x10 0xd5
37660xac 0xb 0x10 0xd5
37670xac 0xc 0x10 0xd5
37680xac 0xd 0x10 0xd5
37690xac 0xe 0x10 0xd5
37700xac 0xf 0x10 0xd5
37710xcc 0x0 0x10 0xd5
37720xcc 0x1 0x10 0xd5
37730xcc 0x2 0x10 0xd5
37740xcc 0x3 0x10 0xd5
37750xcc 0x4 0x10 0xd5
37760xcc 0x5 0x10 0xd5
37770xcc 0x6 0x10 0xd5
37780xcc 0x7 0x10 0xd5
37790xcc 0x8 0x10 0xd5
37800xcc 0x9 0x10 0xd5
37810xcc 0xa 0x10 0xd5
37820xcc 0xb 0x10 0xd5
37830xcc 0xc 0x10 0xd5
37840xcc 0xd 0x10 0xd5
37850xcc 0xe 0x10 0xd5
37860xcc 0xf 0x10 0xd5
37870xec 0x0 0x10 0xd5
37880xec 0x1 0x10 0xd5
37890xec 0x2 0x10 0xd5
37900xec 0x3 0x10 0xd5
37910xec 0x4 0x10 0xd5
37920xec 0x5 0x10 0xd5
37930xec 0x6 0x10 0xd5
37940xec 0x7 0x10 0xd5
37950xec 0x8 0x10 0xd5
37960xec 0x9 0x10 0xd5
37970xec 0xa 0x10 0xd5
37980xec 0xb 0x10 0xd5
37990xec 0xc 0x10 0xd5
38000xec 0xd 0x10 0xd5
38010xec 0xe 0x10 0xd5
38020xec 0xf 0x10 0xd5
38030xc 0x10 0x12 0xd5
38040x8c 0x10 0x10 0xd5
38050x8c 0x13 0x10 0xd5
38060x8c 0x14 0x10 0xd5
38070xcc 0x78 0x10 0xd5
38080xcc 0x79 0x10 0xd5
38090xc 0x0 0x1a 0xd5
38100xc 0x0 0x1c 0xd5
38110xac 0x0 0x1c 0xd5
38120xc 0x10 0x18 0xd5
38130xc 0x10 0x1c 0xd5
38140xc 0x10 0x1e 0xd5
38150x2c 0x10 0x18 0xd5
38160x2c 0x10 0x1c 0xd5
38170x2c 0x10 0x1e 0xd5
38180x4c 0x10 0x18 0xd5
38190xc 0x11 0x1c 0xd5
38200xc 0x11 0x1e 0xd5
38210x2c 0x11 0x1c 0xd5
38220x2c 0x11 0x1e 0xd5
38230x4c 0x11 0x1c 0xd5
38240x4c 0x11 0x1e 0xd5
38250x6c 0x11 0x1c 0xd5
38260xec 0x11 0x1c 0xd5
38270x2c 0x13 0x1e 0xd5
38280xc 0x20 0x18 0xd5
38290xc 0x20 0x1c 0xd5
38300xc 0x20 0x1e 0xd5
38310x2c 0x20 0x18 0xd5
38320x4c 0x20 0x18 0xd5
38330x4c 0x20 0x1c 0xd5
38340x4c 0x20 0x1e 0xd5
38350xc 0x21 0x1c 0xd5
38360x4c 0x21 0x1c 0xd5
38370xc 0x30 0x1c 0xd5
38380xc 0x40 0x18 0xd5
38390xc 0x40 0x1c 0xd5
38400xc 0x40 0x1e 0xd5
38410x2c 0x40 0x18 0xd5
38420x2c 0x40 0x1c 0xd5
38430x2c 0x40 0x1e 0xd5
38440xc 0x41 0x18 0xd5
38450xc 0x41 0x1c 0xd5
38460xc 0x41 0x1e 0xd5
38470xc 0x42 0x18 0xd5
38480xc 0x42 0x1b 0xd5
38490x2c 0x42 0x1b 0xd5
38500x4c 0x42 0x18 0xd5
38510xc 0x43 0x1c 0xd5
38520x2c 0x43 0x1c 0xd5
38530x4c 0x43 0x1c 0xd5
38540x6c 0x43 0x1c 0xd5
38550xc 0x44 0x1b 0xd5
38560x2c 0x44 0x1b 0xd5
38570xc 0x45 0x1b 0xd5
38580x2c 0x45 0x1b 0xd5
38590x2c 0x50 0x1c 0xd5
38600xc 0x51 0x18 0xd5
38610xc 0x51 0x1c 0xd5
38620xc 0x51 0x1e 0xd5
38630x2c 0x51 0x18 0xd5
38640x2c 0x51 0x1c 0xd5
38650x2c 0x51 0x1e 0xd5
38660xc 0x52 0x18 0xd5
38670xc 0x52 0x1c 0xd5
38680xc 0x52 0x1e 0xd5
38690xc 0x53 0x1c 0xd5
38700xc 0x60 0x18 0xd5
38710xc 0x60 0x1c 0xd5
38720xc 0x60 0x1e 0xd5
38730x8c 0x60 0x1c 0xd5
38740xc 0x74 0x18 0xd5
38750xc 0x9c 0x1b 0xd5
38760x2c 0x9c 0x1b 0xd5
38770x4c 0x9c 0x1b 0xd5
38780x6c 0x9c 0x1b 0xd5
38790xac 0x9c 0x1b 0xd5
38800xc 0x9d 0x1b 0xd5
38810x2c 0x9d 0x1b 0xd5
38820x4c 0x9d 0x1b 0xd5
38830xc 0x9e 0x1b 0xd5
38840x2c 0x9e 0x18 0xd5
38850x4c 0x9e 0x18 0xd5
38860x6c 0x9e 0x1b 0xd5
38870xc 0xa2 0x18 0xd5
38880xc 0xa2 0x1c 0xd5
38890xc 0xa2 0x1e 0xd5
38900xc 0xa3 0x18 0xd5
38910xc 0xa3 0x1c 0xd5
38920xc 0xa3 0x1e 0xd5
38930xc 0xc0 0x18 0xd5
38940xc 0xc0 0x1c 0xd5
38950xc 0xc0 0x1e 0xd5
38960x4c 0xc0 0x18 0xd5
38970x4c 0xc0 0x1c 0xd5
38980x4c 0xc0 0x1e 0xd5
38990x4c 0xd0 0x1b 0xd5
39000x4c 0xd0 0x1c 0xd5
39010x4c 0xd0 0x1e 0xd5
39020x6c 0xd0 0x1b 0xd5
39030x8c 0xd0 0x18 0xd5
39040xc 0xe0 0x1b 0xd5
39050x6c 0xe0 0x1c 0xd5
39060xc 0xe1 0x18 0xd5
39070xc 0xe1 0x1c 0xd5
39080xc 0xe2 0x1b 0xd5
39090xc 0xe2 0x1c 0xd5
39100xc 0xe2 0x1f 0xd5
39110x2c 0xe2 0x1b 0xd5
39120x2c 0xe2 0x1c 0xd5
39130x2c 0xe2 0x1f 0xd5
39140x4c 0xe2 0x1b 0xd5
39150x4c 0xe2 0x1c 0xd5
39160x4c 0xe2 0x1f 0xd5
39170xc 0xe3 0x1b 0xd5
39180x2c 0xe3 0x1b 0xd5
39190x4c 0xe3 0x1b 0xd5
39200xc 0xe8 0x1b 0xd5
39210x2c 0xe8 0x1b 0xd5
39220x4c 0xe8 0x1b 0xd5
39230x6c 0xe8 0x1b 0xd5
39240x8c 0xe8 0x1b 0xd5
39250xac 0xe8 0x1b 0xd5
39260xcc 0xe8 0x1b 0xd5
39270xec 0xe8 0x1b 0xd5
39280xc 0xe9 0x1b 0xd5
39290x2c 0xe9 0x1b 0xd5
39300x4c 0xe9 0x1b 0xd5
39310x6c 0xe9 0x1b 0xd5
39320x8c 0xe9 0x1b 0xd5
39330xac 0xe9 0x1b 0xd5
39340xcc 0xe9 0x1b 0xd5
39350xec 0xe9 0x1b 0xd5
39360xc 0xea 0x1b 0xd5
39370x2c 0xea 0x1b 0xd5
39380x4c 0xea 0x1b 0xd5
39390x6c 0xea 0x1b 0xd5
39400x8c 0xea 0x1b 0xd5
39410xac 0xea 0x1b 0xd5
39420xcc 0xea 0x1b 0xd5
39430xec 0xea 0x1b 0xd5
39440xc 0xeb 0x1b 0xd5
39450x2c 0xeb 0x1b 0xd5
39460x4c 0xeb 0x1b 0xd5
39470x6c 0xeb 0x1b 0xd5
39480x8c 0xeb 0x1b 0xd5
39490xac 0xeb 0x1b 0xd5
39500xcc 0xeb 0x1b 0xd5
39510xec 0xef 0x1b 0xd5
39520xc 0xec 0x1b 0xd5
39530x2c 0xec 0x1b 0xd5
39540x4c 0xec 0x1b 0xd5
39550x6c 0xec 0x1b 0xd5
39560x8c 0xec 0x1b 0xd5
39570xac 0xec 0x1b 0xd5
39580xcc 0xec 0x1b 0xd5
39590xec 0xec 0x1b 0xd5
39600xc 0xed 0x1b 0xd5
39610x2c 0xed 0x1b 0xd5
39620x4c 0xed 0x1b 0xd5
39630x6c 0xed 0x1b 0xd5
39640x8c 0xed 0x1b 0xd5
39650xac 0xed 0x1b 0xd5
39660xcc 0xed 0x1b 0xd5
39670xec 0xed 0x1b 0xd5
39680xc 0xee 0x1b 0xd5
39690x2c 0xee 0x1b 0xd5
39700x4c 0xee 0x1b 0xd5
39710x6c 0xee 0x1b 0xd5
39720x8c 0xee 0x1b 0xd5
39730xac 0xee 0x1b 0xd5
39740xcc 0xee 0x1b 0xd5
39750xec 0xee 0x1b 0xd5
39760xc 0xef 0x1b 0xd5
39770x2c 0xef 0x1b 0xd5
39780x4c 0xef 0x1b 0xd5
39790x6c 0xef 0x1b 0xd5
39800x8c 0xef 0x1b 0xd5
39810xac 0xef 0x1b 0xd5
39820xcc 0xef 0x1b 0xd5
39830x9 0x0 0x32 0xd5
39840x49 0x0 0x30 0xd5
39850x9 0x1 0x33 0xd5
39860x9 0x2 0x30 0xd5
39870x49 0x2 0x30 0xd5
39880x49 0x3 0x30 0xd5
39890x9 0x4 0x33 0xd5
39900x9 0x5 0x33 0xd5
39910x49 0x6 0x30 0xd5
39920x9 0x7 0x34 0xd5
39930x89 0x0 0x30 0xd5
39940x89 0x1 0x30 0xd5
39950x89 0x2 0x30 0xd5
39960x89 0x3 0x30 0xd5
39970x89 0x4 0x30 0xd5
39980x89 0x5 0x30 0xd5
39990x89 0x6 0x30 0xd5
40000x89 0x7 0x30 0xd5
40010x89 0x8 0x30 0xd5
40020x89 0x9 0x30 0xd5
40030x89 0xa 0x30 0xd5
40040x89 0xb 0x30 0xd5
40050x89 0xc 0x30 0xd5
40060x89 0xd 0x30 0xd5
40070x89 0xe 0x30 0xd5
40080x89 0xf 0x30 0xd5
40090xa9 0x0 0x30 0xd5
40100xa9 0x1 0x30 0xd5
40110xa9 0x2 0x30 0xd5
40120xa9 0x3 0x30 0xd5
40130xa9 0x4 0x30 0xd5
40140xa9 0x5 0x30 0xd5
40150xa9 0x6 0x30 0xd5
40160xa9 0x7 0x30 0xd5
40170xa9 0x8 0x30 0xd5
40180xa9 0x9 0x30 0xd5
40190xa9 0xa 0x30 0xd5
40200xa9 0xb 0x30 0xd5
40210xa9 0xc 0x30 0xd5
40220xa9 0xd 0x30 0xd5
40230xa9 0xe 0x30 0xd5
40240xa9 0xf 0x30 0xd5
40250xc9 0x0 0x30 0xd5
40260xc9 0x1 0x30 0xd5
40270xc9 0x2 0x30 0xd5
40280xc9 0x3 0x30 0xd5
40290xc9 0x4 0x30 0xd5
40300xc9 0x5 0x30 0xd5
40310xc9 0x6 0x30 0xd5
40320xc9 0x7 0x30 0xd5
40330xc9 0x8 0x30 0xd5
40340xc9 0x9 0x30 0xd5
40350xc9 0xa 0x30 0xd5
40360xc9 0xb 0x30 0xd5
40370xc9 0xc 0x30 0xd5
40380xc9 0xd 0x30 0xd5
40390xc9 0xe 0x30 0xd5
40400xc9 0xf 0x30 0xd5
40410xe9 0x0 0x30 0xd5
40420xe9 0x1 0x30 0xd5
40430xe9 0x2 0x30 0xd5
40440xe9 0x3 0x30 0xd5
40450xe9 0x4 0x30 0xd5
40460xe9 0x5 0x30 0xd5
40470xe9 0x6 0x30 0xd5
40480xe9 0x7 0x30 0xd5
40490xe9 0x8 0x30 0xd5
40500xe9 0x9 0x30 0xd5
40510xe9 0xa 0x30 0xd5
40520xe9 0xb 0x30 0xd5
40530xe9 0xc 0x30 0xd5
40540xe9 0xd 0x30 0xd5
40550xe9 0xe 0x30 0xd5
40560xe9 0xf 0x30 0xd5
40570x9 0x10 0x30 0xd5
40580x9 0x10 0x32 0xd5
40590x89 0x11 0x30 0xd5
40600x89 0x13 0x30 0xd5
40610x89 0x14 0x30 0xd5
40620xc9 0x78 0x30 0xd5
40630xc9 0x79 0x30 0xd5
40640xc9 0x7e 0x30 0xd5
40650x9 0x0 0x38 0xd5
40660x9 0x0 0x39 0xd5
40670x9 0x0 0x3a 0xd5
40680x9 0x0 0x3c 0xd5
40690x29 0x0 0x39 0xd5
40700x29 0x0 0x3b 0xd5
40710xa9 0x0 0x38 0xd5
40720xa9 0x0 0x3c 0xd5
40730xc9 0x0 0x38 0xd5
40740xe9 0x0 0x39 0xd5
40750xe9 0x0 0x3b 0xd5
40760x9 0x1 0x38 0xd5
40770x29 0x1 0x38 0xd5
40780x49 0x1 0x38 0xd5
40790x69 0x1 0x38 0xd5
40800x89 0x1 0x38 0xd5
40810xa9 0x1 0x38 0xd5
40820xc9 0x1 0x38 0xd5
40830xe9 0x1 0x38 0xd5
Javed Absare1c7dc32015-06-08 15:01:11 +000040840xc9 0x2 0x38 0xd5
Tim Northovere0e3aef2013-01-31 12:12:40 +000040850x9 0x2 0x38 0xd5
40860x29 0x2 0x38 0xd5
40870x49 0x2 0x38 0xd5
40880x69 0x2 0x38 0xd5
40890x89 0x2 0x38 0xd5
40900xa9 0x2 0x38 0xd5
40910x9 0x3 0x38 0xd5
40920x29 0x3 0x38 0xd5
40930x49 0x3 0x38 0xd5
40940x9 0x4 0x38 0xd5
40950x29 0x4 0x38 0xd5
40960x9 0x5 0x38 0xd5
40970x29 0x5 0x38 0xd5
40980x89 0x5 0x38 0xd5
40990xa9 0x5 0x38 0xd5
41000x9 0x6 0x38 0xd5
41010x29 0x6 0x38 0xd5
41020x9 0x7 0x38 0xd5
41030x29 0x7 0x38 0xd5
41040x9 0x10 0x38 0xd5
41050x9 0x10 0x3c 0xd5
41060x9 0x10 0x3e 0xd5
41070x29 0x10 0x38 0xd5
41080x29 0x10 0x3c 0xd5
41090x29 0x10 0x3e 0xd5
41100x49 0x10 0x38 0xd5
41110x9 0x11 0x3c 0xd5
41120x9 0x11 0x3e 0xd5
41130x29 0x11 0x3c 0xd5
41140x29 0x11 0x3e 0xd5
41150x49 0x11 0x3c 0xd5
41160x49 0x11 0x3e 0xd5
41170x69 0x11 0x3c 0xd5
41180xe9 0x11 0x3c 0xd5
41190x29 0x13 0x3e 0xd5
41200x9 0x20 0x38 0xd5
41210x9 0x20 0x3c 0xd5
41220x9 0x20 0x3e 0xd5
41230x29 0x20 0x38 0xd5
41240x49 0x20 0x38 0xd5
41250x49 0x20 0x3c 0xd5
41260x49 0x20 0x3e 0xd5
41270x9 0x21 0x3c 0xd5
41280x49 0x21 0x3c 0xd5
41290x9 0x30 0x3c 0xd5
41300x9 0x40 0x38 0xd5
41310x9 0x40 0x3c 0xd5
41320x9 0x40 0x3e 0xd5
41330x29 0x40 0x38 0xd5
41340x29 0x40 0x3c 0xd5
41350x29 0x40 0x3e 0xd5
41360x9 0x41 0x38 0xd5
41370x9 0x41 0x3c 0xd5
41380x9 0x41 0x3e 0xd5
41390x9 0x42 0x38 0xd5
41400x9 0x42 0x3b 0xd5
41410x29 0x42 0x3b 0xd5
41420x49 0x42 0x38 0xd5
41430x9 0x43 0x3c 0xd5
41440x29 0x43 0x3c 0xd5
41450x49 0x43 0x3c 0xd5
41460x69 0x43 0x3c 0xd5
41470x9 0x44 0x3b 0xd5
41480x29 0x44 0x3b 0xd5
41490x9 0x45 0x3b 0xd5
41500x29 0x45 0x3b 0xd5
41510x29 0x50 0x3c 0xd5
41520x9 0x51 0x38 0xd5
41530x9 0x51 0x3c 0xd5
41540x9 0x51 0x3e 0xd5
41550x29 0x51 0x38 0xd5
41560x29 0x51 0x3c 0xd5
41570x29 0x51 0x3e 0xd5
41580x9 0x52 0x38 0xd5
41590x9 0x52 0x3c 0xd5
41600x9 0x52 0x3e 0xd5
41610x9 0x53 0x3c 0xd5
41620x9 0x60 0x38 0xd5
41630x9 0x60 0x3c 0xd5
41640x9 0x60 0x3e 0xd5
41650x89 0x60 0x3c 0xd5
41660x9 0x74 0x38 0xd5
41670x9 0x9c 0x3b 0xd5
41680x29 0x9c 0x3b 0xd5
41690x49 0x9c 0x3b 0xd5
41700x69 0x9c 0x3b 0xd5
41710xa9 0x9c 0x3b 0xd5
41720xc9 0x9c 0x3b 0xd5
41730xe9 0x9c 0x3b 0xd5
41740x9 0x9d 0x3b 0xd5
41750x29 0x9d 0x3b 0xd5
41760x49 0x9d 0x3b 0xd5
41770x9 0x9e 0x3b 0xd5
41780x29 0x9e 0x38 0xd5
41790x49 0x9e 0x38 0xd5
41800x69 0x9e 0x3b 0xd5
41810x9 0xa2 0x38 0xd5
41820x9 0xa2 0x3c 0xd5
41830x9 0xa2 0x3e 0xd5
41840x9 0xa3 0x38 0xd5
41850x9 0xa3 0x3c 0xd5
41860x9 0xa3 0x3e 0xd5
41870x9 0xc0 0x38 0xd5
41880x9 0xc0 0x3c 0xd5
41890x9 0xc0 0x3e 0xd5
41900x29 0xc0 0x38 0xd5
41910x29 0xc0 0x3c 0xd5
41920x29 0xc0 0x3e 0xd5
41930x49 0xc0 0x38 0xd5
41940x49 0xc0 0x3c 0xd5
41950x49 0xc0 0x3e 0xd5
41960x9 0xc1 0x38 0xd5
41970x29 0xd0 0x38 0xd5
41980x49 0xd0 0x3b 0xd5
41990x49 0xd0 0x3c 0xd5
42000x49 0xd0 0x3e 0xd5
42010x69 0xd0 0x3b 0xd5
42020x89 0xd0 0x38 0xd5
42030x9 0xe0 0x3b 0xd5
42040x29 0xe0 0x3b 0xd5
42050x49 0xe0 0x3b 0xd5
42060x69 0xe0 0x3c 0xd5
42070x9 0xe1 0x38 0xd5
42080x9 0xe1 0x3c 0xd5
42090x9 0xe2 0x3b 0xd5
42100x9 0xe2 0x3c 0xd5
42110x9 0xe2 0x3f 0xd5
42120x29 0xe2 0x3b 0xd5
42130x29 0xe2 0x3c 0xd5
42140x29 0xe2 0x3f 0xd5
42150x49 0xe2 0x3b 0xd5
42160x49 0xe2 0x3c 0xd5
42170x49 0xe2 0x3f 0xd5
42180x9 0xe3 0x3b 0xd5
42190x29 0xe3 0x3b 0xd5
42200x49 0xe3 0x3b 0xd5
42210x9 0xe8 0x3b 0xd5
42220x29 0xe8 0x3b 0xd5
42230x49 0xe8 0x3b 0xd5
42240x69 0xe8 0x3b 0xd5
42250x89 0xe8 0x3b 0xd5
42260xa9 0xe8 0x3b 0xd5
42270xc9 0xe8 0x3b 0xd5
42280xe9 0xe8 0x3b 0xd5
42290x9 0xe9 0x3b 0xd5
42300x29 0xe9 0x3b 0xd5
42310x49 0xe9 0x3b 0xd5
42320x69 0xe9 0x3b 0xd5
42330x89 0xe9 0x3b 0xd5
42340xa9 0xe9 0x3b 0xd5
42350xc9 0xe9 0x3b 0xd5
42360xe9 0xe9 0x3b 0xd5
42370x9 0xea 0x3b 0xd5
42380x29 0xea 0x3b 0xd5
42390x49 0xea 0x3b 0xd5
42400x69 0xea 0x3b 0xd5
42410x89 0xea 0x3b 0xd5
42420xa9 0xea 0x3b 0xd5
42430xc9 0xea 0x3b 0xd5
42440xe9 0xea 0x3b 0xd5
42450x9 0xeb 0x3b 0xd5
42460x29 0xeb 0x3b 0xd5
42470x49 0xeb 0x3b 0xd5
42480x69 0xeb 0x3b 0xd5
42490x89 0xeb 0x3b 0xd5
42500xa9 0xeb 0x3b 0xd5
42510xc9 0xeb 0x3b 0xd5
42520xe9 0xef 0x3b 0xd5
42530x9 0xec 0x3b 0xd5
42540x29 0xec 0x3b 0xd5
42550x49 0xec 0x3b 0xd5
42560x69 0xec 0x3b 0xd5
42570x89 0xec 0x3b 0xd5
42580xa9 0xec 0x3b 0xd5
42590xc9 0xec 0x3b 0xd5
42600xe9 0xec 0x3b 0xd5
42610x9 0xed 0x3b 0xd5
42620x29 0xed 0x3b 0xd5
42630x49 0xed 0x3b 0xd5
42640x69 0xed 0x3b 0xd5
42650x89 0xed 0x3b 0xd5
42660xa9 0xed 0x3b 0xd5
42670xc9 0xed 0x3b 0xd5
42680xe9 0xed 0x3b 0xd5
42690x9 0xee 0x3b 0xd5
42700x29 0xee 0x3b 0xd5
42710x49 0xee 0x3b 0xd5
42720x69 0xee 0x3b 0xd5
42730x89 0xee 0x3b 0xd5
42740xa9 0xee 0x3b 0xd5
42750xc9 0xee 0x3b 0xd5
42760xe9 0xee 0x3b 0xd5
42770x9 0xef 0x3b 0xd5
42780x29 0xef 0x3b 0xd5
42790x49 0xef 0x3b 0xd5
42800x69 0xef 0x3b 0xd5
42810x89 0xef 0x3b 0xd5
42820xa9 0xef 0x3b 0xd5
42830xc9 0xef 0x3b 0xd5
4284
Tim Northover4ec135f2014-05-01 12:29:56 +00004285# CHECK: mrs x12, {{s3_7_c15_c1_5|S3_7_C15_C1_5}}
4286# CHECK: mrs x13, {{s3_2_c11_c15_7|S3_2_C11_C15_7}}
Petr Pavlu097adfb2015-07-15 08:10:30 +00004287# CHECK: mrs xzr, {{s0_0_c4_c0_0|S0_0_C4_C0_0}}
Tim Northover4ec135f2014-05-01 12:29:56 +00004288# CHECK: msr {{s3_0_c15_c0_0|S3_0_C15_C0_0}}, x12
4289# CHECK: msr {{s3_7_c11_c13_7|S3_7_C11_C13_7}}, x5
Petr Pavlu097adfb2015-07-15 08:10:30 +00004290# CHECK: msr {{s0_0_c4_c0_0|S0_0_C4_C0_0}}, xzr
Tim Northovere0e3aef2013-01-31 12:12:40 +000042910xac 0xf1 0x3f 0xd5
42920xed 0xbf 0x3a 0xd5
Petr Pavlu097adfb2015-07-15 08:10:30 +000042930x1f 0x40 0x20 0xd5
Tim Northovere0e3aef2013-01-31 12:12:40 +000042940x0c 0xf0 0x18 0xd5
42950xe5 0xbd 0x1f 0xd5
Petr Pavlu097adfb2015-07-15 08:10:30 +000042960x1f 0x40 0x00 0xd5
Tim Northovere0e3aef2013-01-31 12:12:40 +00004297
4298#------------------------------------------------------------------------------
4299# Test and branch (immediate)
4300#------------------------------------------------------------------------------
4301
4302# CHECK: tbz x12, #62, #0
4303# CHECK: tbz x12, #62, #4
4304# CHECK: tbz x12, #62, #-32768
4305# CHECK: tbnz x12, #60, #32764
43060x0c 0x00 0xf0 0xb6
43070x2c 0x00 0xf0 0xb6
43080x0c 0x00 0xf4 0xb6
43090xec 0xff 0xe3 0xb7
4310
4311#------------------------------------------------------------------------------
4312# Unconditional branch (immediate)
4313#------------------------------------------------------------------------------
4314
4315# CHECK: b #4
4316# CHECK: b #-4
4317# CHECK: b #134217724
43180x01 0x00 0x00 0x14
43190xff 0xff 0xff 0x17
43200xff 0xff 0xff 0x15
4321
4322#------------------------------------------------------------------------------
4323# Unconditional branch (register)
4324#------------------------------------------------------------------------------
4325
4326# CHECK: br x20
4327# CHECK: blr xzr
4328# CHECK: ret x10
43290x80 0x2 0x1f 0xd6
43300xe0 0x3 0x3f 0xd6
43310x40 0x1 0x5f 0xd6
4332
4333# CHECK: ret
4334# CHECK: eret
4335# CHECK: drps
43360xc0 0x3 0x5f 0xd6
43370xe0 0x3 0x9f 0xd6
43380xe0 0x3 0xbf 0xd6
4339