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