4468 lines · plain
1# RUN: llvm-mc -triple=aarch64 -mattr=+v8a,+fp-armv8 -disassemble < %s | FileCheck %s2# RUN: llvm-mc -triple=arm64 -mattr=+v8a,+fp-armv8 -disassemble < %s | FileCheck %s3# RUN: llvm-mc -triple=arm64 -mattr=+v8a,+fp-armv8,+fullfp16 -disassemble < %s | FileCheck %s --check-prefix=CHECK --check-prefix=FP164# RUN: llvm-mc -triple=arm64 -mattr=+v8.2a -disassemble < %s | FileCheck %s --check-prefix=CHECK-V825# RUN: llvm-mc -triple=arm64 -mattr=+ccidx -disassemble < %s | FileCheck %s --check-prefix=CHECK-V836 7#------------------------------------------------------------------------------8# Add/sub (immediate)9#------------------------------------------------------------------------------10# CHECK: add w4, w5, #011# CHECK: add w2, w3, #409512# CHECK: add w30, w29, #1, lsl #1213# CHECK: add w13, w5, #4095, lsl #1214# CHECK: add x5, x7, #1638150xa4 0x0 0x0 0x11160x62 0xfc 0x3f 0x11170xbe 0x7 0x40 0x11180xad 0xfc 0x7f 0x11190xe5 0x98 0x19 0x9120 21# CHECK: add w20, wsp, #80122# CHECK: add wsp, wsp, #110423# CHECK: add wsp, w30, #4084240xf4 0x87 0xc 0x11250xff 0x43 0x11 0x11260xdf 0xd3 0x3f 0x1127 28# CHECK: add x0, x24, #29129# CHECK: add x3, x24, #4095, lsl #1230# CHECK: add x8, sp, #107431# CHECK: add sp, x29, #3816320x0 0x8f 0x4 0x91330x3 0xff 0x7f 0x91340xe8 0xcb 0x10 0x91350xbf 0xa3 0x3b 0x9136 37# CHECK: sub w0, wsp, #407738# CHECK: sub w4, w20, #546, lsl #1239# CHECK: sub sp, sp, #28840# CHECK: sub wsp, w19, #16410xe0 0xb7 0x3f 0x51420x84 0x8a 0x48 0x51430xff 0x83 0x4 0xd1440x7f 0x42 0x0 0x5145 46 47# CHECK: adds w13, w23, #291, lsl #1248# CHECK: cmn w2, #409549# CHECK: adds w20, wsp, #050# CHECK: cmn x3, #1, lsl #12510xed 0x8e 0x44 0x31520x5f 0xfc 0x3f 0x31530xf4 0x3 0x0 0x31540x7f 0x4 0x40 0xb155 56# CHECK: cmp sp, #20, lsl #1257# CHECK: cmp x30, #409558# CHECK: subs x4, sp, #3822590xff 0x53 0x40 0xf1600xdf 0xff 0x3f 0xf1610xe4 0xbb 0x3b 0xf162 63# These should really be CMN64# CHECK: cmn w3, #291, lsl #1265# CHECK: cmn wsp, #136566# CHECK: cmn sp, #1092, lsl #12670x7f 0x8c 0x44 0x31680xff 0x57 0x15 0x31690xff 0x13 0x51 0xb170 71# CHECK: mov sp, x3072# CHECK: mov wsp, w2073# CHECK: mov x11, sp74# CHECK: mov w24, wsp750xdf 0x3 0x0 0x91760x9f 0x2 0x0 0x11770xeb 0x3 0x0 0x91780xf8 0x3 0x0 0x1179 80#------------------------------------------------------------------------------81# Add-subtract (shifted register)82#------------------------------------------------------------------------------83 84# CHECK: add w3, w5, w785# CHECK: add wzr, w3, w586# CHECK: add w20, wzr, w487# CHECK: add w4, w6, wzr88# CHECK: add w11, w13, w1589# CHECK: add w9, w3, wzr, lsl #1090# CHECK: add w17, w29, w20, lsl #3191# CHECK: add w21, w22, w23, lsr #092# CHECK: add w24, w25, w26, lsr #1893# CHECK: add w27, w28, w29, lsr #3194# CHECK: add w2, w3, w4, asr #095# CHECK: add w5, w6, w7, asr #2196# CHECK: add w8, w9, w10, asr #31970xa3 0x0 0x7 0xb980x7f 0x0 0x5 0xb990xf4 0x3 0x4 0xb1000xc4 0x0 0x1f 0xb1010xab 0x1 0xf 0xb1020x69 0x28 0x1f 0xb1030xb1 0x7f 0x14 0xb1040xd5 0x2 0x57 0xb1050x38 0x4b 0x5a 0xb1060x9b 0x7f 0x5d 0xb1070x62 0x0 0x84 0xb1080xc5 0x54 0x87 0xb1090x28 0x7d 0x8a 0xb110 111# CHECK: add x3, x5, x7112# CHECK: add xzr, x3, x5113# CHECK: add x20, xzr, x4114# CHECK: add x4, x6, xzr115# CHECK: add x11, x13, x15116# CHECK: add x9, x3, xzr, lsl #10117# CHECK: add x17, x29, x20, lsl #63118# CHECK: add x21, x22, x23, lsr #0119# CHECK: add x24, x25, x26, lsr #18120# CHECK: add x27, x28, x29, lsr #63121# CHECK: add x2, x3, x4, asr #0122# CHECK: add x5, x6, x7, asr #21123# CHECK: add x8, x9, x10, asr #631240xa3 0x0 0x7 0x8b1250x7f 0x0 0x5 0x8b1260xf4 0x3 0x4 0x8b1270xc4 0x0 0x1f 0x8b1280xab 0x1 0xf 0x8b1290x69 0x28 0x1f 0x8b1300xb1 0xff 0x14 0x8b1310xd5 0x2 0x57 0x8b1320x38 0x4b 0x5a 0x8b1330x9b 0xff 0x5d 0x8b1340x62 0x0 0x84 0x8b1350xc5 0x54 0x87 0x8b1360x28 0xfd 0x8a 0x8b137 138# CHECK: adds w3, w5, w7139# CHECK: cmn w3, w5140# CHECK: adds w20, wzr, w4141# CHECK: adds w4, w6, wzr142# CHECK: adds w11, w13, w15143# CHECK: adds w9, w3, wzr, lsl #10144# CHECK: adds w17, w29, w20, lsl #31145# CHECK: adds w21, w22, w23, lsr #0146# CHECK: adds w24, w25, w26, lsr #18147# CHECK: adds w27, w28, w29, lsr #31148# CHECK: adds w2, w3, w4, asr #0149# CHECK: adds w5, w6, w7, asr #21150# CHECK: adds w8, w9, w10, asr #311510xa3 0x0 0x7 0x2b1520x7f 0x0 0x5 0x2b1530xf4 0x3 0x4 0x2b1540xc4 0x0 0x1f 0x2b1550xab 0x1 0xf 0x2b1560x69 0x28 0x1f 0x2b1570xb1 0x7f 0x14 0x2b1580xd5 0x2 0x57 0x2b1590x38 0x4b 0x5a 0x2b1600x9b 0x7f 0x5d 0x2b1610x62 0x0 0x84 0x2b1620xc5 0x54 0x87 0x2b1630x28 0x7d 0x8a 0x2b164 165# CHECK: adds x3, x5, x7166# CHECK: cmn x3, x5167# CHECK: adds x20, xzr, x4168# CHECK: adds x4, x6, xzr169# CHECK: adds x11, x13, x15170# CHECK: adds x9, x3, xzr, lsl #10171# CHECK: adds x17, x29, x20, lsl #63172# CHECK: adds x21, x22, x23, lsr #0173# CHECK: adds x24, x25, x26, lsr #18174# CHECK: adds x27, x28, x29, lsr #63175# CHECK: adds x2, x3, x4, asr #0176# CHECK: adds x5, x6, x7, asr #21177# CHECK: adds x8, x9, x10, asr #631780xa3 0x0 0x7 0xab1790x7f 0x0 0x5 0xab1800xf4 0x3 0x4 0xab1810xc4 0x0 0x1f 0xab1820xab 0x1 0xf 0xab1830x69 0x28 0x1f 0xab1840xb1 0xff 0x14 0xab1850xd5 0x2 0x57 0xab1860x38 0x4b 0x5a 0xab1870x9b 0xff 0x5d 0xab1880x62 0x0 0x84 0xab1890xc5 0x54 0x87 0xab1900x28 0xfd 0x8a 0xab191 192# CHECK: sub w3, w5, w7193# CHECK: sub wzr, w3, w5194# CHECK: {{sub w20, wzr, w4|neg w20, w4}}195# CHECK: sub w4, w6, wzr196# CHECK: sub w11, w13, w15197# CHECK: sub w9, w3, wzr, lsl #10198# CHECK: sub w17, w29, w20, lsl #31199# CHECK: sub w21, w22, w23, lsr #0200# CHECK: sub w24, w25, w26, lsr #18201# CHECK: sub w27, w28, w29, lsr #31202# CHECK: sub w2, w3, w4, asr #0203# CHECK: sub w5, w6, w7, asr #21204# CHECK: sub w8, w9, w10, asr #312050xa3 0x0 0x7 0x4b2060x7f 0x0 0x5 0x4b2070xf4 0x3 0x4 0x4b2080xc4 0x0 0x1f 0x4b2090xab 0x1 0xf 0x4b2100x69 0x28 0x1f 0x4b2110xb1 0x7f 0x14 0x4b2120xd5 0x2 0x57 0x4b2130x38 0x4b 0x5a 0x4b2140x9b 0x7f 0x5d 0x4b2150x62 0x0 0x84 0x4b2160xc5 0x54 0x87 0x4b2170x28 0x7d 0x8a 0x4b218 219# CHECK: sub x3, x5, x7220# CHECK: sub xzr, x3, x5221# CHECK: {{sub x20, xzr, x4|neg x20, x4}}222# CHECK: sub x4, x6, xzr223# CHECK: sub x11, x13, x15224# CHECK: sub x9, x3, xzr, lsl #10225# CHECK: sub x17, x29, x20, lsl #63226# CHECK: sub x21, x22, x23, lsr #0227# CHECK: sub x24, x25, x26, lsr #18228# CHECK: sub x27, x28, x29, lsr #63229# CHECK: sub x2, x3, x4, asr #0230# CHECK: sub x5, x6, x7, asr #21231# CHECK: sub x8, x9, x10, asr #632320xa3 0x0 0x7 0xcb2330x7f 0x0 0x5 0xcb2340xf4 0x3 0x4 0xcb2350xc4 0x0 0x1f 0xcb2360xab 0x1 0xf 0xcb2370x69 0x28 0x1f 0xcb2380xb1 0xff 0x14 0xcb2390xd5 0x2 0x57 0xcb2400x38 0x4b 0x5a 0xcb2410x9b 0xff 0x5d 0xcb2420x62 0x0 0x84 0xcb2430xc5 0x54 0x87 0xcb2440x28 0xfd 0x8a 0xcb245 246# CHECK: subs w3, w5, w7247# CHECK: cmp w3, w5248# CHECK: {{subs w20, wzr, w4|negs w20, w4}}249# CHECK: subs w4, w6, wzr250# CHECK: subs w11, w13, w15251# CHECK: subs w9, w3, wzr, lsl #10252# CHECK: subs w17, w29, w20, lsl #31253# CHECK: subs w21, w22, w23, lsr #0254# CHECK: subs w24, w25, w26, lsr #18255# CHECK: subs w27, w28, w29, lsr #31256# CHECK: subs w2, w3, w4, asr #0257# CHECK: subs w5, w6, w7, asr #21258# CHECK: subs w8, w9, w10, asr #312590xa3 0x0 0x7 0x6b2600x7f 0x0 0x5 0x6b2610xf4 0x3 0x4 0x6b2620xc4 0x0 0x1f 0x6b2630xab 0x1 0xf 0x6b2640x69 0x28 0x1f 0x6b2650xb1 0x7f 0x14 0x6b2660xd5 0x2 0x57 0x6b2670x38 0x4b 0x5a 0x6b2680x9b 0x7f 0x5d 0x6b2690x62 0x0 0x84 0x6b2700xc5 0x54 0x87 0x6b2710x28 0x7d 0x8a 0x6b272 273# CHECK: subs x3, x5, x7274# CHECK: cmp x3, x5275# CHECK: {{subs x20, xzr, x4|negs x20, x4}}276# CHECK: subs x4, x6, xzr277# CHECK: subs x11, x13, x15278# CHECK: subs x9, x3, xzr, lsl #10279# CHECK: subs x17, x29, x20, lsl #63280# CHECK: subs x21, x22, x23, lsr #0281# CHECK: subs x24, x25, x26, lsr #18282# CHECK: subs x27, x28, x29, lsr #63283# CHECK: subs x2, x3, x4, asr #0284# CHECK: subs x5, x6, x7, asr #21285# CHECK: subs x8, x9, x10, asr #632860xa3 0x0 0x7 0xeb2870x7f 0x0 0x5 0xeb2880xf4 0x3 0x4 0xeb2890xc4 0x0 0x1f 0xeb2900xab 0x1 0xf 0xeb2910x69 0x28 0x1f 0xeb2920xb1 0xff 0x14 0xeb2930xd5 0x2 0x57 0xeb2940x38 0x4b 0x5a 0xeb2950x9b 0xff 0x5d 0xeb2960x62 0x0 0x84 0xeb2970xc5 0x54 0x87 0xeb2980x28 0xfd 0x8a 0xeb299 300# CHECK: cmn w0, w3301# CHECK: cmn wzr, w4302# CHECK: cmn w5, wzr303# CHECK: cmn w6, w7304# CHECK: cmn w8, w9, lsl #15305# CHECK: cmn w10, w11, lsl #31306# CHECK: cmn w12, w13, lsr #0307# CHECK: cmn w14, w15, lsr #21308# CHECK: cmn w16, w17, lsr #31309# CHECK: cmn w18, w19, asr #0310# CHECK: cmn w20, w21, asr #22311# CHECK: cmn w22, w23, asr #313120x1f 0x0 0x3 0x2b3130xff 0x3 0x4 0x2b3140xbf 0x0 0x1f 0x2b3150xdf 0x0 0x7 0x2b3160x1f 0x3d 0x9 0x2b3170x5f 0x7d 0xb 0x2b3180x9f 0x1 0x4d 0x2b3190xdf 0x55 0x4f 0x2b3200x1f 0x7e 0x51 0x2b3210x5f 0x2 0x93 0x2b3220x9f 0x5a 0x95 0x2b3230xdf 0x7e 0x97 0x2b324 325# CHECK: cmn x0, x3326# CHECK: cmn xzr, x4327# CHECK: cmn x5, xzr328# CHECK: cmn x6, x7329# CHECK: cmn x8, x9, lsl #15330# CHECK: cmn x10, x11, lsl #63331# CHECK: cmn x12, x13, lsr #0332# CHECK: cmn x14, x15, lsr #41333# CHECK: cmn x16, x17, lsr #63334# CHECK: cmn x18, x19, asr #0335# CHECK: cmn x20, x21, asr #55336# CHECK: cmn x22, x23, asr #633370x1f 0x0 0x3 0xab3380xff 0x3 0x4 0xab3390xbf 0x0 0x1f 0xab3400xdf 0x0 0x7 0xab3410x1f 0x3d 0x9 0xab3420x5f 0xfd 0xb 0xab3430x9f 0x1 0x4d 0xab3440xdf 0xa5 0x4f 0xab3450x1f 0xfe 0x51 0xab3460x5f 0x2 0x93 0xab3470x9f 0xde 0x95 0xab3480xdf 0xfe 0x97 0xab349 350# CHECK: cmp w0, w3351# CHECK: cmp wzr, w4352# CHECK: cmp w5, wzr353# CHECK: cmp w6, w7354# CHECK: cmp w8, w9, lsl #15355# CHECK: cmp w10, w11, lsl #31356# CHECK: cmp w12, w13, lsr #0357# CHECK: cmp w14, w15, lsr #21358# CHECK: cmp w16, w17, lsr #31359# CHECK: cmp w18, w19, asr #0360# CHECK: cmp w20, w21, asr #22361# CHECK: cmp w22, w23, asr #313620x1f 0x0 0x3 0x6b3630xff 0x3 0x4 0x6b3640xbf 0x0 0x1f 0x6b3650xdf 0x0 0x7 0x6b3660x1f 0x3d 0x9 0x6b3670x5f 0x7d 0xb 0x6b3680x9f 0x1 0x4d 0x6b3690xdf 0x55 0x4f 0x6b3700x1f 0x7e 0x51 0x6b3710x5f 0x2 0x93 0x6b3720x9f 0x5a 0x95 0x6b3730xdf 0x7e 0x97 0x6b374 375# CHECK: cmp x0, x3376# CHECK: cmp xzr, x4377# CHECK: cmp x5, xzr378# CHECK: cmp x6, x7379# CHECK: cmp x8, x9, lsl #15380# CHECK: cmp x10, x11, lsl #63381# CHECK: cmp x12, x13, lsr #0382# CHECK: cmp x14, x15, lsr #41383# CHECK: cmp x16, x17, lsr #63384# CHECK: cmp x18, x19, asr #0385# CHECK: cmp x20, x21, asr #55386# CHECK: cmp x22, x23, asr #633870x1f 0x0 0x3 0xeb3880xff 0x3 0x4 0xeb3890xbf 0x0 0x1f 0xeb3900xdf 0x0 0x7 0xeb3910x1f 0x3d 0x9 0xeb3920x5f 0xfd 0xb 0xeb3930x9f 0x1 0x4d 0xeb3940xdf 0xa5 0x4f 0xeb3950x1f 0xfe 0x51 0xeb3960x5f 0x2 0x93 0xeb3970x9f 0xde 0x95 0xeb3980xdf 0xfe 0x97 0xeb399 400# CHECK: {{sub w29, wzr|neg w29}}, w30401# CHECK: {{sub w30, wzr|neg w30}}, wzr402# CHECK: {{sub wzr, wzr|neg wzr}}, w0403# CHECK: {{sub w28, wzr|neg w28}}, w27404# CHECK: {{sub w26, wzr|neg w26}}, w25, lsl #29405# CHECK: {{sub w24, wzr|neg w24}}, w23, lsl #31406# CHECK: {{sub w22, wzr|neg w22}}, w21, lsr #0407# CHECK: {{sub w20, wzr|neg w20}}, w19, lsr #1408# CHECK: {{sub w18, wzr|neg w18}}, w17, lsr #31409# CHECK: {{sub w16, wzr|neg w16}}, w15, asr #0410# CHECK: {{sub w14, wzr|neg w14}}, w13, asr #12411# CHECK: {{sub w12, wzr|neg w12}}, w11, asr #314120xfd 0x3 0x1e 0x4b4130xfe 0x3 0x1f 0x4b4140xff 0x3 0x0 0x4b4150xfc 0x3 0x1b 0x4b4160xfa 0x77 0x19 0x4b4170xf8 0x7f 0x17 0x4b4180xf6 0x3 0x55 0x4b4190xf4 0x7 0x53 0x4b4200xf2 0x7f 0x51 0x4b4210xf0 0x3 0x8f 0x4b4220xee 0x33 0x8d 0x4b4230xec 0x7f 0x8b 0x4b424 425# CHECK: {{sub x29, xzr|neg x29}}, x30426# CHECK: {{sub x30, xzr|neg x30}}, xzr427# CHECK: {{sub xzr, xzr|neg xzr}}, x0428# CHECK: {{sub x28, xzr|neg x28}}, x27429# CHECK: {{sub x26, xzr|neg x26}}, x25, lsl #29430# CHECK: {{sub x24, xzr|neg x24}}, x23, lsl #31431# CHECK: {{sub x22, xzr|neg x22}}, x21, lsr #0432# CHECK: {{sub x20, xzr|neg x20}}, x19, lsr #1433# CHECK: {{sub x18, xzr|neg x18}}, x17, lsr #31434# CHECK: {{sub x16, xzr|neg x16}}, x15, asr #0435# CHECK: {{sub x14, xzr|neg x14}}, x13, asr #12436# CHECK: {{sub x12, xzr|neg x12}}, x11, asr #314370xfd 0x3 0x1e 0xcb4380xfe 0x3 0x1f 0xcb4390xff 0x3 0x0 0xcb4400xfc 0x3 0x1b 0xcb4410xfa 0x77 0x19 0xcb4420xf8 0x7f 0x17 0xcb4430xf6 0x3 0x55 0xcb4440xf4 0x7 0x53 0xcb4450xf2 0x7f 0x51 0xcb4460xf0 0x3 0x8f 0xcb4470xee 0x33 0x8d 0xcb4480xec 0x7f 0x8b 0xcb449 450# CHECK: {{subs w29, wzr|negs w29}}, w30451# CHECK: {{subs w30, wzr|negs w30}}, wzr452# CHECK: cmp wzr, w0453# CHECK: {{subs w28, wzr|negs w28}}, w27454# CHECK: {{subs w26, wzr|negs w26}}, w25, lsl #29455# CHECK: {{subs w24, wzr|negs w24}}, w23, lsl #31456# CHECK: {{subs w22, wzr|negs w22}}, w21, lsr #0457# CHECK: {{subs w20, wzr|negs w20}}, w19, lsr #1458# CHECK: {{subs w18, wzr|negs w18}}, w17, lsr #31459# CHECK: {{subs w16, wzr|negs w16}}, w15, asr #0460# CHECK: {{subs w14, wzr|negs w14}}, w13, asr #12461# CHECK: {{subs w12, wzr|negs w12}}, w11, asr #314620xfd 0x3 0x1e 0x6b4630xfe 0x3 0x1f 0x6b4640xff 0x3 0x0 0x6b4650xfc 0x3 0x1b 0x6b4660xfa 0x77 0x19 0x6b4670xf8 0x7f 0x17 0x6b4680xf6 0x3 0x55 0x6b4690xf4 0x7 0x53 0x6b4700xf2 0x7f 0x51 0x6b4710xf0 0x3 0x8f 0x6b4720xee 0x33 0x8d 0x6b4730xec 0x7f 0x8b 0x6b474 475# CHECK: {{subs x29, xzr|negs x29}}, x30476# CHECK: {{subs x30, xzr|negs x30}}, xzr477# CHECK: cmp xzr, x0478# CHECK: {{subs x28, xzr|negs x28}}, x27479# CHECK: {{subs x26, xzr|negs x26}}, x25, lsl #29480# CHECK: {{subs x24, xzr|negs x24}}, x23, lsl #31481# CHECK: {{subs x22, xzr|negs x22}}, x21, lsr #0482# CHECK: {{subs x20, xzr|negs x20}}, x19, lsr #1483# CHECK: {{subs x18, xzr|negs x18}}, x17, lsr #31484# CHECK: {{subs x16, xzr|negs x16}}, x15, asr #0485# CHECK: {{subs x14, xzr|negs x14}}, x13, asr #12486# CHECK: {{subs x12, xzr|negs x12}}, x11, asr #314870xfd 0x3 0x1e 0xeb4880xfe 0x3 0x1f 0xeb4890xff 0x3 0x0 0xeb4900xfc 0x3 0x1b 0xeb4910xfa 0x77 0x19 0xeb4920xf8 0x7f 0x17 0xeb4930xf6 0x3 0x55 0xeb4940xf4 0x7 0x53 0xeb4950xf2 0x7f 0x51 0xeb4960xf0 0x3 0x8f 0xeb4970xee 0x33 0x8d 0xeb4980xec 0x7f 0x8b 0xeb499 500#------------------------------------------------------------------------------501# Add-subtract (shifted register)502#------------------------------------------------------------------------------503 504# CHECK: adc w29, w27, w25505# CHECK: adc wzr, w3, w4506# CHECK: adc w9, wzr, w10507# CHECK: adc w20, w0, wzr5080x7d 0x3 0x19 0x1a5090x7f 0x0 0x4 0x1a5100xe9 0x3 0xa 0x1a5110x14 0x0 0x1f 0x1a512 513# CHECK: adc x29, x27, x25514# CHECK: adc xzr, x3, x4515# CHECK: adc x9, xzr, x10516# CHECK: adc x20, x0, xzr5170x7d 0x3 0x19 0x9a5180x7f 0x0 0x4 0x9a5190xe9 0x3 0xa 0x9a5200x14 0x0 0x1f 0x9a521 522# CHECK: adcs w29, w27, w25523# CHECK: adcs wzr, w3, w4524# CHECK: adcs w9, wzr, w10525# CHECK: adcs w20, w0, wzr5260x7d 0x3 0x19 0x3a5270x7f 0x0 0x4 0x3a5280xe9 0x3 0xa 0x3a5290x14 0x0 0x1f 0x3a530 531# CHECK: adcs x29, x27, x25532# CHECK: adcs xzr, x3, x4533# CHECK: adcs x9, xzr, x10534# CHECK: adcs x20, x0, xzr5350x7d 0x3 0x19 0xba5360x7f 0x0 0x4 0xba5370xe9 0x3 0xa 0xba5380x14 0x0 0x1f 0xba539 540# CHECK: sbc w29, w27, w25541# CHECK: sbc wzr, w3, w4542# CHECK: ngc w9, w10543# CHECK: sbc w20, w0, wzr5440x7d 0x3 0x19 0x5a5450x7f 0x0 0x4 0x5a5460xe9 0x3 0xa 0x5a5470x14 0x0 0x1f 0x5a548 549# CHECK: sbc x29, x27, x25550# CHECK: sbc xzr, x3, x4551# CHECK: ngc x9, x10552# CHECK: sbc x20, x0, xzr5530x7d 0x3 0x19 0xda5540x7f 0x0 0x4 0xda5550xe9 0x3 0xa 0xda5560x14 0x0 0x1f 0xda557 558# CHECK: sbcs w29, w27, w25559# CHECK: sbcs wzr, w3, w4560# CHECK: ngcs w9, w10561# CHECK: sbcs w20, w0, wzr5620x7d 0x3 0x19 0x7a5630x7f 0x0 0x4 0x7a5640xe9 0x3 0xa 0x7a5650x14 0x0 0x1f 0x7a566 567# CHECK: sbcs x29, x27, x25568# CHECK: sbcs xzr, x3, x4569# CHECK: ngcs x9, x10570# CHECK: sbcs x20, x0, xzr5710x7d 0x3 0x19 0xfa5720x7f 0x0 0x4 0xfa5730xe9 0x3 0xa 0xfa5740x14 0x0 0x1f 0xfa575 576# CHECK: ngc w3, w12577# CHECK: ngc wzr, w9578# CHECK: ngc w23, wzr5790xe3 0x3 0xc 0x5a5800xff 0x3 0x9 0x5a5810xf7 0x3 0x1f 0x5a582 583# CHECK: ngc x29, x30584# CHECK: ngc xzr, x0585# CHECK: ngc x0, xzr5860xfd 0x3 0x1e 0xda5870xff 0x3 0x0 0xda5880xe0 0x3 0x1f 0xda589 590# CHECK: ngcs w3, w12591# CHECK: ngcs wzr, w9592# CHECK: ngcs w23, wzr5930xe3 0x3 0xc 0x7a5940xff 0x3 0x9 0x7a5950xf7 0x3 0x1f 0x7a596 597# CHECK: ngcs x29, x30598# CHECK: ngcs xzr, x0599# CHECK: ngcs x0, xzr6000xfd 0x3 0x1e 0xfa6010xff 0x3 0x0 0xfa6020xe0 0x3 0x1f 0xfa603 604#------------------------------------------------------------------------------605# Compare and branch (immediate)606#------------------------------------------------------------------------------607 608# CHECK: sbfx x1, x2, #3, #2609# CHECK: asr x3, x4, #63610# CHECK: asr wzr, wzr, #31611# CHECK: sbfx w12, w9, #0, #16120x41 0x10 0x43 0x936130x83 0xfc 0x7f 0x936140xff 0x7f 0x1f 0x136150x2c 0x1 0x0 0x13616 617# CHECK: ubfiz x4, x5, #52, #11618# CHECK: ubfx xzr, x4, #0, #1619# CHECK: ubfiz x4, xzr, #1, #6620# CHECK: lsr x5, x6, #126210xa4 0x28 0x4c 0xd36220x9f 0x0 0x40 0xd36230xe4 0x17 0x7f 0xd36240xc5 0xfc 0x4c 0xd3625 626# CHECK: bfi x4, x5, #52, #11627# CHECK: bfxil xzr, x4, #0, #1628# CHECK: bfi x4, xzr, #1, #6629# CHECK-V82: bfc x4, #1, #6630# CHECK: bfxil x5, x6, #12, #526310xa4 0x28 0x4c 0xb36320x9f 0x0 0x40 0xb36330xe4 0x17 0x7f 0xb36340xc5 0xfc 0x4c 0xb3635 636# CHECK: sxtb w1, w2637# CHECK: sxtb xzr, w3638# CHECK: sxth w9, w10639# CHECK: sxth x0, w1640# CHECK: sxtw x3, w306410x41 0x1c 0x0 0x136420x7f 0x1c 0x40 0x936430x49 0x3d 0x0 0x136440x20 0x3c 0x40 0x936450xc3 0x7f 0x40 0x93646 647# CHECK: uxtb w1, w2648# CHECK: uxth w9, w10649# CHECK: ubfx x3, x30, #0, #326500x41 0x1c 0x0 0x536510x49 0x3d 0x0 0x536520xc3 0x7f 0x40 0xd3653 654# CHECK: asr w3, w2, #0655# CHECK: asr w9, w10, #31656# CHECK: asr x20, x21, #63657# CHECK: asr w1, wzr, #36580x43 0x7c 0x0 0x136590x49 0x7d 0x1f 0x136600xb4 0xfe 0x7f 0x936610xe1 0x7f 0x3 0x13662 663# CHECK: lsr w3, w2, #0664# CHECK: lsr w9, w10, #31665# CHECK: lsr x20, x21, #63666# CHECK: lsr wzr, wzr, #36670x43 0x7c 0x0 0x536680x49 0x7d 0x1f 0x536690xb4 0xfe 0x7f 0xd36700xff 0x7f 0x3 0x53671 672# CHECK: lsr w3, w2, #0673# CHECK: lsl w9, w10, #31674# CHECK: lsl x20, x21, #63675# CHECK: lsl w1, wzr, #36760x43 0x7c 0x0 0x536770x49 0x1 0x1 0x536780xb4 0x2 0x41 0xd36790xe1 0x73 0x1d 0x53680 681# CHECK: sbfx w9, w10, #0, #1682# CHECK: sbfiz x2, x3, #63, #1683# CHECK: asr x19, x20, #0684# CHECK: sbfiz x9, x10, #5, #59685# CHECK: asr w9, w10, #0686# CHECK: sbfiz w11, w12, #31, #1687# CHECK: sbfiz w13, w14, #29, #3688# CHECK: sbfiz xzr, xzr, #10, #116890x49 0x1 0x0 0x136900x62 0x0 0x41 0x936910x93 0xfe 0x40 0x936920x49 0xe9 0x7b 0x936930x49 0x7d 0x0 0x136940x8b 0x1 0x1 0x136950xcd 0x9 0x3 0x136960xff 0x2b 0x76 0x93697 698# CHECK: sbfx w9, w10, #0, #1699# CHECK: asr x2, x3, #63700# CHECK: asr x19, x20, #0701# CHECK: asr x9, x10, #5702# CHECK: asr w9, w10, #0703# CHECK: asr w11, w12, #31704# CHECK: asr w13, w14, #29705# CHECK: sbfx xzr, xzr, #10, #117060x49 0x1 0x0 0x137070x62 0xfc 0x7f 0x937080x93 0xfe 0x40 0x937090x49 0xfd 0x45 0x937100x49 0x7d 0x0 0x137110x8b 0x7d 0x1f 0x137120xcd 0x7d 0x1d 0x137130xff 0x53 0x4a 0x93714 715# CHECK: bfxil w9, w10, #0, #1716# CHECK: bfi x2, x3, #63, #1717# CHECK: bfxil x19, x20, #0, #64718# CHECK: bfi x9, x10, #5, #59719# CHECK: bfxil w9, w10, #0, #32720# CHECK: bfi w11, w12, #31, #1721# CHECK: bfi w13, w14, #29, #3722# CHECK-V82: bfc xzr, #10, #11723# CHECK: bfi xzr, xzr, #10, #117240x49 0x1 0x0 0x337250x62 0x0 0x41 0xb37260x93 0xfe 0x40 0xb37270x49 0xe9 0x7b 0xb37280x49 0x7d 0x0 0x337290x8b 0x1 0x1 0x337300xcd 0x9 0x3 0x337310xff 0x2b 0x76 0xb3732 733# CHECK: bfxil w9, w10, #0, #1734# CHECK: bfxil x2, x3, #63, #1735# CHECK: bfxil x19, x20, #0, #64736# CHECK: bfxil x9, x10, #5, #59737# CHECK: bfxil w9, w10, #0, #32738# CHECK: bfxil w11, w12, #31, #1739# CHECK: bfxil w13, w14, #29, #3740# CHECK: bfxil xzr, xzr, #10, #117410x49 0x1 0x0 0x337420x62 0xfc 0x7f 0xb37430x93 0xfe 0x40 0xb37440x49 0xfd 0x45 0xb37450x49 0x7d 0x0 0x337460x8b 0x7d 0x1f 0x337470xcd 0x7d 0x1d 0x337480xff 0x53 0x4a 0xb3749 750# CHECK: ubfx w9, w10, #0, #1751# CHECK: lsl x2, x3, #63752# CHECK: lsr x19, x20, #0753# CHECK: lsl x9, x10, #5754# CHECK: lsr w9, w10, #0755# CHECK: lsl w11, w12, #31756# CHECK: lsl w13, w14, #29757# CHECK: ubfiz xzr, xzr, #10, #117580x49 0x1 0x0 0x537590x62 0x0 0x41 0xd37600x93 0xfe 0x40 0xd37610x49 0xe9 0x7b 0xd37620x49 0x7d 0x0 0x537630x8b 0x1 0x1 0x537640xcd 0x9 0x3 0x537650xff 0x2b 0x76 0xd3766 767# CHECK: ubfx w9, w10, #0, #1768# CHECK: lsr x2, x3, #63769# CHECK: lsr x19, x20, #0770# CHECK: lsr x9, x10, #5771# CHECK: lsr w9, w10, #0772# CHECK: lsr w11, w12, #31773# CHECK: lsr w13, w14, #29774# CHECK: ubfx xzr, xzr, #10, #117750x49 0x1 0x0 0x537760x62 0xfc 0x7f 0xd37770x93 0xfe 0x40 0xd37780x49 0xfd 0x45 0xd37790x49 0x7d 0x0 0x537800x8b 0x7d 0x1f 0x537810xcd 0x7d 0x1d 0x537820xff 0x53 0x4a 0xd3783 784 785#------------------------------------------------------------------------------786# Compare and branch (immediate)787#------------------------------------------------------------------------------788 789# CHECK: cbz w5, #4790# CHECK: cbz x5, #0791# CHECK: cbnz x2, #-4792# CHECK: cbnz x26, #10485727930x25 0x0 0x0 0x347940x05 0x0 0x0 0xb47950xe2 0xff 0xff 0xb57960xfa 0xff 0x7f 0xb5797 798# CHECK: cbz wzr, #0799# CHECK: cbnz xzr, #08000x1f 0x0 0x0 0x348010x1f 0x0 0x0 0xb5802 803#------------------------------------------------------------------------------804# Conditional branch (immediate)805#------------------------------------------------------------------------------806 807# CHECK: b.ne #4808# CHECK: b.ge #1048572809# CHECK: b.ge #-48100x21 0x00 0x00 0x548110xea 0xff 0x7f 0x548120xea 0xff 0xff 0x54813 814#------------------------------------------------------------------------------815# Conditional compare (immediate)816#------------------------------------------------------------------------------817 818# CHECK: ccmp w1, #31, #0, eq819# CHECK: ccmp w3, #0, #15, hs820# CHECK: ccmp wzr, #15, #13, hs8210x20 0x08 0x5f 0x7a8220x6f 0x28 0x40 0x7a8230xed 0x2b 0x4f 0x7a824 825# CHECK: ccmp x9, #31, #0, le826# CHECK: ccmp x3, #0, #15, gt827# CHECK: ccmp xzr, #5, #7, ne8280x20 0xd9 0x5f 0xfa8290x6f 0xc8 0x40 0xfa8300xe7 0x1b 0x45 0xfa831 832# CHECK: ccmn w1, #31, #0, eq833# CHECK: ccmn w3, #0, #15, hs834# CHECK: ccmn wzr, #15, #13, hs8350x20 0x08 0x5f 0x3a8360x6f 0x28 0x40 0x3a8370xed 0x2b 0x4f 0x3a838 839# CHECK: ccmn x9, #31, #0, le840# CHECK: ccmn x3, #0, #15, gt841# CHECK: ccmn xzr, #5, #7, ne8420x20 0xd9 0x5f 0xba8430x6f 0xc8 0x40 0xba8440xe7 0x1b 0x45 0xba845 846#------------------------------------------------------------------------------847# Conditional compare (register)848#------------------------------------------------------------------------------849 850# CHECK: ccmp w1, wzr, #0, eq851# CHECK: ccmp w3, w0, #15, hs852# CHECK: ccmp wzr, w15, #13, hs8530x20 0x00 0x5f 0x7a8540x6f 0x20 0x40 0x7a8550xed 0x23 0x4f 0x7a856 857# CHECK: ccmp x9, xzr, #0, le858# CHECK: ccmp x3, x0, #15, gt859# CHECK: ccmp xzr, x5, #7, ne8600x20 0xd1 0x5f 0xfa8610x6f 0xc0 0x40 0xfa8620xe7 0x13 0x45 0xfa863 864# CHECK: ccmn w1, wzr, #0, eq865# CHECK: ccmn w3, w0, #15, hs866# CHECK: ccmn wzr, w15, #13, hs8670x20 0x00 0x5f 0x3a8680x6f 0x20 0x40 0x3a8690xed 0x23 0x4f 0x3a870 871# CHECK: ccmn x9, xzr, #0, le872# CHECK: ccmn x3, x0, #15, gt873# CHECK: ccmn xzr, x5, #7, ne8740x20 0xd1 0x5f 0xba8750x6f 0xc0 0x40 0xba8760xe7 0x13 0x45 0xba877 878#------------------------------------------------------------------------------879# Conditional branch (immediate)880#------------------------------------------------------------------------------881# CHECK: csel w1, w0, w19, ne882# CHECK: csel wzr, w5, w9, eq883# CHECK: csel w9, wzr, w30, gt884# CHECK: csel w1, w28, wzr, mi885# CHECK: csel x19, x23, x29, lt886# CHECK: csel xzr, x3, x4, ge887# CHECK: csel x5, xzr, x6, hs888# CHECK: csel x7, x8, xzr, lo8890x1 0x10 0x93 0x1a8900xbf 0x0 0x89 0x1a8910xe9 0xc3 0x9e 0x1a8920x81 0x43 0x9f 0x1a8930xf3 0xb2 0x9d 0x9a8940x7f 0xa0 0x84 0x9a8950xe5 0x23 0x86 0x9a8960x7 0x31 0x9f 0x9a897 898# CHECK: csinc w1, w0, w19, ne899# CHECK: csinc wzr, w5, w9, eq900# CHECK: csinc w9, wzr, w30, gt901# CHECK: csinc w1, w28, wzr, mi902# CHECK: csinc x19, x23, x29, lt903# CHECK: csinc xzr, x3, x4, ge904# CHECK: csinc x5, xzr, x6, hs905# CHECK: csinc x7, x8, xzr, lo9060x1 0x14 0x93 0x1a9070xbf 0x4 0x89 0x1a9080xe9 0xc7 0x9e 0x1a9090x81 0x47 0x9f 0x1a9100xf3 0xb6 0x9d 0x9a9110x7f 0xa4 0x84 0x9a9120xe5 0x27 0x86 0x9a9130x7 0x35 0x9f 0x9a914 915# CHECK: csinv w1, w0, w19, ne916# CHECK: csinv wzr, w5, w9, eq917# CHECK: csinv w9, wzr, w30, gt918# CHECK: csinv w1, w28, wzr, mi919# CHECK: csinv x19, x23, x29, lt920# CHECK: csinv xzr, x3, x4, ge921# CHECK: csinv x5, xzr, x6, hs922# CHECK: csinv x7, x8, xzr, lo9230x1 0x10 0x93 0x5a9240xbf 0x0 0x89 0x5a9250xe9 0xc3 0x9e 0x5a9260x81 0x43 0x9f 0x5a9270xf3 0xb2 0x9d 0xda9280x7f 0xa0 0x84 0xda9290xe5 0x23 0x86 0xda9300x7 0x31 0x9f 0xda931 932# CHECK: csneg w1, w0, w19, ne933# CHECK: csneg wzr, w5, w9, eq934# CHECK: csneg w9, wzr, w30, gt935# CHECK: csneg w1, w28, wzr, mi936# CHECK: csneg x19, x23, x29, lt937# CHECK: csneg xzr, x3, x4, ge938# CHECK: csneg x5, xzr, x6, hs939# CHECK: csneg x7, x8, xzr, lo9400x1 0x14 0x93 0x5a9410xbf 0x4 0x89 0x5a9420xe9 0xc7 0x9e 0x5a9430x81 0x47 0x9f 0x5a9440xf3 0xb6 0x9d 0xda9450x7f 0xa4 0x84 0xda9460xe5 0x27 0x86 0xda9470x7 0x35 0x9f 0xda948 949# CHECK: cset w3, eq950# CHECK: cset x9, pl951# CHECK: csetm w20, ne952# CHECK: csetm x30, ge953# "cset w2, nv" and "csetm x3, al" are invalid aliases for these two954# CHECK: csinc w2, wzr, wzr, al955# CHECK: csinv x3, xzr, xzr, nv9560xe3 0x17 0x9f 0x1a9570xe9 0x47 0x9f 0x9a9580xf4 0x3 0x9f 0x5a9590xfe 0xb3 0x9f 0xda9600xe2,0xe7,0x9f,0x1a9610xe3,0xf3,0x9f,0xda962 963# CHECK: cinc w3, w5, gt964# CHECK: cinc wzr, w4, le965# CHECK: cset w9, lt966# CHECK: cinc x3, x5, gt967# CHECK: cinc xzr, x4, le968# CHECK: cset x9, lt969# "cinc w5, w6, al" and "cinc x1, x2, nv" are invalid aliases for these two970# CHECK: csinc w5, w6, w6, nv971# CHECK: csinc x1, x2, x2, al9720xa3 0xd4 0x85 0x1a9730x9f 0xc4 0x84 0x1a9740xe9 0xa7 0x9f 0x1a9750xa3 0xd4 0x85 0x9a9760x9f 0xc4 0x84 0x9a9770xe9 0xa7 0x9f 0x9a9780xc5,0xf4,0x86,0x1a9790x41,0xe4,0x82,0x9a980 981# CHECK: cinv w3, w5, gt982# CHECK: cinv wzr, w4, le983# CHECK: csetm w9, lt984# CHECK: cinv x3, x5, gt985# CHECK: cinv xzr, x4, le986# CHECK: csetm x9, lt987# "cinv x1, x0, nv" and "cinv w9, w8, al" are invalid aliases for these two988# CHECK: csinv x1, x0, x0, al989# CHECK: csinv w9, w8, w8, nv9900xa3 0xd0 0x85 0x5a9910x9f 0xc0 0x84 0x5a9920xe9 0xa3 0x9f 0x5a9930xa3 0xd0 0x85 0xda9940x9f 0xc0 0x84 0xda9950xe9 0xa3 0x9f 0xda9960x01 0xe0 0x80 0xda9970x09,0xf1,0x88,0x5a998 999# CHECK: cneg w3, w5, gt1000# CHECK: cneg wzr, w4, le1001# CHECK: cneg w9, wzr, lt1002# CHECK: cneg x3, x5, gt1003# CHECK: cneg xzr, x4, le1004# CHECK: cneg x9, xzr, lt1005# "cneg x4, x8, nv" and "cneg w5, w6, al" are invalid aliases for these two1006# CHECK: csneg x4, x8, x8, al1007# CHECK: csinv w9, w8, w8, nv10080xa3 0xd4 0x85 0x5a10090x9f 0xc4 0x84 0x5a10100xe9 0xa7 0x9f 0x5a10110xa3 0xd4 0x85 0xda10120x9f 0xc4 0x84 0xda10130xe9 0xa7 0x9f 0xda10140x04,0xe5,0x88,0xda10150x09,0xf1,0x88,0x5a1016 1017#------------------------------------------------------------------------------1018# Data-processing (1 source)1019#------------------------------------------------------------------------------1020 1021# CHECK: rbit w0, w71022# CHECK: rbit x18, x31023# CHECK: rev16 w17, w11024# CHECK: rev16 x5, x21025# CHECK: rev w18, w01026# CHECK: rev32 x20, x110270xe0 0x00 0xc0 0x5a10280x72 0x00 0xc0 0xda10290x31 0x04 0xc0 0x5a10300x45 0x04 0xc0 0xda10310x12 0x08 0xc0 0x5a10320x34 0x08 0xc0 0xda1033 1034# CHECK: rev x22, x21035# CHECK: clz w24, w31036# CHECK: clz x26, x41037# CHECK: cls w3, w51038# CHECK: cls x20, x510390x56 0x0c 0xc0 0xda10400x78 0x10 0xc0 0x5a10410x9a 0x10 0xc0 0xda10420xa3 0x14 0xc0 0x5a10430xb4 0x14 0xc0 0xda1044 1045#------------------------------------------------------------------------------1046# Data-processing (2 source)1047#------------------------------------------------------------------------------1048 1049# CHECK: udiv w0, w7, w101050# CHECK: udiv x9, x22, x41051# CHECK: sdiv w12, w21, w01052# CHECK: sdiv x13, x2, x11053# CHECK: lsl w11, w12, w131054# CHECK: lsl x14, x15, x161055# CHECK: lsr w17, w18, w191056# CHECK: lsr x20, x21, x221057# CHECK: asr w23, w24, w251058# CHECK: asr x26, x27, x281059# CHECK: ror w0, w1, w21060# CHECK: ror x3, x4, x510610xe0 0x08 0xca 0x1a10620xc9 0x0a 0xc4 0x9a10630xac 0x0e 0xc0 0x1a10640x4d 0x0c 0xc1 0x9a10650x8b 0x21 0xcd 0x1a10660xee 0x21 0xd0 0x9a10670x51 0x26 0xd3 0x1a10680xb4 0x26 0xd6 0x9a10690x17 0x2b 0xd9 0x1a10700x7a 0x2b 0xdc 0x9a10710x20 0x2c 0xc2 0x1a10720x83 0x2c 0xc5 0x9a1073 1074# CHECK: lsl w6, w7, w81075# CHECK: lsl x9, x10, x111076# CHECK: lsr w12, w13, w141077# CHECK: lsr x15, x16, x171078# CHECK: asr w18, w19, w201079# CHECK: asr x21, x22, x231080# CHECK: ror w24, w25, w261081# CHECK: ror x27, x28, x2910820xe6 0x20 0xc8 0x1a10830x49 0x21 0xcb 0x9a10840xac 0x25 0xce 0x1a10850x0f 0x26 0xd1 0x9a10860x72 0x2a 0xd4 0x1a10870xd5 0x2a 0xd7 0x9a10880x38 0x2f 0xda 0x1a10890x9b 0x2f 0xdd 0x9a1090 1091#------------------------------------------------------------------------------1092# Data-processing (3 sources)1093#------------------------------------------------------------------------------1094 1095# First check some non-canonical encodings where Ra is not 0b11111 (only umulh1096# and smulh have them).1097 1098# CHECK: smulh x30, x29, x281099# CHECK: smulh xzr, x27, x261100# CHECK: umulh x30, x29, x281101# CHECK: umulh x23, x30, xzr11020xbe 0x73 0x5c 0x9b11030x7f 0x2f 0x5a 0x9b11040xbe 0x3f 0xdc 0x9b11050xd7 0x77 0xdf 0x9b1106 1107# Now onto the boilerplate stuff1108 1109# CHECK: madd w1, w3, w7, w41110# CHECK: madd wzr, w0, w9, w111111# CHECK: madd w13, wzr, w4, w41112# CHECK: madd w19, w30, wzr, w291113# CHECK: mul w4, w5, w611140x61 0x10 0x7 0x1b11150x1f 0x2c 0x9 0x1b11160xed 0x13 0x4 0x1b11170xd3 0x77 0x1f 0x1b11180xa4 0x7c 0x6 0x1b1119 1120# CHECK: madd x1, x3, x7, x41121# CHECK: madd xzr, x0, x9, x111122# CHECK: madd x13, xzr, x4, x41123# CHECK: madd x19, x30, xzr, x291124# CHECK: mul x4, x5, x611250x61 0x10 0x7 0x9b11260x1f 0x2c 0x9 0x9b11270xed 0x13 0x4 0x9b11280xd3 0x77 0x1f 0x9b11290xa4 0x7c 0x6 0x9b1130 1131# CHECK: msub w1, w3, w7, w41132# CHECK: msub wzr, w0, w9, w111133# CHECK: msub w13, wzr, w4, w41134# CHECK: msub w19, w30, wzr, w291135# CHECK: mneg w4, w5, w611360x61 0x90 0x7 0x1b11370x1f 0xac 0x9 0x1b11380xed 0x93 0x4 0x1b11390xd3 0xf7 0x1f 0x1b11400xa4 0xfc 0x6 0x1b1141 1142# CHECK: msub x1, x3, x7, x41143# CHECK: msub xzr, x0, x9, x111144# CHECK: msub x13, xzr, x4, x41145# CHECK: msub x19, x30, xzr, x291146# CHECK: mneg x4, x5, x611470x61 0x90 0x7 0x9b11480x1f 0xac 0x9 0x9b11490xed 0x93 0x4 0x9b11500xd3 0xf7 0x1f 0x9b11510xa4 0xfc 0x6 0x9b1152 1153# CHECK: smaddl x3, w5, w2, x91154# CHECK: smaddl xzr, w10, w11, x121155# CHECK: smaddl x13, wzr, w14, x151156# CHECK: smaddl x16, w17, wzr, x181157# CHECK: smull x19, w20, w2111580xa3 0x24 0x22 0x9b11590x5f 0x31 0x2b 0x9b11600xed 0x3f 0x2e 0x9b11610x30 0x4a 0x3f 0x9b11620x93 0x7e 0x35 0x9b1163 1164# CHECK: smsubl x3, w5, w2, x91165# CHECK: smsubl xzr, w10, w11, x121166# CHECK: smsubl x13, wzr, w14, x151167# CHECK: smsubl x16, w17, wzr, x181168# CHECK: smnegl x19, w20, w2111690xa3 0xa4 0x22 0x9b11700x5f 0xb1 0x2b 0x9b11710xed 0xbf 0x2e 0x9b11720x30 0xca 0x3f 0x9b11730x93 0xfe 0x35 0x9b1174 1175# CHECK: umaddl x3, w5, w2, x91176# CHECK: umaddl xzr, w10, w11, x121177# CHECK: umaddl x13, wzr, w14, x151178# CHECK: umaddl x16, w17, wzr, x181179# CHECK: umull x19, w20, w2111800xa3 0x24 0xa2 0x9b11810x5f 0x31 0xab 0x9b11820xed 0x3f 0xae 0x9b11830x30 0x4a 0xbf 0x9b11840x93 0x7e 0xb5 0x9b1185 1186# CHECK: umsubl x3, w5, w2, x91187# CHECK: umsubl xzr, w10, w11, x121188# CHECK: umsubl x13, wzr, w14, x151189# CHECK: umsubl x16, w17, wzr, x181190# CHECK: umnegl x19, w20, w2111910xa3 0xa4 0xa2 0x9b11920x5f 0xb1 0xab 0x9b11930xed 0xbf 0xae 0x9b11940x30 0xca 0xbf 0x9b11950x93 0xfe 0xb5 0x9b1196 1197# CHECK: smulh x30, x29, x281198# CHECK: smulh xzr, x27, x261199# CHECK: smulh x25, xzr, x241200# CHECK: smulh x23, x22, xzr12010xbe 0x7f 0x5c 0x9b12020x7f 0x7f 0x5a 0x9b12030xf9 0x7f 0x58 0x9b12040xd7 0x7e 0x5f 0x9b1205 1206# CHECK: umulh x30, x29, x281207# CHECK: umulh xzr, x27, x261208# CHECK: umulh x25, xzr, x241209# CHECK: umulh x23, x22, xzr12100xbe 0x7f 0xdc 0x9b12110x7f 0x7f 0xda 0x9b12120xf9 0x7f 0xd8 0x9b12130xd7 0x7e 0xdf 0x9b1214 1215# CHECK: mul w3, w4, w51216# CHECK: mul wzr, w6, w71217# CHECK: mul w8, wzr, w91218# CHECK: mul w10, w11, wzr1219# CHECK: mul x12, x13, x141220# CHECK: mul xzr, x15, x161221# CHECK: mul x17, xzr, x181222# CHECK: mul x19, x20, xzr12230x83 0x7c 0x5 0x1b12240xdf 0x7c 0x7 0x1b12250xe8 0x7f 0x9 0x1b12260x6a 0x7d 0x1f 0x1b12270xac 0x7d 0xe 0x9b12280xff 0x7d 0x10 0x9b12290xf1 0x7f 0x12 0x9b12300x93 0x7e 0x1f 0x9b1231 1232# CHECK: mneg w21, w22, w231233# CHECK: mneg wzr, w24, w251234# CHECK: mneg w26, wzr, w271235# CHECK: mneg w28, w29, wzr12360xd5 0xfe 0x17 0x1b12370x1f 0xff 0x19 0x1b12380xfa 0xff 0x1b 0x1b12390xbc 0xff 0x1f 0x1b1240 1241# CHECK: smull x11, w13, w171242# CHECK: umull x11, w13, w171243# CHECK: smnegl x11, w13, w171244# CHECK: umnegl x11, w13, w1712450xab 0x7d 0x31 0x9b12460xab 0x7d 0xb1 0x9b12470xab 0xfd 0x31 0x9b12480xab 0xfd 0xb1 0x9b1249 1250#------------------------------------------------------------------------------1251# Exception generation1252#------------------------------------------------------------------------------1253 1254# CHECK: svc #01255# CHECK: svc #{{65535|0xffff}}12560x1 0x0 0x0 0xd412570xe1 0xff 0x1f 0xd41258 1259# CHECK: hvc #{{1|0x1}}1260# CHECK: smc #{{12000|0x2ee0}}1261# CHECK: brk #{{12|0xc}}1262# CHECK: hlt #{{123|0x7b}}12630x22 0x0 0x0 0xd412640x3 0xdc 0x5 0xd412650x80 0x1 0x20 0xd412660x60 0xf 0x40 0xd41267 1268# CHECK: dcps1 #{{42|0x2a}}1269# CHECK: dcps2 #{{9|0x9}}1270# CHECK: dcps3 #{{1000|0x3e8}}12710x41 0x5 0xa0 0xd412720x22 0x1 0xa0 0xd412730x3 0x7d 0xa0 0xd41274 1275# CHECK: dcps11276# CHECK: dcps21277# CHECK: dcps312780x1 0x0 0xa0 0xd412790x2 0x0 0xa0 0xd412800x3 0x0 0xa0 0xd41281 1282#------------------------------------------------------------------------------1283# Extract (immediate)1284#------------------------------------------------------------------------------1285 1286# CHECK: extr w3, w5, w7, #01287# CHECK: extr w11, w13, w17, #3112880xa3 0x0 0x87 0x1312890xab 0x7d 0x91 0x131290 1291# CHECK: extr x3, x5, x7, #151292# CHECK: extr x11, x13, x17, #6312930xa3 0x3c 0xc7 0x9312940xab 0xfd 0xd1 0x931295 1296# CHECK: ror x19, x23, #241297# CHECK: ror x29, xzr, #631298# CHECK: ror w9, w13, #3112990xf3 0x62 0xd7 0x9313000xfd 0xff 0xdf 0x9313010xa9 0x7d 0x8d 0x131302 1303#------------------------------------------------------------------------------1304# Floating-point compare1305#------------------------------------------------------------------------------1306 1307# CHECK: fcmp s3, s51308# CHECK: fcmp s31, #0.01309# CHECK: fcmp s31, #0.013100x60 0x20 0x25 0x1e13110xe8 0x23 0x20 0x1e13120xe8 0x23 0x3f 0x1e1313 1314# CHECK: fcmpe s29, s301315# CHECK: fcmpe s15, #0.01316# CHECK: fcmpe s15, #0.013170xb0 0x23 0x3e 0x1e13180xf8 0x21 0x20 0x1e13190xf8 0x21 0x2f 0x1e1320 1321# CHECK: fcmp d4, d121322# CHECK: fcmp d23, #0.01323# CHECK: fcmp d23, #0.013240x80 0x20 0x6c 0x1e13250xe8 0x22 0x60 0x1e13260xe8 0x22 0x77 0x1e1327 1328# CHECK: fcmpe d26, d221329# CHECK: fcmpe d29, #0.01330# CHECK: fcmpe d29, #0.013310x50 0x23 0x76 0x1e13320xb8 0x23 0x60 0x1e13330xb8 0x23 0x6d 0x1e1334 1335#------------------------------------------------------------------------------1336# Floating-point conditional compare1337#------------------------------------------------------------------------------1338 1339# CHECK: fccmp s1, s31, #0, eq1340# CHECK: fccmp s3, s0, #15, hs1341# CHECK: fccmp s31, s15, #13, hs13420x20 0x04 0x3f 0x1e13430x6f 0x24 0x20 0x1e13440xed 0x27 0x2f 0x1e1345 1346# CHECK: fccmp d9, d31, #0, le1347# CHECK: fccmp d3, d0, #15, gt1348# CHECK: fccmp d31, d5, #7, ne13490x20 0xd5 0x7f 0x1e13500x6f 0xc4 0x60 0x1e13510xe7 0x17 0x65 0x1e1352 1353# CHECK: fccmpe s1, s31, #0, eq1354# CHECK: fccmpe s3, s0, #15, hs1355# CHECK: fccmpe s31, s15, #13, hs13560x30 0x04 0x3f 0x1e13570x7f 0x24 0x20 0x1e13580xfd 0x27 0x2f 0x1e1359 1360# CHECK: fccmpe d9, d31, #0, le1361# CHECK: fccmpe d3, d0, #15, gt1362# CHECK: fccmpe d31, d5, #7, ne13630x30 0xd5 0x7f 0x1e13640x7f 0xc4 0x60 0x1e13650xf7 0x17 0x65 0x1e1366 1367#-------------------------------------------------------------------------------1368# Floating-point conditional compare1369#-------------------------------------------------------------------------------1370 1371# CHECK: fcsel s3, s20, s9, pl1372# CHECK: fcsel d9, d10, d11, mi13730x83 0x5e 0x29 0x1e13740x49 0x4d 0x6b 0x1e1375 1376#------------------------------------------------------------------------------1377# Floating-point data-processing (1 source)1378#------------------------------------------------------------------------------1379 1380# CHECK: fmov s0, s11381# CHECK: fabs s2, s31382# CHECK: fneg s4, s51383# CHECK: fsqrt s6, s71384# CHECK: fcvt d8, s91385# CHECK: fcvt h10, s111386# CHECK: frintn s12, s131387# CHECK: frintp s14, s151388# CHECK: frintm s16, s171389# CHECK: frintz s18, s191390# CHECK: frinta s20, s211391# CHECK: frintx s22, s231392# CHECK: frinti s24, s2513930x20 0x40 0x20 0x1e13940x62 0xc0 0x20 0x1e13950xa4 0x40 0x21 0x1e13960xe6 0xc0 0x21 0x1e13970x28 0xc1 0x22 0x1e13980x6a 0xc1 0x23 0x1e13990xac 0x41 0x24 0x1e14000xee 0xc1 0x24 0x1e14010x30 0x42 0x25 0x1e14020x72 0xc2 0x25 0x1e14030xb4 0x42 0x26 0x1e14040xf6 0x42 0x27 0x1e14050x38 0xc3 0x27 0x1e1406 1407# CHECK: fmov d0, d11408# CHECK: fabs d2, d31409# CHECK: fneg d4, d51410# CHECK: fsqrt d6, d71411# CHECK: fcvt s8, d91412# CHECK: fcvt h10, d111413# CHECK: frintn d12, d131414# CHECK: frintp d14, d151415# CHECK: frintm d16, d171416# CHECK: frintz d18, d191417# CHECK: frinta d20, d211418# CHECK: frintx d22, d231419# CHECK: frinti d24, d2514200x20 0x40 0x60 0x1e14210x62 0xc0 0x60 0x1e14220xa4 0x40 0x61 0x1e14230xe6 0xc0 0x61 0x1e14240x28 0x41 0x62 0x1e14250x6a 0xc1 0x63 0x1e14260xac 0x41 0x64 0x1e14270xee 0xc1 0x64 0x1e14280x30 0x42 0x65 0x1e14290x72 0xc2 0x65 0x1e14300xb4 0x42 0x66 0x1e14310xf6 0x42 0x67 0x1e14320x38 0xc3 0x67 0x1e1433 1434# CHECK: fcvt s26, h271435# CHECK: fcvt d28, h2914360x7a 0x43 0xe2 0x1e14370xbc 0xc3 0xe2 0x1e1438 1439#------------------------------------------------------------------------------1440# Floating-point data-processing (2 sources)1441#------------------------------------------------------------------------------1442 1443# CHECK: fmul s20, s19, s171444# CHECK: fdiv s1, s2, s31445# CHECK: fadd s4, s5, s61446# CHECK: fsub s7, s8, s91447# CHECK: fmax s10, s11, s121448# CHECK: fmin s13, s14, s151449# CHECK: fmaxnm s16, s17, s181450# CHECK: fminnm s19, s20, s211451# CHECK: fnmul s22, s23, s214520x74 0xa 0x31 0x1e14530x41 0x18 0x23 0x1e14540xa4 0x28 0x26 0x1e14550x7 0x39 0x29 0x1e14560x6a 0x49 0x2c 0x1e14570xcd 0x59 0x2f 0x1e14580x30 0x6a 0x32 0x1e14590x93 0x7a 0x35 0x1e14600xf6 0x8a 0x38 0x1e1461 1462 1463# CHECK: fmul d20, d19, d171464# CHECK: fdiv d1, d2, d31465# CHECK: fadd d4, d5, d61466# CHECK: fsub d7, d8, d91467# CHECK: fmax d10, d11, d121468# CHECK: fmin d13, d14, d151469# CHECK: fmaxnm d16, d17, d181470# CHECK: fminnm d19, d20, d211471# CHECK: fnmul d22, d23, d2414720x74 0xa 0x71 0x1e14730x41 0x18 0x63 0x1e14740xa4 0x28 0x66 0x1e14750x7 0x39 0x69 0x1e14760x6a 0x49 0x6c 0x1e14770xcd 0x59 0x6f 0x1e14780x30 0x6a 0x72 0x1e14790x93 0x7a 0x75 0x1e14800xf6 0x8a 0x78 0x1e1481 1482#------------------------------------------------------------------------------1483# Floating-point data-processing (1 source)1484#------------------------------------------------------------------------------1485 1486# CHECK: fmadd s3, s5, s6, s311487# CHECK: fmadd d3, d13, d0, d231488# CHECK: fmsub s3, s5, s6, s311489# CHECK: fmsub d3, d13, d0, d231490# CHECK: fnmadd s3, s5, s6, s311491# CHECK: fnmadd d3, d13, d0, d231492# CHECK: fnmsub s3, s5, s6, s311493# CHECK: fnmsub d3, d13, d0, d2314940xa3 0x7c 0x06 0x1f14950xa3 0x5d 0x40 0x1f14960xa3 0xfc 0x06 0x1f14970xa3 0xdd 0x40 0x1f14980xa3 0x7c 0x26 0x1f14990xa3 0x5d 0x60 0x1f15000xa3 0xfc 0x26 0x1f15010xa3 0xdd 0x60 0x1f1502 1503#------------------------------------------------------------------------------1504# Floating-point <-> fixed-point conversion1505#------------------------------------------------------------------------------1506 1507# FP16: fcvtzs w3, h5, #11508# FP16: fcvtzs wzr, h20, #131509# FP16: fcvtzs w19, h0, #3215100xa3 0xfc 0xd8 0x1e15110x9f 0xce 0xd8 0x1e15120x13 0x80 0xd8 0x1e1513 1514# FP16: fcvtzs x3, h5, #11515# FP16: fcvtzs x12, h30, #451516# FP16: fcvtzs x19, h0, #6415170xa3 0xfc 0xd8 0x9e15180xcc 0x4f 0xd8 0x9e15190x13 0x00 0xd8 0x9e1520 1521# CHECK: fcvtzs w3, s5, #11522# CHECK: fcvtzs wzr, s20, #131523# CHECK: fcvtzs w19, s0, #3215240xa3 0xfc 0x18 0x1e15250x9f 0xce 0x18 0x1e15260x13 0x80 0x18 0x1e1527 1528# CHECK: fcvtzs x3, s5, #11529# CHECK: fcvtzs x12, s30, #451530# CHECK: fcvtzs x19, s0, #6415310xa3 0xfc 0x18 0x9e15320xcc 0x4f 0x18 0x9e15330x13 0x00 0x18 0x9e1534 1535# CHECK: fcvtzs w3, d5, #11536# CHECK: fcvtzs wzr, d20, #131537# CHECK: fcvtzs w19, d0, #3215380xa3 0xfc 0x58 0x1e15390x9f 0xce 0x58 0x1e15400x13 0x80 0x58 0x1e1541 1542# CHECK: fcvtzs x3, d5, #11543# CHECK: fcvtzs x12, d30, #451544# CHECK: fcvtzs x19, d0, #6415450xa3 0xfc 0x58 0x9e15460xcc 0x4f 0x58 0x9e15470x13 0x00 0x58 0x9e1548 1549# FP16: fcvtzu w3, h5, #11550# FP16: fcvtzu wzr, h20, #131551# FP16: fcvtzu w19, h0, #3215520xa3 0xfc 0xd9 0x1e15530x9f 0xce 0xd9 0x1e15540x13 0x80 0xd9 0x1e1555 1556# FP16: fcvtzu x3, h5, #11557# FP16: fcvtzu x12, h30, #451558# FP16: fcvtzu x19, h0, #6415590xa3 0xfc 0xd9 0x9e15600xcc 0x4f 0xd9 0x9e15610x13 0x00 0xd9 0x9e1562 1563# CHECK: fcvtzu w3, s5, #11564# CHECK: fcvtzu wzr, s20, #131565# CHECK: fcvtzu w19, s0, #3215660xa3 0xfc 0x19 0x1e15670x9f 0xce 0x19 0x1e15680x13 0x80 0x19 0x1e1569 1570# CHECK: fcvtzu x3, s5, #11571# CHECK: fcvtzu x12, s30, #451572# CHECK: fcvtzu x19, s0, #6415730xa3 0xfc 0x19 0x9e15740xcc 0x4f 0x19 0x9e15750x13 0x00 0x19 0x9e1576 1577# CHECK: fcvtzu w3, d5, #11578# CHECK: fcvtzu wzr, d20, #131579# CHECK: fcvtzu w19, d0, #3215800xa3 0xfc 0x59 0x1e15810x9f 0xce 0x59 0x1e15820x13 0x80 0x59 0x1e1583 1584# CHECK: fcvtzu x3, d5, #11585# CHECK: fcvtzu x12, d30, #451586# CHECK: fcvtzu x19, d0, #6415870xa3 0xfc 0x59 0x9e15880xcc 0x4f 0x59 0x9e15890x13 0x00 0x59 0x9e1590 1591# FP16: scvtf h23, w19, #11592# FP16: scvtf h31, wzr, #201593# FP16: scvtf h14, w0, #3215940x77 0xfe 0xc2 0x1e15950xff 0xb3 0xc2 0x1e15960x0e 0x80 0xc2 0x1e1597 1598# FP16: scvtf h23, x19, #11599# FP16: scvtf h31, xzr, #201600# FP16: scvtf h14, x0, #6416010x77 0xfe 0xc2 0x9e16020xff 0xb3 0xc2 0x9e16030x0e 0x00 0xc2 0x9e1604 1605# CHECK: scvtf s23, w19, #11606# CHECK: scvtf s31, wzr, #201607# CHECK: scvtf s14, w0, #3216080x77 0xfe 0x02 0x1e16090xff 0xb3 0x02 0x1e16100x0e 0x80 0x02 0x1e1611 1612# CHECK: scvtf s23, x19, #11613# CHECK: scvtf s31, xzr, #201614# CHECK: scvtf s14, x0, #6416150x77 0xfe 0x02 0x9e16160xff 0xb3 0x02 0x9e16170x0e 0x00 0x02 0x9e1618 1619# CHECK: scvtf d23, w19, #11620# CHECK: scvtf d31, wzr, #201621# CHECK: scvtf d14, w0, #3216220x77 0xfe 0x42 0x1e16230xff 0xb3 0x42 0x1e16240x0e 0x80 0x42 0x1e1625 1626# CHECK: scvtf d23, x19, #11627# CHECK: scvtf d31, xzr, #201628# CHECK: scvtf d14, x0, #6416290x77 0xfe 0x42 0x9e16300xff 0xb3 0x42 0x9e16310x0e 0x00 0x42 0x9e1632 1633# FP16: ucvtf h23, w19, #11634# FP16: ucvtf h31, wzr, #201635# FP16: ucvtf h14, w0, #3216360x77 0xfe 0xc3 0x1e16370xff 0xb3 0xc3 0x1e16380x0e 0x80 0xc3 0x1e1639 1640# FP16: ucvtf h23, x19, #11641# FP16: ucvtf h31, xzr, #201642# FP16: ucvtf h14, x0, #6416430x77 0xfe 0xc3 0x9e16440xff 0xb3 0xc3 0x9e16450x0e 0x00 0xc3 0x9e1646 1647# CHECK: ucvtf s23, w19, #11648# CHECK: ucvtf s31, wzr, #201649# CHECK: ucvtf s14, w0, #3216500x77 0xfe 0x03 0x1e16510xff 0xb3 0x03 0x1e16520x0e 0x80 0x03 0x1e1653 1654# CHECK: ucvtf s23, x19, #11655# CHECK: ucvtf s31, xzr, #201656# CHECK: ucvtf s14, x0, #6416570x77 0xfe 0x03 0x9e16580xff 0xb3 0x03 0x9e16590x0e 0x00 0x03 0x9e1660 1661# CHECK: ucvtf d23, w19, #11662# CHECK: ucvtf d31, wzr, #201663# CHECK: ucvtf d14, w0, #3216640x77 0xfe 0x43 0x1e16650xff 0xb3 0x43 0x1e16660x0e 0x80 0x43 0x1e1667 1668# CHECK: ucvtf d23, x19, #11669# CHECK: ucvtf d31, xzr, #201670# CHECK: ucvtf d14, x0, #6416710x77 0xfe 0x43 0x9e16720xff 0xb3 0x43 0x9e16730x0e 0x00 0x43 0x9e1674 1675#------------------------------------------------------------------------------1676# Floating-point <-> integer conversion1677#------------------------------------------------------------------------------1678 1679# FP16: fcvtns w3, h311680# FP16: fcvtns xzr, h121681# FP16: fcvtnu wzr, h121682# FP16: fcvtnu x0, h016830xe3 0x3 0xe0 0x1e16840x9f 0x1 0xe0 0x9e16850x9f 0x1 0xe1 0x1e16860x0 0x0 0xe1 0x9e1687 1688# FP16: fcvtps wzr, h91689# FP16: fcvtps x12, h201690# FP16: fcvtpu w30, h231691# FP16: fcvtpu x29, h316920x3f 0x1 0xe8 0x1e16930x8c 0x2 0xe8 0x9e16940xfe 0x2 0xe9 0x1e16950x7d 0x0 0xe9 0x9e1696 1697# FP16: fcvtms w2, h31698# FP16: fcvtms x4, h51699# FP16: fcvtmu w6, h71700# FP16: fcvtmu x8, h917010x62 0x0 0xf0 0x1e17020xa4 0x0 0xf0 0x9e17030xe6 0x0 0xf1 0x1e17040x28 0x1 0xf1 0x9e1705 1706# FP16: fcvtzs w10, h111707# FP16: fcvtzs x12, h131708# FP16: fcvtzu w14, h151709# FP16: fcvtzu x15, h1617100x6a 0x1 0xf8 0x1e17110xac 0x1 0xf8 0x9e17120xee 0x1 0xf9 0x1e17130xf 0x2 0xf9 0x9e1714 1715# FP16: scvtf h17, w181716# FP16: scvtf h19, x201717# FP16: ucvtf h21, w221718# FP16: scvtf h23, x2417190x51 0x2 0xe2 0x1e17200x93 0x2 0xe2 0x9e17210xd5 0x2 0xe3 0x1e17220x17 0x3 0xe2 0x9e1723 1724# FP16: fcvtas w25, h261725# FP16: fcvtas x27, h281726# FP16: fcvtau w29, h301727# FP16: fcvtau xzr, h017280x59 0x3 0xe4 0x1e17290x9b 0x3 0xe4 0x9e17300xdd 0x3 0xe5 0x1e17310x1f 0x0 0xe5 0x9e1732 1733# CHECK: fcvtns w3, s311734# CHECK: fcvtns xzr, s121735# CHECK: fcvtnu wzr, s121736# CHECK: fcvtnu x0, s017370xe3 0x3 0x20 0x1e17380x9f 0x1 0x20 0x9e17390x9f 0x1 0x21 0x1e17400x0 0x0 0x21 0x9e1741 1742# CHECK: fcvtps wzr, s91743# CHECK: fcvtps x12, s201744# CHECK: fcvtpu w30, s231745# CHECK: fcvtpu x29, s317460x3f 0x1 0x28 0x1e17470x8c 0x2 0x28 0x9e17480xfe 0x2 0x29 0x1e17490x7d 0x0 0x29 0x9e1750 1751# CHECK: fcvtms w2, s31752# CHECK: fcvtms x4, s51753# CHECK: fcvtmu w6, s71754# CHECK: fcvtmu x8, s917550x62 0x0 0x30 0x1e17560xa4 0x0 0x30 0x9e17570xe6 0x0 0x31 0x1e17580x28 0x1 0x31 0x9e1759 1760# CHECK: fcvtzs w10, s111761# CHECK: fcvtzs x12, s131762# CHECK: fcvtzu w14, s151763# CHECK: fcvtzu x15, s1617640x6a 0x1 0x38 0x1e17650xac 0x1 0x38 0x9e17660xee 0x1 0x39 0x1e17670xf 0x2 0x39 0x9e1768 1769# CHECK: scvtf s17, w181770# CHECK: scvtf s19, x201771# CHECK: ucvtf s21, w221772# CHECK: scvtf s23, x2417730x51 0x2 0x22 0x1e17740x93 0x2 0x22 0x9e17750xd5 0x2 0x23 0x1e17760x17 0x3 0x22 0x9e1777 1778# CHECK: fcvtas w25, s261779# CHECK: fcvtas x27, s281780# CHECK: fcvtau w29, s301781# CHECK: fcvtau xzr, s017820x59 0x3 0x24 0x1e17830x9b 0x3 0x24 0x9e17840xdd 0x3 0x25 0x1e17850x1f 0x0 0x25 0x9e1786 1787# CHECK: fcvtns w3, d311788# CHECK: fcvtns xzr, d121789# CHECK: fcvtnu wzr, d121790# CHECK: fcvtnu x0, d017910xe3 0x3 0x60 0x1e17920x9f 0x1 0x60 0x9e17930x9f 0x1 0x61 0x1e17940x0 0x0 0x61 0x9e1795 1796# CHECK: fcvtps wzr, d91797# CHECK: fcvtps x12, d201798# CHECK: fcvtpu w30, d231799# CHECK: fcvtpu x29, d318000x3f 0x1 0x68 0x1e18010x8c 0x2 0x68 0x9e18020xfe 0x2 0x69 0x1e18030x7d 0x0 0x69 0x9e1804 1805# CHECK: fcvtms w2, d31806# CHECK: fcvtms x4, d51807# CHECK: fcvtmu w6, d71808# CHECK: fcvtmu x8, d918090x62 0x0 0x70 0x1e18100xa4 0x0 0x70 0x9e18110xe6 0x0 0x71 0x1e18120x28 0x1 0x71 0x9e1813 1814# CHECK: fcvtzs w10, d111815# CHECK: fcvtzs x12, d131816# CHECK: fcvtzu w14, d151817# CHECK: fcvtzu x15, d1618180x6a 0x1 0x78 0x1e18190xac 0x1 0x78 0x9e18200xee 0x1 0x79 0x1e18210xf 0x2 0x79 0x9e1822 1823# CHECK: scvtf d17, w181824# CHECK: scvtf d19, x201825# CHECK: ucvtf d21, w221826# CHECK: ucvtf d23, x2418270x51 0x2 0x62 0x1e18280x93 0x2 0x62 0x9e18290xd5 0x2 0x63 0x1e18300x17 0x3 0x63 0x9e1831 1832# CHECK: fcvtas w25, d261833# CHECK: fcvtas x27, d281834# CHECK: fcvtau w29, d301835# CHECK: fcvtau xzr, d018360x59 0x3 0x64 0x1e18370x9b 0x3 0x64 0x9e18380xdd 0x3 0x65 0x1e18390x1f 0x0 0x65 0x9e1840 1841# CHECK: fmov w3, s91842# CHECK: fmov s9, w318430x23 0x1 0x26 0x1e18440x69 0x0 0x27 0x1e1845 1846# CHECK: fmov x20, d311847# CHECK: fmov d1, x1518480xf4 0x3 0x66 0x9e18490xe1 0x1 0x67 0x9e1850 1851# CHECK: fmov x3, v12.d[1]1852# CHECK: fmov v1.d[1], x1918530x83 0x1 0xae 0x9e18540x61 0x2 0xaf 0x9e1855 1856#------------------------------------------------------------------------------1857# Floating-point immediate1858#------------------------------------------------------------------------------1859 1860# CHECK: fmov s2, #0.125000001861# CHECK: fmov s3, #1.000000001862# CHECK: fmov d30, #16.0000000018630x2 0x10 0x28 0x1e18640x3 0x10 0x2e 0x1e18650x1e 0x10 0x66 0x1e1866 1867# CHECK: fmov s4, #1.062500001868# CHECK: fmov d10, #1.9375000018690x4 0x30 0x2e 0x1e18700xa 0xf0 0x6f 0x1e1871 1872# CHECK: fmov s12, #-1.0000000018730xc 0x10 0x3e 0x1e1874 1875# CHECK: fmov d16, #8.5000000018760x10 0x30 0x64 0x1e1877 1878#------------------------------------------------------------------------------1879# Load-register (literal)1880#------------------------------------------------------------------------------1881 1882# CHECK: ldr w3, #01883# CHECK: ldr x29, #41884# CHECK: ldrsw xzr, #-418850x03 0x00 0x00 0x1818860x3d 0x00 0x00 0x5818870xff 0xff 0xff 0x981888 1889# CHECK: ldr s0, #81890# CHECK: ldr d0, #10485721891# CHECK: ldr q0, #-104857618920x40 0x00 0x00 0x1c18930xe0 0xff 0x7f 0x5c18940x00 0x00 0x80 0x9c1895 1896# CHECK: prfm pldl1strm, #01897# CHECK: prfm #22, #018980x01 0x00 0x00 0xd818990x16 0x00 0x00 0xd81900 1901#------------------------------------------------------------------------------1902# Load/store exclusive1903#------------------------------------------------------------------------------1904 1905#CHECK: stxrb w18, w8, [sp]1906#CHECK: stxrh w24, w15, [x16]1907#CHECK: stxr w5, w6, [x17]1908#CHECK: stxr w1, x10, [x21]1909#CHECK: stxr w1, x10, [x21]19100xe8 0x7f 0x12 0x0819110x0f 0x7e 0x18 0x4819120x26 0x7e 0x05 0x8819130xaa 0x7e 0x01 0xc819140xaa 0x7a 0x01 0xc81915 1916#CHECK: ldxrb w30, [x0]1917#CHECK: ldxrh w17, [x4]1918#CHECK: ldxr w22, [sp]1919#CHECK: ldxr x11, [x29]1920#CHECK: ldxr x11, [x29]1921#CHECK: ldxr x11, [x29]19220x1e 0x7c 0x5f 0x0819230x91 0x7c 0x5f 0x4819240xf6 0x7f 0x5f 0x8819250xab 0x7f 0x5f 0xc819260xab 0x6f 0x5f 0xc819270xab 0x7f 0x5e 0xc81928 1929#CHECK: stxp w12, w11, w10, [sp]1930#CHECK: stxp wzr, x27, x9, [x12]19310xeb 0x2b 0x2c 0x8819320x9b 0x25 0x3f 0xc81933 1934#CHECK: ldxp w0, wzr, [sp]1935#CHECK: ldxp x17, x0, [x18]1936#CHECK: ldxp x17, x0, [x18]19370xe0 0x7f 0x7f 0x8819380x51 0x02 0x7f 0xc819390x51 0x02 0x7e 0xc81940 1941#CHECK: stlxrb w12, w22, [x0]1942#CHECK: stlxrh w10, w1, [x1]1943#CHECK: stlxr w9, w2, [x2]1944#CHECK: stlxr w9, x3, [sp]1945 19460x16 0xfc 0x0c 0x0819470x21 0xfc 0x0a 0x4819480x42 0xfc 0x09 0x8819490xe3 0xff 0x09 0xc81950 1951#CHECK: ldaxrb w8, [x4]1952#CHECK: ldaxrh w7, [x5]1953#CHECK: ldaxr w6, [sp]1954#CHECK: ldaxr x5, [x6]1955#CHECK: ldaxr x5, [x6]1956#CHECK: ldaxr x5, [x6]19570x88 0xfc 0x5f 0x0819580xa7 0xfc 0x5f 0x4819590xe6 0xff 0x5f 0x8819600xc5 0xfc 0x5f 0xc819610xc5 0xec 0x5f 0xc819620xc5 0xfc 0x5e 0xc81963 1964#CHECK: stlxp w4, w5, w6, [sp]1965#CHECK: stlxp wzr, x6, x7, [x1]19660xe5 0x9b 0x24 0x8819670x26 0x9c 0x3f 0xc81968 1969#CHECK: ldaxp w5, w18, [sp]1970#CHECK: ldaxp x6, x19, [x22]1971#CHECK: ldaxp x6, x19, [x22]19720xe5 0xcb 0x7f 0x8819730xc6 0xce 0x7f 0xc819740xc6 0xce 0x7e 0xc81975 1976#CHECK: stlrb w24, [sp]1977#CHECK: stlrh w25, [x30]1978#CHECK: stlr w26, [x29]1979#CHECK: stlr x27, [x28]1980#CHECK: stlr x27, [x28]1981#CHECK: stlr x27, [x28]19820xf8 0xff 0x9f 0x0819830xd9 0xff 0x9f 0x4819840xba 0xff 0x9f 0x8819850x9b 0xff 0x9f 0xc819860x9b 0xef 0x9f 0xc819870x9b 0xff 0x9e 0xc81988 1989#CHECK: ldarb w23, [sp]1990#CHECK: ldarh w22, [x30]1991#CHECK: ldar wzr, [x29]1992#CHECK: ldar x21, [x28]1993#CHECK: ldar x21, [x28]1994#CHECK: ldar x21, [x28]19950xf7 0xff 0xdf 0x0819960xd6 0xff 0xdf 0x4819970xbf 0xff 0xdf 0x8819980x95 0xff 0xdf 0xc819990x95 0xef 0xdf 0xc820000x95 0xff 0xde 0xc82001 2002#------------------------------------------------------------------------------2003# Load/store (unscaled immediate)2004#------------------------------------------------------------------------------2005 2006# CHECK: sturb w9, [sp]2007# CHECK: sturh wzr, [x12, #255]2008# CHECK: stur w16, [x0, #-256]2009# CHECK: stur x28, [x14, #1]20100xe9 0x3 0x0 0x3820110x9f 0xf1 0xf 0x7820120x10 0x0 0x10 0xb820130xdc 0x11 0x0 0xf82014 2015# CHECK: ldurb w1, [x20, #255]2016# CHECK: ldurh w20, [x1, #255]2017# CHECK: ldur w12, [sp, #255]2018# CHECK: ldur xzr, [x12, #255]20190x81 0xf2 0x4f 0x3820200x34 0xf0 0x4f 0x7820210xec 0xf3 0x4f 0xb820220x9f 0xf1 0x4f 0xf82023 2024# CHECK: ldursb x9, [x7, #-256]2025# CHECK: ldursh x17, [x19, #-256]2026# CHECK: ldursw x20, [x15, #-256]2027# CHECK: prfum pldl2keep, [sp, #-256]2028# CHECK: ldursb w19, [x1, #-256]2029# CHECK: ldursh w15, [x21, #-256]20300xe9 0x0 0x90 0x3820310x71 0x2 0x90 0x7820320xf4 0x1 0x90 0xb820330xe2 0x3 0x90 0xf820340x33 0x0 0xd0 0x3820350xaf 0x2 0xd0 0x782036 2037# CHECK: stur b0, [sp, #1]2038# CHECK: stur h12, [x12, #-1]2039# CHECK: stur s15, [x0, #255]2040# CHECK: stur d31, [x5, #25]2041# CHECK: stur q9, [x5]20420xe0 0x13 0x0 0x3c20430x8c 0xf1 0x1f 0x7c20440xf 0xf0 0xf 0xbc20450xbf 0x90 0x1 0xfc20460xa9 0x0 0x80 0x3c2047 2048# CHECK: ldur b3, [sp]2049# CHECK: ldur h5, [x4, #-256]2050# CHECK: ldur s7, [x12, #-1]2051# CHECK: ldur d11, [x19, #4]2052# CHECK: ldur q13, [x1, #2]20530xe3 0x3 0x40 0x3c20540x85 0x0 0x50 0x7c20550x87 0xf1 0x5f 0xbc20560x6b 0x42 0x40 0xfc20570x2d 0x20 0xc0 0x3c2058 2059#------------------------------------------------------------------------------2060# Load/store (immediate post-indexed)2061#------------------------------------------------------------------------------2062 2063# E.g. "str xzr, [sp], #4" is *not* unpredictable2064# CHECK-NOT: warning: potentially undefined instruction encoding20650xff 0x47 0x40 0xb82066 2067# CHECK: strb w9, [x2], #2552068# CHECK: strb w10, [x3], #12069# CHECK: strb w10, [x3], #-2562070# CHECK: strh w9, [x2], #2552071# CHECK: strh w9, [x2], #12072# CHECK: strh w10, [x3], #-25620730x49 0xf4 0xf 0x3820740x6a 0x14 0x0 0x3820750x6a 0x4 0x10 0x3820760x49 0xf4 0xf 0x7820770x49 0x14 0x0 0x7820780x6a 0x4 0x10 0x782079 2080# CHECK: str w19, [sp], #2552081# CHECK: str w20, [x30], #12082# CHECK: str w21, [x12], #-2562083# CHECK: str xzr, [x9], #2552084# CHECK: str x2, [x3], #12085# CHECK: str x19, [x12], #-25620860xf3 0xf7 0xf 0xb820870xd4 0x17 0x0 0xb820880x95 0x5 0x10 0xb820890x3f 0xf5 0xf 0xf820900x62 0x14 0x0 0xf820910x93 0x5 0x10 0xf82092 2093# CHECK: ldrb w9, [x2], #2552094# CHECK: ldrb w10, [x3], #12095# CHECK: ldrb w10, [x3], #-2562096# CHECK: ldrh w9, [x2], #2552097# CHECK: ldrh w9, [x2], #12098# CHECK: ldrh w10, [x3], #-25620990x49 0xf4 0x4f 0x3821000x6a 0x14 0x40 0x3821010x6a 0x4 0x50 0x3821020x49 0xf4 0x4f 0x7821030x49 0x14 0x40 0x7821040x6a 0x4 0x50 0x782105 2106# CHECK: ldr w19, [sp], #2552107# CHECK: ldr w20, [x30], #12108# CHECK: ldr w21, [x12], #-2562109# CHECK: ldr xzr, [x9], #2552110# CHECK: ldr x2, [x3], #12111# CHECK: ldr x19, [x12], #-25621120xf3 0xf7 0x4f 0xb821130xd4 0x17 0x40 0xb821140x95 0x5 0x50 0xb821150x3f 0xf5 0x4f 0xf821160x62 0x14 0x40 0xf821170x93 0x5 0x50 0xf82118 2119# CHECK: ldrsb xzr, [x9], #2552120# CHECK: ldrsb x2, [x3], #12121# CHECK: ldrsb x19, [x12], #-2562122# CHECK: ldrsh xzr, [x9], #2552123# CHECK: ldrsh x2, [x3], #12124# CHECK: ldrsh x19, [x12], #-2562125# CHECK: ldrsw xzr, [x9], #2552126# CHECK: ldrsw x2, [x3], #12127# CHECK: ldrsw x19, [x12], #-25621280x3f 0xf5 0x8f 0x3821290x62 0x14 0x80 0x3821300x93 0x5 0x90 0x3821310x3f 0xf5 0x8f 0x7821320x62 0x14 0x80 0x7821330x93 0x5 0x90 0x7821340x3f 0xf5 0x8f 0xb821350x62 0x14 0x80 0xb821360x93 0x5 0x90 0xb82137 2138# CHECK: ldrsb wzr, [x9], #2552139# CHECK: ldrsb w2, [x3], #12140# CHECK: ldrsb w19, [x12], #-2562141# CHECK: ldrsh wzr, [x9], #2552142# CHECK: ldrsh w2, [x3], #12143# CHECK: ldrsh w19, [x12], #-25621440x3f 0xf5 0xcf 0x3821450x62 0x14 0xc0 0x3821460x93 0x5 0xd0 0x3821470x3f 0xf5 0xcf 0x7821480x62 0x14 0xc0 0x7821490x93 0x5 0xd0 0x782150 2151# CHECK: str b0, [x0], #2552152# CHECK: str b3, [x3], #12153# CHECK: str b5, [sp], #-2562154# CHECK: str h10, [x10], #2552155# CHECK: str h13, [x23], #12156# CHECK: str h15, [sp], #-2562157# CHECK: str s20, [x20], #2552158# CHECK: str s23, [x23], #12159# CHECK: str s25, [x0], #-2562160# CHECK: str d20, [x20], #2552161# CHECK: str d23, [x23], #12162# CHECK: str d25, [x0], #-25621630x0 0xf4 0xf 0x3c21640x63 0x14 0x0 0x3c21650xe5 0x7 0x10 0x3c21660x4a 0xf5 0xf 0x7c21670xed 0x16 0x0 0x7c21680xef 0x7 0x10 0x7c21690x94 0xf6 0xf 0xbc21700xf7 0x16 0x0 0xbc21710x19 0x4 0x10 0xbc21720x94 0xf6 0xf 0xfc21730xf7 0x16 0x0 0xfc21740x19 0x4 0x10 0xfc2175 2176# CHECK: ldr b0, [x0], #2552177# CHECK: ldr b3, [x3], #12178# CHECK: ldr b5, [sp], #-2562179# CHECK: ldr h10, [x10], #2552180# CHECK: ldr h13, [x23], #12181# CHECK: ldr h15, [sp], #-2562182# CHECK: ldr s20, [x20], #2552183# CHECK: ldr s23, [x23], #12184# CHECK: ldr s25, [x0], #-2562185# CHECK: ldr d20, [x20], #2552186# CHECK: ldr d23, [x23], #12187# CHECK: ldr d25, [x0], #-25621880x0 0xf4 0x4f 0x3c21890x63 0x14 0x40 0x3c21900xe5 0x7 0x50 0x3c21910x4a 0xf5 0x4f 0x7c21920xed 0x16 0x40 0x7c21930xef 0x7 0x50 0x7c21940x94 0xf6 0x4f 0xbc21950xf7 0x16 0x40 0xbc21960x19 0x4 0x50 0xbc21970x94 0xf6 0x4f 0xfc21980xf7 0x16 0x40 0xfc21990x19 0x4 0x50 0xfc22000x34 0xf4 0xcf 0x3c2201 2202# CHECK: ldr q20, [x1], #2552203# CHECK: ldr q23, [x9], #12204# CHECK: ldr q25, [x20], #-2562205# CHECK: str q10, [x1], #2552206# CHECK: str q22, [sp], #12207# CHECK: str q21, [x20], #-25622080x37 0x15 0xc0 0x3c22090x99 0x6 0xd0 0x3c22100x2a 0xf4 0x8f 0x3c22110xf6 0x17 0x80 0x3c22120x95 0x6 0x90 0x3c2213 2214#-------------------------------------------------------------------------------2215# Load-store register (immediate pre-indexed)2216#-------------------------------------------------------------------------------2217 2218# E.g. "str xzr, [sp, #4]!" is *not* unpredictable2219# CHECK-NOT: warning: potentially undefined instruction encoding22200xff 0xf 0x40 0xf82221 2222# CHECK: ldr x3, [x4, #0]!22230x83 0xc 0x40 0xf82224 2225# CHECK: strb w9, [x2, #255]!2226# CHECK: strb w10, [x3, #1]!2227# CHECK: strb w10, [x3, #-256]!2228# CHECK: strh w9, [x2, #255]!2229# CHECK: strh w9, [x2, #1]!2230# CHECK: strh w10, [x3, #-256]!22310x49 0xfc 0xf 0x3822320x6a 0x1c 0x0 0x3822330x6a 0xc 0x10 0x3822340x49 0xfc 0xf 0x7822350x49 0x1c 0x0 0x7822360x6a 0xc 0x10 0x782237 2238# CHECK: str w19, [sp, #255]!2239# CHECK: str w20, [x30, #1]!2240# CHECK: str w21, [x12, #-256]!2241# CHECK: str xzr, [x9, #255]!2242# CHECK: str x2, [x3, #1]!2243# CHECK: str x19, [x12, #-256]!22440xf3 0xff 0xf 0xb822450xd4 0x1f 0x0 0xb822460x95 0xd 0x10 0xb822470x3f 0xfd 0xf 0xf822480x62 0x1c 0x0 0xf822490x93 0xd 0x10 0xf82250 2251# CHECK: ldrb w9, [x2, #255]!2252# CHECK: ldrb w10, [x3, #1]!2253# CHECK: ldrb w10, [x3, #-256]!2254# CHECK: ldrh w9, [x2, #255]!2255# CHECK: ldrh w9, [x2, #1]!2256# CHECK: ldrh w10, [x3, #-256]!22570x49 0xfc 0x4f 0x3822580x6a 0x1c 0x40 0x3822590x6a 0xc 0x50 0x3822600x49 0xfc 0x4f 0x7822610x49 0x1c 0x40 0x7822620x6a 0xc 0x50 0x782263 2264# CHECK: ldr w19, [sp, #255]!2265# CHECK: ldr w20, [x30, #1]!2266# CHECK: ldr w21, [x12, #-256]!2267# CHECK: ldr xzr, [x9, #255]!2268# CHECK: ldr x2, [x3, #1]!2269# CHECK: ldr x19, [x12, #-256]!22700xf3 0xff 0x4f 0xb822710xd4 0x1f 0x40 0xb822720x95 0xd 0x50 0xb822730x3f 0xfd 0x4f 0xf822740x62 0x1c 0x40 0xf822750x93 0xd 0x50 0xf82276 2277# CHECK: ldrsb xzr, [x9, #255]!2278# CHECK: ldrsb x2, [x3, #1]!2279# CHECK: ldrsb x19, [x12, #-256]!2280# CHECK: ldrsh xzr, [x9, #255]!2281# CHECK: ldrsh x2, [x3, #1]!2282# CHECK: ldrsh x19, [x12, #-256]!2283# CHECK: ldrsw xzr, [x9, #255]!2284# CHECK: ldrsw x2, [x3, #1]!2285# CHECK: ldrsw x19, [x12, #-256]!22860x3f 0xfd 0x8f 0x3822870x62 0x1c 0x80 0x3822880x93 0xd 0x90 0x3822890x3f 0xfd 0x8f 0x7822900x62 0x1c 0x80 0x7822910x93 0xd 0x90 0x7822920x3f 0xfd 0x8f 0xb822930x62 0x1c 0x80 0xb822940x93 0xd 0x90 0xb82295 2296# CHECK: ldrsb wzr, [x9, #255]!2297# CHECK: ldrsb w2, [x3, #1]!2298# CHECK: ldrsb w19, [x12, #-256]!2299# CHECK: ldrsh wzr, [x9, #255]!2300# CHECK: ldrsh w2, [x3, #1]!2301# CHECK: ldrsh w19, [x12, #-256]!23020x3f 0xfd 0xcf 0x3823030x62 0x1c 0xc0 0x3823040x93 0xd 0xd0 0x3823050x3f 0xfd 0xcf 0x7823060x62 0x1c 0xc0 0x7823070x93 0xd 0xd0 0x782308 2309# CHECK: str b0, [x0, #255]!2310# CHECK: str b3, [x3, #1]!2311# CHECK: str b5, [sp, #-256]!2312# CHECK: str h10, [x10, #255]!2313# CHECK: str h13, [x23, #1]!2314# CHECK: str h15, [sp, #-256]!2315# CHECK: str s20, [x20, #255]!2316# CHECK: str s23, [x23, #1]!2317# CHECK: str s25, [x0, #-256]!2318# CHECK: str d20, [x20, #255]!2319# CHECK: str d23, [x23, #1]!2320# CHECK: str d25, [x0, #-256]!23210x0 0xfc 0xf 0x3c23220x63 0x1c 0x0 0x3c23230xe5 0xf 0x10 0x3c23240x4a 0xfd 0xf 0x7c23250xed 0x1e 0x0 0x7c23260xef 0xf 0x10 0x7c23270x94 0xfe 0xf 0xbc23280xf7 0x1e 0x0 0xbc23290x19 0xc 0x10 0xbc23300x94 0xfe 0xf 0xfc23310xf7 0x1e 0x0 0xfc23320x19 0xc 0x10 0xfc2333 2334# CHECK: ldr b0, [x0, #255]!2335# CHECK: ldr b3, [x3, #1]!2336# CHECK: ldr b5, [sp, #-256]!2337# CHECK: ldr h10, [x10, #255]!2338# CHECK: ldr h13, [x23, #1]!2339# CHECK: ldr h15, [sp, #-256]!2340# CHECK: ldr s20, [x20, #255]!2341# CHECK: ldr s23, [x23, #1]!2342# CHECK: ldr s25, [x0, #-256]!2343# CHECK: ldr d20, [x20, #255]!2344# CHECK: ldr d23, [x23, #1]!2345# CHECK: ldr d25, [x0, #-256]!23460x0 0xfc 0x4f 0x3c23470x63 0x1c 0x40 0x3c23480xe5 0xf 0x50 0x3c23490x4a 0xfd 0x4f 0x7c23500xed 0x1e 0x40 0x7c23510xef 0xf 0x50 0x7c23520x94 0xfe 0x4f 0xbc23530xf7 0x1e 0x40 0xbc23540x19 0xc 0x50 0xbc23550x94 0xfe 0x4f 0xfc23560xf7 0x1e 0x40 0xfc23570x19 0xc 0x50 0xfc2358 2359# CHECK: ldr q20, [x1, #255]!2360# CHECK: ldr q23, [x9, #1]!2361# CHECK: ldr q25, [x20, #-256]!2362# CHECK: str q10, [x1, #255]!2363# CHECK: str q22, [sp, #1]!2364# CHECK: str q21, [x20, #-256]!23650x34 0xfc 0xcf 0x3c23660x37 0x1d 0xc0 0x3c23670x99 0xe 0xd0 0x3c23680x2a 0xfc 0x8f 0x3c23690xf6 0x1f 0x80 0x3c23700x95 0xe 0x90 0x3c2371 2372#------------------------------------------------------------------------------2373# Load/store (unprivileged)2374#------------------------------------------------------------------------------2375 2376# CHECK: sttrb w9, [sp]2377# CHECK: sttrh wzr, [x12, #255]2378# CHECK: sttr w16, [x0, #-256]2379# CHECK: sttr x28, [x14, #1]23800xe9 0x0b 0x0 0x3823810x9f 0xf9 0xf 0x7823820x10 0x08 0x10 0xb823830xdc 0x19 0x0 0xf82384 2385# CHECK: ldtrb w1, [x20, #255]2386# CHECK: ldtrh w20, [x1, #255]2387# CHECK: ldtr w12, [sp, #255]2388# CHECK: ldtr xzr, [x12, #255]23890x81 0xfa 0x4f 0x3823900x34 0xf8 0x4f 0x7823910xec 0xfb 0x4f 0xb823920x9f 0xf9 0x4f 0xf82393 2394# CHECK: ldtrsb x9, [x7, #-256]2395# CHECK: ldtrsh x17, [x19, #-256]2396# CHECK: ldtrsw x20, [x15, #-256]2397# CHECK: ldtrsb w19, [x1, #-256]2398# CHECK: ldtrsh w15, [x21, #-256]23990xe9 0x08 0x90 0x3824000x71 0x0a 0x90 0x7824010xf4 0x09 0x90 0xb824020x33 0x08 0xd0 0x3824030xaf 0x0a 0xd0 0x782404 2405#------------------------------------------------------------------------------2406# Load/store (unsigned immediate)2407#------------------------------------------------------------------------------2408 2409# CHECK: ldr x0, [x0]2410# CHECK: ldr x4, [x29]2411# CHECK: ldr x30, [x12, #32760]2412# CHECK: ldr x20, [sp, #8]24130x0 0x0 0x40 0xf924140xa4 0x3 0x40 0xf924150x9e 0xfd 0x7f 0xf924160xf4 0x7 0x40 0xf92417 2418# CHECK: ldr xzr, [sp]24190xff 0x3 0x40 0xf92420 2421# CHECK: ldr w2, [sp]2422# CHECK: ldr w17, [sp, #16380]2423# CHECK: ldr w13, [x2, #4]24240xe2 0x3 0x40 0xb924250xf1 0xff 0x7f 0xb924260x4d 0x4 0x40 0xb92427 2428# CHECK: ldrsw x2, [x5, #4]2429# CHECK: ldrsw x23, [sp, #16380]24300xa2 0x4 0x80 0xb924310xf7 0xff 0xbf 0xb92432 2433# CHECK: ldrh w2, [x4]2434# CHECK: ldrsh w23, [x6, #8190]2435# CHECK: ldrsh wzr, [sp, #2]2436# CHECK: ldrsh x29, [x2, #2]24370x82 0x0 0x40 0x7924380xd7 0xfc 0xff 0x7924390xff 0x7 0xc0 0x7924400x5d 0x4 0x80 0x792441 2442# CHECK: ldrb w26, [x3, #121]2443# CHECK: ldrb w12, [x2]2444# CHECK: ldrsb w27, [sp, #4095]2445# CHECK: ldrsb xzr, [x15]24460x7a 0xe4 0x41 0x3924470x4c 0x0 0x40 0x3924480xfb 0xff 0xff 0x3924490xff 0x1 0x80 0x392450 2451# CHECK: str x30, [sp]2452# CHECK: str w20, [x4, #16380]2453# CHECK: strh w20, [x10, #14]2454# CHECK: strh w17, [sp, #8190]2455# CHECK: strb w23, [x3, #4095]2456# CHECK: strb wzr, [x2]24570xfe 0x3 0x0 0xf924580x94 0xfc 0x3f 0xb924590x54 0x1d 0x0 0x7924600xf1 0xff 0x3f 0x7924610x77 0xfc 0x3f 0x3924620x5f 0x0 0x0 0x392463 2464# CHECK: ldr b31, [sp, #4095]2465# CHECK: ldr h20, [x2, #8190]2466# CHECK: ldr s10, [x19, #16380]2467# CHECK: ldr d3, [x10, #32760]2468# CHECK: str q12, [sp, #65520]24690xff 0xff 0x7f 0x3d24700x54 0xfc 0x7f 0x7d24710x6a 0xfe 0x7f 0xbd24720x43 0xfd 0x7f 0xfd24730xec 0xff 0xbf 0x3d2474 2475# CHECK: prfm pldl1keep, [sp, #8]2476# CHECK: prfm pldl1strm, [x3{{(, #0)?}}]2477# CHECK: prfm pldl2keep, [x5, #16]2478# CHECK: prfm pldl2strm, [x2{{(, #0)?}}]2479# CHECK: prfm pldl3keep, [x5{{(, #0)?}}]2480# CHECK: prfm pldl3strm, [x6{{(, #0)?}}]2481# CHECK: prfm plil1keep, [sp, #8]2482# CHECK: prfm plil1strm, [x3{{(, #0)?}}]2483# CHECK: prfm plil2keep, [x5, #16]2484# CHECK: prfm plil2strm, [x2{{(, #0)?}}]2485# CHECK: prfm plil3keep, [x5{{(, #0)?}}]2486# CHECK: prfm plil3strm, [x6{{(, #0)?}}]2487# CHECK: prfm pstl1keep, [sp, #8]2488# CHECK: prfm pstl1strm, [x3{{(, #0)?}}]2489# CHECK: prfm pstl2keep, [x5, #16]2490# CHECK: prfm pstl2strm, [x2{{(, #0)?}}]2491# CHECK: prfm pstl3keep, [x5{{(, #0)?}}]2492# CHECK: prfm pstl3strm, [x6{{(, #0)?}}]24930xe0 0x07 0x80 0xf924940x61 0x00 0x80 0xf924950xa2 0x08 0x80 0xf924960x43 0x00 0x80 0xf924970xa4 0x00 0x80 0xf924980xc5 0x00 0x80 0xf924990xe8 0x07 0x80 0xf925000x69 0x00 0x80 0xf925010xaa 0x08 0x80 0xf925020x4b 0x00 0x80 0xf925030xac 0x00 0x80 0xf925040xcd 0x00 0x80 0xf925050xf0 0x07 0x80 0xf925060x71 0x00 0x80 0xf925070xb2 0x08 0x80 0xf925080x53 0x00 0x80 0xf925090xb4 0x00 0x80 0xf925100xd5 0x00 0x80 0xf92511 2512 2513#------------------------------------------------------------------------------2514# Load/store (register offset)2515#------------------------------------------------------------------------------2516 2517# CHECK: ldrb w3, [sp, x5]2518# CHECK: ldrb w9, [x27, x6]2519# CHECK: ldrsb w10, [x30, x7]2520# CHECK: ldrb w11, [x29, x3, sxtx]2521# CHECK: strb w12, [x28, xzr, sxtx]2522# CHECK: ldrb w14, [x26, w6, uxtw]2523# CHECK: ldrsb w15, [x25, w7, uxtw]2524# CHECK: ldrb w17, [x23, w9, sxtw]2525# CHECK: ldrsb x18, [x22, w10, sxtw]25260xe3 0x6b 0x65 0x3825270x69 0x6b 0x66 0x3825280xca 0x6b 0xe7 0x3825290xab 0xeb 0x63 0x3825300x8c 0xeb 0x3f 0x3825310x4e 0x4b 0x66 0x3825320x2f 0x4b 0xe7 0x3825330xf1 0xca 0x69 0x3825340xd2 0xca 0xaa 0x382535 2536# CHECK: ldrsh w3, [sp, x5]2537# CHECK: ldrsh w9, [x27, x6]2538# CHECK: ldrh w10, [x30, x7, lsl #1]2539# CHECK: strh w11, [x29, x3, sxtx]2540# CHECK: ldrh w12, [x28, xzr, sxtx]2541# CHECK: ldrsh x13, [x27, x5, sxtx #1]2542# CHECK: ldrh w14, [x26, w6, uxtw]2543# CHECK: ldrh w15, [x25, w7, uxtw]2544# CHECK: ldrsh w16, [x24, w8, uxtw #1]2545# CHECK: ldrh w17, [x23, w9, sxtw]2546# CHECK: ldrh w18, [x22, w10, sxtw]2547# CHECK: strh w19, [x21, wzr, sxtw #1]25480xe3 0x6b 0xe5 0x7825490x69 0x6b 0xe6 0x7825500xca 0x7b 0x67 0x7825510xab 0xeb 0x23 0x7825520x8c 0xeb 0x7f 0x7825530x6d 0xfb 0xa5 0x7825540x4e 0x4b 0x66 0x7825550x2f 0x4b 0x67 0x7825560x10 0x5b 0xe8 0x7825570xf1 0xca 0x69 0x7825580xd2 0xca 0x6a 0x7825590xb3 0xda 0x3f 0x782560 2561# CHECK: ldr w3, [sp, x5]2562# CHECK: ldr s9, [x27, x6]2563# CHECK: ldr w10, [x30, x7, lsl #2]2564# CHECK: ldr w11, [x29, x3, sxtx]2565# CHECK: str s12, [x28, xzr, sxtx]2566# CHECK: str w13, [x27, x5, sxtx #2]2567# CHECK: str w14, [x26, w6, uxtw]2568# CHECK: ldr w15, [x25, w7, uxtw]2569# CHECK: ldr w16, [x24, w8, uxtw #2]2570# CHECK: ldrsw x17, [x23, w9, sxtw]2571# CHECK: ldr w18, [x22, w10, sxtw]2572# CHECK: ldrsw x19, [x21, wzr, sxtw #2]25730xe3 0x6b 0x65 0xb825740x69 0x6b 0x66 0xbc25750xca 0x7b 0x67 0xb825760xab 0xeb 0x63 0xb825770x8c 0xeb 0x3f 0xbc25780x6d 0xfb 0x25 0xb825790x4e 0x4b 0x26 0xb825800x2f 0x4b 0x67 0xb825810x10 0x5b 0x68 0xb825820xf1 0xca 0xa9 0xb825830xd2 0xca 0x6a 0xb825840xb3 0xda 0xbf 0xb82585 2586# CHECK: ldr x3, [sp, x5]2587# CHECK: str x9, [x27, x6]2588# CHECK: ldr d10, [x30, x7, lsl #3]2589# CHECK: str x11, [x29, x3, sxtx]2590# CHECK: ldr x12, [x28, xzr, sxtx]2591# CHECK: ldr x13, [x27, x5, sxtx #3]2592# CHECK: prfm pldl1keep, [x26, w6, uxtw]2593# CHECK: ldr x15, [x25, w7, uxtw]2594# CHECK: ldr x16, [x24, w8, uxtw #3]2595# CHECK: ldr x17, [x23, w9, sxtw]2596# CHECK: ldr x18, [x22, w10, sxtw]2597# CHECK: str d19, [x21, wzr, sxtw #3]25980xe3 0x6b 0x65 0xf825990x69 0x6b 0x26 0xf826000xca 0x7b 0x67 0xfc26010xab 0xeb 0x23 0xf826020x8c 0xeb 0x7f 0xf826030x6d 0xfb 0x65 0xf826040x40 0x4b 0xa6 0xf826050x2f 0x4b 0x67 0xf826060x10 0x5b 0x68 0xf826070xf1 0xca 0x69 0xf826080xd2 0xca 0x6a 0xf826090xb3 0xda 0x3f 0xfc2610 2611# CHECK: ldr q3, [sp, x5]2612# CHECK: ldr q9, [x27, x6]2613# CHECK: ldr q10, [x30, x7, lsl #4]2614# CHECK: str q11, [x29, x3, sxtx]2615# CHECK: str q12, [x28, xzr, sxtx]2616# CHECK: str q13, [x27, x5, sxtx #4]2617# CHECK: ldr q14, [x26, w6, uxtw]2618# CHECK: ldr q15, [x25, w7, uxtw]2619# CHECK: ldr q16, [x24, w8, uxtw #4]2620# CHECK: ldr q17, [x23, w9, sxtw]2621# CHECK: str q18, [x22, w10, sxtw]2622# CHECK: ldr q19, [x21, wzr, sxtw #4]26230xe3 0x6b 0xe5 0x3c26240x69 0x6b 0xe6 0x3c26250xca 0x7b 0xe7 0x3c26260xab 0xeb 0xa3 0x3c26270x8c 0xeb 0xbf 0x3c26280x6d 0xfb 0xa5 0x3c26290x4e 0x4b 0xe6 0x3c26300x2f 0x4b 0xe7 0x3c26310x10 0x5b 0xe8 0x3c26320xf1 0xca 0xe9 0x3c26330xd2 0xca 0xaa 0x3c26340xb3 0xda 0xff 0x3c2635 2636#------------------------------------------------------------------------------2637# Load/store register pair (offset)2638#------------------------------------------------------------------------------2639 2640# CHECK: ldp w3, w5, [sp]2641# CHECK: stp wzr, w9, [sp, #252]2642# CHECK: ldp w2, wzr, [sp, #-256]2643# CHECK: ldp w9, w10, [sp, #4]26440xe3 0x17 0x40 0x2926450xff 0xa7 0x1f 0x2926460xe2 0x7f 0x60 0x2926470xe9 0xab 0x40 0x292648 2649# CHECK: ldpsw x9, x10, [sp, #4]2650# CHECK: ldpsw x9, x10, [x2, #-256]2651# CHECK: ldpsw x20, x30, [sp, #252]26520xe9 0xab 0x40 0x6926530x49 0x28 0x60 0x6926540xf4 0xfb 0x5f 0x692655 2656# CHECK: ldp x21, x29, [x2, #504]2657# CHECK: ldp x22, x23, [x3, #-512]2658# CHECK: ldp x24, x25, [x4, #8]26590x55 0xf4 0x5f 0xa926600x76 0x5c 0x60 0xa926610x98 0xe4 0x40 0xa92662 2663# CHECK: ldp s29, s28, [sp, #252]2664# CHECK: stp s27, s26, [sp, #-256]2665# CHECK: ldp s1, s2, [x3, #44]26660xfd 0xf3 0x5f 0x2d26670xfb 0x6b 0x20 0x2d26680x61 0x88 0x45 0x2d2669 2670# CHECK: stp d3, d5, [x9, #504]2671# CHECK: stp d7, d11, [x10, #-512]2672# CHECK: ldp d2, d3, [x30, #-8]26730x23 0x95 0x1f 0x6d26740x47 0x2d 0x20 0x6d26750xc2 0x8f 0x7f 0x6d2676 2677# CHECK: stp q3, q5, [sp]2678# CHECK: stp q17, q19, [sp, #1008]2679# CHECK: ldp q23, q29, [x1, #-1024]26800xe3 0x17 0x0 0xad26810xf1 0xcf 0x1f 0xad26820x37 0x74 0x60 0xad2683 2684#------------------------------------------------------------------------------2685# Load/store register pair (post-indexed)2686#------------------------------------------------------------------------------2687 2688# CHECK: ldp w3, w5, [sp], #02689# CHECK: stp wzr, w9, [sp], #2522690# CHECK: ldp w2, wzr, [sp], #-2562691# CHECK: ldp w9, w10, [sp], #426920xe3 0x17 0xc0 0x2826930xff 0xa7 0x9f 0x2826940xe2 0x7f 0xe0 0x2826950xe9 0xab 0xc0 0x282696 2697# CHECK: ldpsw x9, x10, [sp], #42698# CHECK: ldpsw x9, x10, [x2], #-2562699# CHECK: ldpsw x20, x30, [sp], #25227000xe9 0xab 0xc0 0x6827010x49 0x28 0xe0 0x6827020xf4 0xfb 0xdf 0x682703 2704# CHECK: ldp x21, x29, [x2], #5042705# CHECK: ldp x22, x23, [x3], #-5122706# CHECK: ldp x24, x25, [x4], #827070x55 0xf4 0xdf 0xa827080x76 0x5c 0xe0 0xa827090x98 0xe4 0xc0 0xa82710 2711# CHECK: ldp s29, s28, [sp], #2522712# CHECK: stp s27, s26, [sp], #-2562713# CHECK: ldp s1, s2, [x3], #4427140xfd 0xf3 0xdf 0x2c27150xfb 0x6b 0xa0 0x2c27160x61 0x88 0xc5 0x2c2717 2718# CHECK: stp d3, d5, [x9], #5042719# CHECK: stp d7, d11, [x10], #-5122720# CHECK: ldp d2, d3, [x30], #-827210x23 0x95 0x9f 0x6c27220x47 0x2d 0xa0 0x6c27230xc2 0x8f 0xff 0x6c2724 2725# CHECK: stp q3, q5, [sp], #02726# CHECK: stp q17, q19, [sp], #10082727# CHECK: ldp q23, q29, [x1], #-102427280xe3 0x17 0x80 0xac27290xf1 0xcf 0x9f 0xac27300x37 0x74 0xe0 0xac2731 2732#------------------------------------------------------------------------------2733# Load/store register pair (pre-indexed)2734#------------------------------------------------------------------------------2735 2736# CHECK: ldp w3, w5, [sp, #0]!2737# CHECK: stp wzr, w9, [sp, #252]!2738# CHECK: ldp w2, wzr, [sp, #-256]!2739# CHECK: ldp w9, w10, [sp, #4]!27400xe3 0x17 0xc0 0x2927410xff 0xa7 0x9f 0x2927420xe2 0x7f 0xe0 0x2927430xe9 0xab 0xc0 0x292744 2745# CHECK: ldpsw x9, x10, [sp, #4]!2746# CHECK: ldpsw x9, x10, [x2, #-256]!2747# CHECK: ldpsw x20, x30, [sp, #252]!27480xe9 0xab 0xc0 0x6927490x49 0x28 0xe0 0x6927500xf4 0xfb 0xdf 0x692751 2752# CHECK: ldp x21, x29, [x2, #504]!2753# CHECK: ldp x22, x23, [x3, #-512]!2754# CHECK: ldp x24, x25, [x4, #8]!27550x55 0xf4 0xdf 0xa927560x76 0x5c 0xe0 0xa927570x98 0xe4 0xc0 0xa92758 2759# CHECK: ldp s29, s28, [sp, #252]!2760# CHECK: stp s27, s26, [sp, #-256]!2761# CHECK: ldp s1, s2, [x3, #44]!27620xfd 0xf3 0xdf 0x2d27630xfb 0x6b 0xa0 0x2d27640x61 0x88 0xc5 0x2d2765 2766# CHECK: stp d3, d5, [x9, #504]!2767# CHECK: stp d7, d11, [x10, #-512]!2768# CHECK: ldp d2, d3, [x30, #-8]!27690x23 0x95 0x9f 0x6d27700x47 0x2d 0xa0 0x6d27710xc2 0x8f 0xff 0x6d2772 2773# CHECK: stp q3, q5, [sp, #0]!2774# CHECK: stp q17, q19, [sp, #1008]!2775# CHECK: ldp q23, q29, [x1, #-1024]!27760xe3 0x17 0x80 0xad27770xf1 0xcf 0x9f 0xad27780x37 0x74 0xe0 0xad2779 2780#------------------------------------------------------------------------------2781# Load/store register pair (offset)2782#------------------------------------------------------------------------------2783 2784# CHECK: ldnp w3, w5, [sp]2785# CHECK: stnp wzr, w9, [sp, #252]2786# CHECK: ldnp w2, wzr, [sp, #-256]2787# CHECK: ldnp w9, w10, [sp, #4]27880xe3 0x17 0x40 0x2827890xff 0xa7 0x1f 0x2827900xe2 0x7f 0x60 0x2827910xe9 0xab 0x40 0x282792 2793# CHECK: ldnp x21, x29, [x2, #504]2794# CHECK: ldnp x22, x23, [x3, #-512]2795# CHECK: ldnp x24, x25, [x4, #8]27960x55 0xf4 0x5f 0xa827970x76 0x5c 0x60 0xa827980x98 0xe4 0x40 0xa82799 2800# CHECK: ldnp s29, s28, [sp, #252]2801# CHECK: stnp s27, s26, [sp, #-256]2802# CHECK: ldnp s1, s2, [x3, #44]28030xfd 0xf3 0x5f 0x2c28040xfb 0x6b 0x20 0x2c28050x61 0x88 0x45 0x2c2806 2807# CHECK: stnp d3, d5, [x9, #504]2808# CHECK: stnp d7, d11, [x10, #-512]2809# CHECK: ldnp d2, d3, [x30, #-8]28100x23 0x95 0x1f 0x6c28110x47 0x2d 0x20 0x6c28120xc2 0x8f 0x7f 0x6c2813 2814# CHECK: stnp q3, q5, [sp]2815# CHECK: stnp q17, q19, [sp, #1008]2816# CHECK: ldnp q23, q29, [x1, #-1024]28170xe3 0x17 0x0 0xac28180xf1 0xcf 0x1f 0xac28190x37 0x74 0x60 0xac2820 2821#------------------------------------------------------------------------------2822# Logical (immediate)2823#------------------------------------------------------------------------------2824# CHECK: orr w3, w9, #0xffff00002825# CHECK: orr wsp, w10, #0xe00000ff2826# CHECK: orr w9, w10, #0x3ff28270x23 0x3d 0x10 0x3228280x5f 0x29 0x3 0x3228290x49 0x25 0x0 0x322830 2831# CHECK: and w14, w15, #0x800080002832# CHECK: and w12, w13, #0xffc3ffc32833# CHECK: and w11, wzr, #0x3000328340xee 0x81 0x1 0x1228350xac 0xad 0xa 0x1228360xeb 0x87 0x0 0x122837 2838# CHECK: eor w3, w6, #0xe0e0e0e02839# CHECK: eor wsp, wzr, #0x30303032840# CHECK: eor w16, w17, #0x8181818128410xc3 0xc8 0x3 0x5228420xff 0xc7 0x0 0x5228430x30 0xc6 0x1 0x522844 2845# CHECK: {{ands wzr,|tst}} w18, #0xcccccccc2846# CHECK: ands w19, w20, #0x333333332847# CHECK: ands w21, w22, #0x9999999928480x5f 0xe6 0x2 0x7228490x93 0xe6 0x0 0x7228500xd5 0xe6 0x1 0x722851 2852# CHECK: {{ands wzr,|tst}} w3, #0xaaaaaaaa2853# CHECK: {{ands wzr,|tst}} wzr, #0x5555555528540x7f 0xf0 0x1 0x7228550xff 0xf3 0x0 0x722856 2857# CHECK: eor x3, x5, #0xffffffffc0000002858# CHECK: and x9, x10, #0x7fffffffffff2859# CHECK: orr x11, x12, #0x8000000000000fff28600xa3 0x84 0x66 0xd228610x49 0xb9 0x40 0x9228620x8b 0x31 0x41 0xb22863 2864# CHECK: orr x3, x9, #0xffff0000ffff00002865# CHECK: orr sp, x10, #0xe00000ffe00000ff2866# CHECK: orr x9, x10, #0x3ff000003ff28670x23 0x3d 0x10 0xb228680x5f 0x29 0x3 0xb228690x49 0x25 0x0 0xb22870 2871# CHECK: and x14, x15, #0x80008000800080002872# CHECK: and x12, x13, #0xffc3ffc3ffc3ffc32873# CHECK: and x11, xzr, #0x300030003000328740xee 0x81 0x1 0x9228750xac 0xad 0xa 0x9228760xeb 0x87 0x0 0x922877 2878# CHECK: eor x3, x6, #0xe0e0e0e0e0e0e0e02879# CHECK: eor sp, xzr, #0x3030303030303032880# CHECK: eor x16, x17, #0x818181818181818128810xc3 0xc8 0x3 0xd228820xff 0xc7 0x0 0xd228830x30 0xc6 0x1 0xd22884 2885# CHECK: {{ands xzr,|tst}} x18, #0xcccccccccccccccc2886# CHECK: ands x19, x20, #0x33333333333333332887# CHECK: ands x21, x22, #0x999999999999999928880x5f 0xe6 0x2 0xf228890x93 0xe6 0x0 0xf228900xd5 0xe6 0x1 0xf22891 2892# CHECK: {{ands xzr,|tst}} x3, #0xaaaaaaaaaaaaaaaa2893# CHECK: {{ands xzr,|tst}} xzr, #0x555555555555555528940x7f 0xf0 0x1 0xf228950xff 0xf3 0x0 0xf22896 2897# CHECK: mov w3, #9830552898# CHECK: mov x10, #-614891469123651720628990xe3 0x8f 0x0 0x3229000xea 0xf3 0x1 0xb22901 2902# CHECK: orr w3, wzr, #0xffff2903# CHECK: orr x9, xzr, #0xffff0000000029040xe3 0x3f 0x0 0x3229050xe9 0x3f 0x60 0xb22906 2907#------------------------------------------------------------------------------2908# Logical (shifted register)2909#------------------------------------------------------------------------------2910 2911# CHECK: and w12, w23, w212912# CHECK: and w16, w15, w1, lsl #12913# CHECK: and w9, w4, w10, lsl #312914# CHECK: and w3, w30, w112915# CHECK: and x3, x5, x7, lsl #6329160xec 0x2 0x15 0xa29170xf0 0x5 0x1 0xa29180x89 0x7c 0xa 0xa29190xc3 0x3 0xb 0xa29200xa3 0xfc 0x7 0x8a2921 2922# CHECK: and x5, x14, x19, asr #42923# CHECK: and w3, w17, w19, ror #312924# CHECK: and w0, w2, wzr, lsr #172925# CHECK: and w3, w30, w11, asr29260xc5 0x11 0x93 0x8a29270x23 0x7e 0xd3 0xa29280x40 0x44 0x5f 0xa29290xc3 0x3 0x8b 0xa2930 2931# CHECK: and xzr, x4, x262932# CHECK: and w3, wzr, w20, ror2933# CHECK: and x7, x20, xzr, asr #6329340x9f 0x0 0x1a 0x8a29350xe3 0x3 0xd4 0xa29360x87 0xfe 0x9f 0x8a2937 2938# CHECK: bic x13, x20, x14, lsl #472939# CHECK: bic w2, w7, w92940# CHECK: orr w2, w7, w0, asr #312941# CHECK: orr x8, x9, x10, lsl #122942# CHECK: orn x3, x5, x7, asr2943# CHECK: orn w2, w5, w2929440x8d 0xbe 0x2e 0x8a29450xe2 0x0 0x29 0xa29460xe2 0x7c 0x80 0x2a29470x28 0x31 0xa 0xaa29480xa3 0x0 0xa7 0xaa29490xa2 0x0 0x3d 0x2a2950 2951# CHECK: ands w7, wzr, w9, lsl #12952# CHECK: ands x3, x5, x20, ror #632953# CHECK: bics w3, w5, w72954# CHECK: bics x3, xzr, x3, lsl #12955# CHECK: tst w3, w7, lsl #312956# CHECK: tst x2, x20, asr29570xe7 0x7 0x9 0x6a29580xa3 0xfc 0xd4 0xea29590xa3 0x0 0x27 0x6a29600xe3 0x7 0x23 0xea29610x7f 0x7c 0x7 0x6a29620x5f 0x0 0x94 0xea2963 2964# CHECK: mov x3, x62965# CHECK: mov x3, xzr2966# CHECK: mov wzr, w22967# CHECK: mov w3, w529680xe3 0x3 0x6 0xaa29690xe3 0x3 0x1f 0xaa29700xff 0x3 0x2 0x2a29710xe3 0x3 0x5 0x2a2972 2973#------------------------------------------------------------------------------2974# Move wide (immediate)2975#------------------------------------------------------------------------------2976 2977# N.b. (FIXME) canonical aliases aren't produced here because of2978# limitation in InstAlias. Lots of the "mov[nz]" instructions should2979# be "mov".2980 2981# CHECK: mov w1, #{{65535|0xffff}}2982# CHECK: movz w2, #0, lsl #162983# CHECK: mov w2, #-123529840xe1 0xff 0x9f 0x5229850x2 0x0 0xa0 0x5229860x42 0x9a 0x80 0x122987 2988# CHECK: mov x2, #52999896432642989# CHECK: movk xzr, #{{4321|0x10e1}}, lsl #4829900x42 0x9a 0xc0 0xd229910x3f 0x1c 0xe2 0xf22992 2993# CHECK: mov x2, #02994# CHECK: movk w3, #02995# CHECK: movz x4, #0, lsl #162996# CHECK: movk w5, #0, lsl #162997# CHECK: movz x6, #0, lsl #322998# CHECK: movk x7, #0, lsl #322999# CHECK: movz x8, #0, lsl #483000# CHECK: movk x9, #0, lsl #4830010x2 0x0 0x80 0xd230020x3 0x0 0x80 0x7230030x4 0x0 0xa0 0xd230040x5 0x0 0xa0 0x7230050x6 0x0 0xc0 0xd230060x7 0x0 0xc0 0xf230070x8 0x0 0xe0 0xd230080x9 0x0 0xe0 0xf23009 3010#------------------------------------------------------------------------------3011# PC-relative addressing3012#------------------------------------------------------------------------------3013 3014# It's slightly dodgy using immediates here, but harmless enough when3015# it's all that's available.3016 3017# CHECK: adr x2, #16003018# CHECK: adrp x21, #65536003019# CHECK: adr x0, #26214430200x02 0x32 0x00 0x1030210x15 0x32 0x00 0x9030220x00 0x00 0x20 0x103023 3024#------------------------------------------------------------------------------3025# System3026#------------------------------------------------------------------------------3027 3028# CHECK: nop3029# CHECK: hint #{{127|0x7f}}3030# CHECK: nop3031# CHECK: yield3032# CHECK: wfe3033# CHECK: wfi3034# CHECK: sev3035# CHECK: sevl3036# CHECK: dgh30370x1f 0x20 0x3 0xd530380xff 0x2f 0x3 0xd530390x1f 0x20 0x3 0xd530400x3f 0x20 0x3 0xd530410x5f 0x20 0x3 0xd530420x7f 0x20 0x3 0xd530430x9f 0x20 0x3 0xd530440xbf 0x20 0x3 0xd530450xdf,0x20,0x3,0xd53046 3047# CHECK: clrex3048# CHECK: clrex #03049# CHECK: clrex #73050# CHECK: clrex30510x5f 0x3f 0x3 0xd530520x5f 0x30 0x3 0xd530530x5f 0x37 0x3 0xd530540x5f 0x3f 0x3 0xd53055 3056# CHECK: dsb #123057# CHECK: dsb sy3058# CHECK: dsb oshld3059# CHECK: dsb oshst3060# CHECK: dsb osh3061# CHECK: dsb nshld3062# CHECK: dsb nshst3063# CHECK: dsb nsh3064# CHECK: dsb ishld3065# CHECK: dsb ishst3066# CHECK: dsb ish3067# CHECK: dsb ld3068# CHECK: dsb st3069# CHECK: dsb sy30700x9f 0x3c 0x3 0xd530710x9f 0x3f 0x3 0xd530720x9f 0x31 0x3 0xd530730x9f 0x32 0x3 0xd530740x9f 0x33 0x3 0xd530750x9f 0x35 0x3 0xd530760x9f 0x36 0x3 0xd530770x9f 0x37 0x3 0xd530780x9f 0x39 0x3 0xd530790x9f 0x3a 0x3 0xd530800x9f 0x3b 0x3 0xd530810x9f 0x3d 0x3 0xd530820x9f 0x3e 0x3 0xd530830x9f 0x3f 0x3 0xd53084 3085# CHECK: dmb #03086# CHECK: dmb #123087# CHECK: dmb sy3088# CHECK: dmb oshld3089# CHECK: dmb oshst3090# CHECK: dmb osh3091# CHECK: dmb nshld3092# CHECK: dmb nshst3093# CHECK: dmb nsh3094# CHECK: dmb ishld3095# CHECK: dmb ishst3096# CHECK: dmb ish3097# CHECK: dmb ld3098# CHECK: dmb st3099# CHECK: dmb sy31000xbf 0x30 0x3 0xd531010xbf 0x3c 0x3 0xd531020xbf 0x3f 0x3 0xd531030xbf 0x31 0x3 0xd531040xbf 0x32 0x3 0xd531050xbf 0x33 0x3 0xd531060xbf 0x35 0x3 0xd531070xbf 0x36 0x3 0xd531080xbf 0x37 0x3 0xd531090xbf 0x39 0x3 0xd531100xbf 0x3a 0x3 0xd531110xbf 0x3b 0x3 0xd531120xbf 0x3d 0x3 0xd531130xbf 0x3e 0x3 0xd531140xbf 0x3f 0x3 0xd53115 3116# CHECK: isb3117# CHECK: isb #1231180xdf 0x3f 0x3 0xd531190xdf 0x3c 0x3 0xd53120 3121# CHECK: msr {{SPSel|SPSEL}}, #03122# CHECK: msr {{DAIFSet|DAIFSET}}, #153123# CHECK: msr {{DAIFClr|DAIFCLR}}, #1231240xbf 0x40 0x0 0xd531250xdf 0x4f 0x3 0xd531260xff 0x4c 0x3 0xd53127 3128# CHECK: sys #7, c5, c9, #7, x53129# CHECK: sys #0, c15, c15, #23130# CHECK: sysl x9, #7, c5, c9, #73131# CHECK: sysl x1, #0, c15, c15, #231320xe5 0x59 0xf 0xd531330x5f 0xff 0x8 0xd531340xe9 0x59 0x2f 0xd531350x41 0xff 0x28 0xd53136 3137# CHECK: {{sys #0, c7, c1, #0|ic ialluis}}3138# CHECK: {{sys #0, c7, c5, #0|ic iallu}}3139# CHECK: {{sys #3, c7, c5, #1|ic ivau}}, x931400x1f 0x71 0x8 0xd531410x1f 0x75 0x8 0xd531420x29 0x75 0xb 0xd53143 3144# CHECK: {{sys #3, c7, c4, #1|dc zva}}, x123145# CHECK: {{sys #0, c7, c6, #1|dc ivac}}3146# CHECK: {{sys #0, c7, c6, #2|dc isw}}, x23147# CHECK: {{sys #3, c7, c10, #1|dc cvac}}, x93148# CHECK: {{sys #0, c7, c10, #2|dc csw}}, x103149# CHECK: {{sys #3, c7, c11, #1|dc cvau}}, x03150# CHECK: {{sys #3, c7, c14, #1|dc civac}}, x33151# CHECK: {{sys #0, c7, c14, #2|dc cisw}}, x3031520x2c 0x74 0xb 0xd531530x3f 0x76 0x8 0xd531540x42 0x76 0x8 0xd531550x29 0x7a 0xb 0xd531560x4a 0x7a 0x8 0xd531570x20 0x7b 0xb 0xd531580x23 0x7e 0xb 0xd531590x5e 0x7e 0x8 0xd53160 3161 3162# CHECK: msr {{teecr32_el1|TEECR32_EL1}}, x123163# CHECK: msr {{osdtrrx_el1|OSDTRRX_EL1}}, x123164# CHECK: msr {{mdccint_el1|MDCCINT_EL1}}, x123165# CHECK: msr {{mdscr_el1|MDSCR_EL1}}, x123166# CHECK: msr {{osdtrtx_el1|OSDTRTX_EL1}}, x123167# CHECK: msr {{dbgdtr_el0|DBGDTR_EL0}}, x123168# CHECK: msr {{dbgdtrtx_el0|DBGDTRTX_EL0}}, x123169# CHECK: msr {{oseccr_el1|OSECCR_EL1}}, x123170# CHECK: msr {{dbgvcr32_el2|DBGVCR32_EL2}}, x123171# CHECK: msr {{dbgbvr0_el1|DBGBVR0_EL1}}, x123172# CHECK: msr {{dbgbvr1_el1|DBGBVR1_EL1}}, x123173# CHECK: msr {{dbgbvr2_el1|DBGBVR2_EL1}}, x123174# CHECK: msr {{dbgbvr3_el1|DBGBVR3_EL1}}, x123175# CHECK: msr {{dbgbvr4_el1|DBGBVR4_EL1}}, x123176# CHECK: msr {{dbgbvr5_el1|DBGBVR5_EL1}}, x123177# CHECK: msr {{dbgbvr6_el1|DBGBVR6_EL1}}, x123178# CHECK: msr {{dbgbvr7_el1|DBGBVR7_EL1}}, x123179# CHECK: msr {{dbgbvr8_el1|DBGBVR8_EL1}}, x123180# CHECK: msr {{dbgbvr9_el1|DBGBVR9_EL1}}, x123181# CHECK: msr {{dbgbvr10_el1|DBGBVR10_EL1}}, x123182# CHECK: msr {{dbgbvr11_el1|DBGBVR11_EL1}}, x123183# CHECK: msr {{dbgbvr12_el1|DBGBVR12_EL1}}, x123184# CHECK: msr {{dbgbvr13_el1|DBGBVR13_EL1}}, x123185# CHECK: msr {{dbgbvr14_el1|DBGBVR14_EL1}}, x123186# CHECK: msr {{dbgbvr15_el1|DBGBVR15_EL1}}, x123187# CHECK: msr {{dbgbcr0_el1|DBGBCR0_EL1}}, x123188# CHECK: msr {{dbgbcr1_el1|DBGBCR1_EL1}}, x123189# CHECK: msr {{dbgbcr2_el1|DBGBCR2_EL1}}, x123190# CHECK: msr {{dbgbcr3_el1|DBGBCR3_EL1}}, x123191# CHECK: msr {{dbgbcr4_el1|DBGBCR4_EL1}}, x123192# CHECK: msr {{dbgbcr5_el1|DBGBCR5_EL1}}, x123193# CHECK: msr {{dbgbcr6_el1|DBGBCR6_EL1}}, x123194# CHECK: msr {{dbgbcr7_el1|DBGBCR7_EL1}}, x123195# CHECK: msr {{dbgbcr8_el1|DBGBCR8_EL1}}, x123196# CHECK: msr {{dbgbcr9_el1|DBGBCR9_EL1}}, x123197# CHECK: msr {{dbgbcr10_el1|DBGBCR10_EL1}}, x123198# CHECK: msr {{dbgbcr11_el1|DBGBCR11_EL1}}, x123199# CHECK: msr {{dbgbcr12_el1|DBGBCR12_EL1}}, x123200# CHECK: msr {{dbgbcr13_el1|DBGBCR13_EL1}}, x123201# CHECK: msr {{dbgbcr14_el1|DBGBCR14_EL1}}, x123202# CHECK: msr {{dbgbcr15_el1|DBGBCR15_EL1}}, x123203# CHECK: msr {{dbgwvr0_el1|DBGWVR0_EL1}}, x123204# CHECK: msr {{dbgwvr1_el1|DBGWVR1_EL1}}, x123205# CHECK: msr {{dbgwvr2_el1|DBGWVR2_EL1}}, x123206# CHECK: msr {{dbgwvr3_el1|DBGWVR3_EL1}}, x123207# CHECK: msr {{dbgwvr4_el1|DBGWVR4_EL1}}, x123208# CHECK: msr {{dbgwvr5_el1|DBGWVR5_EL1}}, x123209# CHECK: msr {{dbgwvr6_el1|DBGWVR6_EL1}}, x123210# CHECK: msr {{dbgwvr7_el1|DBGWVR7_EL1}}, x123211# CHECK: msr {{dbgwvr8_el1|DBGWVR8_EL1}}, x123212# CHECK: msr {{dbgwvr9_el1|DBGWVR9_EL1}}, x123213# CHECK: msr {{dbgwvr10_el1|DBGWVR10_EL1}}, x123214# CHECK: msr {{dbgwvr11_el1|DBGWVR11_EL1}}, x123215# CHECK: msr {{dbgwvr12_el1|DBGWVR12_EL1}}, x123216# CHECK: msr {{dbgwvr13_el1|DBGWVR13_EL1}}, x123217# CHECK: msr {{dbgwvr14_el1|DBGWVR14_EL1}}, x123218# CHECK: msr {{dbgwvr15_el1|DBGWVR15_EL1}}, x123219# CHECK: msr {{dbgwcr0_el1|DBGWCR0_EL1}}, x123220# CHECK: msr {{dbgwcr1_el1|DBGWCR1_EL1}}, x123221# CHECK: msr {{dbgwcr2_el1|DBGWCR2_EL1}}, x123222# CHECK: msr {{dbgwcr3_el1|DBGWCR3_EL1}}, x123223# CHECK: msr {{dbgwcr4_el1|DBGWCR4_EL1}}, x123224# CHECK: msr {{dbgwcr5_el1|DBGWCR5_EL1}}, x123225# CHECK: msr {{dbgwcr6_el1|DBGWCR6_EL1}}, x123226# CHECK: msr {{dbgwcr7_el1|DBGWCR7_EL1}}, x123227# CHECK: msr {{dbgwcr8_el1|DBGWCR8_EL1}}, x123228# CHECK: msr {{dbgwcr9_el1|DBGWCR9_EL1}}, x123229# CHECK: msr {{dbgwcr10_el1|DBGWCR10_EL1}}, x123230# CHECK: msr {{dbgwcr11_el1|DBGWCR11_EL1}}, x123231# CHECK: msr {{dbgwcr12_el1|DBGWCR12_EL1}}, x123232# CHECK: msr {{dbgwcr13_el1|DBGWCR13_EL1}}, x123233# CHECK: msr {{dbgwcr14_el1|DBGWCR14_EL1}}, x123234# CHECK: msr {{dbgwcr15_el1|DBGWCR15_EL1}}, x123235# CHECK: msr {{teehbr32_el1|TEEHBR32_EL1}}, x123236# CHECK: msr {{oslar_el1|OSLAR_EL1}}, x123237# CHECK: msr {{osdlr_el1|OSDLR_EL1}}, x123238# CHECK: msr {{dbgprcr_el1|DBGPRCR_EL1}}, x123239# CHECK: msr {{dbgclaimset_el1|DBGCLAIMSET_EL1}}, x123240# CHECK: msr {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}}, x123241# CHECK: msr {{csselr_el1|CSSELR_EL1}}, x123242# CHECK: msr {{vpidr_el2|VPIDR_EL2}}, x123243# CHECK: msr {{vmpidr_el2|VMPIDR_EL2}}, x123244# CHECK: msr {{sctlr_el1|SCTLR_EL1}}, x123245# CHECK: msr {{sctlr_el2|SCTLR_EL2}}, x123246# CHECK: msr {{sctlr_el3|SCTLR_EL3}}, x123247# CHECK: msr {{actlr_el1|ACTLR_EL1}}, x123248# CHECK: msr {{actlr_el12|ACTLR_EL12}}, x123249# CHECK: msr {{actlr_el2|ACTLR_EL2}}, x123250# CHECK: msr {{actlr_el3|ACTLR_EL3}}, x123251# CHECK: msr {{cpacr_el1|CPACR_EL1}}, x123252# CHECK: msr {{hcr_el2|HCR_EL2}}, x123253# CHECK: msr {{scr_el3|SCR_EL3}}, x123254# CHECK: msr {{mdcr_el2|MDCR_EL2}}, x123255# CHECK: msr {{sder32_el3|SDER32_EL3}}, x123256# CHECK: msr {{cptr_el2|CPTR_EL2}}, x123257# CHECK: msr {{cptr_el3|CPTR_EL3}}, x123258# CHECK: msr {{hstr_el2|HSTR_EL2}}, x123259# CHECK: msr {{hacr_el2|HACR_EL2}}, x123260# CHECK: msr {{mdcr_el3|MDCR_EL3}}, x123261# CHECK: msr {{ttbr0_el1|TTBR0_EL1}}, x123262# CHECK: msr {{ttbr0_el2|TTBR0_EL2}}, x123263# CHECK: msr {{ttbr0_el3|TTBR0_EL3}}, x123264# CHECK: msr {{ttbr1_el1|TTBR1_EL1}}, x123265# CHECK: msr {{tcr_el1|TCR_EL1}}, x123266# CHECK: msr {{tcr_el2|TCR_EL2}}, x123267# CHECK: msr {{tcr_el3|TCR_EL3}}, x123268# CHECK: msr {{vttbr_el2|VTTBR_EL2}}, x123269# CHECK: msr {{vtcr_el2|VTCR_EL2}}, x123270# CHECK: msr {{dacr32_el2|DACR32_EL2}}, x123271# CHECK: msr {{spsr_el1|SPSR_EL1}}, x123272# CHECK: msr {{spsr_el2|SPSR_EL2}}, x123273# CHECK: msr {{spsr_el3|SPSR_EL3}}, x123274# CHECK: msr {{elr_el1|ELR_EL1}}, x123275# CHECK: msr {{elr_el2|ELR_EL2}}, x123276# CHECK: msr {{elr_el3|ELR_EL3}}, x123277# CHECK: msr {{sp_el0|SP_EL0}}, x123278# CHECK: msr {{sp_el1|SP_EL1}}, x123279# CHECK: msr {{sp_el2|SP_EL2}}, x123280# CHECK: msr {{SPSel|SPSEL}}, x123281# CHECK: msr {{nzcv|NZCV}}, x123282# CHECK: msr {{daif|DAIF}}, x123283# CHECK: msr S3_0_C4_C2_2, x123284# CHECK: msr {{SPSR_irq|SPSR_IRQ}}, x123285# CHECK: msr {{SPSR_abt|SPSR_ABT}}, x123286# CHECK: msr {{SPSR_und|SPSR_UND}}, x123287# CHECK: msr {{SPSR_fiq|SPSR_FIQ}}, x123288# CHECK: msr {{fpcr|FPCR}}, x123289# CHECK: msr {{fpsr|FPSR}}, x123290# CHECK: msr {{dspsr_el0|DSPSR_EL0}}, x123291# CHECK: msr {{dlr_el0|DLR_EL0}}, x123292# CHECK: msr {{ifsr32_el2|IFSR32_EL2}}, x123293# CHECK: msr {{afsr0_el1|AFSR0_EL1}}, x123294# CHECK: msr {{afsr0_el2|AFSR0_EL2}}, x123295# CHECK: msr {{afsr0_el3|AFSR0_EL3}}, x123296# CHECK: msr {{afsr1_el1|AFSR1_EL1}}, x123297# CHECK: msr {{afsr1_el2|AFSR1_EL2}}, x123298# CHECK: msr {{afsr1_el3|AFSR1_EL3}}, x123299# CHECK: msr {{esr_el1|ESR_EL1}}, x123300# CHECK: msr {{esr_el2|ESR_EL2}}, x123301# CHECK: msr {{esr_el3|ESR_EL3}}, x123302# CHECK: msr {{fpexc32_el2|FPEXC32_EL2}}, x123303# CHECK: msr {{far_el1|FAR_EL1}}, x123304# CHECK: msr {{far_el2|FAR_EL2}}, x123305# CHECK: msr {{far_el3|FAR_EL3}}, x123306# CHECK: msr {{hpfar_el2|HPFAR_EL2}}, x123307# CHECK: msr {{par_el1|PAR_EL1}}, x123308# CHECK: msr {{pmcr_el0|PMCR_EL0}}, x123309# CHECK: msr {{pmcntenset_el0|PMCNTENSET_EL0}}, x123310# CHECK: msr {{pmcntenclr_el0|PMCNTENCLR_EL0}}, x123311# CHECK: msr {{pmovsclr_el0|PMOVSCLR_EL0}}, x123312# CHECK: msr {{pmselr_el0|PMSELR_EL0}}, x123313# CHECK: msr {{pmccntr_el0|PMCCNTR_EL0}}, x123314# CHECK: msr {{pmxevtyper_el0|PMXEVTYPER_EL0}}, x123315# CHECK: msr {{pmxevcntr_el0|PMXEVCNTR_EL0}}, x123316# CHECK: msr {{pmuserenr_el0|PMUSERENR_EL0}}, x123317# CHECK: msr {{pmintenset_el1|PMINTENSET_EL1}}, x123318# CHECK: msr {{pmintenclr_el1|PMINTENCLR_EL1}}, x123319# CHECK: msr {{pmovsset_el0|PMOVSSET_EL0}}, x123320# CHECK: msr {{mair_el1|MAIR_EL1}}, x123321# CHECK: msr {{mair_el2|MAIR_EL2}}, x123322# CHECK: msr {{mair_el3|MAIR_EL3}}, x123323# CHECK: msr {{amair_el1|AMAIR_EL1}}, x123324# CHECK: msr {{amair_el2|AMAIR_EL2}}, x123325# CHECK: msr {{amair_el3|AMAIR_EL3}}, x123326# CHECK: msr {{vbar_el1|VBAR_EL1}}, x123327# CHECK: msr {{vbar_el2|VBAR_EL2}}, x123328# CHECK: msr {{vbar_el3|VBAR_EL3}}, x123329# CHECK: msr {{rmr_el1|RMR_EL1}}, x123330# CHECK: msr {{rmr_el2|RMR_EL2}}, x123331# CHECK: msr {{rmr_el3|RMR_EL3}}, x123332# CHECK: msr {{tpidr_el0|TPIDR_EL0}}, x123333# CHECK: msr {{tpidr_el2|TPIDR_EL2}}, x123334# CHECK: msr {{tpidr_el3|TPIDR_EL3}}, x123335# CHECK: msr {{tpidrro_el0|TPIDRRO_EL0}}, x123336# CHECK: msr {{tpidr_el1|TPIDR_EL1}}, x123337# CHECK: msr {{cntfrq_el0|CNTFRQ_EL0}}, x123338# CHECK: msr {{cntvoff_el2|CNTVOFF_EL2}}, x123339# CHECK: msr {{cntkctl_el1|CNTKCTL_EL1}}, x123340# CHECK: msr {{cnthctl_el2|CNTHCTL_EL2}}, x123341# CHECK: msr {{cntp_tval_el0|CNTP_TVAL_EL0}}, x123342# CHECK: msr {{cnthp_tval_el2|CNTHP_TVAL_EL2}}, x123343# CHECK: msr {{cntps_tval_el1|CNTPS_TVAL_EL1}}, x123344# CHECK: msr {{cntp_ctl_el0|CNTP_CTL_EL0}}, x123345# CHECK: msr {{cnthp_ctl_el2|CNTHP_CTL_EL2}}, x123346# CHECK: msr {{cntps_ctl_el1|CNTPS_CTL_EL1}}, x123347# CHECK: msr {{cntp_cval_el0|CNTP_CVAL_EL0}}, x123348# CHECK: msr {{cnthp_cval_el2|CNTHP_CVAL_EL2}}, x123349# CHECK: msr {{cntps_cval_el1|CNTPS_CVAL_EL1}}, x123350# CHECK: msr {{cntv_tval_el0|CNTV_TVAL_EL0}}, x123351# CHECK: msr {{cntv_ctl_el0|CNTV_CTL_EL0}}, x123352# CHECK: msr {{cntv_cval_el0|CNTV_CVAL_EL0}}, x123353# CHECK: msr {{pmevcntr0_el0|PMEVCNTR0_EL0}}, x123354# CHECK: msr {{pmevcntr1_el0|PMEVCNTR1_EL0}}, x123355# CHECK: msr {{pmevcntr2_el0|PMEVCNTR2_EL0}}, x123356# CHECK: msr {{pmevcntr3_el0|PMEVCNTR3_EL0}}, x123357# CHECK: msr {{pmevcntr4_el0|PMEVCNTR4_EL0}}, x123358# CHECK: msr {{pmevcntr5_el0|PMEVCNTR5_EL0}}, x123359# CHECK: msr {{pmevcntr6_el0|PMEVCNTR6_EL0}}, x123360# CHECK: msr {{pmevcntr7_el0|PMEVCNTR7_EL0}}, x123361# CHECK: msr {{pmevcntr8_el0|PMEVCNTR8_EL0}}, x123362# CHECK: msr {{pmevcntr9_el0|PMEVCNTR9_EL0}}, x123363# CHECK: msr {{pmevcntr10_el0|PMEVCNTR10_EL0}}, x123364# CHECK: msr {{pmevcntr11_el0|PMEVCNTR11_EL0}}, x123365# CHECK: msr {{pmevcntr12_el0|PMEVCNTR12_EL0}}, x123366# CHECK: msr {{pmevcntr13_el0|PMEVCNTR13_EL0}}, x123367# CHECK: msr {{pmevcntr14_el0|PMEVCNTR14_EL0}}, x123368# CHECK: msr {{pmevcntr15_el0|PMEVCNTR15_EL0}}, x123369# CHECK: msr {{pmevcntr16_el0|PMEVCNTR16_EL0}}, x123370# CHECK: msr {{pmevcntr17_el0|PMEVCNTR17_EL0}}, x123371# CHECK: msr {{pmevcntr18_el0|PMEVCNTR18_EL0}}, x123372# CHECK: msr {{pmevcntr19_el0|PMEVCNTR19_EL0}}, x123373# CHECK: msr {{pmevcntr20_el0|PMEVCNTR20_EL0}}, x123374# CHECK: msr {{pmevcntr21_el0|PMEVCNTR21_EL0}}, x123375# CHECK: msr {{pmevcntr22_el0|PMEVCNTR22_EL0}}, x123376# CHECK: msr {{pmevcntr23_el0|PMEVCNTR23_EL0}}, x123377# CHECK: msr {{pmevcntr24_el0|PMEVCNTR24_EL0}}, x123378# CHECK: msr {{pmevcntr25_el0|PMEVCNTR25_EL0}}, x123379# CHECK: msr {{pmevcntr26_el0|PMEVCNTR26_EL0}}, x123380# CHECK: msr {{pmevcntr27_el0|PMEVCNTR27_EL0}}, x123381# CHECK: msr {{pmevcntr28_el0|PMEVCNTR28_EL0}}, x123382# CHECK: msr {{pmevcntr29_el0|PMEVCNTR29_EL0}}, x123383# CHECK: msr {{pmevcntr30_el0|PMEVCNTR30_EL0}}, x123384# CHECK: msr {{pmccfiltr_el0|PMCCFILTR_EL0}}, x123385# CHECK: msr {{pmevtyper0_el0|PMEVTYPER0_EL0}}, x123386# CHECK: msr {{pmevtyper1_el0|PMEVTYPER1_EL0}}, x123387# CHECK: msr {{pmevtyper2_el0|PMEVTYPER2_EL0}}, x123388# CHECK: msr {{pmevtyper3_el0|PMEVTYPER3_EL0}}, x123389# CHECK: msr {{pmevtyper4_el0|PMEVTYPER4_EL0}}, x123390# CHECK: msr {{pmevtyper5_el0|PMEVTYPER5_EL0}}, x123391# CHECK: msr {{pmevtyper6_el0|PMEVTYPER6_EL0}}, x123392# CHECK: msr {{pmevtyper7_el0|PMEVTYPER7_EL0}}, x123393# CHECK: msr {{pmevtyper8_el0|PMEVTYPER8_EL0}}, x123394# CHECK: msr {{pmevtyper9_el0|PMEVTYPER9_EL0}}, x123395# CHECK: msr {{pmevtyper10_el0|PMEVTYPER10_EL0}}, x123396# CHECK: msr {{pmevtyper11_el0|PMEVTYPER11_EL0}}, x123397# CHECK: msr {{pmevtyper12_el0|PMEVTYPER12_EL0}}, x123398# CHECK: msr {{pmevtyper13_el0|PMEVTYPER13_EL0}}, x123399# CHECK: msr {{pmevtyper14_el0|PMEVTYPER14_EL0}}, x123400# CHECK: msr {{pmevtyper15_el0|PMEVTYPER15_EL0}}, x123401# CHECK: msr {{pmevtyper16_el0|PMEVTYPER16_EL0}}, x123402# CHECK: msr {{pmevtyper17_el0|PMEVTYPER17_EL0}}, x123403# CHECK: msr {{pmevtyper18_el0|PMEVTYPER18_EL0}}, x123404# CHECK: msr {{pmevtyper19_el0|PMEVTYPER19_EL0}}, x123405# CHECK: msr {{pmevtyper20_el0|PMEVTYPER20_EL0}}, x123406# CHECK: msr {{pmevtyper21_el0|PMEVTYPER21_EL0}}, x123407# CHECK: msr {{pmevtyper22_el0|PMEVTYPER22_EL0}}, x123408# CHECK: msr {{pmevtyper23_el0|PMEVTYPER23_EL0}}, x123409# CHECK: msr {{pmevtyper24_el0|PMEVTYPER24_EL0}}, x123410# CHECK: msr {{pmevtyper25_el0|PMEVTYPER25_EL0}}, x123411# CHECK: msr {{pmevtyper26_el0|PMEVTYPER26_EL0}}, x123412# CHECK: msr {{pmevtyper27_el0|PMEVTYPER27_EL0}}, x123413# CHECK: msr {{pmevtyper28_el0|PMEVTYPER28_EL0}}, x123414# CHECK: msr {{pmevtyper29_el0|PMEVTYPER29_EL0}}, x123415# CHECK: msr {{pmevtyper30_el0|PMEVTYPER30_EL0}}, x123416# CHECK: msr {{amair2_el1|AMAIR2_EL1}}, x123417# CHECK: msr {{amair2_el12|AMAIR2_EL12}}, x123418# CHECK: msr {{amair2_el2|AMAIR2_EL2}}, x123419# CHECK: msr {{amair2_el3|AMAIR2_EL3}}, x123420# CHECK: msr {{mair2_el1|MAIR2_EL1}}, x123421# CHECK: msr {{mair2_el12|MAIR2_EL12}}, x123422# CHECK: msr {{mair2_el2|MAIR2_EL2}}, x123423# CHECK: msr {{mair2_el3|MAIR2_EL3}}, x123424# CHECK: msr {{pire0_el1|PIRE0_EL1}}, x123425# CHECK: msr {{pire0_el12|PIRE0_EL12}}, x123426# CHECK: msr {{pire0_el2|PIRE0_EL2}}, x123427# CHECK: msr {{pir_el1|PIR_EL1}}, x123428# CHECK: msr {{pir_el12|PIR_EL12}}, x123429# CHECK: msr {{pir_el2|PIR_EL2}}, x123430# CHECK: msr {{pir_el3|PIR_EL3}}, x123431# CHECK: msr {{s2pir_el2|S2PIR_EL2}}, x123432# CHECK: msr {{por_el0|POR_EL0}}, x123433# CHECK: msr {{por_el1|POR_EL1}}, x123434# CHECK: msr {{por_el12|POR_EL12}}, x123435# CHECK: msr {{por_el2|POR_EL2}}, x123436# CHECK: msr {{por_el3|POR_EL3}}, x123437# CHECK: msr {{s2por_el1|S2POR_EL1}}, x123438# CHECK: msr {{sctlr2_el1|SCTLR2_EL1}}, x123439# CHECK: msr {{sctlr2_el12|SCTLR2_EL12}}, x123440# CHECK: msr {{sctlr2_el2|SCTLR2_EL2}}, x123441# CHECK: msr {{tcr2_el1|TCR2_EL1}}, x123442# CHECK: msr {{tcr2_el12|TCR2_EL12}}, x123443# CHECK: msr {{tcr2_el2|TCR2_EL2}}, x123444# CHECK: mrs x9, {{teecr32_el1|TEECR32_EL1}}3445# CHECK: mrs x9, {{osdtrrx_el1|OSDTRRX_EL1}}3446# CHECK: mrs x9, {{mdccsr_el0|MDCCSR_EL0}}3447# CHECK: mrs x9, {{mdccint_el1|MDCCINT_EL1}}3448# CHECK: mrs x9, {{mdscr_el1|MDSCR_EL1}}3449# CHECK: mrs x9, {{osdtrtx_el1|OSDTRTX_EL1}}3450# CHECK: mrs x9, {{dbgdtr_el0|DBGDTR_EL0}}3451# CHECK: mrs x9, {{dbgdtrrx_el0|DBGDTRRX_EL0}}3452# CHECK: mrs x9, {{oseccr_el1|OSECCR_EL1}}3453# CHECK: mrs x9, {{dbgvcr32_el2|DBGVCR32_EL2}}3454# CHECK: mrs x9, {{dbgbvr0_el1|DBGBVR0_EL1}}3455# CHECK: mrs x9, {{dbgbvr1_el1|DBGBVR1_EL1}}3456# CHECK: mrs x9, {{dbgbvr2_el1|DBGBVR2_EL1}}3457# CHECK: mrs x9, {{dbgbvr3_el1|DBGBVR3_EL1}}3458# CHECK: mrs x9, {{dbgbvr4_el1|DBGBVR4_EL1}}3459# CHECK: mrs x9, {{dbgbvr5_el1|DBGBVR5_EL1}}3460# CHECK: mrs x9, {{dbgbvr6_el1|DBGBVR6_EL1}}3461# CHECK: mrs x9, {{dbgbvr7_el1|DBGBVR7_EL1}}3462# CHECK: mrs x9, {{dbgbvr8_el1|DBGBVR8_EL1}}3463# CHECK: mrs x9, {{dbgbvr9_el1|DBGBVR9_EL1}}3464# CHECK: mrs x9, {{dbgbvr10_el1|DBGBVR10_EL1}}3465# CHECK: mrs x9, {{dbgbvr11_el1|DBGBVR11_EL1}}3466# CHECK: mrs x9, {{dbgbvr12_el1|DBGBVR12_EL1}}3467# CHECK: mrs x9, {{dbgbvr13_el1|DBGBVR13_EL1}}3468# CHECK: mrs x9, {{dbgbvr14_el1|DBGBVR14_EL1}}3469# CHECK: mrs x9, {{dbgbvr15_el1|DBGBVR15_EL1}}3470# CHECK: mrs x9, {{dbgbcr0_el1|DBGBCR0_EL1}}3471# CHECK: mrs x9, {{dbgbcr1_el1|DBGBCR1_EL1}}3472# CHECK: mrs x9, {{dbgbcr2_el1|DBGBCR2_EL1}}3473# CHECK: mrs x9, {{dbgbcr3_el1|DBGBCR3_EL1}}3474# CHECK: mrs x9, {{dbgbcr4_el1|DBGBCR4_EL1}}3475# CHECK: mrs x9, {{dbgbcr5_el1|DBGBCR5_EL1}}3476# CHECK: mrs x9, {{dbgbcr6_el1|DBGBCR6_EL1}}3477# CHECK: mrs x9, {{dbgbcr7_el1|DBGBCR7_EL1}}3478# CHECK: mrs x9, {{dbgbcr8_el1|DBGBCR8_EL1}}3479# CHECK: mrs x9, {{dbgbcr9_el1|DBGBCR9_EL1}}3480# CHECK: mrs x9, {{dbgbcr10_el1|DBGBCR10_EL1}}3481# CHECK: mrs x9, {{dbgbcr11_el1|DBGBCR11_EL1}}3482# CHECK: mrs x9, {{dbgbcr12_el1|DBGBCR12_EL1}}3483# CHECK: mrs x9, {{dbgbcr13_el1|DBGBCR13_EL1}}3484# CHECK: mrs x9, {{dbgbcr14_el1|DBGBCR14_EL1}}3485# CHECK: mrs x9, {{dbgbcr15_el1|DBGBCR15_EL1}}3486# CHECK: mrs x9, {{dbgwvr0_el1|DBGWVR0_EL1}}3487# CHECK: mrs x9, {{dbgwvr1_el1|DBGWVR1_EL1}}3488# CHECK: mrs x9, {{dbgwvr2_el1|DBGWVR2_EL1}}3489# CHECK: mrs x9, {{dbgwvr3_el1|DBGWVR3_EL1}}3490# CHECK: mrs x9, {{dbgwvr4_el1|DBGWVR4_EL1}}3491# CHECK: mrs x9, {{dbgwvr5_el1|DBGWVR5_EL1}}3492# CHECK: mrs x9, {{dbgwvr6_el1|DBGWVR6_EL1}}3493# CHECK: mrs x9, {{dbgwvr7_el1|DBGWVR7_EL1}}3494# CHECK: mrs x9, {{dbgwvr8_el1|DBGWVR8_EL1}}3495# CHECK: mrs x9, {{dbgwvr9_el1|DBGWVR9_EL1}}3496# CHECK: mrs x9, {{dbgwvr10_el1|DBGWVR10_EL1}}3497# CHECK: mrs x9, {{dbgwvr11_el1|DBGWVR11_EL1}}3498# CHECK: mrs x9, {{dbgwvr12_el1|DBGWVR12_EL1}}3499# CHECK: mrs x9, {{dbgwvr13_el1|DBGWVR13_EL1}}3500# CHECK: mrs x9, {{dbgwvr14_el1|DBGWVR14_EL1}}3501# CHECK: mrs x9, {{dbgwvr15_el1|DBGWVR15_EL1}}3502# CHECK: mrs x9, {{dbgwcr0_el1|DBGWCR0_EL1}}3503# CHECK: mrs x9, {{dbgwcr1_el1|DBGWCR1_EL1}}3504# CHECK: mrs x9, {{dbgwcr2_el1|DBGWCR2_EL1}}3505# CHECK: mrs x9, {{dbgwcr3_el1|DBGWCR3_EL1}}3506# CHECK: mrs x9, {{dbgwcr4_el1|DBGWCR4_EL1}}3507# CHECK: mrs x9, {{dbgwcr5_el1|DBGWCR5_EL1}}3508# CHECK: mrs x9, {{dbgwcr6_el1|DBGWCR6_EL1}}3509# CHECK: mrs x9, {{dbgwcr7_el1|DBGWCR7_EL1}}3510# CHECK: mrs x9, {{dbgwcr8_el1|DBGWCR8_EL1}}3511# CHECK: mrs x9, {{dbgwcr9_el1|DBGWCR9_EL1}}3512# CHECK: mrs x9, {{dbgwcr10_el1|DBGWCR10_EL1}}3513# CHECK: mrs x9, {{dbgwcr11_el1|DBGWCR11_EL1}}3514# CHECK: mrs x9, {{dbgwcr12_el1|DBGWCR12_EL1}}3515# CHECK: mrs x9, {{dbgwcr13_el1|DBGWCR13_EL1}}3516# CHECK: mrs x9, {{dbgwcr14_el1|DBGWCR14_EL1}}3517# CHECK: mrs x9, {{dbgwcr15_el1|DBGWCR15_EL1}}3518# CHECK: mrs x9, {{mdrar_el1|MDRAR_EL1}}3519# CHECK: mrs x9, {{teehbr32_el1|TEEHBR32_EL1}}3520# CHECK: mrs x9, {{oslsr_el1|OSLSR_EL1}}3521# CHECK: mrs x9, {{osdlr_el1|OSDLR_EL1}}3522# CHECK: mrs x9, {{dbgprcr_el1|DBGPRCR_EL1}}3523# CHECK: mrs x9, {{dbgclaimset_el1|DBGCLAIMSET_EL1}}3524# CHECK: mrs x9, {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}}3525# CHECK: mrs x9, {{dbgauthstatus_el1|DBGAUTHSTATUS_EL1}}3526# CHECK: mrs x9, {{midr_el1|MIDR_EL1}}3527# CHECK: mrs x9, {{ccsidr_el1|CCSIDR_EL1}}3528# CHECK: mrs x9, {{csselr_el1|CSSELR_EL1}}3529# CHECK-V83: mrs x9, {{ccsidr2_el1|CCSIDR2_EL1}}3530# CHECK: mrs x9, {{vpidr_el2|VPIDR_EL2}}3531# CHECK: mrs x9, {{clidr_el1|CLIDR_EL1}}3532# CHECK: mrs x9, {{ctr_el0|CTR_EL0}}3533# CHECK: mrs x9, {{mpidr_el1|MPIDR_EL1}}3534# CHECK: mrs x9, {{vmpidr_el2|VMPIDR_EL2}}3535# CHECK: mrs x9, {{revidr_el1|REVIDR_EL1}}3536# CHECK: mrs x9, {{aidr_el1|AIDR_EL1}}3537# CHECK: mrs x9, {{dczid_el0|DCZID_EL0}}3538# CHECK: mrs x9, {{id_pfr0_el1|ID_PFR0_EL1}}3539# CHECK: mrs x9, {{id_pfr1_el1|ID_PFR1_EL1}}3540# CHECK: mrs x9, {{id_dfr0_el1|ID_DFR0_EL1}}3541# CHECK: mrs x9, {{id_dfr1_el1|ID_DFR1_EL1}}3542# CHECK: mrs x9, {{id_afr0_el1|ID_AFR0_EL1}}3543# CHECK: mrs x9, {{id_mmfr0_el1|ID_MMFR0_EL1}}3544# CHECK: mrs x9, {{id_mmfr1_el1|ID_MMFR1_EL1}}3545# CHECK: mrs x9, {{id_mmfr2_el1|ID_MMFR2_EL1}}3546# CHECK: mrs x9, {{id_mmfr3_el1|ID_MMFR3_EL1}}3547# CHECK: mrs x9, {{id_mmfr4_el1|ID_MMFR4_EL1}}3548# CHECK: mrs x9, {{id_mmfr5_el1|ID_MMFR5_EL1}}3549# CHECK: mrs x9, {{id_isar0_el1|ID_ISAR0_EL1}}3550# CHECK: mrs x9, {{id_isar1_el1|ID_ISAR1_EL1}}3551# CHECK: mrs x9, {{id_isar2_el1|ID_ISAR2_EL1}}3552# CHECK: mrs x9, {{id_isar3_el1|ID_ISAR3_EL1}}3553# CHECK: mrs x9, {{id_isar4_el1|ID_ISAR4_EL1}}3554# CHECK: mrs x9, {{id_isar5_el1|ID_ISAR5_EL1}}3555# CHECK: mrs x9, {{mvfr0_el1|MVFR0_EL1}}3556# CHECK: mrs x9, {{mvfr1_el1|MVFR1_EL1}}3557# CHECK: mrs x9, {{mvfr2_el1|MVFR2_EL1}}3558# CHECK: mrs x9, {{id_aa64pfr0_el1|ID_AA64PFR0_EL1}}3559# CHECK: mrs x9, {{id_aa64pfr1_el1|ID_AA64PFR1_EL1}}3560# CHECK: mrs x9, {{id_aa64pfr2_el1|ID_AA64PFR2_EL1}}3561# CHECK: mrs x9, {{id_aa64dfr0_el1|ID_AA64DFR0_EL1}}3562# CHECK: mrs x9, {{id_aa64dfr1_el1|ID_AA64DFR1_EL1}}3563# CHECK: mrs x9, {{id_aa64dfr2_el1|ID_AA64DFR2_EL1}}3564# CHECK: mrs x9, {{id_aa64afr0_el1|ID_AA64AFR0_EL1}}3565# CHECK: mrs x9, {{id_aa64afr1_el1|ID_AA64AFR1_EL1}}3566# CHECK: mrs x9, {{id_aa64isar0_el1|ID_AA64ISAR0_EL1}}3567# CHECK: mrs x9, {{id_aa64isar1_el1|ID_AA64ISAR1_EL1}}3568# CHECK: mrs x9, {{id_aa64isar2_el1|ID_AA64ISAR2_EL1}}3569# CHECK: mrs x9, {{id_aa64isar2_el1|ID_AA64ISAR3_EL1}}3570# CHECK: mrs x9, {{id_aa64mmfr0_el1|ID_AA64MMFR0_EL1}}3571# CHECK: mrs x9, {{id_aa64mmfr1_el1|ID_AA64MMFR1_EL1}}3572# CHECK: mrs x9, {{id_aa64mmfr2_el1|ID_AA64MMFR2_EL1}}3573# CHECK: mrs x9, {{id_aa64mmfr3_el1|ID_AA64MMFR3_EL1}}3574# CHECK: mrs x9, {{id_aa64mmfr4_el1|ID_AA64MMFR4_EL1}}3575# CHECK: mrs x9, {{sctlr_el1|SCTLR_EL1}}3576# CHECK: mrs x9, {{sctlr_el2|SCTLR_EL2}}3577# CHECK: mrs x9, {{sctlr_el3|SCTLR_EL3}}3578# CHECK: mrs x9, {{actlr_el1|ACTLR_EL1}}3579# CHECK: mrs x9, {{actlr_el12|ACTLR_EL12}}3580# CHECK: mrs x9, {{actlr_el2|ACTLR_EL2}}3581# CHECK: mrs x9, {{actlr_el3|ACTLR_EL3}}3582# CHECK: mrs x9, {{cpacr_el1|CPACR_EL1}}3583# CHECK: mrs x9, {{hcr_el2|HCR_EL2}}3584# CHECK: mrs x9, {{scr_el3|SCR_EL3}}3585# CHECK: mrs x9, {{mdcr_el2|MDCR_EL2}}3586# CHECK: mrs x9, {{sder32_el3|SDER32_EL3}}3587# CHECK: mrs x9, {{cptr_el2|CPTR_EL2}}3588# CHECK: mrs x9, {{cptr_el3|CPTR_EL3}}3589# CHECK: mrs x9, {{hstr_el2|HSTR_EL2}}3590# CHECK: mrs x9, {{hacr_el2|HACR_EL2}}3591# CHECK: mrs x9, {{mdcr_el3|MDCR_EL3}}3592# CHECK: mrs x9, {{ttbr0_el1|TTBR0_EL1}}3593# CHECK: mrs x9, {{ttbr0_el2|TTBR0_EL2}}3594# CHECK: mrs x9, {{ttbr0_el3|TTBR0_EL3}}3595# CHECK: mrs x9, {{ttbr1_el1|TTBR1_EL1}}3596# CHECK: mrs x9, {{tcr_el1|TCR_EL1}}3597# CHECK: mrs x9, {{tcr_el2|TCR_EL2}}3598# CHECK: mrs x9, {{tcr_el3|TCR_EL3}}3599# CHECK: mrs x9, {{vttbr_el2|VTTBR_EL2}}3600# CHECK: mrs x9, {{vtcr_el2|VTCR_EL2}}3601# CHECK: mrs x9, {{dacr32_el2|DACR32_EL2}}3602# CHECK: mrs x9, {{spsr_el1|SPSR_EL1}}3603# CHECK: mrs x9, {{spsr_el2|SPSR_EL2}}3604# CHECK: mrs x9, {{spsr_el3|SPSR_EL3}}3605# CHECK: mrs x9, {{elr_el1|ELR_EL1}}3606# CHECK: mrs x9, {{elr_el2|ELR_EL2}}3607# CHECK: mrs x9, {{elr_el3|ELR_EL3}}3608# CHECK: mrs x9, {{sp_el0|SP_EL0}}3609# CHECK: mrs x9, {{sp_el1|SP_EL1}}3610# CHECK: mrs x9, {{sp_el2|SP_EL2}}3611# CHECK: mrs x9, {{SPSel|SPSEL}}3612# CHECK: mrs x9, {{nzcv|NZCV}}3613# CHECK: mrs x9, {{daif|DAIF}}3614# CHECK: mrs x9, {{CurrentEL|CURRENTEL}}3615# CHECK: mrs x9, {{SPSR_irq|SPSR_IRQ}}3616# CHECK: mrs x9, {{SPSR_abt|SPSR_ABT}}3617# CHECK: mrs x9, {{SPSR_und|SPSR_UND}}3618# CHECK: mrs x9, {{SPSR_fiq|SPSR_FIQ}}3619# CHECK: mrs x9, {{fpcr|FPCR}}3620# CHECK: mrs x9, {{fpsr|FPSR}}3621# CHECK: mrs x9, {{dspsr_el0|DSPSR_EL0}}3622# CHECK: mrs x9, {{dlr_el0|DLR_EL0}}3623# CHECK: mrs x9, {{ifsr32_el2|IFSR32_EL2}}3624# CHECK: mrs x9, {{afsr0_el1|AFSR0_EL1}}3625# CHECK: mrs x9, {{afsr0_el2|AFSR0_EL2}}3626# CHECK: mrs x9, {{afsr0_el3|AFSR0_EL3}}3627# CHECK: mrs x9, {{afsr1_el1|AFSR1_EL1}}3628# CHECK: mrs x9, {{afsr1_el2|AFSR1_EL2}}3629# CHECK: mrs x9, {{afsr1_el3|AFSR1_EL3}}3630# CHECK: mrs x9, {{esr_el1|ESR_EL1}}3631# CHECK: mrs x9, {{esr_el2|ESR_EL2}}3632# CHECK: mrs x9, {{esr_el3|ESR_EL3}}3633# CHECK: mrs x9, {{fpexc32_el2|FPEXC32_EL2}}3634# CHECK: mrs x9, {{far_el1|FAR_EL1}}3635# CHECK: mrs x9, {{far_el2|FAR_EL2}}3636# CHECK: mrs x9, {{far_el3|FAR_EL3}}3637# CHECK: mrs x9, {{hpfar_el2|HPFAR_EL2}}3638# CHECK: mrs x9, {{par_el1|PAR_EL1}}3639# CHECK: mrs x9, {{pmcr_el0|PMCR_EL0}}3640# CHECK: mrs x9, {{pmcntenset_el0|PMCNTENSET_EL0}}3641# CHECK: mrs x9, {{pmcntenclr_el0|PMCNTENCLR_EL0}}3642# CHECK: mrs x9, {{pmovsclr_el0|PMOVSCLR_EL0}}3643# CHECK: mrs x9, {{pmselr_el0|PMSELR_EL0}}3644# CHECK: mrs x9, {{pmceid0_el0|PMCEID0_EL0}}3645# CHECK: mrs x9, {{pmceid1_el0|PMCEID1_EL0}}3646# CHECK: mrs x9, {{pmccntr_el0|PMCCNTR_EL0}}3647# CHECK: mrs x9, {{pmxevtyper_el0|PMXEVTYPER_EL0}}3648# CHECK: mrs x9, {{pmxevcntr_el0|PMXEVCNTR_EL0}}3649# CHECK: mrs x9, {{pmuserenr_el0|PMUSERENR_EL0}}3650# CHECK: mrs x9, {{pmintenset_el1|PMINTENSET_EL1}}3651# CHECK: mrs x9, {{pmintenclr_el1|PMINTENCLR_EL1}}3652# CHECK: mrs x9, {{pmovsset_el0|PMOVSSET_EL0}}3653# CHECK: mrs x9, {{mair_el1|MAIR_EL1}}3654# CHECK: mrs x9, {{mair_el2|MAIR_EL2}}3655# CHECK: mrs x9, {{mair_el3|MAIR_EL3}}3656# CHECK: mrs x9, {{amair_el1|AMAIR_EL1}}3657# CHECK: mrs x9, {{amair_el2|AMAIR_EL2}}3658# CHECK: mrs x9, {{amair_el3|AMAIR_EL3}}3659# CHECK: mrs x9, {{vbar_el1|VBAR_EL1}}3660# CHECK: mrs x9, {{vbar_el2|VBAR_EL2}}3661# CHECK: mrs x9, {{vbar_el3|VBAR_EL3}}3662# CHECK: mrs x9, {{rvbar_el1|RVBAR_EL1}}3663# CHECK: mrs x9, {{rvbar_el2|RVBAR_EL2}}3664# CHECK: mrs x9, {{rvbar_el3|RVBAR_EL3}}3665# CHECK: mrs x9, {{rmr_el1|RMR_EL1}}3666# CHECK: mrs x9, {{rmr_el2|RMR_EL2}}3667# CHECK: mrs x9, {{rmr_el3|RMR_EL3}}3668# CHECK: mrs x9, {{isr_el1|ISR_EL1}}3669# CHECK: mrs x9, {{contextidr_el1|CONTEXTIDR_EL1}}3670# CHECK: mrs x9, {{tpidr_el0|TPIDR_EL0}}3671# CHECK: mrs x9, {{tpidr_el2|TPIDR_EL2}}3672# CHECK: mrs x9, {{tpidr_el3|TPIDR_EL3}}3673# CHECK: mrs x9, {{tpidrro_el0|TPIDRRO_EL0}}3674# CHECK: mrs x9, {{tpidr_el1|TPIDR_EL1}}3675# CHECK: mrs x9, {{cntfrq_el0|CNTFRQ_EL0}}3676# CHECK: mrs x9, {{cntpct_el0|CNTPCT_EL0}}3677# CHECK: mrs x9, {{cntvct_el0|CNTVCT_EL0}}3678# CHECK: mrs x9, {{cntvoff_el2|CNTVOFF_EL2}}3679# CHECK: mrs x9, {{cntkctl_el1|CNTKCTL_EL1}}3680# CHECK: mrs x9, {{cnthctl_el2|CNTHCTL_EL2}}3681# CHECK: mrs x9, {{cntp_tval_el0|CNTP_TVAL_EL0}}3682# CHECK: mrs x9, {{cnthp_tval_el2|CNTHP_TVAL_EL2}}3683# CHECK: mrs x9, {{cntps_tval_el1|CNTPS_TVAL_EL1}}3684# CHECK: mrs x9, {{cntp_ctl_el0|CNTP_CTL_EL0}}3685# CHECK: mrs x9, {{cnthp_ctl_el2|CNTHP_CTL_EL2}}3686# CHECK: mrs x9, {{cntps_ctl_el1|CNTPS_CTL_EL1}}3687# CHECK: mrs x9, {{cntp_cval_el0|CNTP_CVAL_EL0}}3688# CHECK: mrs x9, {{cnthp_cval_el2|CNTHP_CVAL_EL2}}3689# CHECK: mrs x9, {{cntps_cval_el1|CNTPS_CVAL_EL1}}3690# CHECK: mrs x9, {{cntv_tval_el0|CNTV_TVAL_EL0}}3691# CHECK: mrs x9, {{cntv_ctl_el0|CNTV_CTL_EL0}}3692# CHECK: mrs x9, {{cntv_cval_el0|CNTV_CVAL_EL0}}3693# CHECK: mrs x9, {{pmevcntr0_el0|PMEVCNTR0_EL0}}3694# CHECK: mrs x9, {{pmevcntr1_el0|PMEVCNTR1_EL0}}3695# CHECK: mrs x9, {{pmevcntr2_el0|PMEVCNTR2_EL0}}3696# CHECK: mrs x9, {{pmevcntr3_el0|PMEVCNTR3_EL0}}3697# CHECK: mrs x9, {{pmevcntr4_el0|PMEVCNTR4_EL0}}3698# CHECK: mrs x9, {{pmevcntr5_el0|PMEVCNTR5_EL0}}3699# CHECK: mrs x9, {{pmevcntr6_el0|PMEVCNTR6_EL0}}3700# CHECK: mrs x9, {{pmevcntr7_el0|PMEVCNTR7_EL0}}3701# CHECK: mrs x9, {{pmevcntr8_el0|PMEVCNTR8_EL0}}3702# CHECK: mrs x9, {{pmevcntr9_el0|PMEVCNTR9_EL0}}3703# CHECK: mrs x9, {{pmevcntr10_el0|PMEVCNTR10_EL0}}3704# CHECK: mrs x9, {{pmevcntr11_el0|PMEVCNTR11_EL0}}3705# CHECK: mrs x9, {{pmevcntr12_el0|PMEVCNTR12_EL0}}3706# CHECK: mrs x9, {{pmevcntr13_el0|PMEVCNTR13_EL0}}3707# CHECK: mrs x9, {{pmevcntr14_el0|PMEVCNTR14_EL0}}3708# CHECK: mrs x9, {{pmevcntr15_el0|PMEVCNTR15_EL0}}3709# CHECK: mrs x9, {{pmevcntr16_el0|PMEVCNTR16_EL0}}3710# CHECK: mrs x9, {{pmevcntr17_el0|PMEVCNTR17_EL0}}3711# CHECK: mrs x9, {{pmevcntr18_el0|PMEVCNTR18_EL0}}3712# CHECK: mrs x9, {{pmevcntr19_el0|PMEVCNTR19_EL0}}3713# CHECK: mrs x9, {{pmevcntr20_el0|PMEVCNTR20_EL0}}3714# CHECK: mrs x9, {{pmevcntr21_el0|PMEVCNTR21_EL0}}3715# CHECK: mrs x9, {{pmevcntr22_el0|PMEVCNTR22_EL0}}3716# CHECK: mrs x9, {{pmevcntr23_el0|PMEVCNTR23_EL0}}3717# CHECK: mrs x9, {{pmevcntr24_el0|PMEVCNTR24_EL0}}3718# CHECK: mrs x9, {{pmevcntr25_el0|PMEVCNTR25_EL0}}3719# CHECK: mrs x9, {{pmevcntr26_el0|PMEVCNTR26_EL0}}3720# CHECK: mrs x9, {{pmevcntr27_el0|PMEVCNTR27_EL0}}3721# CHECK: mrs x9, {{pmevcntr28_el0|PMEVCNTR28_EL0}}3722# CHECK: mrs x9, {{pmevcntr29_el0|PMEVCNTR29_EL0}}3723# CHECK: mrs x9, {{pmevcntr30_el0|PMEVCNTR30_EL0}}3724# CHECK: mrs x9, {{pmccfiltr_el0|PMCCFILTR_EL0}}3725# CHECK: mrs x9, {{pmevtyper0_el0|PMEVTYPER0_EL0}}3726# CHECK: mrs x9, {{pmevtyper1_el0|PMEVTYPER1_EL0}}3727# CHECK: mrs x9, {{pmevtyper2_el0|PMEVTYPER2_EL0}}3728# CHECK: mrs x9, {{pmevtyper3_el0|PMEVTYPER3_EL0}}3729# CHECK: mrs x9, {{pmevtyper4_el0|PMEVTYPER4_EL0}}3730# CHECK: mrs x9, {{pmevtyper5_el0|PMEVTYPER5_EL0}}3731# CHECK: mrs x9, {{pmevtyper6_el0|PMEVTYPER6_EL0}}3732# CHECK: mrs x9, {{pmevtyper7_el0|PMEVTYPER7_EL0}}3733# CHECK: mrs x9, {{pmevtyper8_el0|PMEVTYPER8_EL0}}3734# CHECK: mrs x9, {{pmevtyper9_el0|PMEVTYPER9_EL0}}3735# CHECK: mrs x9, {{pmevtyper10_el0|PMEVTYPER10_EL0}}3736# CHECK: mrs x9, {{pmevtyper11_el0|PMEVTYPER11_EL0}}3737# CHECK: mrs x9, {{pmevtyper12_el0|PMEVTYPER12_EL0}}3738# CHECK: mrs x9, {{pmevtyper13_el0|PMEVTYPER13_EL0}}3739# CHECK: mrs x9, {{pmevtyper14_el0|PMEVTYPER14_EL0}}3740# CHECK: mrs x9, {{pmevtyper15_el0|PMEVTYPER15_EL0}}3741# CHECK: mrs x9, {{pmevtyper16_el0|PMEVTYPER16_EL0}}3742# CHECK: mrs x9, {{pmevtyper17_el0|PMEVTYPER17_EL0}}3743# CHECK: mrs x9, {{pmevtyper18_el0|PMEVTYPER18_EL0}}3744# CHECK: mrs x9, {{pmevtyper19_el0|PMEVTYPER19_EL0}}3745# CHECK: mrs x9, {{pmevtyper20_el0|PMEVTYPER20_EL0}}3746# CHECK: mrs x9, {{pmevtyper21_el0|PMEVTYPER21_EL0}}3747# CHECK: mrs x9, {{pmevtyper22_el0|PMEVTYPER22_EL0}}3748# CHECK: mrs x9, {{pmevtyper23_el0|PMEVTYPER23_EL0}}3749# CHECK: mrs x9, {{pmevtyper24_el0|PMEVTYPER24_EL0}}3750# CHECK: mrs x9, {{pmevtyper25_el0|PMEVTYPER25_EL0}}3751# CHECK: mrs x9, {{pmevtyper26_el0|PMEVTYPER26_EL0}}3752# CHECK: mrs x9, {{pmevtyper27_el0|PMEVTYPER27_EL0}}3753# CHECK: mrs x9, {{pmevtyper28_el0|PMEVTYPER28_EL0}}3754# CHECK: mrs x9, {{pmevtyper29_el0|PMEVTYPER29_EL0}}3755# CHECK: mrs x9, {{pmevtyper30_el0|PMEVTYPER30_EL0}}3756# CHECK: mrs x9, {{amair2_el1|AMAIR2_EL1}}3757# CHECK: mrs x9, {{amair2_el12|AMAIR2_EL12}}3758# CHECK: mrs x9, {{amair2_el2|AMAIR2_EL2}}3759# CHECK: mrs x9, {{amair2_el3|AMAIR2_EL3}}3760# CHECK: mrs x9, {{mair2_el1|MAIR2_EL1}}3761# CHECK: mrs x9, {{mair2_el12|MAIR2_EL12}}3762# CHECK: mrs x9, {{mair2_el2|MAIR2_EL2}}3763# CHECK: mrs x9, {{mair2_el3|MAIR2_EL3}}3764# CHECK: mrs x9, {{pire0_el1|PIRE0_EL1}}3765# CHECK: mrs x9, {{pire0_el12|PIRE0_EL12}}3766# CHECK: mrs x9, {{pire0_el2|PIRE0_EL2}}3767# CHECK: mrs x9, {{pir_el1|PIR_EL1}}3768# CHECK: mrs x9, {{pir_el12|PIR_EL12}}3769# CHECK: mrs x9, {{pir_el2|PIR_EL2}}3770# CHECK: mrs x9, {{pir_el3|PIR_EL3}}3771# CHECK: mrs x9, {{s2pir_el2|S2PIR_EL2}}3772# CHECK: mrs x9, {{por_el0|POR_EL0}}3773# CHECK: mrs x9, {{por_el1|POR_EL1}}3774# CHECK: mrs x9, {{por_el12|POR_EL12}}3775# CHECK: mrs x9, {{por_el2|POR_EL2}}3776# CHECK: mrs x9, {{por_el3|POR_EL3}}3777# CHECK: mrs x9, {{s2por_el1|S2POR_EL1}}3778# CHECK: mrs x9, {{sctlr2_el1|SCTLR2_EL1}}3779# CHECK: mrs x9, {{sctlr2_el12|SCTLR2_EL12}}3780# CHECK: mrs x9, {{sctlr2_el2|SCTLR2_EL2}}3781# CHECK: mrs x9, {{sctlr2_el3|SCTLR2_EL3}}3782# CHECK: mrs x9, {{tcr2_el1|TCR2_EL1}}3783# CHECK: mrs x9, {{tcr2_el12|TCR2_EL12}}3784# CHECK: mrs x9, {{tcr2_el2|TCR2_EL2}}3785 37860xc 0x0 0x12 0xd537870x4c 0x0 0x10 0xd537880xc 0x2 0x10 0xd537890x4c 0x2 0x10 0xd537900x4c 0x3 0x10 0xd537910xc 0x4 0x13 0xd537920xc 0x5 0x13 0xd537930x4c 0x6 0x10 0xd537940xc 0x7 0x14 0xd537950x8c 0x0 0x10 0xd537960x8c 0x1 0x10 0xd537970x8c 0x2 0x10 0xd537980x8c 0x3 0x10 0xd537990x8c 0x4 0x10 0xd538000x8c 0x5 0x10 0xd538010x8c 0x6 0x10 0xd538020x8c 0x7 0x10 0xd538030x8c 0x8 0x10 0xd538040x8c 0x9 0x10 0xd538050x8c 0xa 0x10 0xd538060x8c 0xb 0x10 0xd538070x8c 0xc 0x10 0xd538080x8c 0xd 0x10 0xd538090x8c 0xe 0x10 0xd538100x8c 0xf 0x10 0xd538110xac 0x0 0x10 0xd538120xac 0x1 0x10 0xd538130xac 0x2 0x10 0xd538140xac 0x3 0x10 0xd538150xac 0x4 0x10 0xd538160xac 0x5 0x10 0xd538170xac 0x6 0x10 0xd538180xac 0x7 0x10 0xd538190xac 0x8 0x10 0xd538200xac 0x9 0x10 0xd538210xac 0xa 0x10 0xd538220xac 0xb 0x10 0xd538230xac 0xc 0x10 0xd538240xac 0xd 0x10 0xd538250xac 0xe 0x10 0xd538260xac 0xf 0x10 0xd538270xcc 0x0 0x10 0xd538280xcc 0x1 0x10 0xd538290xcc 0x2 0x10 0xd538300xcc 0x3 0x10 0xd538310xcc 0x4 0x10 0xd538320xcc 0x5 0x10 0xd538330xcc 0x6 0x10 0xd538340xcc 0x7 0x10 0xd538350xcc 0x8 0x10 0xd538360xcc 0x9 0x10 0xd538370xcc 0xa 0x10 0xd538380xcc 0xb 0x10 0xd538390xcc 0xc 0x10 0xd538400xcc 0xd 0x10 0xd538410xcc 0xe 0x10 0xd538420xcc 0xf 0x10 0xd538430xec 0x0 0x10 0xd538440xec 0x1 0x10 0xd538450xec 0x2 0x10 0xd538460xec 0x3 0x10 0xd538470xec 0x4 0x10 0xd538480xec 0x5 0x10 0xd538490xec 0x6 0x10 0xd538500xec 0x7 0x10 0xd538510xec 0x8 0x10 0xd538520xec 0x9 0x10 0xd538530xec 0xa 0x10 0xd538540xec 0xb 0x10 0xd538550xec 0xc 0x10 0xd538560xec 0xd 0x10 0xd538570xec 0xe 0x10 0xd538580xec 0xf 0x10 0xd538590xc 0x10 0x12 0xd538600x8c 0x10 0x10 0xd538610x8c 0x13 0x10 0xd538620x8c 0x14 0x10 0xd538630xcc 0x78 0x10 0xd538640xcc 0x79 0x10 0xd538650xc 0x0 0x1a 0xd538660xc 0x0 0x1c 0xd538670xac 0x0 0x1c 0xd538680xc 0x10 0x18 0xd538690xc 0x10 0x1c 0xd538700xc 0x10 0x1e 0xd538710x2c 0x10 0x18 0xd538720x2c 0x10 0x1d 0xd538730x2c 0x10 0x1c 0xd538740x2c 0x10 0x1e 0xd538750x4c 0x10 0x18 0xd538760xc 0x11 0x1c 0xd538770xc 0x11 0x1e 0xd538780x2c 0x11 0x1c 0xd538790x2c 0x11 0x1e 0xd538800x4c 0x11 0x1c 0xd538810x4c 0x11 0x1e 0xd538820x6c 0x11 0x1c 0xd538830xec 0x11 0x1c 0xd538840x2c 0x13 0x1e 0xd538850xc 0x20 0x18 0xd538860xc 0x20 0x1c 0xd538870xc 0x20 0x1e 0xd538880x2c 0x20 0x18 0xd538890x4c 0x20 0x18 0xd538900x4c 0x20 0x1c 0xd538910x4c 0x20 0x1e 0xd538920xc 0x21 0x1c 0xd538930x4c 0x21 0x1c 0xd538940xc 0x30 0x1c 0xd538950xc 0x40 0x18 0xd538960xc 0x40 0x1c 0xd538970xc 0x40 0x1e 0xd538980x2c 0x40 0x18 0xd538990x2c 0x40 0x1c 0xd539000x2c 0x40 0x1e 0xd539010xc 0x41 0x18 0xd539020xc 0x41 0x1c 0xd539030xc 0x41 0x1e 0xd539040xc 0x42 0x18 0xd539050xc 0x42 0x1b 0xd539060x2c 0x42 0x1b 0xd539070x4c 0x42 0x18 0xd539080xc 0x43 0x1c 0xd539090x2c 0x43 0x1c 0xd539100x4c 0x43 0x1c 0xd539110x6c 0x43 0x1c 0xd539120xc 0x44 0x1b 0xd539130x2c 0x44 0x1b 0xd539140xc 0x45 0x1b 0xd539150x2c 0x45 0x1b 0xd539160x2c 0x50 0x1c 0xd539170xc 0x51 0x18 0xd539180xc 0x51 0x1c 0xd539190xc 0x51 0x1e 0xd539200x2c 0x51 0x18 0xd539210x2c 0x51 0x1c 0xd539220x2c 0x51 0x1e 0xd539230xc 0x52 0x18 0xd539240xc 0x52 0x1c 0xd539250xc 0x52 0x1e 0xd539260xc 0x53 0x1c 0xd539270xc 0x60 0x18 0xd539280xc 0x60 0x1c 0xd539290xc 0x60 0x1e 0xd539300x8c 0x60 0x1c 0xd539310xc 0x74 0x18 0xd539320xc 0x9c 0x1b 0xd539330x2c 0x9c 0x1b 0xd539340x4c 0x9c 0x1b 0xd539350x6c 0x9c 0x1b 0xd539360xac 0x9c 0x1b 0xd539370xc 0x9d 0x1b 0xd539380x2c 0x9d 0x1b 0xd539390x4c 0x9d 0x1b 0xd539400xc 0x9e 0x1b 0xd539410x2c 0x9e 0x18 0xd539420x4c 0x9e 0x18 0xd539430x6c 0x9e 0x1b 0xd539440xcc 0x9e 0x18 0xd539450xc 0xa2 0x18 0xd539460xc 0xa2 0x1c 0xd539470xc 0xa2 0x1e 0xd539480xc 0xa3 0x18 0xd539490xc 0xa3 0x1c 0xd539500xc 0xa3 0x1e 0xd539510xc 0xc0 0x18 0xd539520xc 0xc0 0x1c 0xd539530xc 0xc0 0x1e 0xd539540x4c 0xc0 0x18 0xd539550x4c 0xc0 0x1c 0xd539560x4c 0xc0 0x1e 0xd539570x4c 0xd0 0x1b 0xd539580x4c 0xd0 0x1c 0xd539590x4c 0xd0 0x1e 0xd539600x6c 0xd0 0x1b 0xd539610x8c 0xd0 0x18 0xd539620xc 0xe0 0x1b 0xd539630x6c 0xe0 0x1c 0xd539640xc 0xe1 0x18 0xd539650xc 0xe1 0x1c 0xd539660xc 0xe2 0x1b 0xd539670xc 0xe2 0x1c 0xd539680xc 0xe2 0x1f 0xd539690x2c 0xe2 0x1b 0xd539700x2c 0xe2 0x1c 0xd539710x2c 0xe2 0x1f 0xd539720x4c 0xe2 0x1b 0xd539730x4c 0xe2 0x1c 0xd539740x4c 0xe2 0x1f 0xd539750xc 0xe3 0x1b 0xd539760x2c 0xe3 0x1b 0xd539770x4c 0xe3 0x1b 0xd539780xc 0xe8 0x1b 0xd539790x2c 0xe8 0x1b 0xd539800x4c 0xe8 0x1b 0xd539810x6c 0xe8 0x1b 0xd539820x8c 0xe8 0x1b 0xd539830xac 0xe8 0x1b 0xd539840xcc 0xe8 0x1b 0xd539850xec 0xe8 0x1b 0xd539860xc 0xe9 0x1b 0xd539870x2c 0xe9 0x1b 0xd539880x4c 0xe9 0x1b 0xd539890x6c 0xe9 0x1b 0xd539900x8c 0xe9 0x1b 0xd539910xac 0xe9 0x1b 0xd539920xcc 0xe9 0x1b 0xd539930xec 0xe9 0x1b 0xd539940xc 0xea 0x1b 0xd539950x2c 0xea 0x1b 0xd539960x4c 0xea 0x1b 0xd539970x6c 0xea 0x1b 0xd539980x8c 0xea 0x1b 0xd539990xac 0xea 0x1b 0xd540000xcc 0xea 0x1b 0xd540010xec 0xea 0x1b 0xd540020xc 0xeb 0x1b 0xd540030x2c 0xeb 0x1b 0xd540040x4c 0xeb 0x1b 0xd540050x6c 0xeb 0x1b 0xd540060x8c 0xeb 0x1b 0xd540070xac 0xeb 0x1b 0xd540080xcc 0xeb 0x1b 0xd540090xec 0xef 0x1b 0xd540100xc 0xec 0x1b 0xd540110x2c 0xec 0x1b 0xd540120x4c 0xec 0x1b 0xd540130x6c 0xec 0x1b 0xd540140x8c 0xec 0x1b 0xd540150xac 0xec 0x1b 0xd540160xcc 0xec 0x1b 0xd540170xec 0xec 0x1b 0xd540180xc 0xed 0x1b 0xd540190x2c 0xed 0x1b 0xd540200x4c 0xed 0x1b 0xd540210x6c 0xed 0x1b 0xd540220x8c 0xed 0x1b 0xd540230xac 0xed 0x1b 0xd540240xcc 0xed 0x1b 0xd540250xec 0xed 0x1b 0xd540260xc 0xee 0x1b 0xd540270x2c 0xee 0x1b 0xd540280x4c 0xee 0x1b 0xd540290x6c 0xee 0x1b 0xd540300x8c 0xee 0x1b 0xd540310xac 0xee 0x1b 0xd540320xcc 0xee 0x1b 0xd540330xec 0xee 0x1b 0xd540340xc 0xef 0x1b 0xd540350x2c 0xef 0x1b 0xd540360x4c 0xef 0x1b 0xd540370x6c 0xef 0x1b 0xd540380x8c 0xef 0x1b 0xd540390xac 0xef 0x1b 0xd540400xcc 0xef 0x1b 0xd540410x2c 0xa3 0x18 0xd540420x2c 0xa3 0x1d 0xd540430x2c 0xa3 0x1c 0xd540440x2c 0xa3 0x1e 0xd540450x2c 0xa2 0x18 0xd540460x2c 0xa2 0x1d 0xd540470x2c 0xa1 0x1c 0xd540480x2c 0xa1 0x1e 0xd540490x4c 0xa2 0x18 0xd540500x4c 0xa2 0x1d 0xd540510x4c 0xa2 0x1c 0xd540520x6c 0xa2 0x18 0xd540530x6c 0xa2 0x1d 0xd540540x6c 0xa2 0x1c 0xd540550x6c 0xa2 0x1e 0xd540560xac 0xa2 0x1c 0xd540570x8c 0xa2 0x1b 0xd540580x8c 0xa2 0x18 0xd540590x8c 0xa2 0x1d 0xd540600x8c 0xa2 0x1c 0xd540610x8c 0xa2 0x1e 0xd540620xac 0xa2 0x18 0xd540630x6c 0x10 0x18 0xd540640x6c 0x10 0x1d 0xd540650x6c 0x10 0x1c 0xd540660x6c 0x10 0x1e 0xd540670x6c 0x20 0x18 0xd540680x6c 0x20 0x1d 0xd540690x6c 0x20 0x1c 0xd540700x9 0x0 0x32 0xd540710x49 0x0 0x30 0xd540720x9 0x1 0x33 0xd540730x9 0x2 0x30 0xd540740x49 0x2 0x30 0xd540750x49 0x3 0x30 0xd540760x9 0x4 0x33 0xd540770x9 0x5 0x33 0xd540780x49 0x6 0x30 0xd540790x9 0x7 0x34 0xd540800x89 0x0 0x30 0xd540810x89 0x1 0x30 0xd540820x89 0x2 0x30 0xd540830x89 0x3 0x30 0xd540840x89 0x4 0x30 0xd540850x89 0x5 0x30 0xd540860x89 0x6 0x30 0xd540870x89 0x7 0x30 0xd540880x89 0x8 0x30 0xd540890x89 0x9 0x30 0xd540900x89 0xa 0x30 0xd540910x89 0xb 0x30 0xd540920x89 0xc 0x30 0xd540930x89 0xd 0x30 0xd540940x89 0xe 0x30 0xd540950x89 0xf 0x30 0xd540960xa9 0x0 0x30 0xd540970xa9 0x1 0x30 0xd540980xa9 0x2 0x30 0xd540990xa9 0x3 0x30 0xd541000xa9 0x4 0x30 0xd541010xa9 0x5 0x30 0xd541020xa9 0x6 0x30 0xd541030xa9 0x7 0x30 0xd541040xa9 0x8 0x30 0xd541050xa9 0x9 0x30 0xd541060xa9 0xa 0x30 0xd541070xa9 0xb 0x30 0xd541080xa9 0xc 0x30 0xd541090xa9 0xd 0x30 0xd541100xa9 0xe 0x30 0xd541110xa9 0xf 0x30 0xd541120xc9 0x0 0x30 0xd541130xc9 0x1 0x30 0xd541140xc9 0x2 0x30 0xd541150xc9 0x3 0x30 0xd541160xc9 0x4 0x30 0xd541170xc9 0x5 0x30 0xd541180xc9 0x6 0x30 0xd541190xc9 0x7 0x30 0xd541200xc9 0x8 0x30 0xd541210xc9 0x9 0x30 0xd541220xc9 0xa 0x30 0xd541230xc9 0xb 0x30 0xd541240xc9 0xc 0x30 0xd541250xc9 0xd 0x30 0xd541260xc9 0xe 0x30 0xd541270xc9 0xf 0x30 0xd541280xe9 0x0 0x30 0xd541290xe9 0x1 0x30 0xd541300xe9 0x2 0x30 0xd541310xe9 0x3 0x30 0xd541320xe9 0x4 0x30 0xd541330xe9 0x5 0x30 0xd541340xe9 0x6 0x30 0xd541350xe9 0x7 0x30 0xd541360xe9 0x8 0x30 0xd541370xe9 0x9 0x30 0xd541380xe9 0xa 0x30 0xd541390xe9 0xb 0x30 0xd541400xe9 0xc 0x30 0xd541410xe9 0xd 0x30 0xd541420xe9 0xe 0x30 0xd541430xe9 0xf 0x30 0xd541440x9 0x10 0x30 0xd541450x9 0x10 0x32 0xd541460x89 0x11 0x30 0xd541470x89 0x13 0x30 0xd541480x89 0x14 0x30 0xd541490xc9 0x78 0x30 0xd541500xc9 0x79 0x30 0xd541510xc9 0x7e 0x30 0xd541520x9 0x0 0x38 0xd541530x9 0x0 0x39 0xd541540x9 0x0 0x3a 0xd541550x49 0x0 0x39 0xd541560x9 0x0 0x3c 0xd541570x29 0x0 0x39 0xd541580x29 0x0 0x3b 0xd541590xa9 0x0 0x38 0xd541600xa9 0x0 0x3c 0xd541610xc9 0x0 0x38 0xd541620xe9 0x0 0x39 0xd541630xe9 0x0 0x3b 0xd541640x9 0x1 0x38 0xd541650x29 0x1 0x38 0xd541660x49 0x1 0x38 0xd541670xa9 0x3 0x38 0xd541680x69 0x1 0x38 0xd541690x89 0x1 0x38 0xd541700xa9 0x1 0x38 0xd541710xc9 0x1 0x38 0xd541720xe9 0x1 0x38 0xd541730xc9 0x2 0x38 0xd541740xc9 0x3 0x38 0xd541750x9 0x2 0x38 0xd541760x29 0x2 0x38 0xd541770x49 0x2 0x38 0xd541780x69 0x2 0x38 0xd541790x89 0x2 0x38 0xd541800xa9 0x2 0x38 0xd541810x9 0x3 0x38 0xd541820x29 0x3 0x38 0xd541830x49 0x3 0x38 0xd541840x9 0x4 0x38 0xd541850x29 0x4 0x38 0xd541860x49 0x4 0x38 0xd541870x9 0x5 0x38 0xd541880x29 0x5 0x38 0xd541890x49 0x5 0x38 0xd541900x89 0x5 0x38 0xd541910xa9 0x5 0x38 0xd541920x9 0x6 0x38 0xd541930x29 0x6 0x38 0xd541940x49 0x06 0x38 0xd541950x69 0x06 0x38 0xd541960x9 0x7 0x38 0xd541970x29 0x7 0x38 0xd541980x49 0x7 0x38 0xd541990x69 0x7 0x38 0xd542000x89 0x7 0x38 0xd542010x9 0x10 0x38 0xd542020x9 0x10 0x3c 0xd542030x9 0x10 0x3e 0xd542040x29 0x10 0x38 0xd542050x29 0x10 0x3d 0xd542060x29 0x10 0x3c 0xd542070x29 0x10 0x3e 0xd542080x49 0x10 0x38 0xd542090x9 0x11 0x3c 0xd542100x9 0x11 0x3e 0xd542110x29 0x11 0x3c 0xd542120x29 0x11 0x3e 0xd542130x49 0x11 0x3c 0xd542140x49 0x11 0x3e 0xd542150x69 0x11 0x3c 0xd542160xe9 0x11 0x3c 0xd542170x29 0x13 0x3e 0xd542180x9 0x20 0x38 0xd542190x9 0x20 0x3c 0xd542200x9 0x20 0x3e 0xd542210x29 0x20 0x38 0xd542220x49 0x20 0x38 0xd542230x49 0x20 0x3c 0xd542240x49 0x20 0x3e 0xd542250x9 0x21 0x3c 0xd542260x49 0x21 0x3c 0xd542270x9 0x30 0x3c 0xd542280x9 0x40 0x38 0xd542290x9 0x40 0x3c 0xd542300x9 0x40 0x3e 0xd542310x29 0x40 0x38 0xd542320x29 0x40 0x3c 0xd542330x29 0x40 0x3e 0xd542340x9 0x41 0x38 0xd542350x9 0x41 0x3c 0xd542360x9 0x41 0x3e 0xd542370x9 0x42 0x38 0xd542380x9 0x42 0x3b 0xd542390x29 0x42 0x3b 0xd542400x49 0x42 0x38 0xd542410x9 0x43 0x3c 0xd542420x29 0x43 0x3c 0xd542430x49 0x43 0x3c 0xd542440x69 0x43 0x3c 0xd542450x9 0x44 0x3b 0xd542460x29 0x44 0x3b 0xd542470x9 0x45 0x3b 0xd542480x29 0x45 0x3b 0xd542490x29 0x50 0x3c 0xd542500x9 0x51 0x38 0xd542510x9 0x51 0x3c 0xd542520x9 0x51 0x3e 0xd542530x29 0x51 0x38 0xd542540x29 0x51 0x3c 0xd542550x29 0x51 0x3e 0xd542560x9 0x52 0x38 0xd542570x9 0x52 0x3c 0xd542580x9 0x52 0x3e 0xd542590x9 0x53 0x3c 0xd542600x9 0x60 0x38 0xd542610x9 0x60 0x3c 0xd542620x9 0x60 0x3e 0xd542630x89 0x60 0x3c 0xd542640x9 0x74 0x38 0xd542650x9 0x9c 0x3b 0xd542660x29 0x9c 0x3b 0xd542670x49 0x9c 0x3b 0xd542680x69 0x9c 0x3b 0xd542690xa9 0x9c 0x3b 0xd542700xc9 0x9c 0x3b 0xd542710xe9 0x9c 0x3b 0xd542720x9 0x9d 0x3b 0xd542730x29 0x9d 0x3b 0xd542740x49 0x9d 0x3b 0xd542750x9 0x9e 0x3b 0xd542760x29 0x9e 0x38 0xd542770x49 0x9e 0x38 0xd542780x69 0x9e 0x3b 0xd542790xc9 0x9e 0x38 0xd542800x9 0xa2 0x38 0xd542810x9 0xa2 0x3c 0xd542820x9 0xa2 0x3e 0xd542830x9 0xa3 0x38 0xd542840x9 0xa3 0x3c 0xd542850x9 0xa3 0x3e 0xd542860x9 0xc0 0x38 0xd542870x9 0xc0 0x3c 0xd542880x9 0xc0 0x3e 0xd542890x29 0xc0 0x38 0xd542900x29 0xc0 0x3c 0xd542910x29 0xc0 0x3e 0xd542920x49 0xc0 0x38 0xd542930x49 0xc0 0x3c 0xd542940x49 0xc0 0x3e 0xd542950x9 0xc1 0x38 0xd542960x29 0xd0 0x38 0xd542970x49 0xd0 0x3b 0xd542980x49 0xd0 0x3c 0xd542990x49 0xd0 0x3e 0xd543000x69 0xd0 0x3b 0xd543010x89 0xd0 0x38 0xd543020x9 0xe0 0x3b 0xd543030x29 0xe0 0x3b 0xd543040x49 0xe0 0x3b 0xd543050x69 0xe0 0x3c 0xd543060x9 0xe1 0x38 0xd543070x9 0xe1 0x3c 0xd543080x9 0xe2 0x3b 0xd543090x9 0xe2 0x3c 0xd543100x9 0xe2 0x3f 0xd543110x29 0xe2 0x3b 0xd543120x29 0xe2 0x3c 0xd543130x29 0xe2 0x3f 0xd543140x49 0xe2 0x3b 0xd543150x49 0xe2 0x3c 0xd543160x49 0xe2 0x3f 0xd543170x9 0xe3 0x3b 0xd543180x29 0xe3 0x3b 0xd543190x49 0xe3 0x3b 0xd543200x9 0xe8 0x3b 0xd543210x29 0xe8 0x3b 0xd543220x49 0xe8 0x3b 0xd543230x69 0xe8 0x3b 0xd543240x89 0xe8 0x3b 0xd543250xa9 0xe8 0x3b 0xd543260xc9 0xe8 0x3b 0xd543270xe9 0xe8 0x3b 0xd543280x9 0xe9 0x3b 0xd543290x29 0xe9 0x3b 0xd543300x49 0xe9 0x3b 0xd543310x69 0xe9 0x3b 0xd543320x89 0xe9 0x3b 0xd543330xa9 0xe9 0x3b 0xd543340xc9 0xe9 0x3b 0xd543350xe9 0xe9 0x3b 0xd543360x9 0xea 0x3b 0xd543370x29 0xea 0x3b 0xd543380x49 0xea 0x3b 0xd543390x69 0xea 0x3b 0xd543400x89 0xea 0x3b 0xd543410xa9 0xea 0x3b 0xd543420xc9 0xea 0x3b 0xd543430xe9 0xea 0x3b 0xd543440x9 0xeb 0x3b 0xd543450x29 0xeb 0x3b 0xd543460x49 0xeb 0x3b 0xd543470x69 0xeb 0x3b 0xd543480x89 0xeb 0x3b 0xd543490xa9 0xeb 0x3b 0xd543500xc9 0xeb 0x3b 0xd543510xe9 0xef 0x3b 0xd543520x9 0xec 0x3b 0xd543530x29 0xec 0x3b 0xd543540x49 0xec 0x3b 0xd543550x69 0xec 0x3b 0xd543560x89 0xec 0x3b 0xd543570xa9 0xec 0x3b 0xd543580xc9 0xec 0x3b 0xd543590xe9 0xec 0x3b 0xd543600x9 0xed 0x3b 0xd543610x29 0xed 0x3b 0xd543620x49 0xed 0x3b 0xd543630x69 0xed 0x3b 0xd543640x89 0xed 0x3b 0xd543650xa9 0xed 0x3b 0xd543660xc9 0xed 0x3b 0xd543670xe9 0xed 0x3b 0xd543680x9 0xee 0x3b 0xd543690x29 0xee 0x3b 0xd543700x49 0xee 0x3b 0xd543710x69 0xee 0x3b 0xd543720x89 0xee 0x3b 0xd543730xa9 0xee 0x3b 0xd543740xc9 0xee 0x3b 0xd543750xe9 0xee 0x3b 0xd543760x9 0xef 0x3b 0xd543770x29 0xef 0x3b 0xd543780x49 0xef 0x3b 0xd543790x69 0xef 0x3b 0xd543800x89 0xef 0x3b 0xd543810xa9 0xef 0x3b 0xd543820xc9 0xef 0x3b 0xd543830x29 0xa3 0x38 0xd543840x29 0xa3 0x3d 0xd543850x29 0xa3 0x3c 0xd543860x29 0xa3 0x3e 0xd543870x29 0xa2 0x38 0xd543880x29 0xa2 0x3d 0xd543890x29 0xa1 0x3c 0xd543900x29 0xa1 0x3e 0xd543910x49 0xa2 0x38 0xd543920x49 0xa2 0x3d 0xd543930x49 0xa2 0x3c 0xd543940x69 0xa2 0x38 0xd543950x69 0xa2 0x3d 0xd543960x69 0xa2 0x3c 0xd543970x69 0xa2 0x3e 0xd543980xa9 0xa2 0x3c 0xd543990x89 0xa2 0x3b 0xd544000x89 0xa2 0x38 0xd544010x89 0xa2 0x3d 0xd544020x89 0xa2 0x3c 0xd544030x89 0xa2 0x3e 0xd544040xa9 0xa2 0x38 0xd544050x69 0x10 0x38 0xd544060x69 0x10 0x3d 0xd544070x69 0x10 0x3c 0xd544080x69 0x10 0x3e 0xd544090x69 0x20 0x38 0xd544100x69 0x20 0x3d 0xd544110x69 0x20 0x3c 0xd54412 4413# CHECK: mrs x12, {{s3_7_c15_c1_5|S3_7_C15_C1_5}}4414# CHECK: mrs x13, {{s3_2_c11_c15_7|S3_2_C11_C15_7}}4415# CHECK: mrs xzr, {{s0_0_c4_c0_0|S0_0_C4_C0_0}}4416# CHECK: msr {{s3_0_c15_c0_0|S3_0_C15_C0_0}}, x124417# CHECK: msr {{s3_7_c11_c13_7|S3_7_C11_C13_7}}, x54418# CHECK: msr {{s0_0_c4_c0_0|S0_0_C4_C0_0}}, xzr44190xac 0xf1 0x3f 0xd544200xed 0xbf 0x3a 0xd544210x1f 0x40 0x20 0xd544220x0c 0xf0 0x18 0xd544230xe5 0xbd 0x1f 0xd544240x1f 0x40 0x00 0xd54425 4426#------------------------------------------------------------------------------4427# Test and branch (immediate)4428#------------------------------------------------------------------------------4429 4430# CHECK: tbz x12, #62, #04431# CHECK: tbz x12, #62, #44432# CHECK: tbz x12, #62, #-327684433# CHECK: tbnz x12, #60, #3276444340x0c 0x00 0xf0 0xb644350x2c 0x00 0xf0 0xb644360x0c 0x00 0xf4 0xb644370xec 0xff 0xe3 0xb74438 4439#------------------------------------------------------------------------------4440# Unconditional branch (immediate)4441#------------------------------------------------------------------------------4442 4443# CHECK: b #44444# CHECK: b #-44445# CHECK: b #13421772444460x01 0x00 0x00 0x1444470xff 0xff 0xff 0x1744480xff 0xff 0xff 0x154449 4450#------------------------------------------------------------------------------4451# Unconditional branch (register)4452#------------------------------------------------------------------------------4453 4454# CHECK: br x204455# CHECK: blr xzr4456# CHECK: ret x1044570x80 0x2 0x1f 0xd644580xe0 0x3 0x3f 0xd644590x40 0x1 0x5f 0xd64460 4461# CHECK: ret4462# CHECK: eret4463# CHECK: drps44640xc0 0x3 0x5f 0xd644650xe0 0x3 0x9f 0xd644660xe0 0x3 0xbf 0xd64467 4468