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