1# RUN: llvm-mc -triple=aarch64 -mattr=+fp-armv8 -disassemble < %s | FileCheck %s 2# RUN: llvm-mc -triple=arm64 -mattr=+fp-armv8 -disassemble < %s | FileCheck %s 3# RUN: llvm-mc -triple=arm64 -mattr=+fp-armv8,+fullfp16 -disassemble < %s | FileCheck %s --check-prefix=CHECK --check-prefix=FP16 4# RUN: llvm-mc -triple=arm64 -mattr=+v8.3a -disassemble < %s | FileCheck %s --check-prefix=CHECK-V83 5 6#------------------------------------------------------------------------------ 7# Add/sub (immediate) 8#------------------------------------------------------------------------------ 9# CHECK: add w4, w5, #0 10# CHECK: add w2, w3, #4095 11# CHECK: add w30, w29, #1, lsl #12 12# CHECK: add w13, w5, #4095, lsl #12 13# CHECK: add x5, x7, #1638 140xa4 0x0 0x0 0x11 150x62 0xfc 0x3f 0x11 160xbe 0x7 0x40 0x11 170xad 0xfc 0x7f 0x11 180xe5 0x98 0x19 0x91 19 20# CHECK: add w20, wsp, #801 21# CHECK: add wsp, wsp, #1104 22# CHECK: add wsp, w30, #4084 230xf4 0x87 0xc 0x11 240xff 0x43 0x11 0x11 250xdf 0xd3 0x3f 0x11 26 27# CHECK: add x0, x24, #291 28# CHECK: add x3, x24, #4095, lsl #12 29# CHECK: add x8, sp, #1074 30# CHECK: add sp, x29, #3816 310x0 0x8f 0x4 0x91 320x3 0xff 0x7f 0x91 330xe8 0xcb 0x10 0x91 340xbf 0xa3 0x3b 0x91 35 36# CHECK: sub w0, wsp, #4077 37# CHECK: sub w4, w20, #546, lsl #12 38# CHECK: sub sp, sp, #288 39# CHECK: sub wsp, w19, #16 400xe0 0xb7 0x3f 0x51 410x84 0x8a 0x48 0x51 420xff 0x83 0x4 0xd1 430x7f 0x42 0x0 0x51 44 45 46# CHECK: adds w13, w23, #291, lsl #12 47# CHECK: cmn w2, #4095 48# CHECK: adds w20, wsp, #0 49# CHECK: cmn x3, #1, lsl #12 500xed 0x8e 0x44 0x31 510x5f 0xfc 0x3f 0x31 520xf4 0x3 0x0 0x31 530x7f 0x4 0x40 0xb1 54 55# CHECK: cmp sp, #20, lsl #12 56# CHECK: cmp x30, #4095 57# CHECK: subs x4, sp, #3822 580xff 0x53 0x40 0xf1 590xdf 0xff 0x3f 0xf1 600xe4 0xbb 0x3b 0xf1 61 62# These should really be CMN 63# CHECK: cmn w3, #291, lsl #12 64# CHECK: cmn wsp, #1365 65# CHECK: cmn sp, #1092, lsl #12 660x7f 0x8c 0x44 0x31 670xff 0x57 0x15 0x31 680xff 0x13 0x51 0xb1 69 70# CHECK: mov sp, x30 71# CHECK: mov wsp, w20 72# CHECK: mov x11, sp 73# CHECK: mov w24, wsp 740xdf 0x3 0x0 0x91 750x9f 0x2 0x0 0x11 760xeb 0x3 0x0 0x91 770xf8 0x3 0x0 0x11 78 79#------------------------------------------------------------------------------ 80# Add-subtract (shifted register) 81#------------------------------------------------------------------------------ 82 83# CHECK: add w3, w5, w7 84# CHECK: add wzr, w3, w5 85# CHECK: add w20, wzr, w4 86# CHECK: add w4, w6, wzr 87# CHECK: add w11, w13, w15 88# CHECK: add w9, w3, wzr, lsl #10 89# CHECK: add w17, w29, w20, lsl #31 90# CHECK: add w21, w22, w23, lsr #0 91# CHECK: add w24, w25, w26, lsr #18 92# CHECK: add w27, w28, w29, lsr #31 93# CHECK: add w2, w3, w4, asr #0 94# CHECK: add w5, w6, w7, asr #21 95# CHECK: add w8, w9, w10, asr #31 960xa3 0x0 0x7 0xb 970x7f 0x0 0x5 0xb 980xf4 0x3 0x4 0xb 990xc4 0x0 0x1f 0xb 1000xab 0x1 0xf 0xb 1010x69 0x28 0x1f 0xb 1020xb1 0x7f 0x14 0xb 1030xd5 0x2 0x57 0xb 1040x38 0x4b 0x5a 0xb 1050x9b 0x7f 0x5d 0xb 1060x62 0x0 0x84 0xb 1070xc5 0x54 0x87 0xb 1080x28 0x7d 0x8a 0xb 109 110# CHECK: add x3, x5, x7 111# CHECK: add xzr, x3, x5 112# CHECK: add x20, xzr, x4 113# CHECK: add x4, x6, xzr 114# CHECK: add x11, x13, x15 115# CHECK: add x9, x3, xzr, lsl #10 116# CHECK: add x17, x29, x20, lsl #63 117# CHECK: add x21, x22, x23, lsr #0 118# CHECK: add x24, x25, x26, lsr #18 119# CHECK: add x27, x28, x29, lsr #63 120# CHECK: add x2, x3, x4, asr #0 121# CHECK: add x5, x6, x7, asr #21 122# CHECK: add x8, x9, x10, asr #63 1230xa3 0x0 0x7 0x8b 1240x7f 0x0 0x5 0x8b 1250xf4 0x3 0x4 0x8b 1260xc4 0x0 0x1f 0x8b 1270xab 0x1 0xf 0x8b 1280x69 0x28 0x1f 0x8b 1290xb1 0xff 0x14 0x8b 1300xd5 0x2 0x57 0x8b 1310x38 0x4b 0x5a 0x8b 1320x9b 0xff 0x5d 0x8b 1330x62 0x0 0x84 0x8b 1340xc5 0x54 0x87 0x8b 1350x28 0xfd 0x8a 0x8b 136 137# CHECK: adds w3, w5, w7 138# CHECK: cmn w3, w5 139# CHECK: adds w20, wzr, w4 140# CHECK: adds w4, w6, wzr 141# CHECK: adds w11, w13, w15 142# CHECK: adds w9, w3, wzr, lsl #10 143# CHECK: adds w17, w29, w20, lsl #31 144# CHECK: adds w21, w22, w23, lsr #0 145# CHECK: adds w24, w25, w26, lsr #18 146# CHECK: adds w27, w28, w29, lsr #31 147# CHECK: adds w2, w3, w4, asr #0 148# CHECK: adds w5, w6, w7, asr #21 149# CHECK: adds w8, w9, w10, asr #31 1500xa3 0x0 0x7 0x2b 1510x7f 0x0 0x5 0x2b 1520xf4 0x3 0x4 0x2b 1530xc4 0x0 0x1f 0x2b 1540xab 0x1 0xf 0x2b 1550x69 0x28 0x1f 0x2b 1560xb1 0x7f 0x14 0x2b 1570xd5 0x2 0x57 0x2b 1580x38 0x4b 0x5a 0x2b 1590x9b 0x7f 0x5d 0x2b 1600x62 0x0 0x84 0x2b 1610xc5 0x54 0x87 0x2b 1620x28 0x7d 0x8a 0x2b 163 164# CHECK: adds x3, x5, x7 165# CHECK: cmn x3, x5 166# CHECK: adds x20, xzr, x4 167# CHECK: adds x4, x6, xzr 168# CHECK: adds x11, x13, x15 169# CHECK: adds x9, x3, xzr, lsl #10 170# CHECK: adds x17, x29, x20, lsl #63 171# CHECK: adds x21, x22, x23, lsr #0 172# CHECK: adds x24, x25, x26, lsr #18 173# CHECK: adds x27, x28, x29, lsr #63 174# CHECK: adds x2, x3, x4, asr #0 175# CHECK: adds x5, x6, x7, asr #21 176# CHECK: adds x8, x9, x10, asr #63 1770xa3 0x0 0x7 0xab 1780x7f 0x0 0x5 0xab 1790xf4 0x3 0x4 0xab 1800xc4 0x0 0x1f 0xab 1810xab 0x1 0xf 0xab 1820x69 0x28 0x1f 0xab 1830xb1 0xff 0x14 0xab 1840xd5 0x2 0x57 0xab 1850x38 0x4b 0x5a 0xab 1860x9b 0xff 0x5d 0xab 1870x62 0x0 0x84 0xab 1880xc5 0x54 0x87 0xab 1890x28 0xfd 0x8a 0xab 190 191# CHECK: sub w3, w5, w7 192# CHECK: sub wzr, w3, w5 193# CHECK: {{sub w20, wzr, w4|neg w20, w4}} 194# CHECK: sub w4, w6, wzr 195# CHECK: sub w11, w13, w15 196# CHECK: sub w9, w3, wzr, lsl #10 197# CHECK: sub w17, w29, w20, lsl #31 198# CHECK: sub w21, w22, w23, lsr #0 199# CHECK: sub w24, w25, w26, lsr #18 200# CHECK: sub w27, w28, w29, lsr #31 201# CHECK: sub w2, w3, w4, asr #0 202# CHECK: sub w5, w6, w7, asr #21 203# CHECK: sub w8, w9, w10, asr #31 2040xa3 0x0 0x7 0x4b 2050x7f 0x0 0x5 0x4b 2060xf4 0x3 0x4 0x4b 2070xc4 0x0 0x1f 0x4b 2080xab 0x1 0xf 0x4b 2090x69 0x28 0x1f 0x4b 2100xb1 0x7f 0x14 0x4b 2110xd5 0x2 0x57 0x4b 2120x38 0x4b 0x5a 0x4b 2130x9b 0x7f 0x5d 0x4b 2140x62 0x0 0x84 0x4b 2150xc5 0x54 0x87 0x4b 2160x28 0x7d 0x8a 0x4b 217 218# CHECK: sub x3, x5, x7 219# CHECK: sub xzr, x3, x5 220# CHECK: {{sub x20, xzr, x4|neg x20, x4}} 221# CHECK: sub x4, x6, xzr 222# CHECK: sub x11, x13, x15 223# CHECK: sub x9, x3, xzr, lsl #10 224# CHECK: sub x17, x29, x20, lsl #63 225# CHECK: sub x21, x22, x23, lsr #0 226# CHECK: sub x24, x25, x26, lsr #18 227# CHECK: sub x27, x28, x29, lsr #63 228# CHECK: sub x2, x3, x4, asr #0 229# CHECK: sub x5, x6, x7, asr #21 230# CHECK: sub x8, x9, x10, asr #63 2310xa3 0x0 0x7 0xcb 2320x7f 0x0 0x5 0xcb 2330xf4 0x3 0x4 0xcb 2340xc4 0x0 0x1f 0xcb 2350xab 0x1 0xf 0xcb 2360x69 0x28 0x1f 0xcb 2370xb1 0xff 0x14 0xcb 2380xd5 0x2 0x57 0xcb 2390x38 0x4b 0x5a 0xcb 2400x9b 0xff 0x5d 0xcb 2410x62 0x0 0x84 0xcb 2420xc5 0x54 0x87 0xcb 2430x28 0xfd 0x8a 0xcb 244 245# CHECK: subs w3, w5, w7 246# CHECK: cmp w3, w5 247# CHECK: {{subs w20, wzr, w4|negs w20, w4}} 248# CHECK: subs w4, w6, wzr 249# CHECK: subs w11, w13, w15 250# CHECK: subs w9, w3, wzr, lsl #10 251# CHECK: subs w17, w29, w20, lsl #31 252# CHECK: subs w21, w22, w23, lsr #0 253# CHECK: subs w24, w25, w26, lsr #18 254# CHECK: subs w27, w28, w29, lsr #31 255# CHECK: subs w2, w3, w4, asr #0 256# CHECK: subs w5, w6, w7, asr #21 257# CHECK: subs w8, w9, w10, asr #31 2580xa3 0x0 0x7 0x6b 2590x7f 0x0 0x5 0x6b 2600xf4 0x3 0x4 0x6b 2610xc4 0x0 0x1f 0x6b 2620xab 0x1 0xf 0x6b 2630x69 0x28 0x1f 0x6b 2640xb1 0x7f 0x14 0x6b 2650xd5 0x2 0x57 0x6b 2660x38 0x4b 0x5a 0x6b 2670x9b 0x7f 0x5d 0x6b 2680x62 0x0 0x84 0x6b 2690xc5 0x54 0x87 0x6b 2700x28 0x7d 0x8a 0x6b 271 272# CHECK: subs x3, x5, x7 273# CHECK: cmp x3, x5 274# CHECK: {{subs x20, xzr, x4|negs x20, x4}} 275# CHECK: subs x4, x6, xzr 276# CHECK: subs x11, x13, x15 277# CHECK: subs x9, x3, xzr, lsl #10 278# CHECK: subs x17, x29, x20, lsl #63 279# CHECK: subs x21, x22, x23, lsr #0 280# CHECK: subs x24, x25, x26, lsr #18 281# CHECK: subs x27, x28, x29, lsr #63 282# CHECK: subs x2, x3, x4, asr #0 283# CHECK: subs x5, x6, x7, asr #21 284# CHECK: subs x8, x9, x10, asr #63 2850xa3 0x0 0x7 0xeb 2860x7f 0x0 0x5 0xeb 2870xf4 0x3 0x4 0xeb 2880xc4 0x0 0x1f 0xeb 2890xab 0x1 0xf 0xeb 2900x69 0x28 0x1f 0xeb 2910xb1 0xff 0x14 0xeb 2920xd5 0x2 0x57 0xeb 2930x38 0x4b 0x5a 0xeb 2940x9b 0xff 0x5d 0xeb 2950x62 0x0 0x84 0xeb 2960xc5 0x54 0x87 0xeb 2970x28 0xfd 0x8a 0xeb 298 299# CHECK: cmn w0, w3 300# CHECK: cmn wzr, w4 301# CHECK: cmn w5, wzr 302# CHECK: cmn w6, w7 303# CHECK: cmn w8, w9, lsl #15 304# CHECK: cmn w10, w11, lsl #31 305# CHECK: cmn w12, w13, lsr #0 306# CHECK: cmn w14, w15, lsr #21 307# CHECK: cmn w16, w17, lsr #31 308# CHECK: cmn w18, w19, asr #0 309# CHECK: cmn w20, w21, asr #22 310# CHECK: cmn w22, w23, asr #31 3110x1f 0x0 0x3 0x2b 3120xff 0x3 0x4 0x2b 3130xbf 0x0 0x1f 0x2b 3140xdf 0x0 0x7 0x2b 3150x1f 0x3d 0x9 0x2b 3160x5f 0x7d 0xb 0x2b 3170x9f 0x1 0x4d 0x2b 3180xdf 0x55 0x4f 0x2b 3190x1f 0x7e 0x51 0x2b 3200x5f 0x2 0x93 0x2b 3210x9f 0x5a 0x95 0x2b 3220xdf 0x7e 0x97 0x2b 323 324# CHECK: cmn x0, x3 325# CHECK: cmn xzr, x4 326# CHECK: cmn x5, xzr 327# CHECK: cmn x6, x7 328# CHECK: cmn x8, x9, lsl #15 329# CHECK: cmn x10, x11, lsl #63 330# CHECK: cmn x12, x13, lsr #0 331# CHECK: cmn x14, x15, lsr #41 332# CHECK: cmn x16, x17, lsr #63 333# CHECK: cmn x18, x19, asr #0 334# CHECK: cmn x20, x21, asr #55 335# CHECK: cmn x22, x23, asr #63 3360x1f 0x0 0x3 0xab 3370xff 0x3 0x4 0xab 3380xbf 0x0 0x1f 0xab 3390xdf 0x0 0x7 0xab 3400x1f 0x3d 0x9 0xab 3410x5f 0xfd 0xb 0xab 3420x9f 0x1 0x4d 0xab 3430xdf 0xa5 0x4f 0xab 3440x1f 0xfe 0x51 0xab 3450x5f 0x2 0x93 0xab 3460x9f 0xde 0x95 0xab 3470xdf 0xfe 0x97 0xab 348 349# CHECK: cmp w0, w3 350# CHECK: cmp wzr, w4 351# CHECK: cmp w5, wzr 352# CHECK: cmp w6, w7 353# CHECK: cmp w8, w9, lsl #15 354# CHECK: cmp w10, w11, lsl #31 355# CHECK: cmp w12, w13, lsr #0 356# CHECK: cmp w14, w15, lsr #21 357# CHECK: cmp w16, w17, lsr #31 358# CHECK: cmp w18, w19, asr #0 359# CHECK: cmp w20, w21, asr #22 360# CHECK: cmp w22, w23, asr #31 3610x1f 0x0 0x3 0x6b 3620xff 0x3 0x4 0x6b 3630xbf 0x0 0x1f 0x6b 3640xdf 0x0 0x7 0x6b 3650x1f 0x3d 0x9 0x6b 3660x5f 0x7d 0xb 0x6b 3670x9f 0x1 0x4d 0x6b 3680xdf 0x55 0x4f 0x6b 3690x1f 0x7e 0x51 0x6b 3700x5f 0x2 0x93 0x6b 3710x9f 0x5a 0x95 0x6b 3720xdf 0x7e 0x97 0x6b 373 374# CHECK: cmp x0, x3 375# CHECK: cmp xzr, x4 376# CHECK: cmp x5, xzr 377# CHECK: cmp x6, x7 378# CHECK: cmp x8, x9, lsl #15 379# CHECK: cmp x10, x11, lsl #63 380# CHECK: cmp x12, x13, lsr #0 381# CHECK: cmp x14, x15, lsr #41 382# CHECK: cmp x16, x17, lsr #63 383# CHECK: cmp x18, x19, asr #0 384# CHECK: cmp x20, x21, asr #55 385# CHECK: cmp x22, x23, asr #63 3860x1f 0x0 0x3 0xeb 3870xff 0x3 0x4 0xeb 3880xbf 0x0 0x1f 0xeb 3890xdf 0x0 0x7 0xeb 3900x1f 0x3d 0x9 0xeb 3910x5f 0xfd 0xb 0xeb 3920x9f 0x1 0x4d 0xeb 3930xdf 0xa5 0x4f 0xeb 3940x1f 0xfe 0x51 0xeb 3950x5f 0x2 0x93 0xeb 3960x9f 0xde 0x95 0xeb 3970xdf 0xfe 0x97 0xeb 398 399# CHECK: {{sub w29, wzr|neg w29}}, w30 400# CHECK: {{sub w30, wzr|neg w30}}, wzr 401# CHECK: {{sub wzr, wzr|neg wzr}}, w0 402# CHECK: {{sub w28, wzr|neg w28}}, w27 403# CHECK: {{sub w26, wzr|neg w26}}, w25, lsl #29 404# CHECK: {{sub w24, wzr|neg w24}}, w23, lsl #31 405# CHECK: {{sub w22, wzr|neg w22}}, w21, lsr #0 406# CHECK: {{sub w20, wzr|neg w20}}, w19, lsr #1 407# CHECK: {{sub w18, wzr|neg w18}}, w17, lsr #31 408# CHECK: {{sub w16, wzr|neg w16}}, w15, asr #0 409# CHECK: {{sub w14, wzr|neg w14}}, w13, asr #12 410# CHECK: {{sub w12, wzr|neg w12}}, w11, asr #31 4110xfd 0x3 0x1e 0x4b 4120xfe 0x3 0x1f 0x4b 4130xff 0x3 0x0 0x4b 4140xfc 0x3 0x1b 0x4b 4150xfa 0x77 0x19 0x4b 4160xf8 0x7f 0x17 0x4b 4170xf6 0x3 0x55 0x4b 4180xf4 0x7 0x53 0x4b 4190xf2 0x7f 0x51 0x4b 4200xf0 0x3 0x8f 0x4b 4210xee 0x33 0x8d 0x4b 4220xec 0x7f 0x8b 0x4b 423 424# CHECK: {{sub x29, xzr|neg x29}}, x30 425# CHECK: {{sub x30, xzr|neg x30}}, xzr 426# CHECK: {{sub xzr, xzr|neg xzr}}, x0 427# CHECK: {{sub x28, xzr|neg x28}}, x27 428# CHECK: {{sub x26, xzr|neg x26}}, x25, lsl #29 429# CHECK: {{sub x24, xzr|neg x24}}, x23, lsl #31 430# CHECK: {{sub x22, xzr|neg x22}}, x21, lsr #0 431# CHECK: {{sub x20, xzr|neg x20}}, x19, lsr #1 432# CHECK: {{sub x18, xzr|neg x18}}, x17, lsr #31 433# CHECK: {{sub x16, xzr|neg x16}}, x15, asr #0 434# CHECK: {{sub x14, xzr|neg x14}}, x13, asr #12 435# CHECK: {{sub x12, xzr|neg x12}}, x11, asr #31 4360xfd 0x3 0x1e 0xcb 4370xfe 0x3 0x1f 0xcb 4380xff 0x3 0x0 0xcb 4390xfc 0x3 0x1b 0xcb 4400xfa 0x77 0x19 0xcb 4410xf8 0x7f 0x17 0xcb 4420xf6 0x3 0x55 0xcb 4430xf4 0x7 0x53 0xcb 4440xf2 0x7f 0x51 0xcb 4450xf0 0x3 0x8f 0xcb 4460xee 0x33 0x8d 0xcb 4470xec 0x7f 0x8b 0xcb 448 449# CHECK: {{subs w29, wzr|negs w29}}, w30 450# CHECK: {{subs w30, wzr|negs w30}}, wzr 451# CHECK: cmp wzr, w0 452# CHECK: {{subs w28, wzr|negs w28}}, w27 453# CHECK: {{subs w26, wzr|negs w26}}, w25, lsl #29 454# CHECK: {{subs w24, wzr|negs w24}}, w23, lsl #31 455# CHECK: {{subs w22, wzr|negs w22}}, w21, lsr #0 456# CHECK: {{subs w20, wzr|negs w20}}, w19, lsr #1 457# CHECK: {{subs w18, wzr|negs w18}}, w17, lsr #31 458# CHECK: {{subs w16, wzr|negs w16}}, w15, asr #0 459# CHECK: {{subs w14, wzr|negs w14}}, w13, asr #12 460# CHECK: {{subs w12, wzr|negs w12}}, w11, asr #31 4610xfd 0x3 0x1e 0x6b 4620xfe 0x3 0x1f 0x6b 4630xff 0x3 0x0 0x6b 4640xfc 0x3 0x1b 0x6b 4650xfa 0x77 0x19 0x6b 4660xf8 0x7f 0x17 0x6b 4670xf6 0x3 0x55 0x6b 4680xf4 0x7 0x53 0x6b 4690xf2 0x7f 0x51 0x6b 4700xf0 0x3 0x8f 0x6b 4710xee 0x33 0x8d 0x6b 4720xec 0x7f 0x8b 0x6b 473 474# CHECK: {{subs x29, xzr|negs x29}}, x30 475# CHECK: {{subs x30, xzr|negs x30}}, xzr 476# CHECK: cmp xzr, x0 477# CHECK: {{subs x28, xzr|negs x28}}, x27 478# CHECK: {{subs x26, xzr|negs x26}}, x25, lsl #29 479# CHECK: {{subs x24, xzr|negs x24}}, x23, lsl #31 480# CHECK: {{subs x22, xzr|negs x22}}, x21, lsr #0 481# CHECK: {{subs x20, xzr|negs x20}}, x19, lsr #1 482# CHECK: {{subs x18, xzr|negs x18}}, x17, lsr #31 483# CHECK: {{subs x16, xzr|negs x16}}, x15, asr #0 484# CHECK: {{subs x14, xzr|negs x14}}, x13, asr #12 485# CHECK: {{subs x12, xzr|negs x12}}, x11, asr #31 4860xfd 0x3 0x1e 0xeb 4870xfe 0x3 0x1f 0xeb 4880xff 0x3 0x0 0xeb 4890xfc 0x3 0x1b 0xeb 4900xfa 0x77 0x19 0xeb 4910xf8 0x7f 0x17 0xeb 4920xf6 0x3 0x55 0xeb 4930xf4 0x7 0x53 0xeb 4940xf2 0x7f 0x51 0xeb 4950xf0 0x3 0x8f 0xeb 4960xee 0x33 0x8d 0xeb 4970xec 0x7f 0x8b 0xeb 498 499#------------------------------------------------------------------------------ 500# Add-subtract (shifted register) 501#------------------------------------------------------------------------------ 502 503# CHECK: adc w29, w27, w25 504# CHECK: adc wzr, w3, w4 505# CHECK: adc w9, wzr, w10 506# CHECK: adc w20, w0, wzr 5070x7d 0x3 0x19 0x1a 5080x7f 0x0 0x4 0x1a 5090xe9 0x3 0xa 0x1a 5100x14 0x0 0x1f 0x1a 511 512# CHECK: adc x29, x27, x25 513# CHECK: adc xzr, x3, x4 514# CHECK: adc x9, xzr, x10 515# CHECK: adc x20, x0, xzr 5160x7d 0x3 0x19 0x9a 5170x7f 0x0 0x4 0x9a 5180xe9 0x3 0xa 0x9a 5190x14 0x0 0x1f 0x9a 520 521# CHECK: adcs w29, w27, w25 522# CHECK: adcs wzr, w3, w4 523# CHECK: adcs w9, wzr, w10 524# CHECK: adcs w20, w0, wzr 5250x7d 0x3 0x19 0x3a 5260x7f 0x0 0x4 0x3a 5270xe9 0x3 0xa 0x3a 5280x14 0x0 0x1f 0x3a 529 530# CHECK: adcs x29, x27, x25 531# CHECK: adcs xzr, x3, x4 532# CHECK: adcs x9, xzr, x10 533# CHECK: adcs x20, x0, xzr 5340x7d 0x3 0x19 0xba 5350x7f 0x0 0x4 0xba 5360xe9 0x3 0xa 0xba 5370x14 0x0 0x1f 0xba 538 539# CHECK: sbc w29, w27, w25 540# CHECK: sbc wzr, w3, w4 541# CHECK: ngc w9, w10 542# CHECK: sbc w20, w0, wzr 5430x7d 0x3 0x19 0x5a 5440x7f 0x0 0x4 0x5a 5450xe9 0x3 0xa 0x5a 5460x14 0x0 0x1f 0x5a 547 548# CHECK: sbc x29, x27, x25 549# CHECK: sbc xzr, x3, x4 550# CHECK: ngc x9, x10 551# CHECK: sbc x20, x0, xzr 5520x7d 0x3 0x19 0xda 5530x7f 0x0 0x4 0xda 5540xe9 0x3 0xa 0xda 5550x14 0x0 0x1f 0xda 556 557# CHECK: sbcs w29, w27, w25 558# CHECK: sbcs wzr, w3, w4 559# CHECK: ngcs w9, w10 560# CHECK: sbcs w20, w0, wzr 5610x7d 0x3 0x19 0x7a 5620x7f 0x0 0x4 0x7a 5630xe9 0x3 0xa 0x7a 5640x14 0x0 0x1f 0x7a 565 566# CHECK: sbcs x29, x27, x25 567# CHECK: sbcs xzr, x3, x4 568# CHECK: ngcs x9, x10 569# CHECK: sbcs x20, x0, xzr 5700x7d 0x3 0x19 0xfa 5710x7f 0x0 0x4 0xfa 5720xe9 0x3 0xa 0xfa 5730x14 0x0 0x1f 0xfa 574 575# CHECK: ngc w3, w12 576# CHECK: ngc wzr, w9 577# CHECK: ngc w23, wzr 5780xe3 0x3 0xc 0x5a 5790xff 0x3 0x9 0x5a 5800xf7 0x3 0x1f 0x5a 581 582# CHECK: ngc x29, x30 583# CHECK: ngc xzr, x0 584# CHECK: ngc x0, xzr 5850xfd 0x3 0x1e 0xda 5860xff 0x3 0x0 0xda 5870xe0 0x3 0x1f 0xda 588 589# CHECK: ngcs w3, w12 590# CHECK: ngcs wzr, w9 591# CHECK: ngcs w23, wzr 5920xe3 0x3 0xc 0x7a 5930xff 0x3 0x9 0x7a 5940xf7 0x3 0x1f 0x7a 595 596# CHECK: ngcs x29, x30 597# CHECK: ngcs xzr, x0 598# CHECK: ngcs x0, xzr 5990xfd 0x3 0x1e 0xfa 6000xff 0x3 0x0 0xfa 6010xe0 0x3 0x1f 0xfa 602 603#------------------------------------------------------------------------------ 604# Compare and branch (immediate) 605#------------------------------------------------------------------------------ 606 607# CHECK: sbfx x1, x2, #3, #2 608# CHECK: asr x3, x4, #63 609# CHECK: asr wzr, wzr, #31 610# CHECK: sbfx w12, w9, #0, #1 6110x41 0x10 0x43 0x93 6120x83 0xfc 0x7f 0x93 6130xff 0x7f 0x1f 0x13 6140x2c 0x1 0x0 0x13 615 616# CHECK: ubfiz x4, x5, #52, #11 617# CHECK: ubfx xzr, x4, #0, #1 618# CHECK: ubfiz x4, xzr, #1, #6 619# CHECK: lsr x5, x6, #12 6200xa4 0x28 0x4c 0xd3 6210x9f 0x0 0x40 0xd3 6220xe4 0x17 0x7f 0xd3 6230xc5 0xfc 0x4c 0xd3 624 625# CHECK: bfi x4, x5, #52, #11 626# CHECK: bfxil xzr, x4, #0, #1 627# CHECK: bfc x4, #1, #6 628# CHECK: bfxil x5, x6, #12, #52 6290xa4 0x28 0x4c 0xb3 6300x9f 0x0 0x40 0xb3 6310xe4 0x17 0x7f 0xb3 6320xc5 0xfc 0x4c 0xb3 633 634# CHECK: sxtb w1, w2 635# CHECK: sxtb xzr, w3 636# CHECK: sxth w9, w10 637# CHECK: sxth x0, w1 638# CHECK: sxtw x3, w30 6390x41 0x1c 0x0 0x13 6400x7f 0x1c 0x40 0x93 6410x49 0x3d 0x0 0x13 6420x20 0x3c 0x40 0x93 6430xc3 0x7f 0x40 0x93 644 645# CHECK: uxtb w1, w2 646# CHECK: uxth w9, w10 647# CHECK: ubfx x3, x30, #0, #32 6480x41 0x1c 0x0 0x53 6490x49 0x3d 0x0 0x53 6500xc3 0x7f 0x40 0xd3 651 652# CHECK: asr w3, w2, #0 653# CHECK: asr w9, w10, #31 654# CHECK: asr x20, x21, #63 655# CHECK: asr w1, wzr, #3 6560x43 0x7c 0x0 0x13 6570x49 0x7d 0x1f 0x13 6580xb4 0xfe 0x7f 0x93 6590xe1 0x7f 0x3 0x13 660 661# CHECK: lsr w3, w2, #0 662# CHECK: lsr w9, w10, #31 663# CHECK: lsr x20, x21, #63 664# CHECK: lsr wzr, wzr, #3 6650x43 0x7c 0x0 0x53 6660x49 0x7d 0x1f 0x53 6670xb4 0xfe 0x7f 0xd3 6680xff 0x7f 0x3 0x53 669 670# CHECK: lsr w3, w2, #0 671# CHECK: lsl w9, w10, #31 672# CHECK: lsl x20, x21, #63 673# CHECK: lsl w1, wzr, #3 6740x43 0x7c 0x0 0x53 6750x49 0x1 0x1 0x53 6760xb4 0x2 0x41 0xd3 6770xe1 0x73 0x1d 0x53 678 679# CHECK: sbfx w9, w10, #0, #1 680# CHECK: sbfiz x2, x3, #63, #1 681# CHECK: asr x19, x20, #0 682# CHECK: sbfiz x9, x10, #5, #59 683# CHECK: asr w9, w10, #0 684# CHECK: sbfiz w11, w12, #31, #1 685# CHECK: sbfiz w13, w14, #29, #3 686# CHECK: sbfiz xzr, xzr, #10, #11 6870x49 0x1 0x0 0x13 6880x62 0x0 0x41 0x93 6890x93 0xfe 0x40 0x93 6900x49 0xe9 0x7b 0x93 6910x49 0x7d 0x0 0x13 6920x8b 0x1 0x1 0x13 6930xcd 0x9 0x3 0x13 6940xff 0x2b 0x76 0x93 695 696# CHECK: sbfx w9, w10, #0, #1 697# CHECK: asr x2, x3, #63 698# CHECK: asr x19, x20, #0 699# CHECK: asr x9, x10, #5 700# CHECK: asr w9, w10, #0 701# CHECK: asr w11, w12, #31 702# CHECK: asr w13, w14, #29 703# CHECK: sbfx xzr, xzr, #10, #11 7040x49 0x1 0x0 0x13 7050x62 0xfc 0x7f 0x93 7060x93 0xfe 0x40 0x93 7070x49 0xfd 0x45 0x93 7080x49 0x7d 0x0 0x13 7090x8b 0x7d 0x1f 0x13 7100xcd 0x7d 0x1d 0x13 7110xff 0x53 0x4a 0x93 712 713# CHECK: bfxil w9, w10, #0, #1 714# CHECK: bfi x2, x3, #63, #1 715# CHECK: bfxil x19, x20, #0, #64 716# CHECK: bfi x9, x10, #5, #59 717# CHECK: bfxil w9, w10, #0, #32 718# CHECK: bfi w11, w12, #31, #1 719# CHECK: bfi w13, w14, #29, #3 720# CHECK: bfc xzr, #10, #11 7210x49 0x1 0x0 0x33 7220x62 0x0 0x41 0xb3 7230x93 0xfe 0x40 0xb3 7240x49 0xe9 0x7b 0xb3 7250x49 0x7d 0x0 0x33 7260x8b 0x1 0x1 0x33 7270xcd 0x9 0x3 0x33 7280xff 0x2b 0x76 0xb3 729 730# CHECK: bfxil w9, w10, #0, #1 731# CHECK: bfxil x2, x3, #63, #1 732# CHECK: bfxil x19, x20, #0, #64 733# CHECK: bfxil x9, x10, #5, #59 734# CHECK: bfxil w9, w10, #0, #32 735# CHECK: bfxil w11, w12, #31, #1 736# CHECK: bfxil w13, w14, #29, #3 737# CHECK: bfxil xzr, xzr, #10, #11 7380x49 0x1 0x0 0x33 7390x62 0xfc 0x7f 0xb3 7400x93 0xfe 0x40 0xb3 7410x49 0xfd 0x45 0xb3 7420x49 0x7d 0x0 0x33 7430x8b 0x7d 0x1f 0x33 7440xcd 0x7d 0x1d 0x33 7450xff 0x53 0x4a 0xb3 746 747# CHECK: ubfx w9, w10, #0, #1 748# CHECK: lsl x2, x3, #63 749# CHECK: lsr x19, x20, #0 750# CHECK: lsl x9, x10, #5 751# CHECK: lsr w9, w10, #0 752# CHECK: lsl w11, w12, #31 753# CHECK: lsl w13, w14, #29 754# CHECK: ubfiz xzr, xzr, #10, #11 7550x49 0x1 0x0 0x53 7560x62 0x0 0x41 0xd3 7570x93 0xfe 0x40 0xd3 7580x49 0xe9 0x7b 0xd3 7590x49 0x7d 0x0 0x53 7600x8b 0x1 0x1 0x53 7610xcd 0x9 0x3 0x53 7620xff 0x2b 0x76 0xd3 763 764# CHECK: ubfx w9, w10, #0, #1 765# CHECK: lsr x2, x3, #63 766# CHECK: lsr x19, x20, #0 767# CHECK: lsr x9, x10, #5 768# CHECK: lsr w9, w10, #0 769# CHECK: lsr w11, w12, #31 770# CHECK: lsr w13, w14, #29 771# CHECK: ubfx xzr, xzr, #10, #11 7720x49 0x1 0x0 0x53 7730x62 0xfc 0x7f 0xd3 7740x93 0xfe 0x40 0xd3 7750x49 0xfd 0x45 0xd3 7760x49 0x7d 0x0 0x53 7770x8b 0x7d 0x1f 0x53 7780xcd 0x7d 0x1d 0x53 7790xff 0x53 0x4a 0xd3 780 781 782#------------------------------------------------------------------------------ 783# Compare and branch (immediate) 784#------------------------------------------------------------------------------ 785 786# CHECK: cbz w5, #4 787# CHECK: cbz x5, #0 788# CHECK: cbnz x2, #-4 789# CHECK: cbnz x26, #1048572 7900x25 0x0 0x0 0x34 7910x05 0x0 0x0 0xb4 7920xe2 0xff 0xff 0xb5 7930xfa 0xff 0x7f 0xb5 794 795# CHECK: cbz wzr, #0 796# CHECK: cbnz xzr, #0 7970x1f 0x0 0x0 0x34 7980x1f 0x0 0x0 0xb5 799 800#------------------------------------------------------------------------------ 801# Conditional branch (immediate) 802#------------------------------------------------------------------------------ 803 804# CHECK: b.ne #4 805# CHECK: b.ge #1048572 806# CHECK: b.ge #-4 8070x21 0x00 0x00 0x54 8080xea 0xff 0x7f 0x54 8090xea 0xff 0xff 0x54 810 811#------------------------------------------------------------------------------ 812# Conditional compare (immediate) 813#------------------------------------------------------------------------------ 814 815# CHECK: ccmp w1, #31, #0, eq 816# CHECK: ccmp w3, #0, #15, hs 817# CHECK: ccmp wzr, #15, #13, hs 8180x20 0x08 0x5f 0x7a 8190x6f 0x28 0x40 0x7a 8200xed 0x2b 0x4f 0x7a 821 822# CHECK: ccmp x9, #31, #0, le 823# CHECK: ccmp x3, #0, #15, gt 824# CHECK: ccmp xzr, #5, #7, ne 8250x20 0xd9 0x5f 0xfa 8260x6f 0xc8 0x40 0xfa 8270xe7 0x1b 0x45 0xfa 828 829# CHECK: ccmn w1, #31, #0, eq 830# CHECK: ccmn w3, #0, #15, hs 831# CHECK: ccmn wzr, #15, #13, hs 8320x20 0x08 0x5f 0x3a 8330x6f 0x28 0x40 0x3a 8340xed 0x2b 0x4f 0x3a 835 836# CHECK: ccmn x9, #31, #0, le 837# CHECK: ccmn x3, #0, #15, gt 838# CHECK: ccmn xzr, #5, #7, ne 8390x20 0xd9 0x5f 0xba 8400x6f 0xc8 0x40 0xba 8410xe7 0x1b 0x45 0xba 842 843#------------------------------------------------------------------------------ 844# Conditional compare (register) 845#------------------------------------------------------------------------------ 846 847# CHECK: ccmp w1, wzr, #0, eq 848# CHECK: ccmp w3, w0, #15, hs 849# CHECK: ccmp wzr, w15, #13, hs 8500x20 0x00 0x5f 0x7a 8510x6f 0x20 0x40 0x7a 8520xed 0x23 0x4f 0x7a 853 854# CHECK: ccmp x9, xzr, #0, le 855# CHECK: ccmp x3, x0, #15, gt 856# CHECK: ccmp xzr, x5, #7, ne 8570x20 0xd1 0x5f 0xfa 8580x6f 0xc0 0x40 0xfa 8590xe7 0x13 0x45 0xfa 860 861# CHECK: ccmn w1, wzr, #0, eq 862# CHECK: ccmn w3, w0, #15, hs 863# CHECK: ccmn wzr, w15, #13, hs 8640x20 0x00 0x5f 0x3a 8650x6f 0x20 0x40 0x3a 8660xed 0x23 0x4f 0x3a 867 868# CHECK: ccmn x9, xzr, #0, le 869# CHECK: ccmn x3, x0, #15, gt 870# CHECK: ccmn xzr, x5, #7, ne 8710x20 0xd1 0x5f 0xba 8720x6f 0xc0 0x40 0xba 8730xe7 0x13 0x45 0xba 874 875#------------------------------------------------------------------------------ 876# Conditional branch (immediate) 877#------------------------------------------------------------------------------ 878# CHECK: csel w1, w0, w19, ne 879# CHECK: csel wzr, w5, w9, eq 880# CHECK: csel w9, wzr, w30, gt 881# CHECK: csel w1, w28, wzr, mi 882# CHECK: csel x19, x23, x29, lt 883# CHECK: csel xzr, x3, x4, ge 884# CHECK: csel x5, xzr, x6, hs 885# CHECK: csel x7, x8, xzr, lo 8860x1 0x10 0x93 0x1a 8870xbf 0x0 0x89 0x1a 8880xe9 0xc3 0x9e 0x1a 8890x81 0x43 0x9f 0x1a 8900xf3 0xb2 0x9d 0x9a 8910x7f 0xa0 0x84 0x9a 8920xe5 0x23 0x86 0x9a 8930x7 0x31 0x9f 0x9a 894 895# CHECK: csinc w1, w0, w19, ne 896# CHECK: csinc wzr, w5, w9, eq 897# CHECK: csinc w9, wzr, w30, gt 898# CHECK: csinc w1, w28, wzr, mi 899# CHECK: csinc x19, x23, x29, lt 900# CHECK: csinc xzr, x3, x4, ge 901# CHECK: csinc x5, xzr, x6, hs 902# CHECK: csinc x7, x8, xzr, lo 9030x1 0x14 0x93 0x1a 9040xbf 0x4 0x89 0x1a 9050xe9 0xc7 0x9e 0x1a 9060x81 0x47 0x9f 0x1a 9070xf3 0xb6 0x9d 0x9a 9080x7f 0xa4 0x84 0x9a 9090xe5 0x27 0x86 0x9a 9100x7 0x35 0x9f 0x9a 911 912# CHECK: csinv w1, w0, w19, ne 913# CHECK: csinv wzr, w5, w9, eq 914# CHECK: csinv w9, wzr, w30, gt 915# CHECK: csinv w1, w28, wzr, mi 916# CHECK: csinv x19, x23, x29, lt 917# CHECK: csinv xzr, x3, x4, ge 918# CHECK: csinv x5, xzr, x6, hs 919# CHECK: csinv x7, x8, xzr, lo 9200x1 0x10 0x93 0x5a 9210xbf 0x0 0x89 0x5a 9220xe9 0xc3 0x9e 0x5a 9230x81 0x43 0x9f 0x5a 9240xf3 0xb2 0x9d 0xda 9250x7f 0xa0 0x84 0xda 9260xe5 0x23 0x86 0xda 9270x7 0x31 0x9f 0xda 928 929# CHECK: csneg w1, w0, w19, ne 930# CHECK: csneg wzr, w5, w9, eq 931# CHECK: csneg w9, wzr, w30, gt 932# CHECK: csneg w1, w28, wzr, mi 933# CHECK: csneg x19, x23, x29, lt 934# CHECK: csneg xzr, x3, x4, ge 935# CHECK: csneg x5, xzr, x6, hs 936# CHECK: csneg x7, x8, xzr, lo 9370x1 0x14 0x93 0x5a 9380xbf 0x4 0x89 0x5a 9390xe9 0xc7 0x9e 0x5a 9400x81 0x47 0x9f 0x5a 9410xf3 0xb6 0x9d 0xda 9420x7f 0xa4 0x84 0xda 9430xe5 0x27 0x86 0xda 9440x7 0x35 0x9f 0xda 945 946# CHECK: cset w3, eq 947# CHECK: cset x9, pl 948# CHECK: csetm w20, ne 949# CHECK: csetm x30, ge 950# "cset w2, nv" and "csetm x3, al" are invalid aliases for these two 951# CHECK: csinc w2, wzr, wzr, al 952# CHECK: csinv x3, xzr, xzr, nv 9530xe3 0x17 0x9f 0x1a 9540xe9 0x47 0x9f 0x9a 9550xf4 0x3 0x9f 0x5a 9560xfe 0xb3 0x9f 0xda 9570xe2,0xe7,0x9f,0x1a 9580xe3,0xf3,0x9f,0xda 959 960# CHECK: cinc w3, w5, gt 961# CHECK: cinc wzr, w4, le 962# CHECK: cset w9, lt 963# CHECK: cinc x3, x5, gt 964# CHECK: cinc xzr, x4, le 965# CHECK: cset x9, lt 966# "cinc w5, w6, al" and "cinc x1, x2, nv" are invalid aliases for these two 967# CHECK: csinc w5, w6, w6, nv 968# CHECK: csinc x1, x2, x2, al 9690xa3 0xd4 0x85 0x1a 9700x9f 0xc4 0x84 0x1a 9710xe9 0xa7 0x9f 0x1a 9720xa3 0xd4 0x85 0x9a 9730x9f 0xc4 0x84 0x9a 9740xe9 0xa7 0x9f 0x9a 9750xc5,0xf4,0x86,0x1a 9760x41,0xe4,0x82,0x9a 977 978# CHECK: cinv w3, w5, gt 979# CHECK: cinv wzr, w4, le 980# CHECK: csetm w9, lt 981# CHECK: cinv x3, x5, gt 982# CHECK: cinv xzr, x4, le 983# CHECK: csetm x9, lt 984# "cinv x1, x0, nv" and "cinv w9, w8, al" are invalid aliases for these two 985# CHECK: csinv x1, x0, x0, al 986# CHECK: csinv w9, w8, w8, nv 9870xa3 0xd0 0x85 0x5a 9880x9f 0xc0 0x84 0x5a 9890xe9 0xa3 0x9f 0x5a 9900xa3 0xd0 0x85 0xda 9910x9f 0xc0 0x84 0xda 9920xe9 0xa3 0x9f 0xda 9930x01 0xe0 0x80 0xda 9940x09,0xf1,0x88,0x5a 995 996# CHECK: cneg w3, w5, gt 997# CHECK: cneg wzr, w4, le 998# CHECK: cneg w9, wzr, lt 999# CHECK: cneg x3, x5, gt 1000# CHECK: cneg xzr, x4, le 1001# CHECK: cneg x9, xzr, lt 1002# "cneg x4, x8, nv" and "cneg w5, w6, al" are invalid aliases for these two 1003# CHECK: csneg x4, x8, x8, al 1004# CHECK: csinv w9, w8, w8, nv 10050xa3 0xd4 0x85 0x5a 10060x9f 0xc4 0x84 0x5a 10070xe9 0xa7 0x9f 0x5a 10080xa3 0xd4 0x85 0xda 10090x9f 0xc4 0x84 0xda 10100xe9 0xa7 0x9f 0xda 10110x04,0xe5,0x88,0xda 10120x09,0xf1,0x88,0x5a 1013 1014#------------------------------------------------------------------------------ 1015# Data-processing (1 source) 1016#------------------------------------------------------------------------------ 1017 1018# CHECK: rbit w0, w7 1019# CHECK: rbit x18, x3 1020# CHECK: rev16 w17, w1 1021# CHECK: rev16 x5, x2 1022# CHECK: rev w18, w0 1023# CHECK: rev32 x20, x1 10240xe0 0x00 0xc0 0x5a 10250x72 0x00 0xc0 0xda 10260x31 0x04 0xc0 0x5a 10270x45 0x04 0xc0 0xda 10280x12 0x08 0xc0 0x5a 10290x34 0x08 0xc0 0xda 1030 1031# CHECK: rev x22, x2 1032# CHECK: clz w24, w3 1033# CHECK: clz x26, x4 1034# CHECK: cls w3, w5 1035# CHECK: cls x20, x5 10360x56 0x0c 0xc0 0xda 10370x78 0x10 0xc0 0x5a 10380x9a 0x10 0xc0 0xda 10390xa3 0x14 0xc0 0x5a 10400xb4 0x14 0xc0 0xda 1041 1042#------------------------------------------------------------------------------ 1043# Data-processing (2 source) 1044#------------------------------------------------------------------------------ 1045 1046# CHECK: udiv w0, w7, w10 1047# CHECK: udiv x9, x22, x4 1048# CHECK: sdiv w12, w21, w0 1049# CHECK: sdiv x13, x2, x1 1050# CHECK: lsl w11, w12, w13 1051# CHECK: lsl x14, x15, x16 1052# CHECK: lsr w17, w18, w19 1053# CHECK: lsr x20, x21, x22 1054# CHECK: asr w23, w24, w25 1055# CHECK: asr x26, x27, x28 1056# CHECK: ror w0, w1, w2 1057# CHECK: ror x3, x4, x5 10580xe0 0x08 0xca 0x1a 10590xc9 0x0a 0xc4 0x9a 10600xac 0x0e 0xc0 0x1a 10610x4d 0x0c 0xc1 0x9a 10620x8b 0x21 0xcd 0x1a 10630xee 0x21 0xd0 0x9a 10640x51 0x26 0xd3 0x1a 10650xb4 0x26 0xd6 0x9a 10660x17 0x2b 0xd9 0x1a 10670x7a 0x2b 0xdc 0x9a 10680x20 0x2c 0xc2 0x1a 10690x83 0x2c 0xc5 0x9a 1070 1071# CHECK: lsl w6, w7, w8 1072# CHECK: lsl x9, x10, x11 1073# CHECK: lsr w12, w13, w14 1074# CHECK: lsr x15, x16, x17 1075# CHECK: asr w18, w19, w20 1076# CHECK: asr x21, x22, x23 1077# CHECK: ror w24, w25, w26 1078# CHECK: ror x27, x28, x29 10790xe6 0x20 0xc8 0x1a 10800x49 0x21 0xcb 0x9a 10810xac 0x25 0xce 0x1a 10820x0f 0x26 0xd1 0x9a 10830x72 0x2a 0xd4 0x1a 10840xd5 0x2a 0xd7 0x9a 10850x38 0x2f 0xda 0x1a 10860x9b 0x2f 0xdd 0x9a 1087 1088#------------------------------------------------------------------------------ 1089# Data-processing (3 sources) 1090#------------------------------------------------------------------------------ 1091 1092# First check some non-canonical encodings where Ra is not 0b11111 (only umulh 1093# and smulh have them). 1094 1095# CHECK: smulh x30, x29, x28 1096# CHECK: smulh xzr, x27, x26 1097# CHECK: umulh x30, x29, x28 1098# CHECK: umulh x23, x30, xzr 10990xbe 0x73 0x5c 0x9b 11000x7f 0x2f 0x5a 0x9b 11010xbe 0x3f 0xdc 0x9b 11020xd7 0x77 0xdf 0x9b 1103 1104# Now onto the boilerplate stuff 1105 1106# CHECK: madd w1, w3, w7, w4 1107# CHECK: madd wzr, w0, w9, w11 1108# CHECK: madd w13, wzr, w4, w4 1109# CHECK: madd w19, w30, wzr, w29 1110# CHECK: mul w4, w5, w6 11110x61 0x10 0x7 0x1b 11120x1f 0x2c 0x9 0x1b 11130xed 0x13 0x4 0x1b 11140xd3 0x77 0x1f 0x1b 11150xa4 0x7c 0x6 0x1b 1116 1117# CHECK: madd x1, x3, x7, x4 1118# CHECK: madd xzr, x0, x9, x11 1119# CHECK: madd x13, xzr, x4, x4 1120# CHECK: madd x19, x30, xzr, x29 1121# CHECK: mul x4, x5, x6 11220x61 0x10 0x7 0x9b 11230x1f 0x2c 0x9 0x9b 11240xed 0x13 0x4 0x9b 11250xd3 0x77 0x1f 0x9b 11260xa4 0x7c 0x6 0x9b 1127 1128# CHECK: msub w1, w3, w7, w4 1129# CHECK: msub wzr, w0, w9, w11 1130# CHECK: msub w13, wzr, w4, w4 1131# CHECK: msub w19, w30, wzr, w29 1132# CHECK: mneg w4, w5, w6 11330x61 0x90 0x7 0x1b 11340x1f 0xac 0x9 0x1b 11350xed 0x93 0x4 0x1b 11360xd3 0xf7 0x1f 0x1b 11370xa4 0xfc 0x6 0x1b 1138 1139# CHECK: msub x1, x3, x7, x4 1140# CHECK: msub xzr, x0, x9, x11 1141# CHECK: msub x13, xzr, x4, x4 1142# CHECK: msub x19, x30, xzr, x29 1143# CHECK: mneg x4, x5, x6 11440x61 0x90 0x7 0x9b 11450x1f 0xac 0x9 0x9b 11460xed 0x93 0x4 0x9b 11470xd3 0xf7 0x1f 0x9b 11480xa4 0xfc 0x6 0x9b 1149 1150# CHECK: smaddl x3, w5, w2, x9 1151# CHECK: smaddl xzr, w10, w11, x12 1152# CHECK: smaddl x13, wzr, w14, x15 1153# CHECK: smaddl x16, w17, wzr, x18 1154# CHECK: smull x19, w20, w21 11550xa3 0x24 0x22 0x9b 11560x5f 0x31 0x2b 0x9b 11570xed 0x3f 0x2e 0x9b 11580x30 0x4a 0x3f 0x9b 11590x93 0x7e 0x35 0x9b 1160 1161# CHECK: smsubl x3, w5, w2, x9 1162# CHECK: smsubl xzr, w10, w11, x12 1163# CHECK: smsubl x13, wzr, w14, x15 1164# CHECK: smsubl x16, w17, wzr, x18 1165# CHECK: smnegl x19, w20, w21 11660xa3 0xa4 0x22 0x9b 11670x5f 0xb1 0x2b 0x9b 11680xed 0xbf 0x2e 0x9b 11690x30 0xca 0x3f 0x9b 11700x93 0xfe 0x35 0x9b 1171 1172# CHECK: umaddl x3, w5, w2, x9 1173# CHECK: umaddl xzr, w10, w11, x12 1174# CHECK: umaddl x13, wzr, w14, x15 1175# CHECK: umaddl x16, w17, wzr, x18 1176# CHECK: umull x19, w20, w21 11770xa3 0x24 0xa2 0x9b 11780x5f 0x31 0xab 0x9b 11790xed 0x3f 0xae 0x9b 11800x30 0x4a 0xbf 0x9b 11810x93 0x7e 0xb5 0x9b 1182 1183# CHECK: umsubl x3, w5, w2, x9 1184# CHECK: umsubl xzr, w10, w11, x12 1185# CHECK: umsubl x13, wzr, w14, x15 1186# CHECK: umsubl x16, w17, wzr, x18 1187# CHECK: umnegl x19, w20, w21 11880xa3 0xa4 0xa2 0x9b 11890x5f 0xb1 0xab 0x9b 11900xed 0xbf 0xae 0x9b 11910x30 0xca 0xbf 0x9b 11920x93 0xfe 0xb5 0x9b 1193 1194# CHECK: smulh x30, x29, x28 1195# CHECK: smulh xzr, x27, x26 1196# CHECK: smulh x25, xzr, x24 1197# CHECK: smulh x23, x22, xzr 11980xbe 0x7f 0x5c 0x9b 11990x7f 0x7f 0x5a 0x9b 12000xf9 0x7f 0x58 0x9b 12010xd7 0x7e 0x5f 0x9b 1202 1203# CHECK: umulh x30, x29, x28 1204# CHECK: umulh xzr, x27, x26 1205# CHECK: umulh x25, xzr, x24 1206# CHECK: umulh x23, x22, xzr 12070xbe 0x7f 0xdc 0x9b 12080x7f 0x7f 0xda 0x9b 12090xf9 0x7f 0xd8 0x9b 12100xd7 0x7e 0xdf 0x9b 1211 1212# CHECK: mul w3, w4, w5 1213# CHECK: mul wzr, w6, w7 1214# CHECK: mul w8, wzr, w9 1215# CHECK: mul w10, w11, wzr 1216# CHECK: mul x12, x13, x14 1217# CHECK: mul xzr, x15, x16 1218# CHECK: mul x17, xzr, x18 1219# CHECK: mul x19, x20, xzr 12200x83 0x7c 0x5 0x1b 12210xdf 0x7c 0x7 0x1b 12220xe8 0x7f 0x9 0x1b 12230x6a 0x7d 0x1f 0x1b 12240xac 0x7d 0xe 0x9b 12250xff 0x7d 0x10 0x9b 12260xf1 0x7f 0x12 0x9b 12270x93 0x7e 0x1f 0x9b 1228 1229# CHECK: mneg w21, w22, w23 1230# CHECK: mneg wzr, w24, w25 1231# CHECK: mneg w26, wzr, w27 1232# CHECK: mneg w28, w29, wzr 12330xd5 0xfe 0x17 0x1b 12340x1f 0xff 0x19 0x1b 12350xfa 0xff 0x1b 0x1b 12360xbc 0xff 0x1f 0x1b 1237 1238# CHECK: smull x11, w13, w17 1239# CHECK: umull x11, w13, w17 1240# CHECK: smnegl x11, w13, w17 1241# CHECK: umnegl x11, w13, w17 12420xab 0x7d 0x31 0x9b 12430xab 0x7d 0xb1 0x9b 12440xab 0xfd 0x31 0x9b 12450xab 0xfd 0xb1 0x9b 1246 1247#------------------------------------------------------------------------------ 1248# Exception generation 1249#------------------------------------------------------------------------------ 1250 1251# CHECK: svc #0 1252# CHECK: svc #{{65535|0xffff}} 12530x1 0x0 0x0 0xd4 12540xe1 0xff 0x1f 0xd4 1255 1256# CHECK: hvc #{{1|0x1}} 1257# CHECK: smc #{{12000|0x2ee0}} 1258# CHECK: brk #{{12|0xc}} 1259# CHECK: hlt #{{123|0x7b}} 12600x22 0x0 0x0 0xd4 12610x3 0xdc 0x5 0xd4 12620x80 0x1 0x20 0xd4 12630x60 0xf 0x40 0xd4 1264 1265# CHECK: dcps1 #{{42|0x2a}} 1266# CHECK: dcps2 #{{9|0x9}} 1267# CHECK: dcps3 #{{1000|0x3e8}} 12680x41 0x5 0xa0 0xd4 12690x22 0x1 0xa0 0xd4 12700x3 0x7d 0xa0 0xd4 1271 1272# CHECK: dcps1 1273# CHECK: dcps2 1274# CHECK: dcps3 12750x1 0x0 0xa0 0xd4 12760x2 0x0 0xa0 0xd4 12770x3 0x0 0xa0 0xd4 1278 1279#------------------------------------------------------------------------------ 1280# Extract (immediate) 1281#------------------------------------------------------------------------------ 1282 1283# CHECK: extr w3, w5, w7, #0 1284# CHECK: extr w11, w13, w17, #31 12850xa3 0x0 0x87 0x13 12860xab 0x7d 0x91 0x13 1287 1288# CHECK: extr x3, x5, x7, #15 1289# CHECK: extr x11, x13, x17, #63 12900xa3 0x3c 0xc7 0x93 12910xab 0xfd 0xd1 0x93 1292 1293# CHECK: ror x19, x23, #24 1294# CHECK: ror x29, xzr, #63 1295# CHECK: ror w9, w13, #31 12960xf3 0x62 0xd7 0x93 12970xfd 0xff 0xdf 0x93 12980xa9 0x7d 0x8d 0x13 1299 1300#------------------------------------------------------------------------------ 1301# Floating-point compare 1302#------------------------------------------------------------------------------ 1303 1304# CHECK: fcmp s3, s5 1305# CHECK: fcmp s31, #0.0 1306# CHECK: fcmp s31, #0.0 13070x60 0x20 0x25 0x1e 13080xe8 0x23 0x20 0x1e 13090xe8 0x23 0x3f 0x1e 1310 1311# CHECK: fcmpe s29, s30 1312# CHECK: fcmpe s15, #0.0 1313# CHECK: fcmpe s15, #0.0 13140xb0 0x23 0x3e 0x1e 13150xf8 0x21 0x20 0x1e 13160xf8 0x21 0x2f 0x1e 1317 1318# CHECK: fcmp d4, d12 1319# CHECK: fcmp d23, #0.0 1320# CHECK: fcmp d23, #0.0 13210x80 0x20 0x6c 0x1e 13220xe8 0x22 0x60 0x1e 13230xe8 0x22 0x77 0x1e 1324 1325# CHECK: fcmpe d26, d22 1326# CHECK: fcmpe d29, #0.0 1327# CHECK: fcmpe d29, #0.0 13280x50 0x23 0x76 0x1e 13290xb8 0x23 0x60 0x1e 13300xb8 0x23 0x6d 0x1e 1331 1332#------------------------------------------------------------------------------ 1333# Floating-point conditional compare 1334#------------------------------------------------------------------------------ 1335 1336# CHECK: fccmp s1, s31, #0, eq 1337# CHECK: fccmp s3, s0, #15, hs 1338# CHECK: fccmp s31, s15, #13, hs 13390x20 0x04 0x3f 0x1e 13400x6f 0x24 0x20 0x1e 13410xed 0x27 0x2f 0x1e 1342 1343# CHECK: fccmp d9, d31, #0, le 1344# CHECK: fccmp d3, d0, #15, gt 1345# CHECK: fccmp d31, d5, #7, ne 13460x20 0xd5 0x7f 0x1e 13470x6f 0xc4 0x60 0x1e 13480xe7 0x17 0x65 0x1e 1349 1350# CHECK: fccmpe s1, s31, #0, eq 1351# CHECK: fccmpe s3, s0, #15, hs 1352# CHECK: fccmpe s31, s15, #13, hs 13530x30 0x04 0x3f 0x1e 13540x7f 0x24 0x20 0x1e 13550xfd 0x27 0x2f 0x1e 1356 1357# CHECK: fccmpe d9, d31, #0, le 1358# CHECK: fccmpe d3, d0, #15, gt 1359# CHECK: fccmpe d31, d5, #7, ne 13600x30 0xd5 0x7f 0x1e 13610x7f 0xc4 0x60 0x1e 13620xf7 0x17 0x65 0x1e 1363 1364#------------------------------------------------------------------------------- 1365# Floating-point conditional compare 1366#------------------------------------------------------------------------------- 1367 1368# CHECK: fcsel s3, s20, s9, pl 1369# CHECK: fcsel d9, d10, d11, mi 13700x83 0x5e 0x29 0x1e 13710x49 0x4d 0x6b 0x1e 1372 1373#------------------------------------------------------------------------------ 1374# Floating-point data-processing (1 source) 1375#------------------------------------------------------------------------------ 1376 1377# CHECK: fmov s0, s1 1378# CHECK: fabs s2, s3 1379# CHECK: fneg s4, s5 1380# CHECK: fsqrt s6, s7 1381# CHECK: fcvt d8, s9 1382# CHECK: fcvt h10, s11 1383# CHECK: frintn s12, s13 1384# CHECK: frintp s14, s15 1385# CHECK: frintm s16, s17 1386# CHECK: frintz s18, s19 1387# CHECK: frinta s20, s21 1388# CHECK: frintx s22, s23 1389# CHECK: frinti s24, s25 13900x20 0x40 0x20 0x1e 13910x62 0xc0 0x20 0x1e 13920xa4 0x40 0x21 0x1e 13930xe6 0xc0 0x21 0x1e 13940x28 0xc1 0x22 0x1e 13950x6a 0xc1 0x23 0x1e 13960xac 0x41 0x24 0x1e 13970xee 0xc1 0x24 0x1e 13980x30 0x42 0x25 0x1e 13990x72 0xc2 0x25 0x1e 14000xb4 0x42 0x26 0x1e 14010xf6 0x42 0x27 0x1e 14020x38 0xc3 0x27 0x1e 1403 1404# CHECK: fmov d0, d1 1405# CHECK: fabs d2, d3 1406# CHECK: fneg d4, d5 1407# CHECK: fsqrt d6, d7 1408# CHECK: fcvt s8, d9 1409# CHECK: fcvt h10, d11 1410# CHECK: frintn d12, d13 1411# CHECK: frintp d14, d15 1412# CHECK: frintm d16, d17 1413# CHECK: frintz d18, d19 1414# CHECK: frinta d20, d21 1415# CHECK: frintx d22, d23 1416# CHECK: frinti d24, d25 14170x20 0x40 0x60 0x1e 14180x62 0xc0 0x60 0x1e 14190xa4 0x40 0x61 0x1e 14200xe6 0xc0 0x61 0x1e 14210x28 0x41 0x62 0x1e 14220x6a 0xc1 0x63 0x1e 14230xac 0x41 0x64 0x1e 14240xee 0xc1 0x64 0x1e 14250x30 0x42 0x65 0x1e 14260x72 0xc2 0x65 0x1e 14270xb4 0x42 0x66 0x1e 14280xf6 0x42 0x67 0x1e 14290x38 0xc3 0x67 0x1e 1430 1431# CHECK: fcvt s26, h27 1432# CHECK: fcvt d28, h29 14330x7a 0x43 0xe2 0x1e 14340xbc 0xc3 0xe2 0x1e 1435 1436#------------------------------------------------------------------------------ 1437# Floating-point data-processing (2 sources) 1438#------------------------------------------------------------------------------ 1439 1440# CHECK: fmul s20, s19, s17 1441# CHECK: fdiv s1, s2, s3 1442# CHECK: fadd s4, s5, s6 1443# CHECK: fsub s7, s8, s9 1444# CHECK: fmax s10, s11, s12 1445# CHECK: fmin s13, s14, s15 1446# CHECK: fmaxnm s16, s17, s18 1447# CHECK: fminnm s19, s20, s21 1448# CHECK: fnmul s22, s23, s2 14490x74 0xa 0x31 0x1e 14500x41 0x18 0x23 0x1e 14510xa4 0x28 0x26 0x1e 14520x7 0x39 0x29 0x1e 14530x6a 0x49 0x2c 0x1e 14540xcd 0x59 0x2f 0x1e 14550x30 0x6a 0x32 0x1e 14560x93 0x7a 0x35 0x1e 14570xf6 0x8a 0x38 0x1e 1458 1459 1460# CHECK: fmul d20, d19, d17 1461# CHECK: fdiv d1, d2, d3 1462# CHECK: fadd d4, d5, d6 1463# CHECK: fsub d7, d8, d9 1464# CHECK: fmax d10, d11, d12 1465# CHECK: fmin d13, d14, d15 1466# CHECK: fmaxnm d16, d17, d18 1467# CHECK: fminnm d19, d20, d21 1468# CHECK: fnmul d22, d23, d24 14690x74 0xa 0x71 0x1e 14700x41 0x18 0x63 0x1e 14710xa4 0x28 0x66 0x1e 14720x7 0x39 0x69 0x1e 14730x6a 0x49 0x6c 0x1e 14740xcd 0x59 0x6f 0x1e 14750x30 0x6a 0x72 0x1e 14760x93 0x7a 0x75 0x1e 14770xf6 0x8a 0x78 0x1e 1478 1479#------------------------------------------------------------------------------ 1480# Floating-point data-processing (1 source) 1481#------------------------------------------------------------------------------ 1482 1483# CHECK: fmadd s3, s5, s6, s31 1484# CHECK: fmadd d3, d13, d0, d23 1485# CHECK: fmsub s3, s5, s6, s31 1486# CHECK: fmsub d3, d13, d0, d23 1487# CHECK: fnmadd s3, s5, s6, s31 1488# CHECK: fnmadd d3, d13, d0, d23 1489# CHECK: fnmsub s3, s5, s6, s31 1490# CHECK: fnmsub d3, d13, d0, d23 14910xa3 0x7c 0x06 0x1f 14920xa3 0x5d 0x40 0x1f 14930xa3 0xfc 0x06 0x1f 14940xa3 0xdd 0x40 0x1f 14950xa3 0x7c 0x26 0x1f 14960xa3 0x5d 0x60 0x1f 14970xa3 0xfc 0x26 0x1f 14980xa3 0xdd 0x60 0x1f 1499 1500#------------------------------------------------------------------------------ 1501# Floating-point <-> fixed-point conversion 1502#------------------------------------------------------------------------------ 1503 1504# FP16: fcvtzs w3, h5, #1 1505# FP16: fcvtzs wzr, h20, #13 1506# FP16: fcvtzs w19, h0, #32 15070xa3 0xfc 0xd8 0x1e 15080x9f 0xce 0xd8 0x1e 15090x13 0x80 0xd8 0x1e 1510 1511# FP16: fcvtzs x3, h5, #1 1512# FP16: fcvtzs x12, h30, #45 1513# FP16: fcvtzs x19, h0, #64 15140xa3 0xfc 0xd8 0x9e 15150xcc 0x4f 0xd8 0x9e 15160x13 0x00 0xd8 0x9e 1517 1518# CHECK: fcvtzs w3, s5, #1 1519# CHECK: fcvtzs wzr, s20, #13 1520# CHECK: fcvtzs w19, s0, #32 15210xa3 0xfc 0x18 0x1e 15220x9f 0xce 0x18 0x1e 15230x13 0x80 0x18 0x1e 1524 1525# CHECK: fcvtzs x3, s5, #1 1526# CHECK: fcvtzs x12, s30, #45 1527# CHECK: fcvtzs x19, s0, #64 15280xa3 0xfc 0x18 0x9e 15290xcc 0x4f 0x18 0x9e 15300x13 0x00 0x18 0x9e 1531 1532# CHECK: fcvtzs w3, d5, #1 1533# CHECK: fcvtzs wzr, d20, #13 1534# CHECK: fcvtzs w19, d0, #32 15350xa3 0xfc 0x58 0x1e 15360x9f 0xce 0x58 0x1e 15370x13 0x80 0x58 0x1e 1538 1539# CHECK: fcvtzs x3, d5, #1 1540# CHECK: fcvtzs x12, d30, #45 1541# CHECK: fcvtzs x19, d0, #64 15420xa3 0xfc 0x58 0x9e 15430xcc 0x4f 0x58 0x9e 15440x13 0x00 0x58 0x9e 1545 1546# FP16: fcvtzu w3, h5, #1 1547# FP16: fcvtzu wzr, h20, #13 1548# FP16: fcvtzu w19, h0, #32 15490xa3 0xfc 0xd9 0x1e 15500x9f 0xce 0xd9 0x1e 15510x13 0x80 0xd9 0x1e 1552 1553# FP16: fcvtzu x3, h5, #1 1554# FP16: fcvtzu x12, h30, #45 1555# FP16: fcvtzu x19, h0, #64 15560xa3 0xfc 0xd9 0x9e 15570xcc 0x4f 0xd9 0x9e 15580x13 0x00 0xd9 0x9e 1559 1560# CHECK: fcvtzu w3, s5, #1 1561# CHECK: fcvtzu wzr, s20, #13 1562# CHECK: fcvtzu w19, s0, #32 15630xa3 0xfc 0x19 0x1e 15640x9f 0xce 0x19 0x1e 15650x13 0x80 0x19 0x1e 1566 1567# CHECK: fcvtzu x3, s5, #1 1568# CHECK: fcvtzu x12, s30, #45 1569# CHECK: fcvtzu x19, s0, #64 15700xa3 0xfc 0x19 0x9e 15710xcc 0x4f 0x19 0x9e 15720x13 0x00 0x19 0x9e 1573 1574# CHECK: fcvtzu w3, d5, #1 1575# CHECK: fcvtzu wzr, d20, #13 1576# CHECK: fcvtzu w19, d0, #32 15770xa3 0xfc 0x59 0x1e 15780x9f 0xce 0x59 0x1e 15790x13 0x80 0x59 0x1e 1580 1581# CHECK: fcvtzu x3, d5, #1 1582# CHECK: fcvtzu x12, d30, #45 1583# CHECK: fcvtzu x19, d0, #64 15840xa3 0xfc 0x59 0x9e 15850xcc 0x4f 0x59 0x9e 15860x13 0x00 0x59 0x9e 1587 1588# FP16: scvtf h23, w19, #1 1589# FP16: scvtf h31, wzr, #20 1590# FP16: scvtf h14, w0, #32 15910x77 0xfe 0xc2 0x1e 15920xff 0xb3 0xc2 0x1e 15930x0e 0x80 0xc2 0x1e 1594 1595# FP16: scvtf h23, x19, #1 1596# FP16: scvtf h31, xzr, #20 1597# FP16: scvtf h14, x0, #64 15980x77 0xfe 0xc2 0x9e 15990xff 0xb3 0xc2 0x9e 16000x0e 0x00 0xc2 0x9e 1601 1602# CHECK: scvtf s23, w19, #1 1603# CHECK: scvtf s31, wzr, #20 1604# CHECK: scvtf s14, w0, #32 16050x77 0xfe 0x02 0x1e 16060xff 0xb3 0x02 0x1e 16070x0e 0x80 0x02 0x1e 1608 1609# CHECK: scvtf s23, x19, #1 1610# CHECK: scvtf s31, xzr, #20 1611# CHECK: scvtf s14, x0, #64 16120x77 0xfe 0x02 0x9e 16130xff 0xb3 0x02 0x9e 16140x0e 0x00 0x02 0x9e 1615 1616# CHECK: scvtf d23, w19, #1 1617# CHECK: scvtf d31, wzr, #20 1618# CHECK: scvtf d14, w0, #32 16190x77 0xfe 0x42 0x1e 16200xff 0xb3 0x42 0x1e 16210x0e 0x80 0x42 0x1e 1622 1623# CHECK: scvtf d23, x19, #1 1624# CHECK: scvtf d31, xzr, #20 1625# CHECK: scvtf d14, x0, #64 16260x77 0xfe 0x42 0x9e 16270xff 0xb3 0x42 0x9e 16280x0e 0x00 0x42 0x9e 1629 1630# FP16: ucvtf h23, w19, #1 1631# FP16: ucvtf h31, wzr, #20 1632# FP16: ucvtf h14, w0, #32 16330x77 0xfe 0xc3 0x1e 16340xff 0xb3 0xc3 0x1e 16350x0e 0x80 0xc3 0x1e 1636 1637# FP16: ucvtf h23, x19, #1 1638# FP16: ucvtf h31, xzr, #20 1639# FP16: ucvtf h14, x0, #64 16400x77 0xfe 0xc3 0x9e 16410xff 0xb3 0xc3 0x9e 16420x0e 0x00 0xc3 0x9e 1643 1644# CHECK: ucvtf s23, w19, #1 1645# CHECK: ucvtf s31, wzr, #20 1646# CHECK: ucvtf s14, w0, #32 16470x77 0xfe 0x03 0x1e 16480xff 0xb3 0x03 0x1e 16490x0e 0x80 0x03 0x1e 1650 1651# CHECK: ucvtf s23, x19, #1 1652# CHECK: ucvtf s31, xzr, #20 1653# CHECK: ucvtf s14, x0, #64 16540x77 0xfe 0x03 0x9e 16550xff 0xb3 0x03 0x9e 16560x0e 0x00 0x03 0x9e 1657 1658# CHECK: ucvtf d23, w19, #1 1659# CHECK: ucvtf d31, wzr, #20 1660# CHECK: ucvtf d14, w0, #32 16610x77 0xfe 0x43 0x1e 16620xff 0xb3 0x43 0x1e 16630x0e 0x80 0x43 0x1e 1664 1665# CHECK: ucvtf d23, x19, #1 1666# CHECK: ucvtf d31, xzr, #20 1667# CHECK: ucvtf d14, x0, #64 16680x77 0xfe 0x43 0x9e 16690xff 0xb3 0x43 0x9e 16700x0e 0x00 0x43 0x9e 1671 1672#------------------------------------------------------------------------------ 1673# Floating-point <-> integer conversion 1674#------------------------------------------------------------------------------ 1675 1676# FP16: fcvtns w3, h31 1677# FP16: fcvtns xzr, h12 1678# FP16: fcvtnu wzr, h12 1679# FP16: fcvtnu x0, h0 16800xe3 0x3 0xe0 0x1e 16810x9f 0x1 0xe0 0x9e 16820x9f 0x1 0xe1 0x1e 16830x0 0x0 0xe1 0x9e 1684 1685# FP16: fcvtps wzr, h9 1686# FP16: fcvtps x12, h20 1687# FP16: fcvtpu w30, h23 1688# FP16: fcvtpu x29, h3 16890x3f 0x1 0xe8 0x1e 16900x8c 0x2 0xe8 0x9e 16910xfe 0x2 0xe9 0x1e 16920x7d 0x0 0xe9 0x9e 1693 1694# FP16: fcvtms w2, h3 1695# FP16: fcvtms x4, h5 1696# FP16: fcvtmu w6, h7 1697# FP16: fcvtmu x8, h9 16980x62 0x0 0xf0 0x1e 16990xa4 0x0 0xf0 0x9e 17000xe6 0x0 0xf1 0x1e 17010x28 0x1 0xf1 0x9e 1702 1703# FP16: fcvtzs w10, h11 1704# FP16: fcvtzs x12, h13 1705# FP16: fcvtzu w14, h15 1706# FP16: fcvtzu x15, h16 17070x6a 0x1 0xf8 0x1e 17080xac 0x1 0xf8 0x9e 17090xee 0x1 0xf9 0x1e 17100xf 0x2 0xf9 0x9e 1711 1712# FP16: scvtf h17, w18 1713# FP16: scvtf h19, x20 1714# FP16: ucvtf h21, w22 1715# FP16: scvtf h23, x24 17160x51 0x2 0xe2 0x1e 17170x93 0x2 0xe2 0x9e 17180xd5 0x2 0xe3 0x1e 17190x17 0x3 0xe2 0x9e 1720 1721# FP16: fcvtas w25, h26 1722# FP16: fcvtas x27, h28 1723# FP16: fcvtau w29, h30 1724# FP16: fcvtau xzr, h0 17250x59 0x3 0xe4 0x1e 17260x9b 0x3 0xe4 0x9e 17270xdd 0x3 0xe5 0x1e 17280x1f 0x0 0xe5 0x9e 1729 1730# CHECK: fcvtns w3, s31 1731# CHECK: fcvtns xzr, s12 1732# CHECK: fcvtnu wzr, s12 1733# CHECK: fcvtnu x0, s0 17340xe3 0x3 0x20 0x1e 17350x9f 0x1 0x20 0x9e 17360x9f 0x1 0x21 0x1e 17370x0 0x0 0x21 0x9e 1738 1739# CHECK: fcvtps wzr, s9 1740# CHECK: fcvtps x12, s20 1741# CHECK: fcvtpu w30, s23 1742# CHECK: fcvtpu x29, s3 17430x3f 0x1 0x28 0x1e 17440x8c 0x2 0x28 0x9e 17450xfe 0x2 0x29 0x1e 17460x7d 0x0 0x29 0x9e 1747 1748# CHECK: fcvtms w2, s3 1749# CHECK: fcvtms x4, s5 1750# CHECK: fcvtmu w6, s7 1751# CHECK: fcvtmu x8, s9 17520x62 0x0 0x30 0x1e 17530xa4 0x0 0x30 0x9e 17540xe6 0x0 0x31 0x1e 17550x28 0x1 0x31 0x9e 1756 1757# CHECK: fcvtzs w10, s11 1758# CHECK: fcvtzs x12, s13 1759# CHECK: fcvtzu w14, s15 1760# CHECK: fcvtzu x15, s16 17610x6a 0x1 0x38 0x1e 17620xac 0x1 0x38 0x9e 17630xee 0x1 0x39 0x1e 17640xf 0x2 0x39 0x9e 1765 1766# CHECK: scvtf s17, w18 1767# CHECK: scvtf s19, x20 1768# CHECK: ucvtf s21, w22 1769# CHECK: scvtf s23, x24 17700x51 0x2 0x22 0x1e 17710x93 0x2 0x22 0x9e 17720xd5 0x2 0x23 0x1e 17730x17 0x3 0x22 0x9e 1774 1775# CHECK: fcvtas w25, s26 1776# CHECK: fcvtas x27, s28 1777# CHECK: fcvtau w29, s30 1778# CHECK: fcvtau xzr, s0 17790x59 0x3 0x24 0x1e 17800x9b 0x3 0x24 0x9e 17810xdd 0x3 0x25 0x1e 17820x1f 0x0 0x25 0x9e 1783 1784# CHECK: fcvtns w3, d31 1785# CHECK: fcvtns xzr, d12 1786# CHECK: fcvtnu wzr, d12 1787# CHECK: fcvtnu x0, d0 17880xe3 0x3 0x60 0x1e 17890x9f 0x1 0x60 0x9e 17900x9f 0x1 0x61 0x1e 17910x0 0x0 0x61 0x9e 1792 1793# CHECK: fcvtps wzr, d9 1794# CHECK: fcvtps x12, d20 1795# CHECK: fcvtpu w30, d23 1796# CHECK: fcvtpu x29, d3 17970x3f 0x1 0x68 0x1e 17980x8c 0x2 0x68 0x9e 17990xfe 0x2 0x69 0x1e 18000x7d 0x0 0x69 0x9e 1801 1802# CHECK: fcvtms w2, d3 1803# CHECK: fcvtms x4, d5 1804# CHECK: fcvtmu w6, d7 1805# CHECK: fcvtmu x8, d9 18060x62 0x0 0x70 0x1e 18070xa4 0x0 0x70 0x9e 18080xe6 0x0 0x71 0x1e 18090x28 0x1 0x71 0x9e 1810 1811# CHECK: fcvtzs w10, d11 1812# CHECK: fcvtzs x12, d13 1813# CHECK: fcvtzu w14, d15 1814# CHECK: fcvtzu x15, d16 18150x6a 0x1 0x78 0x1e 18160xac 0x1 0x78 0x9e 18170xee 0x1 0x79 0x1e 18180xf 0x2 0x79 0x9e 1819 1820# CHECK: scvtf d17, w18 1821# CHECK: scvtf d19, x20 1822# CHECK: ucvtf d21, w22 1823# CHECK: ucvtf d23, x24 18240x51 0x2 0x62 0x1e 18250x93 0x2 0x62 0x9e 18260xd5 0x2 0x63 0x1e 18270x17 0x3 0x63 0x9e 1828 1829# CHECK: fcvtas w25, d26 1830# CHECK: fcvtas x27, d28 1831# CHECK: fcvtau w29, d30 1832# CHECK: fcvtau xzr, d0 18330x59 0x3 0x64 0x1e 18340x9b 0x3 0x64 0x9e 18350xdd 0x3 0x65 0x1e 18360x1f 0x0 0x65 0x9e 1837 1838# CHECK: fmov w3, s9 1839# CHECK: fmov s9, w3 18400x23 0x1 0x26 0x1e 18410x69 0x0 0x27 0x1e 1842 1843# CHECK: fmov x20, d31 1844# CHECK: fmov d1, x15 18450xf4 0x3 0x66 0x9e 18460xe1 0x1 0x67 0x9e 1847 1848# CHECK: fmov x3, v12.d[1] 1849# CHECK: fmov v1.d[1], x19 18500x83 0x1 0xae 0x9e 18510x61 0x2 0xaf 0x9e 1852 1853#------------------------------------------------------------------------------ 1854# Floating-point immediate 1855#------------------------------------------------------------------------------ 1856 1857# CHECK: fmov s2, #0.12500000 1858# CHECK: fmov s3, #1.00000000 1859# CHECK: fmov d30, #16.00000000 18600x2 0x10 0x28 0x1e 18610x3 0x10 0x2e 0x1e 18620x1e 0x10 0x66 0x1e 1863 1864# CHECK: fmov s4, #1.06250000 1865# CHECK: fmov d10, #1.93750000 18660x4 0x30 0x2e 0x1e 18670xa 0xf0 0x6f 0x1e 1868 1869# CHECK: fmov s12, #-1.00000000 18700xc 0x10 0x3e 0x1e 1871 1872# CHECK: fmov d16, #8.50000000 18730x10 0x30 0x64 0x1e 1874 1875#------------------------------------------------------------------------------ 1876# Load-register (literal) 1877#------------------------------------------------------------------------------ 1878 1879# CHECK: ldr w3, #0 1880# CHECK: ldr x29, #4 1881# CHECK: ldrsw xzr, #-4 18820x03 0x00 0x00 0x18 18830x3d 0x00 0x00 0x58 18840xff 0xff 0xff 0x98 1885 1886# CHECK: ldr s0, #8 1887# CHECK: ldr d0, #1048572 1888# CHECK: ldr q0, #-1048576 18890x40 0x00 0x00 0x1c 18900xe0 0xff 0x7f 0x5c 18910x00 0x00 0x80 0x9c 1892 1893# CHECK: prfm pldl1strm, #0 1894# CHECK: prfm #22, #0 18950x01 0x00 0x00 0xd8 18960x16 0x00 0x00 0xd8 1897 1898#------------------------------------------------------------------------------ 1899# Load/store exclusive 1900#------------------------------------------------------------------------------ 1901 1902#CHECK: stxrb w18, w8, [sp] 1903#CHECK: stxrh w24, w15, [x16] 1904#CHECK: stxr w5, w6, [x17] 1905#CHECK: stxr w1, x10, [x21] 1906#CHECK: stxr w1, x10, [x21] 19070xe8 0x7f 0x12 0x08 19080x0f 0x7e 0x18 0x48 19090x26 0x7e 0x05 0x88 19100xaa 0x7e 0x01 0xc8 19110xaa 0x7a 0x01 0xc8 1912 1913#CHECK: ldxrb w30, [x0] 1914#CHECK: ldxrh w17, [x4] 1915#CHECK: ldxr w22, [sp] 1916#CHECK: ldxr x11, [x29] 1917#CHECK: ldxr x11, [x29] 1918#CHECK: ldxr x11, [x29] 19190x1e 0x7c 0x5f 0x08 19200x91 0x7c 0x5f 0x48 19210xf6 0x7f 0x5f 0x88 19220xab 0x7f 0x5f 0xc8 19230xab 0x6f 0x5f 0xc8 19240xab 0x7f 0x5e 0xc8 1925 1926#CHECK: stxp w12, w11, w10, [sp] 1927#CHECK: stxp wzr, x27, x9, [x12] 19280xeb 0x2b 0x2c 0x88 19290x9b 0x25 0x3f 0xc8 1930 1931#CHECK: ldxp w0, wzr, [sp] 1932#CHECK: ldxp x17, x0, [x18] 1933#CHECK: ldxp x17, x0, [x18] 19340xe0 0x7f 0x7f 0x88 19350x51 0x02 0x7f 0xc8 19360x51 0x02 0x7e 0xc8 1937 1938#CHECK: stlxrb w12, w22, [x0] 1939#CHECK: stlxrh w10, w1, [x1] 1940#CHECK: stlxr w9, w2, [x2] 1941#CHECK: stlxr w9, x3, [sp] 1942 19430x16 0xfc 0x0c 0x08 19440x21 0xfc 0x0a 0x48 19450x42 0xfc 0x09 0x88 19460xe3 0xff 0x09 0xc8 1947 1948#CHECK: ldaxrb w8, [x4] 1949#CHECK: ldaxrh w7, [x5] 1950#CHECK: ldaxr w6, [sp] 1951#CHECK: ldaxr x5, [x6] 1952#CHECK: ldaxr x5, [x6] 1953#CHECK: ldaxr x5, [x6] 19540x88 0xfc 0x5f 0x08 19550xa7 0xfc 0x5f 0x48 19560xe6 0xff 0x5f 0x88 19570xc5 0xfc 0x5f 0xc8 19580xc5 0xec 0x5f 0xc8 19590xc5 0xfc 0x5e 0xc8 1960 1961#CHECK: stlxp w4, w5, w6, [sp] 1962#CHECK: stlxp wzr, x6, x7, [x1] 19630xe5 0x9b 0x24 0x88 19640x26 0x9c 0x3f 0xc8 1965 1966#CHECK: ldaxp w5, w18, [sp] 1967#CHECK: ldaxp x6, x19, [x22] 1968#CHECK: ldaxp x6, x19, [x22] 19690xe5 0xcb 0x7f 0x88 19700xc6 0xce 0x7f 0xc8 19710xc6 0xce 0x7e 0xc8 1972 1973#CHECK: stlrb w24, [sp] 1974#CHECK: stlrh w25, [x30] 1975#CHECK: stlr w26, [x29] 1976#CHECK: stlr x27, [x28] 1977#CHECK: stlr x27, [x28] 1978#CHECK: stlr x27, [x28] 19790xf8 0xff 0x9f 0x08 19800xd9 0xff 0x9f 0x48 19810xba 0xff 0x9f 0x88 19820x9b 0xff 0x9f 0xc8 19830x9b 0xef 0x9f 0xc8 19840x9b 0xff 0x9e 0xc8 1985 1986#CHECK: ldarb w23, [sp] 1987#CHECK: ldarh w22, [x30] 1988#CHECK: ldar wzr, [x29] 1989#CHECK: ldar x21, [x28] 1990#CHECK: ldar x21, [x28] 1991#CHECK: ldar x21, [x28] 19920xf7 0xff 0xdf 0x08 19930xd6 0xff 0xdf 0x48 19940xbf 0xff 0xdf 0x88 19950x95 0xff 0xdf 0xc8 19960x95 0xef 0xdf 0xc8 19970x95 0xff 0xde 0xc8 1998 1999#------------------------------------------------------------------------------ 2000# Load/store (unscaled immediate) 2001#------------------------------------------------------------------------------ 2002 2003# CHECK: sturb w9, [sp] 2004# CHECK: sturh wzr, [x12, #255] 2005# CHECK: stur w16, [x0, #-256] 2006# CHECK: stur x28, [x14, #1] 20070xe9 0x3 0x0 0x38 20080x9f 0xf1 0xf 0x78 20090x10 0x0 0x10 0xb8 20100xdc 0x11 0x0 0xf8 2011 2012# CHECK: ldurb w1, [x20, #255] 2013# CHECK: ldurh w20, [x1, #255] 2014# CHECK: ldur w12, [sp, #255] 2015# CHECK: ldur xzr, [x12, #255] 20160x81 0xf2 0x4f 0x38 20170x34 0xf0 0x4f 0x78 20180xec 0xf3 0x4f 0xb8 20190x9f 0xf1 0x4f 0xf8 2020 2021# CHECK: ldursb x9, [x7, #-256] 2022# CHECK: ldursh x17, [x19, #-256] 2023# CHECK: ldursw x20, [x15, #-256] 2024# CHECK: prfum pldl2keep, [sp, #-256] 2025# CHECK: ldursb w19, [x1, #-256] 2026# CHECK: ldursh w15, [x21, #-256] 20270xe9 0x0 0x90 0x38 20280x71 0x2 0x90 0x78 20290xf4 0x1 0x90 0xb8 20300xe2 0x3 0x90 0xf8 20310x33 0x0 0xd0 0x38 20320xaf 0x2 0xd0 0x78 2033 2034# CHECK: stur b0, [sp, #1] 2035# CHECK: stur h12, [x12, #-1] 2036# CHECK: stur s15, [x0, #255] 2037# CHECK: stur d31, [x5, #25] 2038# CHECK: stur q9, [x5] 20390xe0 0x13 0x0 0x3c 20400x8c 0xf1 0x1f 0x7c 20410xf 0xf0 0xf 0xbc 20420xbf 0x90 0x1 0xfc 20430xa9 0x0 0x80 0x3c 2044 2045# CHECK: ldur b3, [sp] 2046# CHECK: ldur h5, [x4, #-256] 2047# CHECK: ldur s7, [x12, #-1] 2048# CHECK: ldur d11, [x19, #4] 2049# CHECK: ldur q13, [x1, #2] 20500xe3 0x3 0x40 0x3c 20510x85 0x0 0x50 0x7c 20520x87 0xf1 0x5f 0xbc 20530x6b 0x42 0x40 0xfc 20540x2d 0x20 0xc0 0x3c 2055 2056#------------------------------------------------------------------------------ 2057# Load/store (immediate post-indexed) 2058#------------------------------------------------------------------------------ 2059 2060# E.g. "str xzr, [sp], #4" is *not* unpredictable 2061# CHECK-NOT: warning: potentially undefined instruction encoding 20620xff 0x47 0x40 0xb8 2063 2064# CHECK: strb w9, [x2], #255 2065# CHECK: strb w10, [x3], #1 2066# CHECK: strb w10, [x3], #-256 2067# CHECK: strh w9, [x2], #255 2068# CHECK: strh w9, [x2], #1 2069# CHECK: strh w10, [x3], #-256 20700x49 0xf4 0xf 0x38 20710x6a 0x14 0x0 0x38 20720x6a 0x4 0x10 0x38 20730x49 0xf4 0xf 0x78 20740x49 0x14 0x0 0x78 20750x6a 0x4 0x10 0x78 2076 2077# CHECK: str w19, [sp], #255 2078# CHECK: str w20, [x30], #1 2079# CHECK: str w21, [x12], #-256 2080# CHECK: str xzr, [x9], #255 2081# CHECK: str x2, [x3], #1 2082# CHECK: str x19, [x12], #-256 20830xf3 0xf7 0xf 0xb8 20840xd4 0x17 0x0 0xb8 20850x95 0x5 0x10 0xb8 20860x3f 0xf5 0xf 0xf8 20870x62 0x14 0x0 0xf8 20880x93 0x5 0x10 0xf8 2089 2090# CHECK: ldrb w9, [x2], #255 2091# CHECK: ldrb w10, [x3], #1 2092# CHECK: ldrb w10, [x3], #-256 2093# CHECK: ldrh w9, [x2], #255 2094# CHECK: ldrh w9, [x2], #1 2095# CHECK: ldrh w10, [x3], #-256 20960x49 0xf4 0x4f 0x38 20970x6a 0x14 0x40 0x38 20980x6a 0x4 0x50 0x38 20990x49 0xf4 0x4f 0x78 21000x49 0x14 0x40 0x78 21010x6a 0x4 0x50 0x78 2102 2103# CHECK: ldr w19, [sp], #255 2104# CHECK: ldr w20, [x30], #1 2105# CHECK: ldr w21, [x12], #-256 2106# CHECK: ldr xzr, [x9], #255 2107# CHECK: ldr x2, [x3], #1 2108# CHECK: ldr x19, [x12], #-256 21090xf3 0xf7 0x4f 0xb8 21100xd4 0x17 0x40 0xb8 21110x95 0x5 0x50 0xb8 21120x3f 0xf5 0x4f 0xf8 21130x62 0x14 0x40 0xf8 21140x93 0x5 0x50 0xf8 2115 2116# CHECK: ldrsb xzr, [x9], #255 2117# CHECK: ldrsb x2, [x3], #1 2118# CHECK: ldrsb x19, [x12], #-256 2119# CHECK: ldrsh xzr, [x9], #255 2120# CHECK: ldrsh x2, [x3], #1 2121# CHECK: ldrsh x19, [x12], #-256 2122# CHECK: ldrsw xzr, [x9], #255 2123# CHECK: ldrsw x2, [x3], #1 2124# CHECK: ldrsw x19, [x12], #-256 21250x3f 0xf5 0x8f 0x38 21260x62 0x14 0x80 0x38 21270x93 0x5 0x90 0x38 21280x3f 0xf5 0x8f 0x78 21290x62 0x14 0x80 0x78 21300x93 0x5 0x90 0x78 21310x3f 0xf5 0x8f 0xb8 21320x62 0x14 0x80 0xb8 21330x93 0x5 0x90 0xb8 2134 2135# CHECK: ldrsb wzr, [x9], #255 2136# CHECK: ldrsb w2, [x3], #1 2137# CHECK: ldrsb w19, [x12], #-256 2138# CHECK: ldrsh wzr, [x9], #255 2139# CHECK: ldrsh w2, [x3], #1 2140# CHECK: ldrsh w19, [x12], #-256 21410x3f 0xf5 0xcf 0x38 21420x62 0x14 0xc0 0x38 21430x93 0x5 0xd0 0x38 21440x3f 0xf5 0xcf 0x78 21450x62 0x14 0xc0 0x78 21460x93 0x5 0xd0 0x78 2147 2148# CHECK: str b0, [x0], #255 2149# CHECK: str b3, [x3], #1 2150# CHECK: str b5, [sp], #-256 2151# CHECK: str h10, [x10], #255 2152# CHECK: str h13, [x23], #1 2153# CHECK: str h15, [sp], #-256 2154# CHECK: str s20, [x20], #255 2155# CHECK: str s23, [x23], #1 2156# CHECK: str s25, [x0], #-256 2157# CHECK: str d20, [x20], #255 2158# CHECK: str d23, [x23], #1 2159# CHECK: str d25, [x0], #-256 21600x0 0xf4 0xf 0x3c 21610x63 0x14 0x0 0x3c 21620xe5 0x7 0x10 0x3c 21630x4a 0xf5 0xf 0x7c 21640xed 0x16 0x0 0x7c 21650xef 0x7 0x10 0x7c 21660x94 0xf6 0xf 0xbc 21670xf7 0x16 0x0 0xbc 21680x19 0x4 0x10 0xbc 21690x94 0xf6 0xf 0xfc 21700xf7 0x16 0x0 0xfc 21710x19 0x4 0x10 0xfc 2172 2173# CHECK: ldr b0, [x0], #255 2174# CHECK: ldr b3, [x3], #1 2175# CHECK: ldr b5, [sp], #-256 2176# CHECK: ldr h10, [x10], #255 2177# CHECK: ldr h13, [x23], #1 2178# CHECK: ldr h15, [sp], #-256 2179# CHECK: ldr s20, [x20], #255 2180# CHECK: ldr s23, [x23], #1 2181# CHECK: ldr s25, [x0], #-256 2182# CHECK: ldr d20, [x20], #255 2183# CHECK: ldr d23, [x23], #1 2184# CHECK: ldr d25, [x0], #-256 21850x0 0xf4 0x4f 0x3c 21860x63 0x14 0x40 0x3c 21870xe5 0x7 0x50 0x3c 21880x4a 0xf5 0x4f 0x7c 21890xed 0x16 0x40 0x7c 21900xef 0x7 0x50 0x7c 21910x94 0xf6 0x4f 0xbc 21920xf7 0x16 0x40 0xbc 21930x19 0x4 0x50 0xbc 21940x94 0xf6 0x4f 0xfc 21950xf7 0x16 0x40 0xfc 21960x19 0x4 0x50 0xfc 21970x34 0xf4 0xcf 0x3c 2198 2199# CHECK: ldr q20, [x1], #255 2200# CHECK: ldr q23, [x9], #1 2201# CHECK: ldr q25, [x20], #-256 2202# CHECK: str q10, [x1], #255 2203# CHECK: str q22, [sp], #1 2204# CHECK: str q21, [x20], #-256 22050x37 0x15 0xc0 0x3c 22060x99 0x6 0xd0 0x3c 22070x2a 0xf4 0x8f 0x3c 22080xf6 0x17 0x80 0x3c 22090x95 0x6 0x90 0x3c 2210 2211#------------------------------------------------------------------------------- 2212# Load-store register (immediate pre-indexed) 2213#------------------------------------------------------------------------------- 2214 2215# E.g. "str xzr, [sp, #4]!" is *not* unpredictable 2216# CHECK-NOT: warning: potentially undefined instruction encoding 22170xff 0xf 0x40 0xf8 2218 2219# CHECK: ldr x3, [x4, #0]! 22200x83 0xc 0x40 0xf8 2221 2222# CHECK: strb w9, [x2, #255]! 2223# CHECK: strb w10, [x3, #1]! 2224# CHECK: strb w10, [x3, #-256]! 2225# CHECK: strh w9, [x2, #255]! 2226# CHECK: strh w9, [x2, #1]! 2227# CHECK: strh w10, [x3, #-256]! 22280x49 0xfc 0xf 0x38 22290x6a 0x1c 0x0 0x38 22300x6a 0xc 0x10 0x38 22310x49 0xfc 0xf 0x78 22320x49 0x1c 0x0 0x78 22330x6a 0xc 0x10 0x78 2234 2235# CHECK: str w19, [sp, #255]! 2236# CHECK: str w20, [x30, #1]! 2237# CHECK: str w21, [x12, #-256]! 2238# CHECK: str xzr, [x9, #255]! 2239# CHECK: str x2, [x3, #1]! 2240# CHECK: str x19, [x12, #-256]! 22410xf3 0xff 0xf 0xb8 22420xd4 0x1f 0x0 0xb8 22430x95 0xd 0x10 0xb8 22440x3f 0xfd 0xf 0xf8 22450x62 0x1c 0x0 0xf8 22460x93 0xd 0x10 0xf8 2247 2248# CHECK: ldrb w9, [x2, #255]! 2249# CHECK: ldrb w10, [x3, #1]! 2250# CHECK: ldrb w10, [x3, #-256]! 2251# CHECK: ldrh w9, [x2, #255]! 2252# CHECK: ldrh w9, [x2, #1]! 2253# CHECK: ldrh w10, [x3, #-256]! 22540x49 0xfc 0x4f 0x38 22550x6a 0x1c 0x40 0x38 22560x6a 0xc 0x50 0x38 22570x49 0xfc 0x4f 0x78 22580x49 0x1c 0x40 0x78 22590x6a 0xc 0x50 0x78 2260 2261# CHECK: ldr w19, [sp, #255]! 2262# CHECK: ldr w20, [x30, #1]! 2263# CHECK: ldr w21, [x12, #-256]! 2264# CHECK: ldr xzr, [x9, #255]! 2265# CHECK: ldr x2, [x3, #1]! 2266# CHECK: ldr x19, [x12, #-256]! 22670xf3 0xff 0x4f 0xb8 22680xd4 0x1f 0x40 0xb8 22690x95 0xd 0x50 0xb8 22700x3f 0xfd 0x4f 0xf8 22710x62 0x1c 0x40 0xf8 22720x93 0xd 0x50 0xf8 2273 2274# CHECK: ldrsb xzr, [x9, #255]! 2275# CHECK: ldrsb x2, [x3, #1]! 2276# CHECK: ldrsb x19, [x12, #-256]! 2277# CHECK: ldrsh xzr, [x9, #255]! 2278# CHECK: ldrsh x2, [x3, #1]! 2279# CHECK: ldrsh x19, [x12, #-256]! 2280# CHECK: ldrsw xzr, [x9, #255]! 2281# CHECK: ldrsw x2, [x3, #1]! 2282# CHECK: ldrsw x19, [x12, #-256]! 22830x3f 0xfd 0x8f 0x38 22840x62 0x1c 0x80 0x38 22850x93 0xd 0x90 0x38 22860x3f 0xfd 0x8f 0x78 22870x62 0x1c 0x80 0x78 22880x93 0xd 0x90 0x78 22890x3f 0xfd 0x8f 0xb8 22900x62 0x1c 0x80 0xb8 22910x93 0xd 0x90 0xb8 2292 2293# CHECK: ldrsb wzr, [x9, #255]! 2294# CHECK: ldrsb w2, [x3, #1]! 2295# CHECK: ldrsb w19, [x12, #-256]! 2296# CHECK: ldrsh wzr, [x9, #255]! 2297# CHECK: ldrsh w2, [x3, #1]! 2298# CHECK: ldrsh w19, [x12, #-256]! 22990x3f 0xfd 0xcf 0x38 23000x62 0x1c 0xc0 0x38 23010x93 0xd 0xd0 0x38 23020x3f 0xfd 0xcf 0x78 23030x62 0x1c 0xc0 0x78 23040x93 0xd 0xd0 0x78 2305 2306# CHECK: str b0, [x0, #255]! 2307# CHECK: str b3, [x3, #1]! 2308# CHECK: str b5, [sp, #-256]! 2309# CHECK: str h10, [x10, #255]! 2310# CHECK: str h13, [x23, #1]! 2311# CHECK: str h15, [sp, #-256]! 2312# CHECK: str s20, [x20, #255]! 2313# CHECK: str s23, [x23, #1]! 2314# CHECK: str s25, [x0, #-256]! 2315# CHECK: str d20, [x20, #255]! 2316# CHECK: str d23, [x23, #1]! 2317# CHECK: str d25, [x0, #-256]! 23180x0 0xfc 0xf 0x3c 23190x63 0x1c 0x0 0x3c 23200xe5 0xf 0x10 0x3c 23210x4a 0xfd 0xf 0x7c 23220xed 0x1e 0x0 0x7c 23230xef 0xf 0x10 0x7c 23240x94 0xfe 0xf 0xbc 23250xf7 0x1e 0x0 0xbc 23260x19 0xc 0x10 0xbc 23270x94 0xfe 0xf 0xfc 23280xf7 0x1e 0x0 0xfc 23290x19 0xc 0x10 0xfc 2330 2331# CHECK: ldr b0, [x0, #255]! 2332# CHECK: ldr b3, [x3, #1]! 2333# CHECK: ldr b5, [sp, #-256]! 2334# CHECK: ldr h10, [x10, #255]! 2335# CHECK: ldr h13, [x23, #1]! 2336# CHECK: ldr h15, [sp, #-256]! 2337# CHECK: ldr s20, [x20, #255]! 2338# CHECK: ldr s23, [x23, #1]! 2339# CHECK: ldr s25, [x0, #-256]! 2340# CHECK: ldr d20, [x20, #255]! 2341# CHECK: ldr d23, [x23, #1]! 2342# CHECK: ldr d25, [x0, #-256]! 23430x0 0xfc 0x4f 0x3c 23440x63 0x1c 0x40 0x3c 23450xe5 0xf 0x50 0x3c 23460x4a 0xfd 0x4f 0x7c 23470xed 0x1e 0x40 0x7c 23480xef 0xf 0x50 0x7c 23490x94 0xfe 0x4f 0xbc 23500xf7 0x1e 0x40 0xbc 23510x19 0xc 0x50 0xbc 23520x94 0xfe 0x4f 0xfc 23530xf7 0x1e 0x40 0xfc 23540x19 0xc 0x50 0xfc 2355 2356# CHECK: ldr q20, [x1, #255]! 2357# CHECK: ldr q23, [x9, #1]! 2358# CHECK: ldr q25, [x20, #-256]! 2359# CHECK: str q10, [x1, #255]! 2360# CHECK: str q22, [sp, #1]! 2361# CHECK: str q21, [x20, #-256]! 23620x34 0xfc 0xcf 0x3c 23630x37 0x1d 0xc0 0x3c 23640x99 0xe 0xd0 0x3c 23650x2a 0xfc 0x8f 0x3c 23660xf6 0x1f 0x80 0x3c 23670x95 0xe 0x90 0x3c 2368 2369#------------------------------------------------------------------------------ 2370# Load/store (unprivileged) 2371#------------------------------------------------------------------------------ 2372 2373# CHECK: sttrb w9, [sp] 2374# CHECK: sttrh wzr, [x12, #255] 2375# CHECK: sttr w16, [x0, #-256] 2376# CHECK: sttr x28, [x14, #1] 23770xe9 0x0b 0x0 0x38 23780x9f 0xf9 0xf 0x78 23790x10 0x08 0x10 0xb8 23800xdc 0x19 0x0 0xf8 2381 2382# CHECK: ldtrb w1, [x20, #255] 2383# CHECK: ldtrh w20, [x1, #255] 2384# CHECK: ldtr w12, [sp, #255] 2385# CHECK: ldtr xzr, [x12, #255] 23860x81 0xfa 0x4f 0x38 23870x34 0xf8 0x4f 0x78 23880xec 0xfb 0x4f 0xb8 23890x9f 0xf9 0x4f 0xf8 2390 2391# CHECK: ldtrsb x9, [x7, #-256] 2392# CHECK: ldtrsh x17, [x19, #-256] 2393# CHECK: ldtrsw x20, [x15, #-256] 2394# CHECK: ldtrsb w19, [x1, #-256] 2395# CHECK: ldtrsh w15, [x21, #-256] 23960xe9 0x08 0x90 0x38 23970x71 0x0a 0x90 0x78 23980xf4 0x09 0x90 0xb8 23990x33 0x08 0xd0 0x38 24000xaf 0x0a 0xd0 0x78 2401 2402#------------------------------------------------------------------------------ 2403# Load/store (unsigned immediate) 2404#------------------------------------------------------------------------------ 2405 2406# CHECK: ldr x0, [x0] 2407# CHECK: ldr x4, [x29] 2408# CHECK: ldr x30, [x12, #32760] 2409# CHECK: ldr x20, [sp, #8] 24100x0 0x0 0x40 0xf9 24110xa4 0x3 0x40 0xf9 24120x9e 0xfd 0x7f 0xf9 24130xf4 0x7 0x40 0xf9 2414 2415# CHECK: ldr xzr, [sp] 24160xff 0x3 0x40 0xf9 2417 2418# CHECK: ldr w2, [sp] 2419# CHECK: ldr w17, [sp, #16380] 2420# CHECK: ldr w13, [x2, #4] 24210xe2 0x3 0x40 0xb9 24220xf1 0xff 0x7f 0xb9 24230x4d 0x4 0x40 0xb9 2424 2425# CHECK: ldrsw x2, [x5, #4] 2426# CHECK: ldrsw x23, [sp, #16380] 24270xa2 0x4 0x80 0xb9 24280xf7 0xff 0xbf 0xb9 2429 2430# CHECK: ldrh w2, [x4] 2431# CHECK: ldrsh w23, [x6, #8190] 2432# CHECK: ldrsh wzr, [sp, #2] 2433# CHECK: ldrsh x29, [x2, #2] 24340x82 0x0 0x40 0x79 24350xd7 0xfc 0xff 0x79 24360xff 0x7 0xc0 0x79 24370x5d 0x4 0x80 0x79 2438 2439# CHECK: ldrb w26, [x3, #121] 2440# CHECK: ldrb w12, [x2] 2441# CHECK: ldrsb w27, [sp, #4095] 2442# CHECK: ldrsb xzr, [x15] 24430x7a 0xe4 0x41 0x39 24440x4c 0x0 0x40 0x39 24450xfb 0xff 0xff 0x39 24460xff 0x1 0x80 0x39 2447 2448# CHECK: str x30, [sp] 2449# CHECK: str w20, [x4, #16380] 2450# CHECK: strh w20, [x10, #14] 2451# CHECK: strh w17, [sp, #8190] 2452# CHECK: strb w23, [x3, #4095] 2453# CHECK: strb wzr, [x2] 24540xfe 0x3 0x0 0xf9 24550x94 0xfc 0x3f 0xb9 24560x54 0x1d 0x0 0x79 24570xf1 0xff 0x3f 0x79 24580x77 0xfc 0x3f 0x39 24590x5f 0x0 0x0 0x39 2460 2461# CHECK: ldr b31, [sp, #4095] 2462# CHECK: ldr h20, [x2, #8190] 2463# CHECK: ldr s10, [x19, #16380] 2464# CHECK: ldr d3, [x10, #32760] 2465# CHECK: str q12, [sp, #65520] 24660xff 0xff 0x7f 0x3d 24670x54 0xfc 0x7f 0x7d 24680x6a 0xfe 0x7f 0xbd 24690x43 0xfd 0x7f 0xfd 24700xec 0xff 0xbf 0x3d 2471 2472# CHECK: prfm pldl1keep, [sp, #8] 2473# CHECK: prfm pldl1strm, [x3{{(, #0)?}}] 2474# CHECK: prfm pldl2keep, [x5, #16] 2475# CHECK: prfm pldl2strm, [x2{{(, #0)?}}] 2476# CHECK: prfm pldl3keep, [x5{{(, #0)?}}] 2477# CHECK: prfm pldl3strm, [x6{{(, #0)?}}] 2478# CHECK: prfm plil1keep, [sp, #8] 2479# CHECK: prfm plil1strm, [x3{{(, #0)?}}] 2480# CHECK: prfm plil2keep, [x5, #16] 2481# CHECK: prfm plil2strm, [x2{{(, #0)?}}] 2482# CHECK: prfm plil3keep, [x5{{(, #0)?}}] 2483# CHECK: prfm plil3strm, [x6{{(, #0)?}}] 2484# CHECK: prfm pstl1keep, [sp, #8] 2485# CHECK: prfm pstl1strm, [x3{{(, #0)?}}] 2486# CHECK: prfm pstl2keep, [x5, #16] 2487# CHECK: prfm pstl2strm, [x2{{(, #0)?}}] 2488# CHECK: prfm pstl3keep, [x5{{(, #0)?}}] 2489# CHECK: prfm pstl3strm, [x6{{(, #0)?}}] 24900xe0 0x07 0x80 0xf9 24910x61 0x00 0x80 0xf9 24920xa2 0x08 0x80 0xf9 24930x43 0x00 0x80 0xf9 24940xa4 0x00 0x80 0xf9 24950xc5 0x00 0x80 0xf9 24960xe8 0x07 0x80 0xf9 24970x69 0x00 0x80 0xf9 24980xaa 0x08 0x80 0xf9 24990x4b 0x00 0x80 0xf9 25000xac 0x00 0x80 0xf9 25010xcd 0x00 0x80 0xf9 25020xf0 0x07 0x80 0xf9 25030x71 0x00 0x80 0xf9 25040xb2 0x08 0x80 0xf9 25050x53 0x00 0x80 0xf9 25060xb4 0x00 0x80 0xf9 25070xd5 0x00 0x80 0xf9 2508 2509 2510#------------------------------------------------------------------------------ 2511# Load/store (register offset) 2512#------------------------------------------------------------------------------ 2513 2514# CHECK: ldrb w3, [sp, x5] 2515# CHECK: ldrb w9, [x27, x6] 2516# CHECK: ldrsb w10, [x30, x7] 2517# CHECK: ldrb w11, [x29, x3, sxtx] 2518# CHECK: strb w12, [x28, xzr, sxtx] 2519# CHECK: ldrb w14, [x26, w6, uxtw] 2520# CHECK: ldrsb w15, [x25, w7, uxtw] 2521# CHECK: ldrb w17, [x23, w9, sxtw] 2522# CHECK: ldrsb x18, [x22, w10, sxtw] 25230xe3 0x6b 0x65 0x38 25240x69 0x6b 0x66 0x38 25250xca 0x6b 0xe7 0x38 25260xab 0xeb 0x63 0x38 25270x8c 0xeb 0x3f 0x38 25280x4e 0x4b 0x66 0x38 25290x2f 0x4b 0xe7 0x38 25300xf1 0xca 0x69 0x38 25310xd2 0xca 0xaa 0x38 2532 2533# CHECK: ldrsh w3, [sp, x5] 2534# CHECK: ldrsh w9, [x27, x6] 2535# CHECK: ldrh w10, [x30, x7, lsl #1] 2536# CHECK: strh w11, [x29, x3, sxtx] 2537# CHECK: ldrh w12, [x28, xzr, sxtx] 2538# CHECK: ldrsh x13, [x27, x5, sxtx #1] 2539# CHECK: ldrh w14, [x26, w6, uxtw] 2540# CHECK: ldrh w15, [x25, w7, uxtw] 2541# CHECK: ldrsh w16, [x24, w8, uxtw #1] 2542# CHECK: ldrh w17, [x23, w9, sxtw] 2543# CHECK: ldrh w18, [x22, w10, sxtw] 2544# CHECK: strh w19, [x21, wzr, sxtw #1] 25450xe3 0x6b 0xe5 0x78 25460x69 0x6b 0xe6 0x78 25470xca 0x7b 0x67 0x78 25480xab 0xeb 0x23 0x78 25490x8c 0xeb 0x7f 0x78 25500x6d 0xfb 0xa5 0x78 25510x4e 0x4b 0x66 0x78 25520x2f 0x4b 0x67 0x78 25530x10 0x5b 0xe8 0x78 25540xf1 0xca 0x69 0x78 25550xd2 0xca 0x6a 0x78 25560xb3 0xda 0x3f 0x78 2557 2558# CHECK: ldr w3, [sp, x5] 2559# CHECK: ldr s9, [x27, x6] 2560# CHECK: ldr w10, [x30, x7, lsl #2] 2561# CHECK: ldr w11, [x29, x3, sxtx] 2562# CHECK: str s12, [x28, xzr, sxtx] 2563# CHECK: str w13, [x27, x5, sxtx #2] 2564# CHECK: str w14, [x26, w6, uxtw] 2565# CHECK: ldr w15, [x25, w7, uxtw] 2566# CHECK: ldr w16, [x24, w8, uxtw #2] 2567# CHECK: ldrsw x17, [x23, w9, sxtw] 2568# CHECK: ldr w18, [x22, w10, sxtw] 2569# CHECK: ldrsw x19, [x21, wzr, sxtw #2] 25700xe3 0x6b 0x65 0xb8 25710x69 0x6b 0x66 0xbc 25720xca 0x7b 0x67 0xb8 25730xab 0xeb 0x63 0xb8 25740x8c 0xeb 0x3f 0xbc 25750x6d 0xfb 0x25 0xb8 25760x4e 0x4b 0x26 0xb8 25770x2f 0x4b 0x67 0xb8 25780x10 0x5b 0x68 0xb8 25790xf1 0xca 0xa9 0xb8 25800xd2 0xca 0x6a 0xb8 25810xb3 0xda 0xbf 0xb8 2582 2583# CHECK: ldr x3, [sp, x5] 2584# CHECK: str x9, [x27, x6] 2585# CHECK: ldr d10, [x30, x7, lsl #3] 2586# CHECK: str x11, [x29, x3, sxtx] 2587# CHECK: ldr x12, [x28, xzr, sxtx] 2588# CHECK: ldr x13, [x27, x5, sxtx #3] 2589# CHECK: prfm pldl1keep, [x26, w6, uxtw] 2590# CHECK: ldr x15, [x25, w7, uxtw] 2591# CHECK: ldr x16, [x24, w8, uxtw #3] 2592# CHECK: ldr x17, [x23, w9, sxtw] 2593# CHECK: ldr x18, [x22, w10, sxtw] 2594# CHECK: str d19, [x21, wzr, sxtw #3] 25950xe3 0x6b 0x65 0xf8 25960x69 0x6b 0x26 0xf8 25970xca 0x7b 0x67 0xfc 25980xab 0xeb 0x23 0xf8 25990x8c 0xeb 0x7f 0xf8 26000x6d 0xfb 0x65 0xf8 26010x40 0x4b 0xa6 0xf8 26020x2f 0x4b 0x67 0xf8 26030x10 0x5b 0x68 0xf8 26040xf1 0xca 0x69 0xf8 26050xd2 0xca 0x6a 0xf8 26060xb3 0xda 0x3f 0xfc 2607 2608# CHECK: ldr q3, [sp, x5] 2609# CHECK: ldr q9, [x27, x6] 2610# CHECK: ldr q10, [x30, x7, lsl #4] 2611# CHECK: str q11, [x29, x3, sxtx] 2612# CHECK: str q12, [x28, xzr, sxtx] 2613# CHECK: str q13, [x27, x5, sxtx #4] 2614# CHECK: ldr q14, [x26, w6, uxtw] 2615# CHECK: ldr q15, [x25, w7, uxtw] 2616# CHECK: ldr q16, [x24, w8, uxtw #4] 2617# CHECK: ldr q17, [x23, w9, sxtw] 2618# CHECK: str q18, [x22, w10, sxtw] 2619# CHECK: ldr q19, [x21, wzr, sxtw #4] 26200xe3 0x6b 0xe5 0x3c 26210x69 0x6b 0xe6 0x3c 26220xca 0x7b 0xe7 0x3c 26230xab 0xeb 0xa3 0x3c 26240x8c 0xeb 0xbf 0x3c 26250x6d 0xfb 0xa5 0x3c 26260x4e 0x4b 0xe6 0x3c 26270x2f 0x4b 0xe7 0x3c 26280x10 0x5b 0xe8 0x3c 26290xf1 0xca 0xe9 0x3c 26300xd2 0xca 0xaa 0x3c 26310xb3 0xda 0xff 0x3c 2632 2633#------------------------------------------------------------------------------ 2634# Load/store register pair (offset) 2635#------------------------------------------------------------------------------ 2636 2637# CHECK: ldp w3, w5, [sp] 2638# CHECK: stp wzr, w9, [sp, #252] 2639# CHECK: ldp w2, wzr, [sp, #-256] 2640# CHECK: ldp w9, w10, [sp, #4] 26410xe3 0x17 0x40 0x29 26420xff 0xa7 0x1f 0x29 26430xe2 0x7f 0x60 0x29 26440xe9 0xab 0x40 0x29 2645 2646# CHECK: ldpsw x9, x10, [sp, #4] 2647# CHECK: ldpsw x9, x10, [x2, #-256] 2648# CHECK: ldpsw x20, x30, [sp, #252] 26490xe9 0xab 0x40 0x69 26500x49 0x28 0x60 0x69 26510xf4 0xfb 0x5f 0x69 2652 2653# CHECK: ldp x21, x29, [x2, #504] 2654# CHECK: ldp x22, x23, [x3, #-512] 2655# CHECK: ldp x24, x25, [x4, #8] 26560x55 0xf4 0x5f 0xa9 26570x76 0x5c 0x60 0xa9 26580x98 0xe4 0x40 0xa9 2659 2660# CHECK: ldp s29, s28, [sp, #252] 2661# CHECK: stp s27, s26, [sp, #-256] 2662# CHECK: ldp s1, s2, [x3, #44] 26630xfd 0xf3 0x5f 0x2d 26640xfb 0x6b 0x20 0x2d 26650x61 0x88 0x45 0x2d 2666 2667# CHECK: stp d3, d5, [x9, #504] 2668# CHECK: stp d7, d11, [x10, #-512] 2669# CHECK: ldp d2, d3, [x30, #-8] 26700x23 0x95 0x1f 0x6d 26710x47 0x2d 0x20 0x6d 26720xc2 0x8f 0x7f 0x6d 2673 2674# CHECK: stp q3, q5, [sp] 2675# CHECK: stp q17, q19, [sp, #1008] 2676# CHECK: ldp q23, q29, [x1, #-1024] 26770xe3 0x17 0x0 0xad 26780xf1 0xcf 0x1f 0xad 26790x37 0x74 0x60 0xad 2680 2681#------------------------------------------------------------------------------ 2682# Load/store register pair (post-indexed) 2683#------------------------------------------------------------------------------ 2684 2685# CHECK: ldp w3, w5, [sp], #0 2686# CHECK: stp wzr, w9, [sp], #252 2687# CHECK: ldp w2, wzr, [sp], #-256 2688# CHECK: ldp w9, w10, [sp], #4 26890xe3 0x17 0xc0 0x28 26900xff 0xa7 0x9f 0x28 26910xe2 0x7f 0xe0 0x28 26920xe9 0xab 0xc0 0x28 2693 2694# CHECK: ldpsw x9, x10, [sp], #4 2695# CHECK: ldpsw x9, x10, [x2], #-256 2696# CHECK: ldpsw x20, x30, [sp], #252 26970xe9 0xab 0xc0 0x68 26980x49 0x28 0xe0 0x68 26990xf4 0xfb 0xdf 0x68 2700 2701# CHECK: ldp x21, x29, [x2], #504 2702# CHECK: ldp x22, x23, [x3], #-512 2703# CHECK: ldp x24, x25, [x4], #8 27040x55 0xf4 0xdf 0xa8 27050x76 0x5c 0xe0 0xa8 27060x98 0xe4 0xc0 0xa8 2707 2708# CHECK: ldp s29, s28, [sp], #252 2709# CHECK: stp s27, s26, [sp], #-256 2710# CHECK: ldp s1, s2, [x3], #44 27110xfd 0xf3 0xdf 0x2c 27120xfb 0x6b 0xa0 0x2c 27130x61 0x88 0xc5 0x2c 2714 2715# CHECK: stp d3, d5, [x9], #504 2716# CHECK: stp d7, d11, [x10], #-512 2717# CHECK: ldp d2, d3, [x30], #-8 27180x23 0x95 0x9f 0x6c 27190x47 0x2d 0xa0 0x6c 27200xc2 0x8f 0xff 0x6c 2721 2722# CHECK: stp q3, q5, [sp], #0 2723# CHECK: stp q17, q19, [sp], #1008 2724# CHECK: ldp q23, q29, [x1], #-1024 27250xe3 0x17 0x80 0xac 27260xf1 0xcf 0x9f 0xac 27270x37 0x74 0xe0 0xac 2728 2729#------------------------------------------------------------------------------ 2730# Load/store register pair (pre-indexed) 2731#------------------------------------------------------------------------------ 2732 2733# CHECK: ldp w3, w5, [sp, #0]! 2734# CHECK: stp wzr, w9, [sp, #252]! 2735# CHECK: ldp w2, wzr, [sp, #-256]! 2736# CHECK: ldp w9, w10, [sp, #4]! 27370xe3 0x17 0xc0 0x29 27380xff 0xa7 0x9f 0x29 27390xe2 0x7f 0xe0 0x29 27400xe9 0xab 0xc0 0x29 2741 2742# CHECK: ldpsw x9, x10, [sp, #4]! 2743# CHECK: ldpsw x9, x10, [x2, #-256]! 2744# CHECK: ldpsw x20, x30, [sp, #252]! 27450xe9 0xab 0xc0 0x69 27460x49 0x28 0xe0 0x69 27470xf4 0xfb 0xdf 0x69 2748 2749# CHECK: ldp x21, x29, [x2, #504]! 2750# CHECK: ldp x22, x23, [x3, #-512]! 2751# CHECK: ldp x24, x25, [x4, #8]! 27520x55 0xf4 0xdf 0xa9 27530x76 0x5c 0xe0 0xa9 27540x98 0xe4 0xc0 0xa9 2755 2756# CHECK: ldp s29, s28, [sp, #252]! 2757# CHECK: stp s27, s26, [sp, #-256]! 2758# CHECK: ldp s1, s2, [x3, #44]! 27590xfd 0xf3 0xdf 0x2d 27600xfb 0x6b 0xa0 0x2d 27610x61 0x88 0xc5 0x2d 2762 2763# CHECK: stp d3, d5, [x9, #504]! 2764# CHECK: stp d7, d11, [x10, #-512]! 2765# CHECK: ldp d2, d3, [x30, #-8]! 27660x23 0x95 0x9f 0x6d 27670x47 0x2d 0xa0 0x6d 27680xc2 0x8f 0xff 0x6d 2769 2770# CHECK: stp q3, q5, [sp, #0]! 2771# CHECK: stp q17, q19, [sp, #1008]! 2772# CHECK: ldp q23, q29, [x1, #-1024]! 27730xe3 0x17 0x80 0xad 27740xf1 0xcf 0x9f 0xad 27750x37 0x74 0xe0 0xad 2776 2777#------------------------------------------------------------------------------ 2778# Load/store register pair (offset) 2779#------------------------------------------------------------------------------ 2780 2781# CHECK: ldnp w3, w5, [sp] 2782# CHECK: stnp wzr, w9, [sp, #252] 2783# CHECK: ldnp w2, wzr, [sp, #-256] 2784# CHECK: ldnp w9, w10, [sp, #4] 27850xe3 0x17 0x40 0x28 27860xff 0xa7 0x1f 0x28 27870xe2 0x7f 0x60 0x28 27880xe9 0xab 0x40 0x28 2789 2790# CHECK: ldnp x21, x29, [x2, #504] 2791# CHECK: ldnp x22, x23, [x3, #-512] 2792# CHECK: ldnp x24, x25, [x4, #8] 27930x55 0xf4 0x5f 0xa8 27940x76 0x5c 0x60 0xa8 27950x98 0xe4 0x40 0xa8 2796 2797# CHECK: ldnp s29, s28, [sp, #252] 2798# CHECK: stnp s27, s26, [sp, #-256] 2799# CHECK: ldnp s1, s2, [x3, #44] 28000xfd 0xf3 0x5f 0x2c 28010xfb 0x6b 0x20 0x2c 28020x61 0x88 0x45 0x2c 2803 2804# CHECK: stnp d3, d5, [x9, #504] 2805# CHECK: stnp d7, d11, [x10, #-512] 2806# CHECK: ldnp d2, d3, [x30, #-8] 28070x23 0x95 0x1f 0x6c 28080x47 0x2d 0x20 0x6c 28090xc2 0x8f 0x7f 0x6c 2810 2811# CHECK: stnp q3, q5, [sp] 2812# CHECK: stnp q17, q19, [sp, #1008] 2813# CHECK: ldnp q23, q29, [x1, #-1024] 28140xe3 0x17 0x0 0xac 28150xf1 0xcf 0x1f 0xac 28160x37 0x74 0x60 0xac 2817 2818#------------------------------------------------------------------------------ 2819# Logical (immediate) 2820#------------------------------------------------------------------------------ 2821# CHECK: orr w3, w9, #0xffff0000 2822# CHECK: orr wsp, w10, #0xe00000ff 2823# CHECK: orr w9, w10, #0x3ff 28240x23 0x3d 0x10 0x32 28250x5f 0x29 0x3 0x32 28260x49 0x25 0x0 0x32 2827 2828# CHECK: and w14, w15, #0x80008000 2829# CHECK: and w12, w13, #0xffc3ffc3 2830# CHECK: and w11, wzr, #0x30003 28310xee 0x81 0x1 0x12 28320xac 0xad 0xa 0x12 28330xeb 0x87 0x0 0x12 2834 2835# CHECK: eor w3, w6, #0xe0e0e0e0 2836# CHECK: eor wsp, wzr, #0x3030303 2837# CHECK: eor w16, w17, #0x81818181 28380xc3 0xc8 0x3 0x52 28390xff 0xc7 0x0 0x52 28400x30 0xc6 0x1 0x52 2841 2842# CHECK: {{ands wzr,|tst}} w18, #0xcccccccc 2843# CHECK: ands w19, w20, #0x33333333 2844# CHECK: ands w21, w22, #0x99999999 28450x5f 0xe6 0x2 0x72 28460x93 0xe6 0x0 0x72 28470xd5 0xe6 0x1 0x72 2848 2849# CHECK: {{ands wzr,|tst}} w3, #0xaaaaaaaa 2850# CHECK: {{ands wzr,|tst}} wzr, #0x55555555 28510x7f 0xf0 0x1 0x72 28520xff 0xf3 0x0 0x72 2853 2854# CHECK: eor x3, x5, #0xffffffffc000000 2855# CHECK: and x9, x10, #0x7fffffffffff 2856# CHECK: orr x11, x12, #0x8000000000000fff 28570xa3 0x84 0x66 0xd2 28580x49 0xb9 0x40 0x92 28590x8b 0x31 0x41 0xb2 2860 2861# CHECK: orr x3, x9, #0xffff0000ffff0000 2862# CHECK: orr sp, x10, #0xe00000ffe00000ff 2863# CHECK: orr x9, x10, #0x3ff000003ff 28640x23 0x3d 0x10 0xb2 28650x5f 0x29 0x3 0xb2 28660x49 0x25 0x0 0xb2 2867 2868# CHECK: and x14, x15, #0x8000800080008000 2869# CHECK: and x12, x13, #0xffc3ffc3ffc3ffc3 2870# CHECK: and x11, xzr, #0x3000300030003 28710xee 0x81 0x1 0x92 28720xac 0xad 0xa 0x92 28730xeb 0x87 0x0 0x92 2874 2875# CHECK: eor x3, x6, #0xe0e0e0e0e0e0e0e0 2876# CHECK: eor sp, xzr, #0x303030303030303 2877# CHECK: eor x16, x17, #0x8181818181818181 28780xc3 0xc8 0x3 0xd2 28790xff 0xc7 0x0 0xd2 28800x30 0xc6 0x1 0xd2 2881 2882# CHECK: {{ands xzr,|tst}} x18, #0xcccccccccccccccc 2883# CHECK: ands x19, x20, #0x3333333333333333 2884# CHECK: ands x21, x22, #0x9999999999999999 28850x5f 0xe6 0x2 0xf2 28860x93 0xe6 0x0 0xf2 28870xd5 0xe6 0x1 0xf2 2888 2889# CHECK: {{ands xzr,|tst}} x3, #0xaaaaaaaaaaaaaaaa 2890# CHECK: {{ands xzr,|tst}} xzr, #0x5555555555555555 28910x7f 0xf0 0x1 0xf2 28920xff 0xf3 0x0 0xf2 2893 2894# CHECK: mov w3, #983055 2895# CHECK: mov x10, #-6148914691236517206 28960xe3 0x8f 0x0 0x32 28970xea 0xf3 0x1 0xb2 2898 2899# CHECK: orr w3, wzr, #0xffff 2900# CHECK: orr x9, xzr, #0xffff00000000 29010xe3 0x3f 0x0 0x32 29020xe9 0x3f 0x60 0xb2 2903 2904#------------------------------------------------------------------------------ 2905# Logical (shifted register) 2906#------------------------------------------------------------------------------ 2907 2908# CHECK: and w12, w23, w21 2909# CHECK: and w16, w15, w1, lsl #1 2910# CHECK: and w9, w4, w10, lsl #31 2911# CHECK: and w3, w30, w11 2912# CHECK: and x3, x5, x7, lsl #63 29130xec 0x2 0x15 0xa 29140xf0 0x5 0x1 0xa 29150x89 0x7c 0xa 0xa 29160xc3 0x3 0xb 0xa 29170xa3 0xfc 0x7 0x8a 2918 2919# CHECK: and x5, x14, x19, asr #4 2920# CHECK: and w3, w17, w19, ror #31 2921# CHECK: and w0, w2, wzr, lsr #17 2922# CHECK: and w3, w30, w11, asr 29230xc5 0x11 0x93 0x8a 29240x23 0x7e 0xd3 0xa 29250x40 0x44 0x5f 0xa 29260xc3 0x3 0x8b 0xa 2927 2928# CHECK: and xzr, x4, x26 2929# CHECK: and w3, wzr, w20, ror 2930# CHECK: and x7, x20, xzr, asr #63 29310x9f 0x0 0x1a 0x8a 29320xe3 0x3 0xd4 0xa 29330x87 0xfe 0x9f 0x8a 2934 2935# CHECK: bic x13, x20, x14, lsl #47 2936# CHECK: bic w2, w7, w9 2937# CHECK: orr w2, w7, w0, asr #31 2938# CHECK: orr x8, x9, x10, lsl #12 2939# CHECK: orn x3, x5, x7, asr 2940# CHECK: orn w2, w5, w29 29410x8d 0xbe 0x2e 0x8a 29420xe2 0x0 0x29 0xa 29430xe2 0x7c 0x80 0x2a 29440x28 0x31 0xa 0xaa 29450xa3 0x0 0xa7 0xaa 29460xa2 0x0 0x3d 0x2a 2947 2948# CHECK: ands w7, wzr, w9, lsl #1 2949# CHECK: ands x3, x5, x20, ror #63 2950# CHECK: bics w3, w5, w7 2951# CHECK: bics x3, xzr, x3, lsl #1 2952# CHECK: tst w3, w7, lsl #31 2953# CHECK: tst x2, x20, asr 29540xe7 0x7 0x9 0x6a 29550xa3 0xfc 0xd4 0xea 29560xa3 0x0 0x27 0x6a 29570xe3 0x7 0x23 0xea 29580x7f 0x7c 0x7 0x6a 29590x5f 0x0 0x94 0xea 2960 2961# CHECK: mov x3, x6 2962# CHECK: mov x3, xzr 2963# CHECK: mov wzr, w2 2964# CHECK: mov w3, w5 29650xe3 0x3 0x6 0xaa 29660xe3 0x3 0x1f 0xaa 29670xff 0x3 0x2 0x2a 29680xe3 0x3 0x5 0x2a 2969 2970#------------------------------------------------------------------------------ 2971# Move wide (immediate) 2972#------------------------------------------------------------------------------ 2973 2974# N.b. (FIXME) canonical aliases aren't produced here because of 2975# limitation in InstAlias. Lots of the "mov[nz]" instructions should 2976# be "mov". 2977 2978# CHECK: mov w1, #{{65535|0xffff}} 2979# CHECK: movz w2, #0, lsl #16 2980# CHECK: mov w2, #-1235 29810xe1 0xff 0x9f 0x52 29820x2 0x0 0xa0 0x52 29830x42 0x9a 0x80 0x12 2984 2985# CHECK: mov x2, #5299989643264 2986# CHECK: movk xzr, #{{4321|0x10e1}}, lsl #48 29870x42 0x9a 0xc0 0xd2 29880x3f 0x1c 0xe2 0xf2 2989 2990# CHECK: mov x2, #0 2991# CHECK: movk w3, #0 2992# CHECK: movz x4, #0, lsl #16 2993# CHECK: movk w5, #0, lsl #16 2994# CHECK: movz x6, #0, lsl #32 2995# CHECK: movk x7, #0, lsl #32 2996# CHECK: movz x8, #0, lsl #48 2997# CHECK: movk x9, #0, lsl #48 29980x2 0x0 0x80 0xd2 29990x3 0x0 0x80 0x72 30000x4 0x0 0xa0 0xd2 30010x5 0x0 0xa0 0x72 30020x6 0x0 0xc0 0xd2 30030x7 0x0 0xc0 0xf2 30040x8 0x0 0xe0 0xd2 30050x9 0x0 0xe0 0xf2 3006 3007#------------------------------------------------------------------------------ 3008# PC-relative addressing 3009#------------------------------------------------------------------------------ 3010 3011# It's slightly dodgy using immediates here, but harmless enough when 3012# it's all that's available. 3013 3014# CHECK: adr x2, #1600 3015# CHECK: adrp x21, #6553600 3016# CHECK: adr x0, #262144 30170x02 0x32 0x00 0x10 30180x15 0x32 0x00 0x90 30190x00 0x00 0x20 0x10 3020 3021#------------------------------------------------------------------------------ 3022# System 3023#------------------------------------------------------------------------------ 3024 3025# CHECK: nop 3026# CHECK: hint #{{127|0x7f}} 3027# CHECK: nop 3028# CHECK: yield 3029# CHECK: wfe 3030# CHECK: wfi 3031# CHECK: sev 3032# CHECK: sevl 30330x1f 0x20 0x3 0xd5 30340xff 0x2f 0x3 0xd5 30350x1f 0x20 0x3 0xd5 30360x3f 0x20 0x3 0xd5 30370x5f 0x20 0x3 0xd5 30380x7f 0x20 0x3 0xd5 30390x9f 0x20 0x3 0xd5 30400xbf 0x20 0x3 0xd5 3041 3042# CHECK: clrex 3043# CHECK: clrex #0 3044# CHECK: clrex #7 3045# CHECK: clrex 30460x5f 0x3f 0x3 0xd5 30470x5f 0x30 0x3 0xd5 30480x5f 0x37 0x3 0xd5 30490x5f 0x3f 0x3 0xd5 3050 3051# CHECK: dsb #0 3052# CHECK: dsb #12 3053# CHECK: dsb sy 3054# CHECK: dsb oshld 3055# CHECK: dsb oshst 3056# CHECK: dsb osh 3057# CHECK: dsb nshld 3058# CHECK: dsb nshst 3059# CHECK: dsb nsh 3060# CHECK: dsb ishld 3061# CHECK: dsb ishst 3062# CHECK: dsb ish 3063# CHECK: dsb ld 3064# CHECK: dsb st 3065# CHECK: dsb sy 30660x9f 0x30 0x3 0xd5 30670x9f 0x3c 0x3 0xd5 30680x9f 0x3f 0x3 0xd5 30690x9f 0x31 0x3 0xd5 30700x9f 0x32 0x3 0xd5 30710x9f 0x33 0x3 0xd5 30720x9f 0x35 0x3 0xd5 30730x9f 0x36 0x3 0xd5 30740x9f 0x37 0x3 0xd5 30750x9f 0x39 0x3 0xd5 30760x9f 0x3a 0x3 0xd5 30770x9f 0x3b 0x3 0xd5 30780x9f 0x3d 0x3 0xd5 30790x9f 0x3e 0x3 0xd5 30800x9f 0x3f 0x3 0xd5 3081 3082# CHECK: dmb #0 3083# CHECK: dmb #12 3084# CHECK: dmb sy 3085# CHECK: dmb oshld 3086# CHECK: dmb oshst 3087# CHECK: dmb osh 3088# CHECK: dmb nshld 3089# CHECK: dmb nshst 3090# CHECK: dmb nsh 3091# CHECK: dmb ishld 3092# CHECK: dmb ishst 3093# CHECK: dmb ish 3094# CHECK: dmb ld 3095# CHECK: dmb st 3096# CHECK: dmb sy 30970xbf 0x30 0x3 0xd5 30980xbf 0x3c 0x3 0xd5 30990xbf 0x3f 0x3 0xd5 31000xbf 0x31 0x3 0xd5 31010xbf 0x32 0x3 0xd5 31020xbf 0x33 0x3 0xd5 31030xbf 0x35 0x3 0xd5 31040xbf 0x36 0x3 0xd5 31050xbf 0x37 0x3 0xd5 31060xbf 0x39 0x3 0xd5 31070xbf 0x3a 0x3 0xd5 31080xbf 0x3b 0x3 0xd5 31090xbf 0x3d 0x3 0xd5 31100xbf 0x3e 0x3 0xd5 31110xbf 0x3f 0x3 0xd5 3112 3113# CHECK: isb 3114# CHECK: isb #12 31150xdf 0x3f 0x3 0xd5 31160xdf 0x3c 0x3 0xd5 3117 3118# CHECK: msr {{SPSel|SPSEL}}, #0 3119# CHECK: msr {{DAIFSet|DAIFSET}}, #15 3120# CHECK: msr {{DAIFClr|DAIFCLR}}, #12 31210xbf 0x40 0x0 0xd5 31220xdf 0x4f 0x3 0xd5 31230xff 0x4c 0x3 0xd5 3124 3125# CHECK: sys #7, c5, c9, #7, x5 3126# CHECK: sys #0, c15, c15, #2 3127# CHECK: sysl x9, #7, c5, c9, #7 3128# CHECK: sysl x1, #0, c15, c15, #2 31290xe5 0x59 0xf 0xd5 31300x5f 0xff 0x8 0xd5 31310xe9 0x59 0x2f 0xd5 31320x41 0xff 0x28 0xd5 3133 3134# CHECK: {{sys #0, c7, c1, #0|ic ialluis}} 3135# CHECK: {{sys #0, c7, c5, #0|ic iallu}} 3136# CHECK: {{sys #3, c7, c5, #1|ic ivau}}, x9 31370x1f 0x71 0x8 0xd5 31380x1f 0x75 0x8 0xd5 31390x29 0x75 0xb 0xd5 3140 3141# CHECK: {{sys #3, c7, c4, #1|dc zva}}, x12 3142# CHECK: {{sys #0, c7, c6, #1|dc ivac}} 3143# CHECK: {{sys #0, c7, c6, #2|dc isw}}, x2 3144# CHECK: {{sys #3, c7, c10, #1|dc cvac}}, x9 3145# CHECK: {{sys #0, c7, c10, #2|dc csw}}, x10 3146# CHECK: {{sys #3, c7, c11, #1|dc cvau}}, x0 3147# CHECK: {{sys #3, c7, c14, #1|dc civac}}, x3 3148# CHECK: {{sys #0, c7, c14, #2|dc cisw}}, x30 31490x2c 0x74 0xb 0xd5 31500x3f 0x76 0x8 0xd5 31510x42 0x76 0x8 0xd5 31520x29 0x7a 0xb 0xd5 31530x4a 0x7a 0x8 0xd5 31540x20 0x7b 0xb 0xd5 31550x23 0x7e 0xb 0xd5 31560x5e 0x7e 0x8 0xd5 3157 3158 3159# CHECK: msr {{teecr32_el1|TEECR32_EL1}}, x12 3160# CHECK: msr {{osdtrrx_el1|OSDTRRX_EL1}}, x12 3161# CHECK: msr {{mdccint_el1|MDCCINT_EL1}}, x12 3162# CHECK: msr {{mdscr_el1|MDSCR_EL1}}, x12 3163# CHECK: msr {{osdtrtx_el1|OSDTRTX_EL1}}, x12 3164# CHECK: msr {{dbgdtr_el0|DBGDTR_EL0}}, x12 3165# CHECK: msr {{dbgdtrtx_el0|DBGDTRTX_EL0}}, x12 3166# CHECK: msr {{oseccr_el1|OSECCR_EL1}}, x12 3167# CHECK: msr {{dbgvcr32_el2|DBGVCR32_EL2}}, x12 3168# CHECK: msr {{dbgbvr0_el1|DBGBVR0_EL1}}, x12 3169# CHECK: msr {{dbgbvr1_el1|DBGBVR1_EL1}}, x12 3170# CHECK: msr {{dbgbvr2_el1|DBGBVR2_EL1}}, x12 3171# CHECK: msr {{dbgbvr3_el1|DBGBVR3_EL1}}, x12 3172# CHECK: msr {{dbgbvr4_el1|DBGBVR4_EL1}}, x12 3173# CHECK: msr {{dbgbvr5_el1|DBGBVR5_EL1}}, x12 3174# CHECK: msr {{dbgbvr6_el1|DBGBVR6_EL1}}, x12 3175# CHECK: msr {{dbgbvr7_el1|DBGBVR7_EL1}}, x12 3176# CHECK: msr {{dbgbvr8_el1|DBGBVR8_EL1}}, x12 3177# CHECK: msr {{dbgbvr9_el1|DBGBVR9_EL1}}, x12 3178# CHECK: msr {{dbgbvr10_el1|DBGBVR10_EL1}}, x12 3179# CHECK: msr {{dbgbvr11_el1|DBGBVR11_EL1}}, x12 3180# CHECK: msr {{dbgbvr12_el1|DBGBVR12_EL1}}, x12 3181# CHECK: msr {{dbgbvr13_el1|DBGBVR13_EL1}}, x12 3182# CHECK: msr {{dbgbvr14_el1|DBGBVR14_EL1}}, x12 3183# CHECK: msr {{dbgbvr15_el1|DBGBVR15_EL1}}, x12 3184# CHECK: msr {{dbgbcr0_el1|DBGBCR0_EL1}}, x12 3185# CHECK: msr {{dbgbcr1_el1|DBGBCR1_EL1}}, x12 3186# CHECK: msr {{dbgbcr2_el1|DBGBCR2_EL1}}, x12 3187# CHECK: msr {{dbgbcr3_el1|DBGBCR3_EL1}}, x12 3188# CHECK: msr {{dbgbcr4_el1|DBGBCR4_EL1}}, x12 3189# CHECK: msr {{dbgbcr5_el1|DBGBCR5_EL1}}, x12 3190# CHECK: msr {{dbgbcr6_el1|DBGBCR6_EL1}}, x12 3191# CHECK: msr {{dbgbcr7_el1|DBGBCR7_EL1}}, x12 3192# CHECK: msr {{dbgbcr8_el1|DBGBCR8_EL1}}, x12 3193# CHECK: msr {{dbgbcr9_el1|DBGBCR9_EL1}}, x12 3194# CHECK: msr {{dbgbcr10_el1|DBGBCR10_EL1}}, x12 3195# CHECK: msr {{dbgbcr11_el1|DBGBCR11_EL1}}, x12 3196# CHECK: msr {{dbgbcr12_el1|DBGBCR12_EL1}}, x12 3197# CHECK: msr {{dbgbcr13_el1|DBGBCR13_EL1}}, x12 3198# CHECK: msr {{dbgbcr14_el1|DBGBCR14_EL1}}, x12 3199# CHECK: msr {{dbgbcr15_el1|DBGBCR15_EL1}}, x12 3200# CHECK: msr {{dbgwvr0_el1|DBGWVR0_EL1}}, x12 3201# CHECK: msr {{dbgwvr1_el1|DBGWVR1_EL1}}, x12 3202# CHECK: msr {{dbgwvr2_el1|DBGWVR2_EL1}}, x12 3203# CHECK: msr {{dbgwvr3_el1|DBGWVR3_EL1}}, x12 3204# CHECK: msr {{dbgwvr4_el1|DBGWVR4_EL1}}, x12 3205# CHECK: msr {{dbgwvr5_el1|DBGWVR5_EL1}}, x12 3206# CHECK: msr {{dbgwvr6_el1|DBGWVR6_EL1}}, x12 3207# CHECK: msr {{dbgwvr7_el1|DBGWVR7_EL1}}, x12 3208# CHECK: msr {{dbgwvr8_el1|DBGWVR8_EL1}}, x12 3209# CHECK: msr {{dbgwvr9_el1|DBGWVR9_EL1}}, x12 3210# CHECK: msr {{dbgwvr10_el1|DBGWVR10_EL1}}, x12 3211# CHECK: msr {{dbgwvr11_el1|DBGWVR11_EL1}}, x12 3212# CHECK: msr {{dbgwvr12_el1|DBGWVR12_EL1}}, x12 3213# CHECK: msr {{dbgwvr13_el1|DBGWVR13_EL1}}, x12 3214# CHECK: msr {{dbgwvr14_el1|DBGWVR14_EL1}}, x12 3215# CHECK: msr {{dbgwvr15_el1|DBGWVR15_EL1}}, x12 3216# CHECK: msr {{dbgwcr0_el1|DBGWCR0_EL1}}, x12 3217# CHECK: msr {{dbgwcr1_el1|DBGWCR1_EL1}}, x12 3218# CHECK: msr {{dbgwcr2_el1|DBGWCR2_EL1}}, x12 3219# CHECK: msr {{dbgwcr3_el1|DBGWCR3_EL1}}, x12 3220# CHECK: msr {{dbgwcr4_el1|DBGWCR4_EL1}}, x12 3221# CHECK: msr {{dbgwcr5_el1|DBGWCR5_EL1}}, x12 3222# CHECK: msr {{dbgwcr6_el1|DBGWCR6_EL1}}, x12 3223# CHECK: msr {{dbgwcr7_el1|DBGWCR7_EL1}}, x12 3224# CHECK: msr {{dbgwcr8_el1|DBGWCR8_EL1}}, x12 3225# CHECK: msr {{dbgwcr9_el1|DBGWCR9_EL1}}, x12 3226# CHECK: msr {{dbgwcr10_el1|DBGWCR10_EL1}}, x12 3227# CHECK: msr {{dbgwcr11_el1|DBGWCR11_EL1}}, x12 3228# CHECK: msr {{dbgwcr12_el1|DBGWCR12_EL1}}, x12 3229# CHECK: msr {{dbgwcr13_el1|DBGWCR13_EL1}}, x12 3230# CHECK: msr {{dbgwcr14_el1|DBGWCR14_EL1}}, x12 3231# CHECK: msr {{dbgwcr15_el1|DBGWCR15_EL1}}, x12 3232# CHECK: msr {{teehbr32_el1|TEEHBR32_EL1}}, x12 3233# CHECK: msr {{oslar_el1|OSLAR_EL1}}, x12 3234# CHECK: msr {{osdlr_el1|OSDLR_EL1}}, x12 3235# CHECK: msr {{dbgprcr_el1|DBGPRCR_EL1}}, x12 3236# CHECK: msr {{dbgclaimset_el1|DBGCLAIMSET_EL1}}, x12 3237# CHECK: msr {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}}, x12 3238# CHECK: msr {{csselr_el1|CSSELR_EL1}}, x12 3239# CHECK: msr {{vpidr_el2|VPIDR_EL2}}, x12 3240# CHECK: msr {{vmpidr_el2|VMPIDR_EL2}}, x12 3241# CHECK: msr {{sctlr_el1|SCTLR_EL1}}, x12 3242# CHECK: msr {{sctlr_el2|SCTLR_EL2}}, x12 3243# CHECK: msr {{sctlr_el3|SCTLR_EL3}}, x12 3244# CHECK: msr {{actlr_el1|ACTLR_EL1}}, x12 3245# CHECK: msr {{actlr_el2|ACTLR_EL2}}, x12 3246# CHECK: msr {{actlr_el3|ACTLR_EL3}}, x12 3247# CHECK: msr {{cpacr_el1|CPACR_EL1}}, x12 3248# CHECK: msr {{hcr_el2|HCR_EL2}}, x12 3249# CHECK: msr {{scr_el3|SCR_EL3}}, x12 3250# CHECK: msr {{mdcr_el2|MDCR_EL2}}, x12 3251# CHECK: msr {{sder32_el3|SDER32_EL3}}, x12 3252# CHECK: msr {{cptr_el2|CPTR_EL2}}, x12 3253# CHECK: msr {{cptr_el3|CPTR_EL3}}, x12 3254# CHECK: msr {{hstr_el2|HSTR_EL2}}, x12 3255# CHECK: msr {{hacr_el2|HACR_EL2}}, x12 3256# CHECK: msr {{mdcr_el3|MDCR_EL3}}, x12 3257# CHECK: msr {{ttbr0_el1|TTBR0_EL1}}, x12 3258# CHECK: msr {{ttbr0_el2|TTBR0_EL2}}, x12 3259# CHECK: msr {{ttbr0_el3|TTBR0_EL3}}, x12 3260# CHECK: msr {{ttbr1_el1|TTBR1_EL1}}, x12 3261# CHECK: msr {{tcr_el1|TCR_EL1}}, x12 3262# CHECK: msr {{tcr_el2|TCR_EL2}}, x12 3263# CHECK: msr {{tcr_el3|TCR_EL3}}, x12 3264# CHECK: msr {{vttbr_el2|VTTBR_EL2}}, x12 3265# CHECK: msr {{vtcr_el2|VTCR_EL2}}, x12 3266# CHECK: msr {{dacr32_el2|DACR32_EL2}}, x12 3267# CHECK: msr {{spsr_el1|SPSR_EL1}}, x12 3268# CHECK: msr {{spsr_el2|SPSR_EL2}}, x12 3269# CHECK: msr {{spsr_el3|SPSR_EL3}}, x12 3270# CHECK: msr {{elr_el1|ELR_EL1}}, x12 3271# CHECK: msr {{elr_el2|ELR_EL2}}, x12 3272# CHECK: msr {{elr_el3|ELR_EL3}}, x12 3273# CHECK: msr {{sp_el0|SP_EL0}}, x12 3274# CHECK: msr {{sp_el1|SP_EL1}}, x12 3275# CHECK: msr {{sp_el2|SP_EL2}}, x12 3276# CHECK: msr {{SPSel|SPSEL}}, x12 3277# CHECK: msr {{nzcv|NZCV}}, x12 3278# CHECK: msr {{daif|DAIF}}, x12 3279# CHECK: msr {{CurrentEL|CURRENTEL}}, x12 3280# CHECK: msr {{SPSR_irq|SPSR_IRQ}}, x12 3281# CHECK: msr {{SPSR_abt|SPSR_ABT}}, x12 3282# CHECK: msr {{SPSR_und|SPSR_UND}}, x12 3283# CHECK: msr {{SPSR_fiq|SPSR_FIQ}}, x12 3284# CHECK: msr {{fpcr|FPCR}}, x12 3285# CHECK: msr {{fpsr|FPSR}}, x12 3286# CHECK: msr {{dspsr_el0|DSPSR_EL0}}, x12 3287# CHECK: msr {{dlr_el0|DLR_EL0}}, x12 3288# CHECK: msr {{ifsr32_el2|IFSR32_EL2}}, x12 3289# CHECK: msr {{afsr0_el1|AFSR0_EL1}}, x12 3290# CHECK: msr {{afsr0_el2|AFSR0_EL2}}, x12 3291# CHECK: msr {{afsr0_el3|AFSR0_EL3}}, x12 3292# CHECK: msr {{afsr1_el1|AFSR1_EL1}}, x12 3293# CHECK: msr {{afsr1_el2|AFSR1_EL2}}, x12 3294# CHECK: msr {{afsr1_el3|AFSR1_EL3}}, x12 3295# CHECK: msr {{esr_el1|ESR_EL1}}, x12 3296# CHECK: msr {{esr_el2|ESR_EL2}}, x12 3297# CHECK: msr {{esr_el3|ESR_EL3}}, x12 3298# CHECK: msr {{fpexc32_el2|FPEXC32_EL2}}, x12 3299# CHECK: msr {{far_el1|FAR_EL1}}, x12 3300# CHECK: msr {{far_el2|FAR_EL2}}, x12 3301# CHECK: msr {{far_el3|FAR_EL3}}, x12 3302# CHECK: msr {{hpfar_el2|HPFAR_EL2}}, x12 3303# CHECK: msr {{par_el1|PAR_EL1}}, x12 3304# CHECK: msr {{pmcr_el0|PMCR_EL0}}, x12 3305# CHECK: msr {{pmcntenset_el0|PMCNTENSET_EL0}}, x12 3306# CHECK: msr {{pmcntenclr_el0|PMCNTENCLR_EL0}}, x12 3307# CHECK: msr {{pmovsclr_el0|PMOVSCLR_EL0}}, x12 3308# CHECK: msr {{pmselr_el0|PMSELR_EL0}}, x12 3309# CHECK: msr {{pmccntr_el0|PMCCNTR_EL0}}, x12 3310# CHECK: msr {{pmxevtyper_el0|PMXEVTYPER_EL0}}, x12 3311# CHECK: msr {{pmxevcntr_el0|PMXEVCNTR_EL0}}, x12 3312# CHECK: msr {{pmuserenr_el0|PMUSERENR_EL0}}, x12 3313# CHECK: msr {{pmintenset_el1|PMINTENSET_EL1}}, x12 3314# CHECK: msr {{pmintenclr_el1|PMINTENCLR_EL1}}, x12 3315# CHECK: msr {{pmovsset_el0|PMOVSSET_EL0}}, x12 3316# CHECK: msr {{mair_el1|MAIR_EL1}}, x12 3317# CHECK: msr {{mair_el2|MAIR_EL2}}, x12 3318# CHECK: msr {{mair_el3|MAIR_EL3}}, x12 3319# CHECK: msr {{amair_el1|AMAIR_EL1}}, x12 3320# CHECK: msr {{amair_el2|AMAIR_EL2}}, x12 3321# CHECK: msr {{amair_el3|AMAIR_EL3}}, x12 3322# CHECK: msr {{vbar_el1|VBAR_EL1}}, x12 3323# CHECK: msr {{vbar_el2|VBAR_EL2}}, x12 3324# CHECK: msr {{vbar_el3|VBAR_EL3}}, x12 3325# CHECK: msr {{rmr_el1|RMR_EL1}}, x12 3326# CHECK: msr {{rmr_el2|RMR_EL2}}, x12 3327# CHECK: msr {{rmr_el3|RMR_EL3}}, x12 3328# CHECK: msr {{tpidr_el0|TPIDR_EL0}}, x12 3329# CHECK: msr {{tpidr_el2|TPIDR_EL2}}, x12 3330# CHECK: msr {{tpidr_el3|TPIDR_EL3}}, x12 3331# CHECK: msr {{tpidrro_el0|TPIDRRO_EL0}}, x12 3332# CHECK: msr {{tpidr_el1|TPIDR_EL1}}, x12 3333# CHECK: msr {{cntfrq_el0|CNTFRQ_EL0}}, x12 3334# CHECK: msr {{cntvoff_el2|CNTVOFF_EL2}}, x12 3335# CHECK: msr {{cntkctl_el1|CNTKCTL_EL1}}, x12 3336# CHECK: msr {{cnthctl_el2|CNTHCTL_EL2}}, x12 3337# CHECK: msr {{cntp_tval_el0|CNTP_TVAL_EL0}}, x12 3338# CHECK: msr {{cnthp_tval_el2|CNTHP_TVAL_EL2}}, x12 3339# CHECK: msr {{cntps_tval_el1|CNTPS_TVAL_EL1}}, x12 3340# CHECK: msr {{cntp_ctl_el0|CNTP_CTL_EL0}}, x12 3341# CHECK: msr {{cnthp_ctl_el2|CNTHP_CTL_EL2}}, x12 3342# CHECK: msr {{cntps_ctl_el1|CNTPS_CTL_EL1}}, x12 3343# CHECK: msr {{cntp_cval_el0|CNTP_CVAL_EL0}}, x12 3344# CHECK: msr {{cnthp_cval_el2|CNTHP_CVAL_EL2}}, x12 3345# CHECK: msr {{cntps_cval_el1|CNTPS_CVAL_EL1}}, x12 3346# CHECK: msr {{cntv_tval_el0|CNTV_TVAL_EL0}}, x12 3347# CHECK: msr {{cntv_ctl_el0|CNTV_CTL_EL0}}, x12 3348# CHECK: msr {{cntv_cval_el0|CNTV_CVAL_EL0}}, x12 3349# CHECK: msr {{pmevcntr0_el0|PMEVCNTR0_EL0}}, x12 3350# CHECK: msr {{pmevcntr1_el0|PMEVCNTR1_EL0}}, x12 3351# CHECK: msr {{pmevcntr2_el0|PMEVCNTR2_EL0}}, x12 3352# CHECK: msr {{pmevcntr3_el0|PMEVCNTR3_EL0}}, x12 3353# CHECK: msr {{pmevcntr4_el0|PMEVCNTR4_EL0}}, x12 3354# CHECK: msr {{pmevcntr5_el0|PMEVCNTR5_EL0}}, x12 3355# CHECK: msr {{pmevcntr6_el0|PMEVCNTR6_EL0}}, x12 3356# CHECK: msr {{pmevcntr7_el0|PMEVCNTR7_EL0}}, x12 3357# CHECK: msr {{pmevcntr8_el0|PMEVCNTR8_EL0}}, x12 3358# CHECK: msr {{pmevcntr9_el0|PMEVCNTR9_EL0}}, x12 3359# CHECK: msr {{pmevcntr10_el0|PMEVCNTR10_EL0}}, x12 3360# CHECK: msr {{pmevcntr11_el0|PMEVCNTR11_EL0}}, x12 3361# CHECK: msr {{pmevcntr12_el0|PMEVCNTR12_EL0}}, x12 3362# CHECK: msr {{pmevcntr13_el0|PMEVCNTR13_EL0}}, x12 3363# CHECK: msr {{pmevcntr14_el0|PMEVCNTR14_EL0}}, x12 3364# CHECK: msr {{pmevcntr15_el0|PMEVCNTR15_EL0}}, x12 3365# CHECK: msr {{pmevcntr16_el0|PMEVCNTR16_EL0}}, x12 3366# CHECK: msr {{pmevcntr17_el0|PMEVCNTR17_EL0}}, x12 3367# CHECK: msr {{pmevcntr18_el0|PMEVCNTR18_EL0}}, x12 3368# CHECK: msr {{pmevcntr19_el0|PMEVCNTR19_EL0}}, x12 3369# CHECK: msr {{pmevcntr20_el0|PMEVCNTR20_EL0}}, x12 3370# CHECK: msr {{pmevcntr21_el0|PMEVCNTR21_EL0}}, x12 3371# CHECK: msr {{pmevcntr22_el0|PMEVCNTR22_EL0}}, x12 3372# CHECK: msr {{pmevcntr23_el0|PMEVCNTR23_EL0}}, x12 3373# CHECK: msr {{pmevcntr24_el0|PMEVCNTR24_EL0}}, x12 3374# CHECK: msr {{pmevcntr25_el0|PMEVCNTR25_EL0}}, x12 3375# CHECK: msr {{pmevcntr26_el0|PMEVCNTR26_EL0}}, x12 3376# CHECK: msr {{pmevcntr27_el0|PMEVCNTR27_EL0}}, x12 3377# CHECK: msr {{pmevcntr28_el0|PMEVCNTR28_EL0}}, x12 3378# CHECK: msr {{pmevcntr29_el0|PMEVCNTR29_EL0}}, x12 3379# CHECK: msr {{pmevcntr30_el0|PMEVCNTR30_EL0}}, x12 3380# CHECK: msr {{pmccfiltr_el0|PMCCFILTR_EL0}}, x12 3381# CHECK: msr {{pmevtyper0_el0|PMEVTYPER0_EL0}}, x12 3382# CHECK: msr {{pmevtyper1_el0|PMEVTYPER1_EL0}}, x12 3383# CHECK: msr {{pmevtyper2_el0|PMEVTYPER2_EL0}}, x12 3384# CHECK: msr {{pmevtyper3_el0|PMEVTYPER3_EL0}}, x12 3385# CHECK: msr {{pmevtyper4_el0|PMEVTYPER4_EL0}}, x12 3386# CHECK: msr {{pmevtyper5_el0|PMEVTYPER5_EL0}}, x12 3387# CHECK: msr {{pmevtyper6_el0|PMEVTYPER6_EL0}}, x12 3388# CHECK: msr {{pmevtyper7_el0|PMEVTYPER7_EL0}}, x12 3389# CHECK: msr {{pmevtyper8_el0|PMEVTYPER8_EL0}}, x12 3390# CHECK: msr {{pmevtyper9_el0|PMEVTYPER9_EL0}}, x12 3391# CHECK: msr {{pmevtyper10_el0|PMEVTYPER10_EL0}}, x12 3392# CHECK: msr {{pmevtyper11_el0|PMEVTYPER11_EL0}}, x12 3393# CHECK: msr {{pmevtyper12_el0|PMEVTYPER12_EL0}}, x12 3394# CHECK: msr {{pmevtyper13_el0|PMEVTYPER13_EL0}}, x12 3395# CHECK: msr {{pmevtyper14_el0|PMEVTYPER14_EL0}}, x12 3396# CHECK: msr {{pmevtyper15_el0|PMEVTYPER15_EL0}}, x12 3397# CHECK: msr {{pmevtyper16_el0|PMEVTYPER16_EL0}}, x12 3398# CHECK: msr {{pmevtyper17_el0|PMEVTYPER17_EL0}}, x12 3399# CHECK: msr {{pmevtyper18_el0|PMEVTYPER18_EL0}}, x12 3400# CHECK: msr {{pmevtyper19_el0|PMEVTYPER19_EL0}}, x12 3401# CHECK: msr {{pmevtyper20_el0|PMEVTYPER20_EL0}}, x12 3402# CHECK: msr {{pmevtyper21_el0|PMEVTYPER21_EL0}}, x12 3403# CHECK: msr {{pmevtyper22_el0|PMEVTYPER22_EL0}}, x12 3404# CHECK: msr {{pmevtyper23_el0|PMEVTYPER23_EL0}}, x12 3405# CHECK: msr {{pmevtyper24_el0|PMEVTYPER24_EL0}}, x12 3406# CHECK: msr {{pmevtyper25_el0|PMEVTYPER25_EL0}}, x12 3407# CHECK: msr {{pmevtyper26_el0|PMEVTYPER26_EL0}}, x12 3408# CHECK: msr {{pmevtyper27_el0|PMEVTYPER27_EL0}}, x12 3409# CHECK: msr {{pmevtyper28_el0|PMEVTYPER28_EL0}}, x12 3410# CHECK: msr {{pmevtyper29_el0|PMEVTYPER29_EL0}}, x12 3411# CHECK: msr {{pmevtyper30_el0|PMEVTYPER30_EL0}}, x12 3412# CHECK: mrs x9, {{teecr32_el1|TEECR32_EL1}} 3413# CHECK: mrs x9, {{osdtrrx_el1|OSDTRRX_EL1}} 3414# CHECK: mrs x9, {{mdccsr_el0|MDCCSR_EL0}} 3415# CHECK: mrs x9, {{mdccint_el1|MDCCINT_EL1}} 3416# CHECK: mrs x9, {{mdscr_el1|MDSCR_EL1}} 3417# CHECK: mrs x9, {{osdtrtx_el1|OSDTRTX_EL1}} 3418# CHECK: mrs x9, {{dbgdtr_el0|DBGDTR_EL0}} 3419# CHECK: mrs x9, {{dbgdtrrx_el0|DBGDTRRX_EL0}} 3420# CHECK: mrs x9, {{oseccr_el1|OSECCR_EL1}} 3421# CHECK: mrs x9, {{dbgvcr32_el2|DBGVCR32_EL2}} 3422# CHECK: mrs x9, {{dbgbvr0_el1|DBGBVR0_EL1}} 3423# CHECK: mrs x9, {{dbgbvr1_el1|DBGBVR1_EL1}} 3424# CHECK: mrs x9, {{dbgbvr2_el1|DBGBVR2_EL1}} 3425# CHECK: mrs x9, {{dbgbvr3_el1|DBGBVR3_EL1}} 3426# CHECK: mrs x9, {{dbgbvr4_el1|DBGBVR4_EL1}} 3427# CHECK: mrs x9, {{dbgbvr5_el1|DBGBVR5_EL1}} 3428# CHECK: mrs x9, {{dbgbvr6_el1|DBGBVR6_EL1}} 3429# CHECK: mrs x9, {{dbgbvr7_el1|DBGBVR7_EL1}} 3430# CHECK: mrs x9, {{dbgbvr8_el1|DBGBVR8_EL1}} 3431# CHECK: mrs x9, {{dbgbvr9_el1|DBGBVR9_EL1}} 3432# CHECK: mrs x9, {{dbgbvr10_el1|DBGBVR10_EL1}} 3433# CHECK: mrs x9, {{dbgbvr11_el1|DBGBVR11_EL1}} 3434# CHECK: mrs x9, {{dbgbvr12_el1|DBGBVR12_EL1}} 3435# CHECK: mrs x9, {{dbgbvr13_el1|DBGBVR13_EL1}} 3436# CHECK: mrs x9, {{dbgbvr14_el1|DBGBVR14_EL1}} 3437# CHECK: mrs x9, {{dbgbvr15_el1|DBGBVR15_EL1}} 3438# CHECK: mrs x9, {{dbgbcr0_el1|DBGBCR0_EL1}} 3439# CHECK: mrs x9, {{dbgbcr1_el1|DBGBCR1_EL1}} 3440# CHECK: mrs x9, {{dbgbcr2_el1|DBGBCR2_EL1}} 3441# CHECK: mrs x9, {{dbgbcr3_el1|DBGBCR3_EL1}} 3442# CHECK: mrs x9, {{dbgbcr4_el1|DBGBCR4_EL1}} 3443# CHECK: mrs x9, {{dbgbcr5_el1|DBGBCR5_EL1}} 3444# CHECK: mrs x9, {{dbgbcr6_el1|DBGBCR6_EL1}} 3445# CHECK: mrs x9, {{dbgbcr7_el1|DBGBCR7_EL1}} 3446# CHECK: mrs x9, {{dbgbcr8_el1|DBGBCR8_EL1}} 3447# CHECK: mrs x9, {{dbgbcr9_el1|DBGBCR9_EL1}} 3448# CHECK: mrs x9, {{dbgbcr10_el1|DBGBCR10_EL1}} 3449# CHECK: mrs x9, {{dbgbcr11_el1|DBGBCR11_EL1}} 3450# CHECK: mrs x9, {{dbgbcr12_el1|DBGBCR12_EL1}} 3451# CHECK: mrs x9, {{dbgbcr13_el1|DBGBCR13_EL1}} 3452# CHECK: mrs x9, {{dbgbcr14_el1|DBGBCR14_EL1}} 3453# CHECK: mrs x9, {{dbgbcr15_el1|DBGBCR15_EL1}} 3454# CHECK: mrs x9, {{dbgwvr0_el1|DBGWVR0_EL1}} 3455# CHECK: mrs x9, {{dbgwvr1_el1|DBGWVR1_EL1}} 3456# CHECK: mrs x9, {{dbgwvr2_el1|DBGWVR2_EL1}} 3457# CHECK: mrs x9, {{dbgwvr3_el1|DBGWVR3_EL1}} 3458# CHECK: mrs x9, {{dbgwvr4_el1|DBGWVR4_EL1}} 3459# CHECK: mrs x9, {{dbgwvr5_el1|DBGWVR5_EL1}} 3460# CHECK: mrs x9, {{dbgwvr6_el1|DBGWVR6_EL1}} 3461# CHECK: mrs x9, {{dbgwvr7_el1|DBGWVR7_EL1}} 3462# CHECK: mrs x9, {{dbgwvr8_el1|DBGWVR8_EL1}} 3463# CHECK: mrs x9, {{dbgwvr9_el1|DBGWVR9_EL1}} 3464# CHECK: mrs x9, {{dbgwvr10_el1|DBGWVR10_EL1}} 3465# CHECK: mrs x9, {{dbgwvr11_el1|DBGWVR11_EL1}} 3466# CHECK: mrs x9, {{dbgwvr12_el1|DBGWVR12_EL1}} 3467# CHECK: mrs x9, {{dbgwvr13_el1|DBGWVR13_EL1}} 3468# CHECK: mrs x9, {{dbgwvr14_el1|DBGWVR14_EL1}} 3469# CHECK: mrs x9, {{dbgwvr15_el1|DBGWVR15_EL1}} 3470# CHECK: mrs x9, {{dbgwcr0_el1|DBGWCR0_EL1}} 3471# CHECK: mrs x9, {{dbgwcr1_el1|DBGWCR1_EL1}} 3472# CHECK: mrs x9, {{dbgwcr2_el1|DBGWCR2_EL1}} 3473# CHECK: mrs x9, {{dbgwcr3_el1|DBGWCR3_EL1}} 3474# CHECK: mrs x9, {{dbgwcr4_el1|DBGWCR4_EL1}} 3475# CHECK: mrs x9, {{dbgwcr5_el1|DBGWCR5_EL1}} 3476# CHECK: mrs x9, {{dbgwcr6_el1|DBGWCR6_EL1}} 3477# CHECK: mrs x9, {{dbgwcr7_el1|DBGWCR7_EL1}} 3478# CHECK: mrs x9, {{dbgwcr8_el1|DBGWCR8_EL1}} 3479# CHECK: mrs x9, {{dbgwcr9_el1|DBGWCR9_EL1}} 3480# CHECK: mrs x9, {{dbgwcr10_el1|DBGWCR10_EL1}} 3481# CHECK: mrs x9, {{dbgwcr11_el1|DBGWCR11_EL1}} 3482# CHECK: mrs x9, {{dbgwcr12_el1|DBGWCR12_EL1}} 3483# CHECK: mrs x9, {{dbgwcr13_el1|DBGWCR13_EL1}} 3484# CHECK: mrs x9, {{dbgwcr14_el1|DBGWCR14_EL1}} 3485# CHECK: mrs x9, {{dbgwcr15_el1|DBGWCR15_EL1}} 3486# CHECK: mrs x9, {{mdrar_el1|MDRAR_EL1}} 3487# CHECK: mrs x9, {{teehbr32_el1|TEEHBR32_EL1}} 3488# CHECK: mrs x9, {{oslsr_el1|OSLSR_EL1}} 3489# CHECK: mrs x9, {{osdlr_el1|OSDLR_EL1}} 3490# CHECK: mrs x9, {{dbgprcr_el1|DBGPRCR_EL1}} 3491# CHECK: mrs x9, {{dbgclaimset_el1|DBGCLAIMSET_EL1}} 3492# CHECK: mrs x9, {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}} 3493# CHECK: mrs x9, {{dbgauthstatus_el1|DBGAUTHSTATUS_EL1}} 3494# CHECK: mrs x9, {{midr_el1|MIDR_EL1}} 3495# CHECK: mrs x9, {{ccsidr_el1|CCSIDR_EL1}} 3496# CHECK: mrs x9, {{csselr_el1|CSSELR_EL1}} 3497# CHECK-V83: mrs x9, {{ccsidr2_el1|CCSIDR2_EL1}} 3498# CHECK: mrs x9, {{vpidr_el2|VPIDR_EL2}} 3499# CHECK: mrs x9, {{clidr_el1|CLIDR_EL1}} 3500# CHECK: mrs x9, {{ctr_el0|CTR_EL0}} 3501# CHECK: mrs x9, {{mpidr_el1|MPIDR_EL1}} 3502# CHECK: mrs x9, {{vmpidr_el2|VMPIDR_EL2}} 3503# CHECK: mrs x9, {{revidr_el1|REVIDR_EL1}} 3504# CHECK: mrs x9, {{aidr_el1|AIDR_EL1}} 3505# CHECK: mrs x9, {{dczid_el0|DCZID_EL0}} 3506# CHECK: mrs x9, {{id_pfr0_el1|ID_PFR0_EL1}} 3507# CHECK: mrs x9, {{id_pfr1_el1|ID_PFR1_EL1}} 3508# CHECK: mrs x9, {{id_dfr0_el1|ID_DFR0_EL1}} 3509# CHECK: mrs x9, {{id_afr0_el1|ID_AFR0_EL1}} 3510# CHECK: mrs x9, {{id_mmfr0_el1|ID_MMFR0_EL1}} 3511# CHECK: mrs x9, {{id_mmfr1_el1|ID_MMFR1_EL1}} 3512# CHECK: mrs x9, {{id_mmfr2_el1|ID_MMFR2_EL1}} 3513# CHECK: mrs x9, {{id_mmfr3_el1|ID_MMFR3_EL1}} 3514# CHECK: mrs x9, {{id_mmfr4_el1|ID_MMFR4_EL1}} 3515# CHECK: mrs x9, {{id_isar0_el1|ID_ISAR0_EL1}} 3516# CHECK: mrs x9, {{id_isar1_el1|ID_ISAR1_EL1}} 3517# CHECK: mrs x9, {{id_isar2_el1|ID_ISAR2_EL1}} 3518# CHECK: mrs x9, {{id_isar3_el1|ID_ISAR3_EL1}} 3519# CHECK: mrs x9, {{id_isar4_el1|ID_ISAR4_EL1}} 3520# CHECK: mrs x9, {{id_isar5_el1|ID_ISAR5_EL1}} 3521# CHECK: mrs x9, {{mvfr0_el1|MVFR0_EL1}} 3522# CHECK: mrs x9, {{mvfr1_el1|MVFR1_EL1}} 3523# CHECK: mrs x9, {{mvfr2_el1|MVFR2_EL1}} 3524# CHECK: mrs x9, {{id_aa64pfr0_el1|ID_AA64PFR0_EL1}} 3525# CHECK: mrs x9, {{id_aa64pfr1_el1|ID_AA64PFR1_EL1}} 3526# CHECK: mrs x9, {{id_aa64dfr0_el1|ID_AA64DFR0_EL1}} 3527# CHECK: mrs x9, {{id_aa64dfr1_el1|ID_AA64DFR1_EL1}} 3528# CHECK: mrs x9, {{id_aa64afr0_el1|ID_AA64AFR0_EL1}} 3529# CHECK: mrs x9, {{id_aa64afr1_el1|ID_AA64AFR1_EL1}} 3530# CHECK: mrs x9, {{id_aa64isar0_el1|ID_AA64ISAR0_EL1}} 3531# CHECK: mrs x9, {{id_aa64isar1_el1|ID_AA64ISAR1_EL1}} 3532# CHECK: mrs x9, {{id_aa64mmfr0_el1|ID_AA64MMFR0_EL1}} 3533# CHECK: mrs x9, {{id_aa64mmfr1_el1|ID_AA64MMFR1_EL1}} 3534# CHECK: mrs x9, {{sctlr_el1|SCTLR_EL1}} 3535# CHECK: mrs x9, {{sctlr_el2|SCTLR_EL2}} 3536# CHECK: mrs x9, {{sctlr_el3|SCTLR_EL3}} 3537# CHECK: mrs x9, {{actlr_el1|ACTLR_EL1}} 3538# CHECK: mrs x9, {{actlr_el2|ACTLR_EL2}} 3539# CHECK: mrs x9, {{actlr_el3|ACTLR_EL3}} 3540# CHECK: mrs x9, {{cpacr_el1|CPACR_EL1}} 3541# CHECK: mrs x9, {{hcr_el2|HCR_EL2}} 3542# CHECK: mrs x9, {{scr_el3|SCR_EL3}} 3543# CHECK: mrs x9, {{mdcr_el2|MDCR_EL2}} 3544# CHECK: mrs x9, {{sder32_el3|SDER32_EL3}} 3545# CHECK: mrs x9, {{cptr_el2|CPTR_EL2}} 3546# CHECK: mrs x9, {{cptr_el3|CPTR_EL3}} 3547# CHECK: mrs x9, {{hstr_el2|HSTR_EL2}} 3548# CHECK: mrs x9, {{hacr_el2|HACR_EL2}} 3549# CHECK: mrs x9, {{mdcr_el3|MDCR_EL3}} 3550# CHECK: mrs x9, {{ttbr0_el1|TTBR0_EL1}} 3551# CHECK: mrs x9, {{ttbr0_el2|TTBR0_EL2}} 3552# CHECK: mrs x9, {{ttbr0_el3|TTBR0_EL3}} 3553# CHECK: mrs x9, {{ttbr1_el1|TTBR1_EL1}} 3554# CHECK: mrs x9, {{tcr_el1|TCR_EL1}} 3555# CHECK: mrs x9, {{tcr_el2|TCR_EL2}} 3556# CHECK: mrs x9, {{tcr_el3|TCR_EL3}} 3557# CHECK: mrs x9, {{vttbr_el2|VTTBR_EL2}} 3558# CHECK: mrs x9, {{vtcr_el2|VTCR_EL2}} 3559# CHECK: mrs x9, {{dacr32_el2|DACR32_EL2}} 3560# CHECK: mrs x9, {{spsr_el1|SPSR_EL1}} 3561# CHECK: mrs x9, {{spsr_el2|SPSR_EL2}} 3562# CHECK: mrs x9, {{spsr_el3|SPSR_EL3}} 3563# CHECK: mrs x9, {{elr_el1|ELR_EL1}} 3564# CHECK: mrs x9, {{elr_el2|ELR_EL2}} 3565# CHECK: mrs x9, {{elr_el3|ELR_EL3}} 3566# CHECK: mrs x9, {{sp_el0|SP_EL0}} 3567# CHECK: mrs x9, {{sp_el1|SP_EL1}} 3568# CHECK: mrs x9, {{sp_el2|SP_EL2}} 3569# CHECK: mrs x9, {{SPSel|SPSEL}} 3570# CHECK: mrs x9, {{nzcv|NZCV}} 3571# CHECK: mrs x9, {{daif|DAIF}} 3572# CHECK: mrs x9, {{CurrentEL|CURRENTEL}} 3573# CHECK: mrs x9, {{SPSR_irq|SPSR_IRQ}} 3574# CHECK: mrs x9, {{SPSR_abt|SPSR_ABT}} 3575# CHECK: mrs x9, {{SPSR_und|SPSR_UND}} 3576# CHECK: mrs x9, {{SPSR_fiq|SPSR_FIQ}} 3577# CHECK: mrs x9, {{fpcr|FPCR}} 3578# CHECK: mrs x9, {{fpsr|FPSR}} 3579# CHECK: mrs x9, {{dspsr_el0|DSPSR_EL0}} 3580# CHECK: mrs x9, {{dlr_el0|DLR_EL0}} 3581# CHECK: mrs x9, {{ifsr32_el2|IFSR32_EL2}} 3582# CHECK: mrs x9, {{afsr0_el1|AFSR0_EL1}} 3583# CHECK: mrs x9, {{afsr0_el2|AFSR0_EL2}} 3584# CHECK: mrs x9, {{afsr0_el3|AFSR0_EL3}} 3585# CHECK: mrs x9, {{afsr1_el1|AFSR1_EL1}} 3586# CHECK: mrs x9, {{afsr1_el2|AFSR1_EL2}} 3587# CHECK: mrs x9, {{afsr1_el3|AFSR1_EL3}} 3588# CHECK: mrs x9, {{esr_el1|ESR_EL1}} 3589# CHECK: mrs x9, {{esr_el2|ESR_EL2}} 3590# CHECK: mrs x9, {{esr_el3|ESR_EL3}} 3591# CHECK: mrs x9, {{fpexc32_el2|FPEXC32_EL2}} 3592# CHECK: mrs x9, {{far_el1|FAR_EL1}} 3593# CHECK: mrs x9, {{far_el2|FAR_EL2}} 3594# CHECK: mrs x9, {{far_el3|FAR_EL3}} 3595# CHECK: mrs x9, {{hpfar_el2|HPFAR_EL2}} 3596# CHECK: mrs x9, {{par_el1|PAR_EL1}} 3597# CHECK: mrs x9, {{pmcr_el0|PMCR_EL0}} 3598# CHECK: mrs x9, {{pmcntenset_el0|PMCNTENSET_EL0}} 3599# CHECK: mrs x9, {{pmcntenclr_el0|PMCNTENCLR_EL0}} 3600# CHECK: mrs x9, {{pmovsclr_el0|PMOVSCLR_EL0}} 3601# CHECK: mrs x9, {{pmselr_el0|PMSELR_EL0}} 3602# CHECK: mrs x9, {{pmceid0_el0|PMCEID0_EL0}} 3603# CHECK: mrs x9, {{pmceid1_el0|PMCEID1_EL0}} 3604# CHECK: mrs x9, {{pmccntr_el0|PMCCNTR_EL0}} 3605# CHECK: mrs x9, {{pmxevtyper_el0|PMXEVTYPER_EL0}} 3606# CHECK: mrs x9, {{pmxevcntr_el0|PMXEVCNTR_EL0}} 3607# CHECK: mrs x9, {{pmuserenr_el0|PMUSERENR_EL0}} 3608# CHECK: mrs x9, {{pmintenset_el1|PMINTENSET_EL1}} 3609# CHECK: mrs x9, {{pmintenclr_el1|PMINTENCLR_EL1}} 3610# CHECK: mrs x9, {{pmovsset_el0|PMOVSSET_EL0}} 3611# CHECK: mrs x9, {{mair_el1|MAIR_EL1}} 3612# CHECK: mrs x9, {{mair_el2|MAIR_EL2}} 3613# CHECK: mrs x9, {{mair_el3|MAIR_EL3}} 3614# CHECK: mrs x9, {{amair_el1|AMAIR_EL1}} 3615# CHECK: mrs x9, {{amair_el2|AMAIR_EL2}} 3616# CHECK: mrs x9, {{amair_el3|AMAIR_EL3}} 3617# CHECK: mrs x9, {{vbar_el1|VBAR_EL1}} 3618# CHECK: mrs x9, {{vbar_el2|VBAR_EL2}} 3619# CHECK: mrs x9, {{vbar_el3|VBAR_EL3}} 3620# CHECK: mrs x9, {{rvbar_el1|RVBAR_EL1}} 3621# CHECK: mrs x9, {{rvbar_el2|RVBAR_EL2}} 3622# CHECK: mrs x9, {{rvbar_el3|RVBAR_EL3}} 3623# CHECK: mrs x9, {{rmr_el1|RMR_EL1}} 3624# CHECK: mrs x9, {{rmr_el2|RMR_EL2}} 3625# CHECK: mrs x9, {{rmr_el3|RMR_EL3}} 3626# CHECK: mrs x9, {{isr_el1|ISR_EL1}} 3627# CHECK: mrs x9, {{contextidr_el1|CONTEXTIDR_EL1}} 3628# CHECK: mrs x9, {{tpidr_el0|TPIDR_EL0}} 3629# CHECK: mrs x9, {{tpidr_el2|TPIDR_EL2}} 3630# CHECK: mrs x9, {{tpidr_el3|TPIDR_EL3}} 3631# CHECK: mrs x9, {{tpidrro_el0|TPIDRRO_EL0}} 3632# CHECK: mrs x9, {{tpidr_el1|TPIDR_EL1}} 3633# CHECK: mrs x9, {{cntfrq_el0|CNTFRQ_EL0}} 3634# CHECK: mrs x9, {{cntpct_el0|CNTPCT_EL0}} 3635# CHECK: mrs x9, {{cntvct_el0|CNTVCT_EL0}} 3636# CHECK: mrs x9, {{cntvoff_el2|CNTVOFF_EL2}} 3637# CHECK: mrs x9, {{cntkctl_el1|CNTKCTL_EL1}} 3638# CHECK: mrs x9, {{cnthctl_el2|CNTHCTL_EL2}} 3639# CHECK: mrs x9, {{cntp_tval_el0|CNTP_TVAL_EL0}} 3640# CHECK: mrs x9, {{cnthp_tval_el2|CNTHP_TVAL_EL2}} 3641# CHECK: mrs x9, {{cntps_tval_el1|CNTPS_TVAL_EL1}} 3642# CHECK: mrs x9, {{cntp_ctl_el0|CNTP_CTL_EL0}} 3643# CHECK: mrs x9, {{cnthp_ctl_el2|CNTHP_CTL_EL2}} 3644# CHECK: mrs x9, {{cntps_ctl_el1|CNTPS_CTL_EL1}} 3645# CHECK: mrs x9, {{cntp_cval_el0|CNTP_CVAL_EL0}} 3646# CHECK: mrs x9, {{cnthp_cval_el2|CNTHP_CVAL_EL2}} 3647# CHECK: mrs x9, {{cntps_cval_el1|CNTPS_CVAL_EL1}} 3648# CHECK: mrs x9, {{cntv_tval_el0|CNTV_TVAL_EL0}} 3649# CHECK: mrs x9, {{cntv_ctl_el0|CNTV_CTL_EL0}} 3650# CHECK: mrs x9, {{cntv_cval_el0|CNTV_CVAL_EL0}} 3651# CHECK: mrs x9, {{pmevcntr0_el0|PMEVCNTR0_EL0}} 3652# CHECK: mrs x9, {{pmevcntr1_el0|PMEVCNTR1_EL0}} 3653# CHECK: mrs x9, {{pmevcntr2_el0|PMEVCNTR2_EL0}} 3654# CHECK: mrs x9, {{pmevcntr3_el0|PMEVCNTR3_EL0}} 3655# CHECK: mrs x9, {{pmevcntr4_el0|PMEVCNTR4_EL0}} 3656# CHECK: mrs x9, {{pmevcntr5_el0|PMEVCNTR5_EL0}} 3657# CHECK: mrs x9, {{pmevcntr6_el0|PMEVCNTR6_EL0}} 3658# CHECK: mrs x9, {{pmevcntr7_el0|PMEVCNTR7_EL0}} 3659# CHECK: mrs x9, {{pmevcntr8_el0|PMEVCNTR8_EL0}} 3660# CHECK: mrs x9, {{pmevcntr9_el0|PMEVCNTR9_EL0}} 3661# CHECK: mrs x9, {{pmevcntr10_el0|PMEVCNTR10_EL0}} 3662# CHECK: mrs x9, {{pmevcntr11_el0|PMEVCNTR11_EL0}} 3663# CHECK: mrs x9, {{pmevcntr12_el0|PMEVCNTR12_EL0}} 3664# CHECK: mrs x9, {{pmevcntr13_el0|PMEVCNTR13_EL0}} 3665# CHECK: mrs x9, {{pmevcntr14_el0|PMEVCNTR14_EL0}} 3666# CHECK: mrs x9, {{pmevcntr15_el0|PMEVCNTR15_EL0}} 3667# CHECK: mrs x9, {{pmevcntr16_el0|PMEVCNTR16_EL0}} 3668# CHECK: mrs x9, {{pmevcntr17_el0|PMEVCNTR17_EL0}} 3669# CHECK: mrs x9, {{pmevcntr18_el0|PMEVCNTR18_EL0}} 3670# CHECK: mrs x9, {{pmevcntr19_el0|PMEVCNTR19_EL0}} 3671# CHECK: mrs x9, {{pmevcntr20_el0|PMEVCNTR20_EL0}} 3672# CHECK: mrs x9, {{pmevcntr21_el0|PMEVCNTR21_EL0}} 3673# CHECK: mrs x9, {{pmevcntr22_el0|PMEVCNTR22_EL0}} 3674# CHECK: mrs x9, {{pmevcntr23_el0|PMEVCNTR23_EL0}} 3675# CHECK: mrs x9, {{pmevcntr24_el0|PMEVCNTR24_EL0}} 3676# CHECK: mrs x9, {{pmevcntr25_el0|PMEVCNTR25_EL0}} 3677# CHECK: mrs x9, {{pmevcntr26_el0|PMEVCNTR26_EL0}} 3678# CHECK: mrs x9, {{pmevcntr27_el0|PMEVCNTR27_EL0}} 3679# CHECK: mrs x9, {{pmevcntr28_el0|PMEVCNTR28_EL0}} 3680# CHECK: mrs x9, {{pmevcntr29_el0|PMEVCNTR29_EL0}} 3681# CHECK: mrs x9, {{pmevcntr30_el0|PMEVCNTR30_EL0}} 3682# CHECK: mrs x9, {{pmccfiltr_el0|PMCCFILTR_EL0}} 3683# CHECK: mrs x9, {{pmevtyper0_el0|PMEVTYPER0_EL0}} 3684# CHECK: mrs x9, {{pmevtyper1_el0|PMEVTYPER1_EL0}} 3685# CHECK: mrs x9, {{pmevtyper2_el0|PMEVTYPER2_EL0}} 3686# CHECK: mrs x9, {{pmevtyper3_el0|PMEVTYPER3_EL0}} 3687# CHECK: mrs x9, {{pmevtyper4_el0|PMEVTYPER4_EL0}} 3688# CHECK: mrs x9, {{pmevtyper5_el0|PMEVTYPER5_EL0}} 3689# CHECK: mrs x9, {{pmevtyper6_el0|PMEVTYPER6_EL0}} 3690# CHECK: mrs x9, {{pmevtyper7_el0|PMEVTYPER7_EL0}} 3691# CHECK: mrs x9, {{pmevtyper8_el0|PMEVTYPER8_EL0}} 3692# CHECK: mrs x9, {{pmevtyper9_el0|PMEVTYPER9_EL0}} 3693# CHECK: mrs x9, {{pmevtyper10_el0|PMEVTYPER10_EL0}} 3694# CHECK: mrs x9, {{pmevtyper11_el0|PMEVTYPER11_EL0}} 3695# CHECK: mrs x9, {{pmevtyper12_el0|PMEVTYPER12_EL0}} 3696# CHECK: mrs x9, {{pmevtyper13_el0|PMEVTYPER13_EL0}} 3697# CHECK: mrs x9, {{pmevtyper14_el0|PMEVTYPER14_EL0}} 3698# CHECK: mrs x9, {{pmevtyper15_el0|PMEVTYPER15_EL0}} 3699# CHECK: mrs x9, {{pmevtyper16_el0|PMEVTYPER16_EL0}} 3700# CHECK: mrs x9, {{pmevtyper17_el0|PMEVTYPER17_EL0}} 3701# CHECK: mrs x9, {{pmevtyper18_el0|PMEVTYPER18_EL0}} 3702# CHECK: mrs x9, {{pmevtyper19_el0|PMEVTYPER19_EL0}} 3703# CHECK: mrs x9, {{pmevtyper20_el0|PMEVTYPER20_EL0}} 3704# CHECK: mrs x9, {{pmevtyper21_el0|PMEVTYPER21_EL0}} 3705# CHECK: mrs x9, {{pmevtyper22_el0|PMEVTYPER22_EL0}} 3706# CHECK: mrs x9, {{pmevtyper23_el0|PMEVTYPER23_EL0}} 3707# CHECK: mrs x9, {{pmevtyper24_el0|PMEVTYPER24_EL0}} 3708# CHECK: mrs x9, {{pmevtyper25_el0|PMEVTYPER25_EL0}} 3709# CHECK: mrs x9, {{pmevtyper26_el0|PMEVTYPER26_EL0}} 3710# CHECK: mrs x9, {{pmevtyper27_el0|PMEVTYPER27_EL0}} 3711# CHECK: mrs x9, {{pmevtyper28_el0|PMEVTYPER28_EL0}} 3712# CHECK: mrs x9, {{pmevtyper29_el0|PMEVTYPER29_EL0}} 3713# CHECK: mrs x9, {{pmevtyper30_el0|PMEVTYPER30_EL0}} 3714 37150xc 0x0 0x12 0xd5 37160x4c 0x0 0x10 0xd5 37170xc 0x2 0x10 0xd5 37180x4c 0x2 0x10 0xd5 37190x4c 0x3 0x10 0xd5 37200xc 0x4 0x13 0xd5 37210xc 0x5 0x13 0xd5 37220x4c 0x6 0x10 0xd5 37230xc 0x7 0x14 0xd5 37240x8c 0x0 0x10 0xd5 37250x8c 0x1 0x10 0xd5 37260x8c 0x2 0x10 0xd5 37270x8c 0x3 0x10 0xd5 37280x8c 0x4 0x10 0xd5 37290x8c 0x5 0x10 0xd5 37300x8c 0x6 0x10 0xd5 37310x8c 0x7 0x10 0xd5 37320x8c 0x8 0x10 0xd5 37330x8c 0x9 0x10 0xd5 37340x8c 0xa 0x10 0xd5 37350x8c 0xb 0x10 0xd5 37360x8c 0xc 0x10 0xd5 37370x8c 0xd 0x10 0xd5 37380x8c 0xe 0x10 0xd5 37390x8c 0xf 0x10 0xd5 37400xac 0x0 0x10 0xd5 37410xac 0x1 0x10 0xd5 37420xac 0x2 0x10 0xd5 37430xac 0x3 0x10 0xd5 37440xac 0x4 0x10 0xd5 37450xac 0x5 0x10 0xd5 37460xac 0x6 0x10 0xd5 37470xac 0x7 0x10 0xd5 37480xac 0x8 0x10 0xd5 37490xac 0x9 0x10 0xd5 37500xac 0xa 0x10 0xd5 37510xac 0xb 0x10 0xd5 37520xac 0xc 0x10 0xd5 37530xac 0xd 0x10 0xd5 37540xac 0xe 0x10 0xd5 37550xac 0xf 0x10 0xd5 37560xcc 0x0 0x10 0xd5 37570xcc 0x1 0x10 0xd5 37580xcc 0x2 0x10 0xd5 37590xcc 0x3 0x10 0xd5 37600xcc 0x4 0x10 0xd5 37610xcc 0x5 0x10 0xd5 37620xcc 0x6 0x10 0xd5 37630xcc 0x7 0x10 0xd5 37640xcc 0x8 0x10 0xd5 37650xcc 0x9 0x10 0xd5 37660xcc 0xa 0x10 0xd5 37670xcc 0xb 0x10 0xd5 37680xcc 0xc 0x10 0xd5 37690xcc 0xd 0x10 0xd5 37700xcc 0xe 0x10 0xd5 37710xcc 0xf 0x10 0xd5 37720xec 0x0 0x10 0xd5 37730xec 0x1 0x10 0xd5 37740xec 0x2 0x10 0xd5 37750xec 0x3 0x10 0xd5 37760xec 0x4 0x10 0xd5 37770xec 0x5 0x10 0xd5 37780xec 0x6 0x10 0xd5 37790xec 0x7 0x10 0xd5 37800xec 0x8 0x10 0xd5 37810xec 0x9 0x10 0xd5 37820xec 0xa 0x10 0xd5 37830xec 0xb 0x10 0xd5 37840xec 0xc 0x10 0xd5 37850xec 0xd 0x10 0xd5 37860xec 0xe 0x10 0xd5 37870xec 0xf 0x10 0xd5 37880xc 0x10 0x12 0xd5 37890x8c 0x10 0x10 0xd5 37900x8c 0x13 0x10 0xd5 37910x8c 0x14 0x10 0xd5 37920xcc 0x78 0x10 0xd5 37930xcc 0x79 0x10 0xd5 37940xc 0x0 0x1a 0xd5 37950xc 0x0 0x1c 0xd5 37960xac 0x0 0x1c 0xd5 37970xc 0x10 0x18 0xd5 37980xc 0x10 0x1c 0xd5 37990xc 0x10 0x1e 0xd5 38000x2c 0x10 0x18 0xd5 38010x2c 0x10 0x1c 0xd5 38020x2c 0x10 0x1e 0xd5 38030x4c 0x10 0x18 0xd5 38040xc 0x11 0x1c 0xd5 38050xc 0x11 0x1e 0xd5 38060x2c 0x11 0x1c 0xd5 38070x2c 0x11 0x1e 0xd5 38080x4c 0x11 0x1c 0xd5 38090x4c 0x11 0x1e 0xd5 38100x6c 0x11 0x1c 0xd5 38110xec 0x11 0x1c 0xd5 38120x2c 0x13 0x1e 0xd5 38130xc 0x20 0x18 0xd5 38140xc 0x20 0x1c 0xd5 38150xc 0x20 0x1e 0xd5 38160x2c 0x20 0x18 0xd5 38170x4c 0x20 0x18 0xd5 38180x4c 0x20 0x1c 0xd5 38190x4c 0x20 0x1e 0xd5 38200xc 0x21 0x1c 0xd5 38210x4c 0x21 0x1c 0xd5 38220xc 0x30 0x1c 0xd5 38230xc 0x40 0x18 0xd5 38240xc 0x40 0x1c 0xd5 38250xc 0x40 0x1e 0xd5 38260x2c 0x40 0x18 0xd5 38270x2c 0x40 0x1c 0xd5 38280x2c 0x40 0x1e 0xd5 38290xc 0x41 0x18 0xd5 38300xc 0x41 0x1c 0xd5 38310xc 0x41 0x1e 0xd5 38320xc 0x42 0x18 0xd5 38330xc 0x42 0x1b 0xd5 38340x2c 0x42 0x1b 0xd5 38350x4c 0x42 0x18 0xd5 38360xc 0x43 0x1c 0xd5 38370x2c 0x43 0x1c 0xd5 38380x4c 0x43 0x1c 0xd5 38390x6c 0x43 0x1c 0xd5 38400xc 0x44 0x1b 0xd5 38410x2c 0x44 0x1b 0xd5 38420xc 0x45 0x1b 0xd5 38430x2c 0x45 0x1b 0xd5 38440x2c 0x50 0x1c 0xd5 38450xc 0x51 0x18 0xd5 38460xc 0x51 0x1c 0xd5 38470xc 0x51 0x1e 0xd5 38480x2c 0x51 0x18 0xd5 38490x2c 0x51 0x1c 0xd5 38500x2c 0x51 0x1e 0xd5 38510xc 0x52 0x18 0xd5 38520xc 0x52 0x1c 0xd5 38530xc 0x52 0x1e 0xd5 38540xc 0x53 0x1c 0xd5 38550xc 0x60 0x18 0xd5 38560xc 0x60 0x1c 0xd5 38570xc 0x60 0x1e 0xd5 38580x8c 0x60 0x1c 0xd5 38590xc 0x74 0x18 0xd5 38600xc 0x9c 0x1b 0xd5 38610x2c 0x9c 0x1b 0xd5 38620x4c 0x9c 0x1b 0xd5 38630x6c 0x9c 0x1b 0xd5 38640xac 0x9c 0x1b 0xd5 38650xc 0x9d 0x1b 0xd5 38660x2c 0x9d 0x1b 0xd5 38670x4c 0x9d 0x1b 0xd5 38680xc 0x9e 0x1b 0xd5 38690x2c 0x9e 0x18 0xd5 38700x4c 0x9e 0x18 0xd5 38710x6c 0x9e 0x1b 0xd5 38720xc 0xa2 0x18 0xd5 38730xc 0xa2 0x1c 0xd5 38740xc 0xa2 0x1e 0xd5 38750xc 0xa3 0x18 0xd5 38760xc 0xa3 0x1c 0xd5 38770xc 0xa3 0x1e 0xd5 38780xc 0xc0 0x18 0xd5 38790xc 0xc0 0x1c 0xd5 38800xc 0xc0 0x1e 0xd5 38810x4c 0xc0 0x18 0xd5 38820x4c 0xc0 0x1c 0xd5 38830x4c 0xc0 0x1e 0xd5 38840x4c 0xd0 0x1b 0xd5 38850x4c 0xd0 0x1c 0xd5 38860x4c 0xd0 0x1e 0xd5 38870x6c 0xd0 0x1b 0xd5 38880x8c 0xd0 0x18 0xd5 38890xc 0xe0 0x1b 0xd5 38900x6c 0xe0 0x1c 0xd5 38910xc 0xe1 0x18 0xd5 38920xc 0xe1 0x1c 0xd5 38930xc 0xe2 0x1b 0xd5 38940xc 0xe2 0x1c 0xd5 38950xc 0xe2 0x1f 0xd5 38960x2c 0xe2 0x1b 0xd5 38970x2c 0xe2 0x1c 0xd5 38980x2c 0xe2 0x1f 0xd5 38990x4c 0xe2 0x1b 0xd5 39000x4c 0xe2 0x1c 0xd5 39010x4c 0xe2 0x1f 0xd5 39020xc 0xe3 0x1b 0xd5 39030x2c 0xe3 0x1b 0xd5 39040x4c 0xe3 0x1b 0xd5 39050xc 0xe8 0x1b 0xd5 39060x2c 0xe8 0x1b 0xd5 39070x4c 0xe8 0x1b 0xd5 39080x6c 0xe8 0x1b 0xd5 39090x8c 0xe8 0x1b 0xd5 39100xac 0xe8 0x1b 0xd5 39110xcc 0xe8 0x1b 0xd5 39120xec 0xe8 0x1b 0xd5 39130xc 0xe9 0x1b 0xd5 39140x2c 0xe9 0x1b 0xd5 39150x4c 0xe9 0x1b 0xd5 39160x6c 0xe9 0x1b 0xd5 39170x8c 0xe9 0x1b 0xd5 39180xac 0xe9 0x1b 0xd5 39190xcc 0xe9 0x1b 0xd5 39200xec 0xe9 0x1b 0xd5 39210xc 0xea 0x1b 0xd5 39220x2c 0xea 0x1b 0xd5 39230x4c 0xea 0x1b 0xd5 39240x6c 0xea 0x1b 0xd5 39250x8c 0xea 0x1b 0xd5 39260xac 0xea 0x1b 0xd5 39270xcc 0xea 0x1b 0xd5 39280xec 0xea 0x1b 0xd5 39290xc 0xeb 0x1b 0xd5 39300x2c 0xeb 0x1b 0xd5 39310x4c 0xeb 0x1b 0xd5 39320x6c 0xeb 0x1b 0xd5 39330x8c 0xeb 0x1b 0xd5 39340xac 0xeb 0x1b 0xd5 39350xcc 0xeb 0x1b 0xd5 39360xec 0xef 0x1b 0xd5 39370xc 0xec 0x1b 0xd5 39380x2c 0xec 0x1b 0xd5 39390x4c 0xec 0x1b 0xd5 39400x6c 0xec 0x1b 0xd5 39410x8c 0xec 0x1b 0xd5 39420xac 0xec 0x1b 0xd5 39430xcc 0xec 0x1b 0xd5 39440xec 0xec 0x1b 0xd5 39450xc 0xed 0x1b 0xd5 39460x2c 0xed 0x1b 0xd5 39470x4c 0xed 0x1b 0xd5 39480x6c 0xed 0x1b 0xd5 39490x8c 0xed 0x1b 0xd5 39500xac 0xed 0x1b 0xd5 39510xcc 0xed 0x1b 0xd5 39520xec 0xed 0x1b 0xd5 39530xc 0xee 0x1b 0xd5 39540x2c 0xee 0x1b 0xd5 39550x4c 0xee 0x1b 0xd5 39560x6c 0xee 0x1b 0xd5 39570x8c 0xee 0x1b 0xd5 39580xac 0xee 0x1b 0xd5 39590xcc 0xee 0x1b 0xd5 39600xec 0xee 0x1b 0xd5 39610xc 0xef 0x1b 0xd5 39620x2c 0xef 0x1b 0xd5 39630x4c 0xef 0x1b 0xd5 39640x6c 0xef 0x1b 0xd5 39650x8c 0xef 0x1b 0xd5 39660xac 0xef 0x1b 0xd5 39670xcc 0xef 0x1b 0xd5 39680x9 0x0 0x32 0xd5 39690x49 0x0 0x30 0xd5 39700x9 0x1 0x33 0xd5 39710x9 0x2 0x30 0xd5 39720x49 0x2 0x30 0xd5 39730x49 0x3 0x30 0xd5 39740x9 0x4 0x33 0xd5 39750x9 0x5 0x33 0xd5 39760x49 0x6 0x30 0xd5 39770x9 0x7 0x34 0xd5 39780x89 0x0 0x30 0xd5 39790x89 0x1 0x30 0xd5 39800x89 0x2 0x30 0xd5 39810x89 0x3 0x30 0xd5 39820x89 0x4 0x30 0xd5 39830x89 0x5 0x30 0xd5 39840x89 0x6 0x30 0xd5 39850x89 0x7 0x30 0xd5 39860x89 0x8 0x30 0xd5 39870x89 0x9 0x30 0xd5 39880x89 0xa 0x30 0xd5 39890x89 0xb 0x30 0xd5 39900x89 0xc 0x30 0xd5 39910x89 0xd 0x30 0xd5 39920x89 0xe 0x30 0xd5 39930x89 0xf 0x30 0xd5 39940xa9 0x0 0x30 0xd5 39950xa9 0x1 0x30 0xd5 39960xa9 0x2 0x30 0xd5 39970xa9 0x3 0x30 0xd5 39980xa9 0x4 0x30 0xd5 39990xa9 0x5 0x30 0xd5 40000xa9 0x6 0x30 0xd5 40010xa9 0x7 0x30 0xd5 40020xa9 0x8 0x30 0xd5 40030xa9 0x9 0x30 0xd5 40040xa9 0xa 0x30 0xd5 40050xa9 0xb 0x30 0xd5 40060xa9 0xc 0x30 0xd5 40070xa9 0xd 0x30 0xd5 40080xa9 0xe 0x30 0xd5 40090xa9 0xf 0x30 0xd5 40100xc9 0x0 0x30 0xd5 40110xc9 0x1 0x30 0xd5 40120xc9 0x2 0x30 0xd5 40130xc9 0x3 0x30 0xd5 40140xc9 0x4 0x30 0xd5 40150xc9 0x5 0x30 0xd5 40160xc9 0x6 0x30 0xd5 40170xc9 0x7 0x30 0xd5 40180xc9 0x8 0x30 0xd5 40190xc9 0x9 0x30 0xd5 40200xc9 0xa 0x30 0xd5 40210xc9 0xb 0x30 0xd5 40220xc9 0xc 0x30 0xd5 40230xc9 0xd 0x30 0xd5 40240xc9 0xe 0x30 0xd5 40250xc9 0xf 0x30 0xd5 40260xe9 0x0 0x30 0xd5 40270xe9 0x1 0x30 0xd5 40280xe9 0x2 0x30 0xd5 40290xe9 0x3 0x30 0xd5 40300xe9 0x4 0x30 0xd5 40310xe9 0x5 0x30 0xd5 40320xe9 0x6 0x30 0xd5 40330xe9 0x7 0x30 0xd5 40340xe9 0x8 0x30 0xd5 40350xe9 0x9 0x30 0xd5 40360xe9 0xa 0x30 0xd5 40370xe9 0xb 0x30 0xd5 40380xe9 0xc 0x30 0xd5 40390xe9 0xd 0x30 0xd5 40400xe9 0xe 0x30 0xd5 40410xe9 0xf 0x30 0xd5 40420x9 0x10 0x30 0xd5 40430x9 0x10 0x32 0xd5 40440x89 0x11 0x30 0xd5 40450x89 0x13 0x30 0xd5 40460x89 0x14 0x30 0xd5 40470xc9 0x78 0x30 0xd5 40480xc9 0x79 0x30 0xd5 40490xc9 0x7e 0x30 0xd5 40500x9 0x0 0x38 0xd5 40510x9 0x0 0x39 0xd5 40520x9 0x0 0x3a 0xd5 40530x49 0x0 0x39 0xd5 40540x9 0x0 0x3c 0xd5 40550x29 0x0 0x39 0xd5 40560x29 0x0 0x3b 0xd5 40570xa9 0x0 0x38 0xd5 40580xa9 0x0 0x3c 0xd5 40590xc9 0x0 0x38 0xd5 40600xe9 0x0 0x39 0xd5 40610xe9 0x0 0x3b 0xd5 40620x9 0x1 0x38 0xd5 40630x29 0x1 0x38 0xd5 40640x49 0x1 0x38 0xd5 40650x69 0x1 0x38 0xd5 40660x89 0x1 0x38 0xd5 40670xa9 0x1 0x38 0xd5 40680xc9 0x1 0x38 0xd5 40690xe9 0x1 0x38 0xd5 40700xc9 0x2 0x38 0xd5 40710x9 0x2 0x38 0xd5 40720x29 0x2 0x38 0xd5 40730x49 0x2 0x38 0xd5 40740x69 0x2 0x38 0xd5 40750x89 0x2 0x38 0xd5 40760xa9 0x2 0x38 0xd5 40770x9 0x3 0x38 0xd5 40780x29 0x3 0x38 0xd5 40790x49 0x3 0x38 0xd5 40800x9 0x4 0x38 0xd5 40810x29 0x4 0x38 0xd5 40820x9 0x5 0x38 0xd5 40830x29 0x5 0x38 0xd5 40840x89 0x5 0x38 0xd5 40850xa9 0x5 0x38 0xd5 40860x9 0x6 0x38 0xd5 40870x29 0x6 0x38 0xd5 40880x9 0x7 0x38 0xd5 40890x29 0x7 0x38 0xd5 40900x9 0x10 0x38 0xd5 40910x9 0x10 0x3c 0xd5 40920x9 0x10 0x3e 0xd5 40930x29 0x10 0x38 0xd5 40940x29 0x10 0x3c 0xd5 40950x29 0x10 0x3e 0xd5 40960x49 0x10 0x38 0xd5 40970x9 0x11 0x3c 0xd5 40980x9 0x11 0x3e 0xd5 40990x29 0x11 0x3c 0xd5 41000x29 0x11 0x3e 0xd5 41010x49 0x11 0x3c 0xd5 41020x49 0x11 0x3e 0xd5 41030x69 0x11 0x3c 0xd5 41040xe9 0x11 0x3c 0xd5 41050x29 0x13 0x3e 0xd5 41060x9 0x20 0x38 0xd5 41070x9 0x20 0x3c 0xd5 41080x9 0x20 0x3e 0xd5 41090x29 0x20 0x38 0xd5 41100x49 0x20 0x38 0xd5 41110x49 0x20 0x3c 0xd5 41120x49 0x20 0x3e 0xd5 41130x9 0x21 0x3c 0xd5 41140x49 0x21 0x3c 0xd5 41150x9 0x30 0x3c 0xd5 41160x9 0x40 0x38 0xd5 41170x9 0x40 0x3c 0xd5 41180x9 0x40 0x3e 0xd5 41190x29 0x40 0x38 0xd5 41200x29 0x40 0x3c 0xd5 41210x29 0x40 0x3e 0xd5 41220x9 0x41 0x38 0xd5 41230x9 0x41 0x3c 0xd5 41240x9 0x41 0x3e 0xd5 41250x9 0x42 0x38 0xd5 41260x9 0x42 0x3b 0xd5 41270x29 0x42 0x3b 0xd5 41280x49 0x42 0x38 0xd5 41290x9 0x43 0x3c 0xd5 41300x29 0x43 0x3c 0xd5 41310x49 0x43 0x3c 0xd5 41320x69 0x43 0x3c 0xd5 41330x9 0x44 0x3b 0xd5 41340x29 0x44 0x3b 0xd5 41350x9 0x45 0x3b 0xd5 41360x29 0x45 0x3b 0xd5 41370x29 0x50 0x3c 0xd5 41380x9 0x51 0x38 0xd5 41390x9 0x51 0x3c 0xd5 41400x9 0x51 0x3e 0xd5 41410x29 0x51 0x38 0xd5 41420x29 0x51 0x3c 0xd5 41430x29 0x51 0x3e 0xd5 41440x9 0x52 0x38 0xd5 41450x9 0x52 0x3c 0xd5 41460x9 0x52 0x3e 0xd5 41470x9 0x53 0x3c 0xd5 41480x9 0x60 0x38 0xd5 41490x9 0x60 0x3c 0xd5 41500x9 0x60 0x3e 0xd5 41510x89 0x60 0x3c 0xd5 41520x9 0x74 0x38 0xd5 41530x9 0x9c 0x3b 0xd5 41540x29 0x9c 0x3b 0xd5 41550x49 0x9c 0x3b 0xd5 41560x69 0x9c 0x3b 0xd5 41570xa9 0x9c 0x3b 0xd5 41580xc9 0x9c 0x3b 0xd5 41590xe9 0x9c 0x3b 0xd5 41600x9 0x9d 0x3b 0xd5 41610x29 0x9d 0x3b 0xd5 41620x49 0x9d 0x3b 0xd5 41630x9 0x9e 0x3b 0xd5 41640x29 0x9e 0x38 0xd5 41650x49 0x9e 0x38 0xd5 41660x69 0x9e 0x3b 0xd5 41670x9 0xa2 0x38 0xd5 41680x9 0xa2 0x3c 0xd5 41690x9 0xa2 0x3e 0xd5 41700x9 0xa3 0x38 0xd5 41710x9 0xa3 0x3c 0xd5 41720x9 0xa3 0x3e 0xd5 41730x9 0xc0 0x38 0xd5 41740x9 0xc0 0x3c 0xd5 41750x9 0xc0 0x3e 0xd5 41760x29 0xc0 0x38 0xd5 41770x29 0xc0 0x3c 0xd5 41780x29 0xc0 0x3e 0xd5 41790x49 0xc0 0x38 0xd5 41800x49 0xc0 0x3c 0xd5 41810x49 0xc0 0x3e 0xd5 41820x9 0xc1 0x38 0xd5 41830x29 0xd0 0x38 0xd5 41840x49 0xd0 0x3b 0xd5 41850x49 0xd0 0x3c 0xd5 41860x49 0xd0 0x3e 0xd5 41870x69 0xd0 0x3b 0xd5 41880x89 0xd0 0x38 0xd5 41890x9 0xe0 0x3b 0xd5 41900x29 0xe0 0x3b 0xd5 41910x49 0xe0 0x3b 0xd5 41920x69 0xe0 0x3c 0xd5 41930x9 0xe1 0x38 0xd5 41940x9 0xe1 0x3c 0xd5 41950x9 0xe2 0x3b 0xd5 41960x9 0xe2 0x3c 0xd5 41970x9 0xe2 0x3f 0xd5 41980x29 0xe2 0x3b 0xd5 41990x29 0xe2 0x3c 0xd5 42000x29 0xe2 0x3f 0xd5 42010x49 0xe2 0x3b 0xd5 42020x49 0xe2 0x3c 0xd5 42030x49 0xe2 0x3f 0xd5 42040x9 0xe3 0x3b 0xd5 42050x29 0xe3 0x3b 0xd5 42060x49 0xe3 0x3b 0xd5 42070x9 0xe8 0x3b 0xd5 42080x29 0xe8 0x3b 0xd5 42090x49 0xe8 0x3b 0xd5 42100x69 0xe8 0x3b 0xd5 42110x89 0xe8 0x3b 0xd5 42120xa9 0xe8 0x3b 0xd5 42130xc9 0xe8 0x3b 0xd5 42140xe9 0xe8 0x3b 0xd5 42150x9 0xe9 0x3b 0xd5 42160x29 0xe9 0x3b 0xd5 42170x49 0xe9 0x3b 0xd5 42180x69 0xe9 0x3b 0xd5 42190x89 0xe9 0x3b 0xd5 42200xa9 0xe9 0x3b 0xd5 42210xc9 0xe9 0x3b 0xd5 42220xe9 0xe9 0x3b 0xd5 42230x9 0xea 0x3b 0xd5 42240x29 0xea 0x3b 0xd5 42250x49 0xea 0x3b 0xd5 42260x69 0xea 0x3b 0xd5 42270x89 0xea 0x3b 0xd5 42280xa9 0xea 0x3b 0xd5 42290xc9 0xea 0x3b 0xd5 42300xe9 0xea 0x3b 0xd5 42310x9 0xeb 0x3b 0xd5 42320x29 0xeb 0x3b 0xd5 42330x49 0xeb 0x3b 0xd5 42340x69 0xeb 0x3b 0xd5 42350x89 0xeb 0x3b 0xd5 42360xa9 0xeb 0x3b 0xd5 42370xc9 0xeb 0x3b 0xd5 42380xe9 0xef 0x3b 0xd5 42390x9 0xec 0x3b 0xd5 42400x29 0xec 0x3b 0xd5 42410x49 0xec 0x3b 0xd5 42420x69 0xec 0x3b 0xd5 42430x89 0xec 0x3b 0xd5 42440xa9 0xec 0x3b 0xd5 42450xc9 0xec 0x3b 0xd5 42460xe9 0xec 0x3b 0xd5 42470x9 0xed 0x3b 0xd5 42480x29 0xed 0x3b 0xd5 42490x49 0xed 0x3b 0xd5 42500x69 0xed 0x3b 0xd5 42510x89 0xed 0x3b 0xd5 42520xa9 0xed 0x3b 0xd5 42530xc9 0xed 0x3b 0xd5 42540xe9 0xed 0x3b 0xd5 42550x9 0xee 0x3b 0xd5 42560x29 0xee 0x3b 0xd5 42570x49 0xee 0x3b 0xd5 42580x69 0xee 0x3b 0xd5 42590x89 0xee 0x3b 0xd5 42600xa9 0xee 0x3b 0xd5 42610xc9 0xee 0x3b 0xd5 42620xe9 0xee 0x3b 0xd5 42630x9 0xef 0x3b 0xd5 42640x29 0xef 0x3b 0xd5 42650x49 0xef 0x3b 0xd5 42660x69 0xef 0x3b 0xd5 42670x89 0xef 0x3b 0xd5 42680xa9 0xef 0x3b 0xd5 42690xc9 0xef 0x3b 0xd5 4270 4271# CHECK: mrs x12, {{s3_7_c15_c1_5|S3_7_C15_C1_5}} 4272# CHECK: mrs x13, {{s3_2_c11_c15_7|S3_2_C11_C15_7}} 4273# CHECK: mrs xzr, {{s0_0_c4_c0_0|S0_0_C4_C0_0}} 4274# CHECK: msr {{s3_0_c15_c0_0|S3_0_C15_C0_0}}, x12 4275# CHECK: msr {{s3_7_c11_c13_7|S3_7_C11_C13_7}}, x5 4276# CHECK: msr {{s0_0_c4_c0_0|S0_0_C4_C0_0}}, xzr 42770xac 0xf1 0x3f 0xd5 42780xed 0xbf 0x3a 0xd5 42790x1f 0x40 0x20 0xd5 42800x0c 0xf0 0x18 0xd5 42810xe5 0xbd 0x1f 0xd5 42820x1f 0x40 0x00 0xd5 4283 4284#------------------------------------------------------------------------------ 4285# Test and branch (immediate) 4286#------------------------------------------------------------------------------ 4287 4288# CHECK: tbz x12, #62, #0 4289# CHECK: tbz x12, #62, #4 4290# CHECK: tbz x12, #62, #-32768 4291# CHECK: tbnz x12, #60, #32764 42920x0c 0x00 0xf0 0xb6 42930x2c 0x00 0xf0 0xb6 42940x0c 0x00 0xf4 0xb6 42950xec 0xff 0xe3 0xb7 4296 4297#------------------------------------------------------------------------------ 4298# Unconditional branch (immediate) 4299#------------------------------------------------------------------------------ 4300 4301# CHECK: b #4 4302# CHECK: b #-4 4303# CHECK: b #134217724 43040x01 0x00 0x00 0x14 43050xff 0xff 0xff 0x17 43060xff 0xff 0xff 0x15 4307 4308#------------------------------------------------------------------------------ 4309# Unconditional branch (register) 4310#------------------------------------------------------------------------------ 4311 4312# CHECK: br x20 4313# CHECK: blr xzr 4314# CHECK: ret x10 43150x80 0x2 0x1f 0xd6 43160xe0 0x3 0x3f 0xd6 43170x40 0x1 0x5f 0xd6 4318 4319# CHECK: ret 4320# CHECK: eret 4321# CHECK: drps 43220xc0 0x3 0x5f 0xd6 43230xe0 0x3 0x9f 0xd6 43240xe0 0x3 0xbf 0xd6 4325 4326