Home | History | Annotate | Download | only in AArch64
      1 # RUN: llvm-mc -triple arm64-apple-darwin -mattr=crypto -output-asm-variant=1 --disassemble < %s | FileCheck %s
      2 
      3 0x00 0xb8 0x20 0x0e
      4 0x00 0xb8 0x20 0x4e
      5 0x00 0xb8 0x60 0x0e
      6 0x00 0xb8 0x60 0x4e
      7 0x00 0xb8 0xa0 0x0e
      8 0x00 0xb8 0xa0 0x4e
      9 
     10 # CHECK: abs.8b  v0, v0
     11 # CHECK: abs.16b v0, v0
     12 # CHECK: abs.4h  v0, v0
     13 # CHECK: abs.8h  v0, v0
     14 # CHECK: abs.2s  v0, v0
     15 # CHECK: abs.4s  v0, v0
     16 
     17 0x00 0x84 0x20 0x0e
     18 0x00 0x84 0x20 0x4e
     19 0x00 0x84 0x60 0x0e
     20 0x00 0x84 0x60 0x4e
     21 0x00 0x84 0xa0 0x0e
     22 0x00 0x84 0xa0 0x4e
     23 0x00 0x84 0xe0 0x4e
     24 
     25 # CHECK: add.8b  v0, v0, v0
     26 # CHECK: add.16b v0, v0, v0
     27 # CHECK: add.4h  v0, v0, v0
     28 # CHECK: add.8h  v0, v0, v0
     29 # CHECK: add.2s  v0, v0, v0
     30 # CHECK: add.4s  v0, v0, v0
     31 # CHECK: add.2d  v0, v0, v0
     32 
     33 0x41 0x84 0xe3 0x5e
     34 
     35 # CHECK: add d1, d2, d3
     36 
     37 0x00 0x40 0x20 0x0e
     38 0x00 0x40 0x20 0x4e
     39 0x00 0x40 0x60 0x0e
     40 0x00 0x40 0x60 0x4e
     41 0x00 0x40 0xa0 0x0e
     42 0x00 0x40 0xa0 0x4e
     43 
     44 # CHECK: addhn.8b   v0, v0, v0
     45 # CHECK: addhn2.16b v0, v0, v0
     46 # CHECK: addhn.4h   v0, v0, v0
     47 # CHECK: addhn2.8h  v0, v0, v0
     48 # CHECK: addhn.2s   v0, v0, v0
     49 # CHECK: addhn2.4s  v0, v0, v0
     50 
     51 0x00 0xbc 0x20 0x0e
     52 0x00 0xbc 0x20 0x4e
     53 0x00 0xbc 0x60 0x0e
     54 0x00 0xbc 0x60 0x4e
     55 0x00 0xbc 0xa0 0x0e
     56 0x00 0xbc 0xa0 0x4e
     57 0x00 0xbc 0xe0 0x4e
     58 
     59 # CHECK: addp.8b   v0, v0, v0
     60 # CHECK: addp.16b  v0, v0, v0
     61 # CHECK: addp.4h   v0, v0, v0
     62 # CHECK: addp.8h   v0, v0, v0
     63 # CHECK: addp.2s   v0, v0, v0
     64 # CHECK: addp.4s   v0, v0, v0
     65 # CHECK: addp.2d   v0, v0, v0
     66 
     67 0x00 0xb8 0xf1 0x5e
     68 
     69 # CHECK: addp.2d d0, v0
     70 
     71 0x00 0xb8 0x31 0x0e
     72 0x00 0xb8 0x31 0x4e
     73 0x00 0xb8 0x71 0x0e
     74 0x00 0xb8 0x71 0x4e
     75 0x00 0xb8 0xb1 0x4e
     76 
     77 # CHECK: addv.8b  b0, v0
     78 # CHECK: addv.16b b0, v0
     79 # CHECK: addv.4h  h0, v0
     80 # CHECK: addv.8h  h0, v0
     81 # CHECK: addv.4s  s0, v0
     82 
     83 
     84 # INS/DUP
     85 0x60 0x0c 0x08 0x4e
     86 0x60 0x0c 0x04 0x4e
     87 0x60 0x0c 0x04 0x0e
     88 0x60 0x0c 0x02 0x4e
     89 0x60 0x0c 0x02 0x0e
     90 0x60 0x0c 0x01 0x4e
     91 0x60 0x0c 0x01 0x0e
     92 
     93 # CHECK: dup.2d  v0, x3
     94 # CHECK: dup.4s  v0, w3
     95 # CHECK: dup.2s  v0, w3
     96 # CHECK: dup.8h  v0, w3
     97 # CHECK: dup.4h  v0, w3
     98 # CHECK: dup.16b v0, w3
     99 # CHECK: dup.8b  v0, w3
    100 
    101 0x60 0x04 0x18 0x4e
    102 0x60 0x04 0x0c 0x0e
    103 0x60 0x04 0x0c 0x4e
    104 0x60 0x04 0x06 0x0e
    105 0x60 0x04 0x06 0x4e
    106 0x60 0x04 0x03 0x0e
    107 0x60 0x04 0x03 0x4e
    108 
    109 # CHECK: dup.2d  v0, v3[1]
    110 # CHECK: dup.2s  v0, v3[1]
    111 # CHECK: dup.4s  v0, v3[1]
    112 # CHECK: dup.4h  v0, v3[1]
    113 # CHECK: dup.8h  v0, v3[1]
    114 # CHECK: dup.8b  v0, v3[1]
    115 # CHECK: dup.16b v0, v3[1]
    116 
    117 
    118 0x43 0x2c 0x14 0x4e
    119 0x43 0x2c 0x14 0x4e
    120 0x43 0x3c 0x14 0x0e
    121 0x43 0x3c 0x14 0x0e
    122 0x43 0x3c 0x18 0x4e
    123 0x43 0x3c 0x18 0x4e
    124 
    125 # CHECK: smov.s  x3, v2[2]
    126 # CHECK: smov.s  x3, v2[2]
    127 # CHECK: mov.s  w3, v2[2]
    128 # CHECK: mov.s  w3, v2[2]
    129 # CHECK: mov.d  x3, v2[1]
    130 # CHECK: mov.d  x3, v2[1]
    131 
    132 0xa2 0x1c 0x18 0x4e
    133 0xa2 0x1c 0x0c 0x4e
    134 0xa2 0x1c 0x06 0x4e
    135 0xa2 0x1c 0x03 0x4e
    136 
    137 0xa2 0x1c 0x18 0x4e
    138 0xa2 0x1c 0x0c 0x4e
    139 0xa2 0x1c 0x06 0x4e
    140 0xa2 0x1c 0x03 0x4e
    141 
    142 # CHECK: ins.d v2[1], x5
    143 # CHECK: ins.s v2[1], w5
    144 # CHECK: ins.h v2[1], w5
    145 # CHECK: ins.b v2[1], w5
    146 
    147 # CHECK: ins.d v2[1], x5
    148 # CHECK: ins.s v2[1], w5
    149 # CHECK: ins.h v2[1], w5
    150 # CHECK: ins.b v2[1], w5
    151 
    152 0xe2 0x45 0x18 0x6e
    153 0xe2 0x25 0x0c 0x6e
    154 0xe2 0x15 0x06 0x6e
    155 0xe2 0x0d 0x03 0x6e
    156 
    157 0xe2 0x05 0x18 0x6e
    158 0xe2 0x45 0x1c 0x6e
    159 0xe2 0x35 0x1e 0x6e
    160 0xe2 0x2d 0x15 0x6e
    161 
    162 # CHECK: ins.d v2[1], v15[1]
    163 # CHECK: ins.s v2[1], v15[1]
    164 # CHECK: ins.h v2[1], v15[1]
    165 # CHECK: ins.b v2[1], v15[1]
    166 
    167 # CHECK: ins.d v2[1], v15[0]
    168 # CHECK: ins.s v2[3], v15[2]
    169 # CHECK: ins.h v2[7], v15[3]
    170 # CHECK: ins.b v2[10], v15[5]
    171 
    172 # INS/DUP (non-standard)
    173 0x60 0x0c 0x08 0x4e
    174 0x60 0x0c 0x0c 0x4e
    175 0x60 0x0c 0x0c 0x0e
    176 0x60 0x0c 0x0e 0x4e
    177 0x60 0x0c 0x0e 0x0e
    178 0x60 0x0c 0x0f 0x4e
    179 0x60 0x0c 0x0f 0x0e
    180 
    181 # CHECK: dup.2d  v0, x3
    182 # CHECK: dup.4s  v0, w3
    183 # CHECK: dup.2s  v0, w3
    184 # CHECK: dup.8h  v0, w3
    185 # CHECK: dup.4h  v0, w3
    186 # CHECK: dup.16b v0, w3
    187 # CHECK: dup.8b  v0, w3
    188 
    189 0xe2 0x75 0x18 0x6e
    190 0xe2 0x35 0x0c 0x6e
    191 0xe2 0x15 0x06 0x6e
    192 0xe2 0x0d 0x03 0x6e
    193 
    194 0xe2 0x05 0x18 0x6e
    195 0xe2 0x55 0x1c 0x6e
    196 0xe2 0x35 0x1e 0x6e
    197 0xe2 0x2d 0x15 0x6e
    198 
    199 # CHECK: ins.d v2[1], v15[1]
    200 # CHECK: ins.s v2[1], v15[1]
    201 # CHECK: ins.h v2[1], v15[1]
    202 # CHECK: ins.b v2[1], v15[1]
    203 
    204 # CHECK: ins.d v2[1], v15[0]
    205 # CHECK: ins.s v2[3], v15[2]
    206 # CHECK: ins.h v2[7], v15[3]
    207 # CHECK: ins.b v2[10], v15[5]
    208 
    209 0x00 0x1c 0x20 0x0e
    210 0x00 0x1c 0x20 0x4e
    211 
    212 # CHECK: and.8b  v0, v0, v0
    213 # CHECK: and.16b v0, v0, v0
    214 
    215 0x00 0x1c 0x60 0x0e
    216 
    217 # CHECK: bic.8b  v0, v0, v0
    218 
    219 0x00 0x8c 0x20 0x2e
    220 0x00 0x3c 0x20 0x0e
    221 0x00 0x34 0x20 0x0e
    222 0x00 0x34 0x20 0x2e
    223 0x00 0x3c 0x20 0x2e
    224 0x00 0x8c 0x20 0x0e
    225 0x00 0xd4 0xa0 0x2e
    226 0x00 0xec 0x20 0x2e
    227 0x00 0xec 0xa0 0x2e
    228 0x00 0xd4 0x20 0x2e
    229 0x00 0xd4 0x20 0x0e
    230 0x00 0xe4 0x20 0x0e
    231 0x00 0xe4 0x20 0x2e
    232 0x00 0xe4 0xa0 0x2e
    233 0x00 0xfc 0x20 0x2e
    234 0x00 0xc4 0x20 0x2e
    235 0x00 0xc4 0x20 0x0e
    236 0x00 0xf4 0x20 0x2e
    237 0x00 0xf4 0x20 0x0e
    238 0x00 0xc4 0xa0 0x2e
    239 0x00 0xc4 0xa0 0x0e
    240 0x00 0xf4 0xa0 0x2e
    241 0x00 0xf4 0xa0 0x0e
    242 0x00 0xcc 0x20 0x0e
    243 0x00 0xcc 0xa0 0x0e
    244 0x00 0xdc 0x20 0x0e
    245 0x00 0xdc 0x20 0x2e
    246 0x00 0xfc 0x20 0x0e
    247 0x00 0xfc 0xa0 0x0e
    248 0x00 0xd4 0xa0 0x0e
    249 0x00 0x94 0x20 0x0e
    250 0x00 0x94 0x20 0x2e
    251 0x00 0x9c 0x20 0x0e
    252 0x00 0x9c 0x20 0x2e
    253 0x00 0x7c 0x20 0x0e
    254 0x00 0x74 0x20 0x0e
    255 0x00 0x04 0x20 0x0e
    256 0x00 0x24 0x20 0x0e
    257 0x00 0xa4 0x20 0x0e
    258 0x00 0x64 0x20 0x0e
    259 0x00 0xac 0x20 0x0e
    260 0x00 0x6c 0x20 0x0e
    261 0x00 0x0c 0x20 0x0e
    262 0x00 0xb4 0x60 0x0e
    263 0x00 0xb4 0x60 0x2e
    264 0x00 0x5c 0x20 0x0e
    265 0x00 0x4c 0x20 0x0e
    266 0x00 0x2c 0x20 0x0e
    267 0x00 0x14 0x20 0x0e
    268 0x00 0x54 0x20 0x0e
    269 0x00 0x44 0x20 0x0e
    270 0x00 0x84 0x20 0x2e
    271 0x00 0x7c 0x20 0x2e
    272 0x00 0x74 0x20 0x2e
    273 0x00 0x04 0x20 0x2e
    274 0x00 0x24 0x20 0x2e
    275 0x00 0xa4 0x20 0x2e
    276 0x00 0x64 0x20 0x2e
    277 0x00 0xac 0x20 0x2e
    278 0x00 0x6c 0x20 0x2e
    279 0x00 0x0c 0x20 0x2e
    280 0x00 0x5c 0x20 0x2e
    281 0x00 0x4c 0x20 0x2e
    282 0x00 0x2c 0x20 0x2e
    283 0x00 0x14 0x20 0x2e
    284 0x00 0x54 0x20 0x2e
    285 0x00 0x44 0x20 0x2e
    286 
    287 # CHECK: cmeq.8b	v0, v0, v0
    288 # CHECK: cmge.8b	v0, v0, v0
    289 # CHECK: cmgt.8b	v0, v0, v0
    290 # CHECK: cmhi.8b	v0, v0, v0
    291 # CHECK: cmhs.8b	v0, v0, v0
    292 # CHECK: cmtst.8b	v0, v0, v0
    293 # CHECK: fabd.2s	v0, v0, v0
    294 # CHECK: facge.2s	v0, v0, v0
    295 # CHECK: facgt.2s	v0, v0, v0
    296 # CHECK: faddp.2s	v0, v0, v0
    297 # CHECK: fadd.2s	v0, v0, v0
    298 # CHECK: fcmeq.2s	v0, v0, v0
    299 # CHECK: fcmge.2s	v0, v0, v0
    300 # CHECK: fcmgt.2s	v0, v0, v0
    301 # CHECK: fdiv.2s	v0, v0, v0
    302 # CHECK: fmaxnmp.2s	v0, v0, v0
    303 # CHECK: fmaxnm.2s	v0, v0, v0
    304 # CHECK: fmaxp.2s	v0, v0, v0
    305 # CHECK: fmax.2s	v0, v0, v0
    306 # CHECK: fminnmp.2s	v0, v0, v0
    307 # CHECK: fminnm.2s	v0, v0, v0
    308 # CHECK: fminp.2s	v0, v0, v0
    309 # CHECK: fmin.2s	v0, v0, v0
    310 # CHECK: fmla.2s	v0, v0, v0
    311 # CHECK: fmls.2s	v0, v0, v0
    312 # CHECK: fmulx.2s	v0, v0, v0
    313 # CHECK: fmul.2s	v0, v0, v0
    314 # CHECK: frecps.2s	v0, v0, v0
    315 # CHECK: frsqrts.2s	v0, v0, v0
    316 # CHECK: fsub.2s	v0, v0, v0
    317 # CHECK: mla.8b	v0, v0, v0
    318 # CHECK: mls.8b	v0, v0, v0
    319 # CHECK: mul.8b	v0, v0, v0
    320 # CHECK: pmul.8b	v0, v0, v0
    321 # CHECK: saba.8b	v0, v0, v0
    322 # CHECK: sabd.8b	v0, v0, v0
    323 # CHECK: shadd.8b	v0, v0, v0
    324 # CHECK: shsub.8b	v0, v0, v0
    325 # CHECK: smaxp.8b	v0, v0, v0
    326 # CHECK: smax.8b	v0, v0, v0
    327 # CHECK: sminp.8b	v0, v0, v0
    328 # CHECK: smin.8b	v0, v0, v0
    329 # CHECK: sqadd.8b	v0, v0, v0
    330 # CHECK: sqdmulh.4h v0, v0, v0
    331 # CHECK: sqrdmulh.4h v0, v0, v0
    332 # CHECK: sqrshl.8b	v0, v0, v0
    333 # CHECK: sqshl.8b	v0, v0, v0
    334 # CHECK: sqsub.8b	v0, v0, v0
    335 # CHECK: srhadd.8b	v0, v0, v0
    336 # CHECK: srshl.8b	v0, v0, v0
    337 # CHECK: sshl.8b	v0, v0, v0
    338 # CHECK: sub.8b	v0, v0, v0
    339 # CHECK: uaba.8b	v0, v0, v0
    340 # CHECK: uabd.8b	v0, v0, v0
    341 # CHECK: uhadd.8b	v0, v0, v0
    342 # CHECK: uhsub.8b	v0, v0, v0
    343 # CHECK: umaxp.8b	v0, v0, v0
    344 # CHECK: umax.8b	v0, v0, v0
    345 # CHECK: uminp.8b	v0, v0, v0
    346 # CHECK: umin.8b	v0, v0, v0
    347 # CHECK: uqadd.8b	v0, v0, v0
    348 # CHECK: uqrshl.8b	v0, v0, v0
    349 # CHECK: uqshl.8b	v0, v0, v0
    350 # CHECK: uqsub.8b	v0, v0, v0
    351 # CHECK: urhadd.8b	v0, v0, v0
    352 # CHECK: urshl.8b	v0, v0, v0
    353 # CHECK: ushl.8b	v0, v0, v0
    354 
    355 0x00 0x1c 0xe0 0x2e
    356 0x00 0x1c 0xa0 0x2e
    357 0x00 0x1c 0x60 0x2e
    358 0x00 0x1c 0x20 0x2e
    359 0x00 0x1c 0xe0 0x0e
    360 0x00 0x1c 0xa1 0x0e
    361 
    362 # CHECK: bif.8b	v0, v0, v0
    363 # CHECK: bit.8b	v0, v0, v0
    364 # CHECK: bsl.8b	v0, v0, v0
    365 # CHECK: eor.8b	v0, v0, v0
    366 # CHECK: orn.8b	v0, v0, v0
    367 # CHECK: orr.8b	v0, v0, v1
    368 
    369 0x00 0x68 0x20 0x0e
    370 0x00 0x68 0x20 0x4e
    371 0x00 0x68 0x60 0x0e
    372 0x00 0x68 0x60 0x4e
    373 0x00 0x68 0xa0 0x0e
    374 0x00 0x68 0xa0 0x4e
    375 
    376 # CHECK: sadalp.4h	v0, v0
    377 # CHECK: sadalp.8h	v0, v0
    378 # CHECK: sadalp.2s	v0, v0
    379 # CHECK: sadalp.4s	v0, v0
    380 # CHECK: sadalp.1d	v0, v0
    381 # CHECK: sadalp.2d	v0, v0
    382 
    383 0x00 0x48 0x20 0x0e
    384 0x00 0x48 0x20 0x2e
    385 0x00 0x58 0x20 0x0e
    386 0x00 0xf8 0xa0 0x0e
    387 0x00 0xc8 0x21 0x0e
    388 0x00 0xc8 0x21 0x2e
    389 0x00 0xb8 0x21 0x0e
    390 0x00 0xb8 0x21 0x2e
    391 0x00 0xa8 0x21 0x0e
    392 0x00 0xa8 0x21 0x2e
    393 0x00 0xa8 0xa1 0x0e
    394 0x00 0xa8 0xa1 0x2e
    395 0x00 0xb8 0xa1 0x0e
    396 0x00 0xb8 0xa1 0x2e
    397 0x00 0xf8 0xa0 0x2e
    398 0x00 0xd8 0xa1 0x0e
    399 0x00 0xd8 0xa1 0x2e
    400 0x00 0xf8 0xa1 0x2e
    401 0x00 0xb8 0x20 0x2e
    402 0x00 0x58 0x20 0x2e
    403 0x00 0x58 0x60 0x2e
    404 0x00 0x18 0x20 0x0e
    405 0x00 0x08 0x20 0x2e
    406 0x00 0x08 0x20 0x0e
    407 0x00 0x68 0x20 0x0e
    408 0x00 0x28 0x20 0x0e
    409 0x00 0xd8 0x21 0x0e
    410 0x00 0x38 0x21 0x2e
    411 0x00 0x78 0x20 0x0e
    412 0x00 0x78 0x20 0x2e
    413 0x00 0x48 0x21 0x0e
    414 0x00 0x28 0x21 0x2e
    415 0x00 0x38 0x20 0x0e
    416 0x00 0x68 0x20 0x2e
    417 0x00 0x28 0x20 0x2e
    418 0x00 0xd8 0x21 0x2e
    419 0x00 0x48 0x21 0x2e
    420 0x00 0xc8 0xa1 0x0e
    421 0x00 0xc8 0xa1 0x2e
    422 0x00 0x38 0x20 0x2e
    423 0x00 0x28 0x21 0x0e
    424 0x00 0x48 0x20 0x0e
    425 0x00 0x48 0x20 0x2e
    426 0x00 0x58 0x20 0x0e
    427 0x00 0xf8 0xa0 0x0e
    428 0x00 0xc8 0x21 0x0e
    429 0x00 0xc8 0x21 0x2e
    430 0x00 0xb8 0x21 0x0e
    431 0x00 0xb8 0x21 0x2e
    432 0x00 0xa8 0x21 0x0e
    433 0x00 0xa8 0x21 0x2e
    434 0x00 0xa8 0xa1 0x0e
    435 0x00 0xa8 0xa1 0x2e
    436 0x00 0xb8 0xa1 0x0e
    437 0x00 0xb8 0xa1 0x2e
    438 0x00 0xf8 0xa0 0x2e
    439 0x00 0xd8 0xa1 0x0e
    440 0x00 0xd8 0xa1 0x2e
    441 0x00 0xf8 0xa1 0x2e
    442 0x00 0xb8 0x20 0x2e
    443 0x00 0x58 0x20 0x2e
    444 0x00 0x58 0x60 0x2e
    445 0x00 0x18 0x20 0x0e
    446 0x00 0x08 0x20 0x2e
    447 0x00 0x08 0x20 0x0e
    448 0x00 0x68 0x20 0x0e
    449 0x00 0x28 0x20 0x0e
    450 0x00 0xd8 0x21 0x0e
    451 0x00 0x38 0x21 0x2e
    452 0x00 0x78 0x20 0x0e
    453 0x00 0x78 0x20 0x2e
    454 0x00 0x48 0x21 0x0e
    455 0x00 0x28 0x21 0x2e
    456 0x00 0x38 0x20 0x0e
    457 0x00 0x68 0x20 0x2e
    458 0x00 0x28 0x20 0x2e
    459 0x00 0xd8 0x21 0x2e
    460 0x00 0x48 0x21 0x2e
    461 0x00 0xc8 0xa1 0x0e
    462 0x00 0xc8 0xa1 0x2e
    463 0x00 0x38 0x20 0x2e
    464 0x00 0x28 0x21 0x0e
    465 
    466 # CHECK: cls.8b	v0, v0
    467 # CHECK: clz.8b	v0, v0
    468 # CHECK: cnt.8b	v0, v0
    469 # CHECK: fabs.2s	v0, v0
    470 # CHECK: fcvtas.2s	v0, v0
    471 # CHECK: fcvtau.2s	v0, v0
    472 # CHECK: fcvtms.2s	v0, v0
    473 # CHECK: fcvtmu.2s	v0, v0
    474 # CHECK: fcvtns.2s	v0, v0
    475 # CHECK: fcvtnu.2s	v0, v0
    476 # CHECK: fcvtps.2s	v0, v0
    477 # CHECK: fcvtpu.2s	v0, v0
    478 # CHECK: fcvtzs.2s	v0, v0
    479 # CHECK: fcvtzu.2s	v0, v0
    480 # CHECK: fneg.2s	v0, v0
    481 # CHECK: frecpe.2s	v0, v0
    482 # CHECK: frsqrte.2s	v0, v0
    483 # CHECK: fsqrt.2s	v0, v0
    484 # CHECK: neg.8b	v0, v0
    485 # CHECK: mvn.8b	v0, v0
    486 # CHECK: rbit.8b	v0, v0
    487 # CHECK: rev16.8b	v0, v0
    488 # CHECK: rev32.8b	v0, v0
    489 # CHECK: rev64.8b	v0, v0
    490 # CHECK: sadalp.4h	v0, v0
    491 # CHECK: saddlp.4h	v0, v0
    492 # CHECK: scvtf.2s	v0, v0
    493 # CHECK: shll.8h	v0, v0, #8
    494 # CHECK: sqabs.8b	v0, v0
    495 # CHECK: sqneg.8b	v0, v0
    496 # CHECK: sqxtn.8b	v0, v0
    497 # CHECK: sqxtun.8b	v0, v0
    498 # CHECK: suqadd.8b	v0, v0
    499 # CHECK: uadalp.4h	v0, v0
    500 # CHECK: uaddlp.4h	v0, v0
    501 # CHECK: ucvtf.2s	v0, v0
    502 # CHECK: uqxtn.8b	v0, v0
    503 # CHECK: urecpe.2s	v0, v0
    504 # CHECK: ursqrte.2s	v0, v0
    505 # CHECK: usqadd.8b	v0, v0
    506 # CHECK: xtn.8b	v0, v0
    507 
    508 0x00 0x98 0x20 0x0e
    509 0x00 0x98 0x20 0x4e
    510 0x00 0x98 0x60 0x0e
    511 0x00 0x98 0x60 0x4e
    512 0x00 0x98 0xa0 0x0e
    513 0x00 0x98 0xa0 0x4e
    514 0x00 0x98 0xe0 0x4e
    515 
    516 # CHECK: cmeq.8b	v0, v0, #0
    517 # CHECK: cmeq.16b	v0, v0, #0
    518 # CHECK: cmeq.4h	v0, v0, #0
    519 # CHECK: cmeq.8h	v0, v0, #0
    520 # CHECK: cmeq.2s	v0, v0, #0
    521 # CHECK: cmeq.4s	v0, v0, #0
    522 # CHECK: cmeq.2d	v0, v0, #0
    523 
    524 0x00 0x88 0x20 0x2e
    525 0x00 0x88 0x20 0x0e
    526 0x00 0x98 0x20 0x2e
    527 0x00 0xa8 0x20 0x0e
    528 0x00 0xd8 0xa0 0x0e
    529 0x00 0xc8 0xa0 0x2e
    530 0x00 0xc8 0xa0 0x0e
    531 0x00 0xd8 0xa0 0x2e
    532 0x00 0xe8 0xa0 0x0e
    533 
    534 # CHECK: cmge.8b	v0, v0, #0
    535 # CHECK: cmgt.8b	v0, v0, #0
    536 # CHECK: cmle.8b	v0, v0, #0
    537 # CHECK: cmlt.8b	v0, v0, #0
    538 # CHECK: fcmeq.2s	v0, v0, #0
    539 # CHECK: fcmge.2s	v0, v0, #0
    540 # CHECK: fcmgt.2s	v0, v0, #0
    541 # CHECK: fcmle.2s	v0, v0, #0
    542 # CHECK: fcmlt.2s	v0, v0, #0
    543 
    544 0x00 0x78 0x21 0x0e
    545 0x00 0x78 0x21 0x4e
    546 0x00 0x78 0x61 0x0e
    547 0x00 0x78 0x61 0x4e
    548 0x00 0x68 0x21 0x0e
    549 0x00 0x68 0x21 0x4e
    550 0x00 0x68 0x61 0x0e
    551 0x00 0x68 0x61 0x4e
    552 0x00 0x68 0x61 0x2e
    553 0x00 0x68 0x61 0x6e
    554 
    555 # CHECK: fcvtl	v0.4s, v0.4h
    556 # CHECK: fcvtl2	v0.4s, v0.8h
    557 # CHECK: fcvtl	v0.2d, v0.2s
    558 # CHECK: fcvtl2	v0.2d, v0.4s
    559 # CHECK: fcvtn	v0.4h, v0.4s
    560 # CHECK: fcvtn2	v0.8h, v0.4s
    561 # CHECK: fcvtn	v0.2s, v0.2d
    562 # CHECK: fcvtn2	v0.4s, v0.2d
    563 # CHECK: fcvtxn	v0.2s, v0.2d
    564 # CHECK: fcvtxn2	v0.4s, v0.2d
    565 
    566 #===-------------------------------------------------------------------------===
    567 # AdvSIMD modified immediate instructions
    568 #===-------------------------------------------------------------------------===
    569 
    570 0x20 0x14 0x00 0x2f
    571 0x20 0x34 0x00 0x2f
    572 0x20 0x54 0x00 0x2f
    573 0x20 0x74 0x00 0x2f
    574 
    575 # CHECK: bic.2s v0, #0x1
    576 # CHECK: bic.2s v0, #0x1, lsl #8
    577 # CHECK: bic.2s v0, #0x1, lsl #16
    578 # CHECK: bic.2s v0, #0x1, lsl #24
    579 
    580 0x20 0x94 0x00 0x2f
    581 0x20 0x94 0x00 0x2f
    582 0x20 0xb4 0x00 0x2f
    583 
    584 # CHECK: bic.4h v0, #0x1
    585 # CHECK: bic.4h v0, #0x1
    586 # FIXME: bic.4h v0, #0x1, lsl #8
    587 #    'bic.4h' should be selected over "fcvtnu.2s v0, v1, #0"
    588 
    589 0x20 0x14 0x00 0x6f
    590 0x20 0x34 0x00 0x6f
    591 0x20 0x54 0x00 0x6f
    592 0x20 0x74 0x00 0x6f
    593 
    594 # CHECK: bic.4s v0, #0x1
    595 # CHECK: bic.4s v0, #0x1, lsl #8
    596 # CHECK: bic.4s v0, #0x1, lsl #16
    597 # CHECK: bic.4s v0, #0x1, lsl #24
    598 
    599 0x20 0x94 0x00 0x6f
    600 0x20 0xb4 0x00 0x6f
    601 
    602 # CHECK: bic.8h v0, #0x1
    603 # FIXME: bic.8h v0, #0x1, lsl #8
    604 #    "bic.8h" should be selected over "fcvtnu.4s v0, v1, #0"
    605 
    606 0x00 0xf4 0x02 0x6f
    607 
    608 # CHECK: fmov.2d v0, #0.12500000
    609 
    610 0x00 0xf4 0x02 0x0f
    611 0x00 0xf4 0x02 0x4f
    612 
    613 # CHECK: fmov.2s v0, #0.12500000
    614 # CHECK: fmov.4s v0, #0.12500000
    615 
    616 0x20 0x14 0x00 0x0f
    617 0x20 0x34 0x00 0x0f
    618 0x20 0x54 0x00 0x0f
    619 0x20 0x74 0x00 0x0f
    620 
    621 # CHECK: orr.2s v0, #0x1
    622 # CHECK: orr.2s v0, #0x1, lsl #8
    623 # CHECK: orr.2s v0, #0x1, lsl #16
    624 # CHECK: orr.2s v0, #0x1, lsl #24
    625 
    626 0x20 0x94 0x00 0x0f
    627 0x20 0xb4 0x00 0x0f
    628 
    629 # CHECK: orr.4h v0, #0x1
    630 # FIXME: orr.4h v0, #0x1, lsl #8
    631 #    'orr.4h' should be selected over "fcvtns.2s v0, v1, #0"
    632 
    633 0x20 0x14 0x00 0x4f
    634 0x20 0x34 0x00 0x4f
    635 0x20 0x54 0x00 0x4f
    636 0x20 0x74 0x00 0x4f
    637 
    638 # CHECK: orr.4s v0, #0x1
    639 # CHECK: orr.4s v0, #0x1, lsl #8
    640 # CHECK: orr.4s v0, #0x1, lsl #16
    641 # CHECK: orr.4s v0, #0x1, lsl #24
    642 
    643 0x20 0x94 0x00 0x4f
    644 0x20 0xb4 0x00 0x4f
    645 
    646 # CHECK: orr.8h v0, #0x1
    647 # CHECK: orr.8h v0, #0x1, lsl #8
    648 
    649 0x21 0x70 0x40 0x0c
    650 0x42 0xa0 0x40 0x4c
    651 0x64 0x64 0x40 0x0c
    652 0x87 0x24 0x40 0x4c
    653 0x0c 0xa8 0x40 0x0c
    654 0x0a 0x68 0x40 0x4c
    655 0x2d 0xac 0x40 0x0c
    656 0x4f 0x7c 0x40 0x4c
    657 0xe0 0x03 0x40 0x0d
    658 
    659 # CHECK: ld1.8b { v1 }, [x1]
    660 # CHECK: ld1.16b { v2, v3 }, [x2]
    661 # CHECK: ld1.4h { v4, v5, v6 }, [x3]
    662 # CHECK: ld1.8h { v7, v8, v9, v10 }, [x4]
    663 # CHECK: ld1.2s { v12, v13 }, [x0]
    664 # CHECK: ld1.4s { v10, v11, v12 }, [x0]
    665 # CHECK: ld1.1d { v13, v14 }, [x1]
    666 # CHECK: ld1.2d	{ v15 }, [x2]
    667 # CHECK: ld1.b	{ v0 }[0], [sp]
    668 
    669 0x41 0x70 0xdf 0x0c
    670 0x41 0xa0 0xdf 0x0c
    671 0x41 0x60 0xdf 0x0c
    672 0x41 0x20 0xdf 0x0c
    673 0x42 0x70 0xdf 0x4c
    674 0x42 0xa0 0xdf 0x4c
    675 0x42 0x60 0xdf 0x4c
    676 0x42 0x20 0xdf 0x4c
    677 0x64 0x74 0xdf 0x0c
    678 0x64 0xa4 0xdf 0x0c
    679 0x64 0x64 0xdf 0x0c
    680 0x64 0x24 0xdf 0x0c
    681 0x87 0x74 0xdf 0x4c
    682 0x87 0xa4 0xdf 0x4c
    683 0x87 0x64 0xdf 0x4c
    684 0x87 0x24 0xdf 0x4c
    685 0x0c 0x78 0xdf 0x0c
    686 0x0c 0xa8 0xdf 0x0c
    687 0x0c 0x68 0xdf 0x0c
    688 0x0c 0x28 0xdf 0x0c
    689 0x0a 0x78 0xdf 0x4c
    690 0x0a 0xa8 0xdf 0x4c
    691 0x0a 0x68 0xdf 0x4c
    692 0x0a 0x28 0xdf 0x4c
    693 0x2d 0x7c 0xdf 0x0c
    694 0x2d 0xac 0xdf 0x0c
    695 0x2d 0x6c 0xdf 0x0c
    696 0x2d 0x2c 0xdf 0x0c
    697 0x4f 0x7c 0xdf 0x4c
    698 0x4f 0xac 0xdf 0x4c
    699 0x4f 0x6c 0xdf 0x4c
    700 0x4f 0x2c 0xdf 0x4c
    701 
    702 # CHECK: ld1.8b { v1 }, [x2], #8
    703 # CHECK: ld1.8b { v1, v2 }, [x2], #16
    704 # CHECK: ld1.8b { v1, v2, v3 }, [x2], #24
    705 # CHECK: ld1.8b { v1, v2, v3, v4 }, [x2], #32
    706 # CHECK: ld1.16b { v2 }, [x2], #16
    707 # CHECK: ld1.16b { v2, v3 }, [x2], #32
    708 # CHECK: ld1.16b { v2, v3, v4 }, [x2], #48
    709 # CHECK: ld1.16b { v2, v3, v4, v5 }, [x2], #64
    710 # CHECK: ld1.4h { v4 }, [x3], #8
    711 # CHECK: ld1.4h { v4, v5 }, [x3], #16
    712 # CHECK: ld1.4h { v4, v5, v6 }, [x3], #24
    713 # CHECK: ld1.4h { v4, v5, v6, v7 }, [x3], #32
    714 # CHECK: ld1.8h { v7 }, [x4], #16
    715 # CHECK: ld1.8h { v7, v8 }, [x4], #32
    716 # CHECK: ld1.8h { v7, v8, v9 }, [x4], #48
    717 # CHECK: ld1.8h { v7, v8, v9, v10 }, [x4], #64
    718 # CHECK: ld1.2s { v12 }, [x0], #8
    719 # CHECK: ld1.2s { v12, v13 }, [x0], #16
    720 # CHECK: ld1.2s { v12, v13, v14 }, [x0], #24
    721 # CHECK: ld1.2s { v12, v13, v14, v15 }, [x0], #32
    722 # CHECK: ld1.4s { v10 }, [x0], #16
    723 # CHECK: ld1.4s { v10, v11 }, [x0], #32
    724 # CHECK: ld1.4s { v10, v11, v12 }, [x0], #48
    725 # CHECK: ld1.4s { v10, v11, v12, v13 }, [x0], #64
    726 # CHECK: ld1.1d { v13 }, [x1], #8
    727 # CHECK: ld1.1d { v13, v14 }, [x1], #16
    728 # CHECK: ld1.1d { v13, v14, v15 }, [x1], #24
    729 # CHECK: ld1.1d { v13, v14, v15, v16 }, [x1], #32
    730 # CHECK: ld1.2d { v15 }, [x2], #16
    731 # CHECK: ld1.2d { v15, v16 }, [x2], #32
    732 # CHECK: ld1.2d { v15, v16, v17 }, [x2], #48
    733 # CHECK: ld1.2d { v15, v16, v17, v18 }, [x2], #64
    734 
    735 0x21 0x70 0x00 0x0c
    736 0x42 0xa0 0x00 0x4c
    737 0x64 0x64 0x00 0x0c
    738 0x87 0x24 0x00 0x4c
    739 0x0c 0xa8 0x00 0x0c
    740 0x0a 0x68 0x00 0x4c
    741 0x2d 0xac 0x00 0x0c
    742 0x4f 0x7c 0x00 0x4c
    743 
    744 # CHECK: st1.8b { v1 }, [x1]
    745 # CHECK: st1.16b { v2, v3 }, [x2]
    746 # CHECK: st1.4h { v4, v5, v6 }, [x3]
    747 # CHECK: st1.8h { v7, v8, v9, v10 }, [x4]
    748 # CHECK: st1.2s { v12, v13 }, [x0]
    749 # CHECK: st1.4s { v10, v11, v12 }, [x0]
    750 # CHECK: st1.1d { v13, v14 }, [x1]
    751 # CHECK: st1.2d	{ v15 }, [x2]
    752 
    753 0x61 0x08 0x40 0x0d
    754 0x82 0x84 0x40 0x4d
    755 0xa3 0x58 0x40 0x0d
    756 0xc4 0x80 0x40 0x4d
    757 
    758 # CHECK: ld1.b { v1 }[2], [x3]
    759 # CHECK: ld1.d { v2 }[1], [x4]
    760 # CHECK: ld1.h { v3 }[3], [x5]
    761 # CHECK: ld1.s { v4 }[2], [x6]
    762 
    763 0x61 0x08 0xdf 0x0d
    764 0x82 0x84 0xdf 0x4d
    765 0xa3 0x58 0xdf 0x0d
    766 0xc4 0x80 0xdf 0x4d
    767 
    768 # CHECK: ld1.b { v1 }[2], [x3], #1
    769 # CHECK: ld1.d { v2 }[1], [x4], #8
    770 # CHECK: ld1.h { v3 }[3], [x5], #2
    771 # CHECK: ld1.s { v4 }[2], [x6], #4
    772 
    773 0x61 0x08 0x00 0x0d
    774 0x82 0x84 0x00 0x4d
    775 0xa3 0x58 0x00 0x0d
    776 0xc4 0x80 0x00 0x4d
    777 
    778 # CHECK: st1.b { v1 }[2], [x3]
    779 # CHECK: st1.d { v2 }[1], [x4]
    780 # CHECK: st1.h { v3 }[3], [x5]
    781 # CHECK: st1.s { v4 }[2], [x6]
    782 
    783 0x61 0x08 0x9f 0x0d
    784 0x82 0x84 0x9f 0x4d
    785 0xa3 0x58 0x9f 0x0d
    786 0xc4 0x80 0x9f 0x4d
    787 
    788 # CHECK: st1.b { v1 }[2], [x3], #1
    789 # CHECK: st1.d { v2 }[1], [x4], #8
    790 # CHECK: st1.h { v3 }[3], [x5], #2
    791 # CHECK: st1.s { v4 }[2], [x6], #4
    792 
    793 0x61 0x08 0xc4 0x0d
    794 0x82 0x84 0xc5 0x4d
    795 0xa3 0x58 0xc6 0x0d
    796 0xc4 0x80 0xc7 0x4d
    797 
    798 # CHECK: ld1.b { v1 }[2], [x3], x4
    799 # CHECK: ld1.d { v2 }[1], [x4], x5
    800 # CHECK: ld1.h { v3 }[3], [x5], x6
    801 # CHECK: ld1.s { v4 }[2], [x6], x7
    802 
    803 0x61 0x08 0x84 0x0d
    804 0x82 0x84 0x85 0x4d
    805 0xa3 0x58 0x86 0x0d
    806 0xc4 0x80 0x87 0x4d
    807 
    808 # CHECK: st1.b { v1 }[2], [x3], x4
    809 # CHECK: st1.d { v2 }[1], [x4], x5
    810 # CHECK: st1.h { v3 }[3], [x5], x6
    811 # CHECK: st1.s { v4 }[2], [x6], x7
    812 
    813 0x41 0x70 0xc3 0x0c
    814 0x42 0xa0 0xc4 0x4c
    815 0x64 0x64 0xc5 0x0c
    816 0x87 0x24 0xc6 0x4c
    817 0x0c 0xa8 0xc7 0x0c
    818 0x0a 0x68 0xc8 0x4c
    819 0x2d 0xac 0xc9 0x0c
    820 0x4f 0x7c 0xca 0x4c
    821 
    822 # CHECK: ld1.8b { v1 }, [x2], x3
    823 # CHECK: ld1.16b { v2, v3 }, [x2], x4
    824 # CHECK: ld1.4h { v4, v5, v6 }, [x3], x5
    825 # CHECK: ld1.8h { v7, v8, v9, v10 }, [x4], x6
    826 # CHECK: ld1.2s { v12, v13 }, [x0], x7
    827 # CHECK: ld1.4s { v10, v11, v12 }, [x0], x8
    828 # CHECK: ld1.1d { v13, v14 }, [x1], x9
    829 # CHECK: ld1.2d { v15 }, [x2], x10
    830 
    831 0x41 0x70 0x83 0x0c
    832 0x42 0xa0 0x84 0x4c
    833 0x64 0x64 0x85 0x0c
    834 0x87 0x24 0x86 0x4c
    835 0x0c 0xa8 0x87 0x0c
    836 0x0a 0x68 0x88 0x4c
    837 0x2d 0xac 0x89 0x0c
    838 0x4f 0x7c 0x8a 0x4c
    839 
    840 # CHECK: st1.8b { v1 }, [x2], x3
    841 # CHECK: st1.16b { v2, v3 }, [x2], x4
    842 # CHECK: st1.4h { v4, v5, v6 }, [x3], x5
    843 # CHECK: st1.8h { v7, v8, v9, v10 }, [x4], x6
    844 # CHECK: st1.2s { v12, v13 }, [x0], x7
    845 # CHECK: st1.4s { v10, v11, v12 }, [x0], x8
    846 # CHECK: st1.1d { v13, v14 }, [x1], x9
    847 # CHECK: st1.2d { v15 }, [x2], x10
    848 
    849 0x41 0x70 0x9f 0x0c
    850 0x41 0xa0 0x9f 0x0c
    851 0x41 0x60 0x9f 0x0c
    852 0x41 0x20 0x9f 0x0c
    853 0x42 0x70 0x9f 0x4c
    854 0x42 0xa0 0x9f 0x4c
    855 0x42 0x60 0x9f 0x4c
    856 0x42 0x20 0x9f 0x4c
    857 0x64 0x74 0x9f 0x0c
    858 0x64 0xa4 0x9f 0x0c
    859 0x64 0x64 0x9f 0x0c
    860 0x64 0x24 0x9f 0x0c
    861 0x87 0x74 0x9f 0x4c
    862 0x87 0xa4 0x9f 0x4c
    863 0x87 0x64 0x9f 0x4c
    864 0x87 0x24 0x9f 0x4c
    865 0x0c 0x78 0x9f 0x0c
    866 0x0c 0xa8 0x9f 0x0c
    867 0x0c 0x68 0x9f 0x0c
    868 0x0c 0x28 0x9f 0x0c
    869 0x0a 0x78 0x9f 0x4c
    870 0x0a 0xa8 0x9f 0x4c
    871 0x0a 0x68 0x9f 0x4c
    872 0x0a 0x28 0x9f 0x4c
    873 0x2d 0x7c 0x9f 0x0c
    874 0x2d 0xac 0x9f 0x0c
    875 0x2d 0x6c 0x9f 0x0c
    876 0x2d 0x2c 0x9f 0x0c
    877 0x4f 0x7c 0x9f 0x4c
    878 0x4f 0xac 0x9f 0x4c
    879 0x4f 0x6c 0x9f 0x4c
    880 0x4f 0x2c 0x9f 0x4c
    881 
    882 # CHECK: st1.8b { v1 }, [x2], #8
    883 # CHECK: st1.8b { v1, v2 }, [x2], #16
    884 # CHECK: st1.8b { v1, v2, v3 }, [x2], #24
    885 # CHECK: st1.8b { v1, v2, v3, v4 }, [x2], #32
    886 # CHECK: st1.16b { v2 }, [x2], #16
    887 # CHECK: st1.16b { v2, v3 }, [x2], #32
    888 # CHECK: st1.16b { v2, v3, v4 }, [x2], #48
    889 # CHECK: st1.16b { v2, v3, v4, v5 }, [x2], #64
    890 # CHECK: st1.4h { v4 }, [x3], #8
    891 # CHECK: st1.4h { v4, v5 }, [x3], #16
    892 # CHECK: st1.4h { v4, v5, v6 }, [x3], #24
    893 # CHECK: st1.4h { v4, v5, v6, v7 }, [x3], #32
    894 # CHECK: st1.8h { v7 }, [x4], #16
    895 # CHECK: st1.8h { v7, v8 }, [x4], #32
    896 # CHECK: st1.8h { v7, v8, v9 }, [x4], #48
    897 # CHECK: st1.8h { v7, v8, v9, v10 }, [x4], #64
    898 # CHECK: st1.2s { v12 }, [x0], #8
    899 # CHECK: st1.2s { v12, v13 }, [x0], #16
    900 # CHECK: st1.2s { v12, v13, v14 }, [x0], #24
    901 # CHECK: st1.2s { v12, v13, v14, v15 }, [x0], #32
    902 # CHECK: st1.4s { v10 }, [x0], #16
    903 # CHECK: st1.4s { v10, v11 }, [x0], #32
    904 # CHECK: st1.4s { v10, v11, v12 }, [x0], #48
    905 # CHECK: st1.4s { v10, v11, v12, v13 }, [x0], #64
    906 # CHECK: st1.1d { v13 }, [x1], #8
    907 # CHECK: st1.1d { v13, v14 }, [x1], #16
    908 # CHECK: st1.1d { v13, v14, v15 }, [x1], #24
    909 # CHECK: st1.1d { v13, v14, v15, v16 }, [x1], #32
    910 # CHECK: st1.2d { v15 }, [x2], #16
    911 # CHECK: st1.2d { v15, v16 }, [x2], #32
    912 # CHECK: st1.2d { v15, v16, v17 }, [x2], #48
    913 # CHECK: st1.2d { v15, v16, v17, v18 }, [x2], #64
    914 
    915 0x21 0xc0 0x40 0x0d
    916 0x21 0xc0 0xc2 0x0d
    917 0x64 0xc4 0x40 0x0d
    918 0x64 0xc4 0xc5 0x0d
    919 0xa9 0xc8 0x40 0x0d
    920 0xa9 0xc8 0xc6 0x0d
    921 0xec 0xcc 0x40 0x0d
    922 0xec 0xcc 0xc8 0x0d
    923 
    924 # CHECK: ld1r.8b { v1 }, [x1]
    925 # CHECK: ld1r.8b { v1 }, [x1], x2
    926 # CHECK: ld1r.4h { v4 }, [x3]
    927 # CHECK: ld1r.4h { v4 }, [x3], x5
    928 # CHECK: ld1r.2s { v9 }, [x5]
    929 # CHECK: ld1r.2s { v9 }, [x5], x6
    930 # CHECK: ld1r.1d { v12 }, [x7]
    931 # CHECK: ld1r.1d { v12 }, [x7], x8
    932 
    933 0x21 0xc0 0xdf 0x0d
    934 0x21 0xc4 0xdf 0x0d
    935 0x21 0xc8 0xdf 0x0d
    936 0x21 0xcc 0xdf 0x0d
    937 
    938 # CHECK: ld1r.8b { v1 }, [x1], #1
    939 # CHECK: ld1r.4h { v1 }, [x1], #2
    940 # CHECK: ld1r.2s { v1 }, [x1], #4
    941 # CHECK: ld1r.1d { v1 }, [x1], #8
    942 
    943 0x45 0x80 0x40 0x4c
    944 0x0a 0x88 0x40 0x0c
    945 
    946 # CHECK: ld2.16b { v5, v6 }, [x2]
    947 # CHECK: ld2.2s { v10, v11 }, [x0]
    948 
    949 0x45 0x80 0x00 0x4c
    950 0x0a 0x88 0x00 0x0c
    951 
    952 # CHECK: st2.16b { v5, v6 }, [x2]
    953 # CHECK: st2.2s { v10, v11 }, [x0]
    954 
    955 0x61 0x08 0x20 0x0d
    956 0x82 0x84 0x20 0x4d
    957 0xc3 0x50 0x20 0x0d
    958 0xe4 0x90 0x20 0x4d
    959 
    960 # CHECK: st2.b { v1, v2 }[2], [x3]
    961 # CHECK: st2.d { v2, v3 }[1], [x4]
    962 # CHECK: st2.h { v3, v4 }[2], [x6]
    963 # CHECK: st2.s { v4, v5 }[3], [x7]
    964 
    965 0x61 0x08 0xbf 0x0d
    966 0x82 0x84 0xbf 0x4d
    967 0xa3 0x58 0xbf 0x0d
    968 0xc4 0x80 0xbf 0x4d
    969 
    970 # CHECK: st2.b { v1, v2 }[2], [x3], #2
    971 # CHECK: st2.d { v2, v3 }[1], [x4], #16
    972 # CHECK: st2.h { v3, v4 }[3], [x5], #4
    973 # CHECK: st2.s { v4, v5 }[2], [x6], #8
    974 
    975 0x61 0x08 0x60 0x0d
    976 0x82 0x84 0x60 0x4d
    977 0xc3 0x50 0x60 0x0d
    978 0xe4 0x90 0x60 0x4d
    979 
    980 # CHECK: ld2.b { v1, v2 }[2], [x3]
    981 # CHECK: ld2.d { v2, v3 }[1], [x4]
    982 # CHECK: ld2.h { v3, v4 }[2], [x6]
    983 # CHECK: ld2.s { v4, v5 }[3], [x7]
    984 
    985 0x61 0x08 0xff 0x0d
    986 0x82 0x84 0xff 0x4d
    987 0xa3 0x58 0xff 0x0d
    988 0xc4 0x80 0xff 0x4d
    989 
    990 # CHECK: ld2.b { v1, v2 }[2], [x3], #2
    991 # CHECK: ld2.d { v2, v3 }[1], [x4], #16
    992 # CHECK: ld2.h { v3, v4 }[3], [x5], #4
    993 # CHECK: ld2.s { v4, v5 }[2], [x6], #8
    994 
    995 0x61 0x08 0xe4 0x0d
    996 0x82 0x84 0xe6 0x4d
    997 0xa3 0x58 0xe8 0x0d
    998 0xc4 0x80 0xea 0x4d
    999 
   1000 # CHECK: ld2.b { v1, v2 }[2], [x3], x4
   1001 # CHECK: ld2.d { v2, v3 }[1], [x4], x6
   1002 # CHECK: ld2.h { v3, v4 }[3], [x5], x8
   1003 # CHECK: ld2.s { v4, v5 }[2], [x6], x10
   1004 
   1005 0x61 0x08 0xa4 0x0d
   1006 0x82 0x84 0xa6 0x4d
   1007 0xa3 0x58 0xa8 0x0d
   1008 0xc4 0x80 0xaa 0x4d
   1009 
   1010 # CHECK: st2.b { v1, v2 }[2], [x3], x4
   1011 # CHECK: st2.d { v2, v3 }[1], [x4], x6
   1012 # CHECK: st2.h { v3, v4 }[3], [x5], x8
   1013 # CHECK: st2.s { v4, v5 }[2], [x6], x10
   1014 
   1015 0x64 0x84 0xc5 0x0c
   1016 0x0c 0x88 0xc7 0x0c
   1017 
   1018 # CHECK: ld2.4h { v4, v5 }, [x3], x5
   1019 # CHECK: ld2.2s { v12, v13 }, [x0], x7
   1020 
   1021 0x00 0x80 0xdf 0x0c
   1022 0x00 0x80 0xdf 0x4c
   1023 0x00 0x84 0xdf 0x0c
   1024 0x00 0x84 0xdf 0x4c
   1025 0x00 0x88 0xdf 0x0c
   1026 0x00 0x88 0xdf 0x4c
   1027 0x00 0x8c 0xdf 0x4c
   1028 
   1029 # CHECK: ld2.8b { v0, v1 }, [x0], #16
   1030 # CHECK: ld2.16b { v0, v1 }, [x0], #32
   1031 # CHECK: ld2.4h { v0, v1 }, [x0], #16
   1032 # CHECK: ld2.8h { v0, v1 }, [x0], #32
   1033 # CHECK: ld2.2s { v0, v1 }, [x0], #16
   1034 # CHECK: ld2.4s { v0, v1 }, [x0], #32
   1035 # CHECK: ld2.2d { v0, v1 }, [x0], #32
   1036 
   1037 0x64 0x84 0x85 0x0c
   1038 0x0c 0x88 0x87 0x0c
   1039 
   1040 # CHECK: st2.4h { v4, v5 }, [x3], x5
   1041 # CHECK: st2.2s { v12, v13 }, [x0], x7
   1042 
   1043 0x00 0x80 0x9f 0x0c
   1044 0x00 0x80 0x9f 0x4c
   1045 0x00 0x84 0x9f 0x0c
   1046 0x00 0x84 0x9f 0x4c
   1047 0x00 0x88 0x9f 0x0c
   1048 0x00 0x88 0x9f 0x4c
   1049 0x00 0x8c 0x9f 0x4c
   1050 
   1051 # CHECK: st2.8b { v0, v1 }, [x0], #16
   1052 # CHECK: st2.16b { v0, v1 }, [x0], #32
   1053 # CHECK: st2.4h { v0, v1 }, [x0], #16
   1054 # CHECK: st2.8h { v0, v1 }, [x0], #32
   1055 # CHECK: st2.2s { v0, v1 }, [x0], #16
   1056 # CHECK: st2.4s { v0, v1 }, [x0], #32
   1057 # CHECK: st2.2d { v0, v1 }, [x0], #32
   1058 
   1059 0x21 0xc0 0x60 0x0d
   1060 0x21 0xc0 0xe2 0x0d
   1061 0x21 0xc0 0x60 0x4d
   1062 0x21 0xc0 0xe2 0x4d
   1063 0x21 0xc4 0x60 0x0d
   1064 0x21 0xc4 0xe2 0x0d
   1065 0x21 0xc4 0x60 0x4d
   1066 0x21 0xc4 0xe2 0x4d
   1067 0x21 0xc8 0x60 0x0d
   1068 0x21 0xc8 0xe2 0x0d
   1069 0x21 0xcc 0x60 0x4d
   1070 0x21 0xcc 0xe2 0x4d
   1071 0x21 0xcc 0x60 0x0d
   1072 0x21 0xcc 0xe2 0x0d
   1073 
   1074 # CHECK: ld2r.8b { v1, v2 }, [x1]
   1075 # CHECK: ld2r.8b { v1, v2 }, [x1], x2
   1076 # CHECK: ld2r.16b { v1, v2 }, [x1]
   1077 # CHECK: ld2r.16b { v1, v2 }, [x1], x2
   1078 # CHECK: ld2r.4h { v1, v2 }, [x1]
   1079 # CHECK: ld2r.4h { v1, v2 }, [x1], x2
   1080 # CHECK: ld2r.8h { v1, v2 }, [x1]
   1081 # CHECK: ld2r.8h { v1, v2 }, [x1], x2
   1082 # CHECK: ld2r.2s { v1, v2 }, [x1]
   1083 # CHECK: ld2r.2s { v1, v2 }, [x1], x2
   1084 # CHECK: ld2r.2d { v1, v2 }, [x1]
   1085 # CHECK: ld2r.2d { v1, v2 }, [x1], x2
   1086 # CHECK: ld2r.1d { v1, v2 }, [x1]
   1087 # CHECK: ld2r.1d { v1, v2 }, [x1], x2
   1088 
   1089 0x21 0xc0 0xff 0x0d
   1090 0x21 0xc0 0xff 0x4d
   1091 0x21 0xc4 0xff 0x0d
   1092 0x21 0xc4 0xff 0x4d
   1093 0x21 0xc8 0xff 0x0d
   1094 0x21 0xcc 0xff 0x4d
   1095 0x21 0xcc 0xff 0x0d
   1096 
   1097 # CHECK: ld2r.8b { v1, v2 }, [x1], #2
   1098 # CHECK: ld2r.16b { v1, v2 }, [x1], #2
   1099 # CHECK: ld2r.4h { v1, v2 }, [x1], #4
   1100 # CHECK: ld2r.8h { v1, v2 }, [x1], #4
   1101 # CHECK: ld2r.2s { v1, v2 }, [x1], #8
   1102 # CHECK: ld2r.2d { v1, v2 }, [x1], #16
   1103 # CHECK: ld2r.1d { v1, v2 }, [x1], #16
   1104 
   1105 0x21 0x40 0x40 0x0c
   1106 0x45 0x40 0x40 0x4c
   1107 0x0a 0x48 0x40 0x0c
   1108 
   1109 # CHECK: ld3.8b { v1, v2, v3 }, [x1]
   1110 # CHECK: ld3.16b { v5, v6, v7 }, [x2]
   1111 # CHECK: ld3.2s { v10, v11, v12 }, [x0]
   1112 
   1113 0x21 0x40 0x00 0x0c
   1114 0x45 0x40 0x00 0x4c
   1115 0x0a 0x48 0x00 0x0c
   1116 
   1117 # CHECK: st3.8b { v1, v2, v3 }, [x1]
   1118 # CHECK: st3.16b { v5, v6, v7 }, [x2]
   1119 # CHECK: st3.2s { v10, v11, v12 }, [x0]
   1120 
   1121 0x61 0x28 0xc4 0x0d
   1122 0x82 0xa4 0xc5 0x4d
   1123 0xa3 0x78 0xc6 0x0d
   1124 0xc4 0xa0 0xc7 0x4d
   1125 
   1126 # CHECK: ld3.b { v1, v2, v3 }[2], [x3], x4
   1127 # CHECK: ld3.d { v2, v3, v4 }[1], [x4], x5
   1128 # CHECK: ld3.h { v3, v4, v5 }[3], [x5], x6
   1129 # CHECK: ld3.s { v4, v5, v6 }[2], [x6], x7
   1130 
   1131 0x61 0x28 0x84 0x0d
   1132 0x82 0xa4 0x85 0x4d
   1133 0xa3 0x78 0x86 0x0d
   1134 0xc4 0xa0 0x87 0x4d
   1135 
   1136 # CHECK: st3.b { v1, v2, v3 }[2], [x3], x4
   1137 # CHECK: st3.d { v2, v3, v4 }[1], [x4], x5
   1138 # CHECK: st3.h { v3, v4, v5 }[3], [x5], x6
   1139 # CHECK: st3.s { v4, v5, v6 }[2], [x6], x7
   1140 
   1141 0x61 0x28 0x9f 0x0d
   1142 0x82 0xa4 0x9f 0x4d
   1143 0xa3 0x78 0x9f 0x0d
   1144 0xc4 0xa0 0x9f 0x4d
   1145 
   1146 # CHECK: st3.b { v1, v2, v3 }[2], [x3], #3
   1147 # CHECK: st3.d { v2, v3, v4 }[1], [x4], #24
   1148 # CHECK: st3.h { v3, v4, v5 }[3], [x5], #6
   1149 # CHECK: st3.s { v4, v5, v6 }[2], [x6], #12
   1150 
   1151 0x41 0x40 0xc3 0x0c
   1152 0x42 0x40 0xc4 0x4c
   1153 0x64 0x44 0xc5 0x0c
   1154 0x87 0x44 0xc6 0x4c
   1155 0x0c 0x48 0xc7 0x0c
   1156 0x0a 0x48 0xc8 0x4c
   1157 0x4f 0x4c 0xca 0x4c
   1158 
   1159 # CHECK: ld3.8b { v1, v2, v3 }, [x2], x3
   1160 # CHECK: ld3.16b { v2, v3, v4 }, [x2], x4
   1161 # CHECK: ld3.4h { v4, v5, v6 }, [x3], x5
   1162 # CHECK: ld3.8h { v7, v8, v9 }, [x4], x6
   1163 # CHECK: ld3.2s { v12, v13, v14 }, [x0], x7
   1164 # CHECK: ld3.4s { v10, v11, v12 }, [x0], x8
   1165 # CHECK: ld3.2d { v15, v16, v17 }, [x2], x10
   1166 
   1167 0x00 0x40 0xdf 0x0c
   1168 0x00 0x40 0xdf 0x4c
   1169 0x00 0x44 0xdf 0x0c
   1170 0x00 0x44 0xdf 0x4c
   1171 0x00 0x48 0xdf 0x0c
   1172 0x00 0x48 0xdf 0x4c
   1173 0x00 0x4c 0xdf 0x4c
   1174 
   1175 # CHECK: ld3.8b { v0, v1, v2 }, [x0], #24
   1176 # CHECK: ld3.16b { v0, v1, v2 }, [x0], #48
   1177 # CHECK: ld3.4h { v0, v1, v2 }, [x0], #24
   1178 # CHECK: ld3.8h { v0, v1, v2 }, [x0], #48
   1179 # CHECK: ld3.2s { v0, v1, v2 }, [x0], #24
   1180 # CHECK: ld3.4s { v0, v1, v2 }, [x0], #48
   1181 # CHECK: ld3.2d { v0, v1, v2 }, [x0], #48
   1182 
   1183 0x41 0x40 0x83 0x0c
   1184 0x42 0x40 0x84 0x4c
   1185 0x64 0x44 0x85 0x0c
   1186 0x87 0x44 0x86 0x4c
   1187 0x0c 0x48 0x87 0x0c
   1188 0x0a 0x48 0x88 0x4c
   1189 0x4f 0x4c 0x8a 0x4c
   1190 
   1191 # CHECK: st3.8b { v1, v2, v3 }, [x2], x3
   1192 # CHECK: st3.16b { v2, v3, v4 }, [x2], x4
   1193 # CHECK: st3.4h { v4, v5, v6 }, [x3], x5
   1194 # CHECK: st3.8h { v7, v8, v9 }, [x4], x6
   1195 # CHECK: st3.2s { v12, v13, v14 }, [x0], x7
   1196 # CHECK: st3.4s { v10, v11, v12 }, [x0], x8
   1197 # CHECK: st3.2d { v15, v16, v17 }, [x2], x10
   1198 
   1199 0x00 0x40 0x9f 0x0c
   1200 0x00 0x40 0x9f 0x4c
   1201 0x00 0x44 0x9f 0x0c
   1202 0x00 0x44 0x9f 0x4c
   1203 0x00 0x48 0x9f 0x0c
   1204 0x00 0x48 0x9f 0x4c
   1205 0x00 0x4c 0x9f 0x4c
   1206 
   1207 # CHECK: st3.8b { v0, v1, v2 }, [x0], #24
   1208 # CHECK: st3.16b { v0, v1, v2 }, [x0], #48
   1209 # CHECK: st3.4h { v0, v1, v2 }, [x0], #24
   1210 # CHECK: st3.8h { v0, v1, v2 }, [x0], #48
   1211 # CHECK: st3.2s { v0, v1, v2 }, [x0], #24
   1212 # CHECK: st3.4s { v0, v1, v2 }, [x0], #48
   1213 # CHECK: st3.2d { v0, v1, v2 }, [x0], #48
   1214 
   1215 0x61 0x28 0x40 0x0d
   1216 0x82 0xa4 0x40 0x4d
   1217 0xc3 0x70 0x40 0x0d
   1218 0xe4 0xb0 0x40 0x4d
   1219 
   1220 # CHECK: ld3.b { v1, v2, v3 }[2], [x3]
   1221 # CHECK: ld3.d { v2, v3, v4 }[1], [x4]
   1222 # CHECK: ld3.h { v3, v4, v5 }[2], [x6]
   1223 # CHECK: ld3.s { v4, v5, v6 }[3], [x7]
   1224 
   1225 0x61 0x28 0xdf 0x0d
   1226 0x82 0xa4 0xdf 0x4d
   1227 0xa3 0x78 0xdf 0x0d
   1228 0xc4 0xa0 0xdf 0x4d
   1229 
   1230 # CHECK: ld3.b { v1, v2, v3 }[2], [x3], #3
   1231 # CHECK: ld3.d { v2, v3, v4 }[1], [x4], #24
   1232 # CHECK: ld3.h { v3, v4, v5 }[3], [x5], #6
   1233 # CHECK: ld3.s { v4, v5, v6 }[2], [x6], #12
   1234 
   1235 0x61 0x28 0x00 0x0d
   1236 0x82 0xa4 0x00 0x4d
   1237 0xc3 0x70 0x00 0x0d
   1238 0xe4 0xb0 0x00 0x4d
   1239 
   1240 # CHECK: st3.b { v1, v2, v3 }[2], [x3]
   1241 # CHECK: st3.d { v2, v3, v4 }[1], [x4]
   1242 # CHECK: st3.h { v3, v4, v5 }[2], [x6]
   1243 # CHECK: st3.s { v4, v5, v6 }[3], [x7]
   1244 
   1245 0x21 0xe0 0x40 0x0d
   1246 0x21 0xe0 0xc2 0x0d
   1247 0x21 0xe0 0x40 0x4d
   1248 0x21 0xe0 0xc2 0x4d
   1249 0x21 0xe4 0x40 0x0d
   1250 0x21 0xe4 0xc2 0x0d
   1251 0x21 0xe4 0x40 0x4d
   1252 0x21 0xe4 0xc2 0x4d
   1253 0x21 0xe8 0x40 0x0d
   1254 0x21 0xe8 0xc2 0x0d
   1255 0x21 0xec 0x40 0x4d
   1256 0x21 0xec 0xc2 0x4d
   1257 0x21 0xec 0x40 0x0d
   1258 0x21 0xec 0xc2 0x0d
   1259 
   1260 # CHECK: ld3r.8b { v1, v2, v3 }, [x1]
   1261 # CHECK: ld3r.8b { v1, v2, v3 }, [x1], x2
   1262 # CHECK: ld3r.16b { v1, v2, v3 }, [x1]
   1263 # CHECK: ld3r.16b { v1, v2, v3 }, [x1], x2
   1264 # CHECK: ld3r.4h { v1, v2, v3 }, [x1]
   1265 # CHECK: ld3r.4h { v1, v2, v3 }, [x1], x2
   1266 # CHECK: ld3r.8h { v1, v2, v3 }, [x1]
   1267 # CHECK: ld3r.8h { v1, v2, v3 }, [x1], x2
   1268 # CHECK: ld3r.2s { v1, v2, v3 }, [x1]
   1269 # CHECK: ld3r.2s { v1, v2, v3 }, [x1], x2
   1270 # CHECK: ld3r.2d { v1, v2, v3 }, [x1]
   1271 # CHECK: ld3r.2d { v1, v2, v3 }, [x1], x2
   1272 # CHECK: ld3r.1d { v1, v2, v3 }, [x1]
   1273 # CHECK: ld3r.1d { v1, v2, v3 }, [x1], x2
   1274 
   1275 0x21 0xe0 0xdf 0x0d
   1276 0x21 0xe0 0xdf 0x4d
   1277 0x21 0xe4 0xdf 0x0d
   1278 0x21 0xe4 0xdf 0x4d
   1279 0x21 0xe8 0xdf 0x0d
   1280 0x21 0xec 0xdf 0x4d
   1281 0x21 0xec 0xdf 0x0d
   1282 
   1283 # CHECK: ld3r.8b	{ v1, v2, v3 }, [x1], #3
   1284 # CHECK: ld3r.16b	{ v1, v2, v3 }, [x1], #3
   1285 # CHECK: ld3r.4h	{ v1, v2, v3 }, [x1], #6
   1286 # CHECK: ld3r.8h	{ v1, v2, v3 }, [x1], #6
   1287 # CHECK: ld3r.2s	{ v1, v2, v3 }, [x1], #12
   1288 # CHECK: ld3r.2d	{ v1, v2, v3 }, [x1], #24
   1289 # CHECK: ld3r.1d	{ v1, v2, v3 }, [x1], #24
   1290 
   1291 0x21 0x00 0x40 0x0c
   1292 0x45 0x00 0x40 0x4c
   1293 0x0a 0x08 0x40 0x0c
   1294 
   1295 # CHECK: ld4.8b { v1, v2, v3, v4 }, [x1]
   1296 # CHECK: ld4.16b { v5, v6, v7, v8 }, [x2]
   1297 # CHECK: ld4.2s { v10, v11, v12, v13 }, [x0]
   1298 
   1299 0x21 0x00 0x00 0x0c
   1300 0x45 0x00 0x00 0x4c
   1301 0x0a 0x08 0x00 0x0c
   1302 
   1303 # CHECK: st4.8b { v1, v2, v3, v4 }, [x1]
   1304 # CHECK: st4.16b { v5, v6, v7, v8 }, [x2]
   1305 # CHECK: st4.2s { v10, v11, v12, v13 }, [x0]
   1306 
   1307 0x61 0x28 0xe4 0x0d
   1308 0x82 0xa4 0xe5 0x4d
   1309 0xa3 0x78 0xe6 0x0d
   1310 0xc4 0xa0 0xe7 0x4d
   1311 
   1312 # CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3], x4
   1313 # CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4], x5
   1314 # CHECK: ld4.h { v3, v4, v5, v6 }[3], [x5], x6
   1315 # CHECK: ld4.s { v4, v5, v6, v7 }[2], [x6], x7
   1316 
   1317 0x61 0x28 0xff 0x0d
   1318 0x82 0xa4 0xff 0x4d
   1319 0xa3 0x78 0xff 0x0d
   1320 0xc4 0xa0 0xff 0x4d
   1321 
   1322 # CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3], #4
   1323 # CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4], #32
   1324 # CHECK: ld4.h { v3, v4, v5, v6 }[3], [x5], #8
   1325 # CHECK: ld4.s { v4, v5, v6, v7 }[2], [x6], #16
   1326 
   1327 0x61 0x28 0xa4 0x0d
   1328 0x82 0xa4 0xa5 0x4d
   1329 0xa3 0x78 0xa6 0x0d
   1330 0xc4 0xa0 0xa7 0x4d
   1331 
   1332 # CHECK: st4.b { v1, v2, v3, v4 }[2], [x3], x4
   1333 # CHECK: st4.d { v2, v3, v4, v5 }[1], [x4], x5
   1334 # CHECK: st4.h { v3, v4, v5, v6 }[3], [x5], x6
   1335 # CHECK: st4.s { v4, v5, v6, v7 }[2], [x6], x7
   1336 
   1337 0x61 0x28 0xbf 0x0d
   1338 0x82 0xa4 0xbf 0x4d
   1339 0xa3 0x78 0xbf 0x0d
   1340 0xc4 0xa0 0xbf 0x4d
   1341 
   1342 # CHECK: st4.b { v1, v2, v3, v4 }[2], [x3], #4
   1343 # CHECK: st4.d { v2, v3, v4, v5 }[1], [x4], #32
   1344 # CHECK: st4.h { v3, v4, v5, v6 }[3], [x5], #8
   1345 # CHECK: st4.s { v4, v5, v6, v7 }[2], [x6], #16
   1346 
   1347 0x41 0x00 0xc3 0x0c
   1348 0x42 0x00 0xc4 0x4c
   1349 0x64 0x04 0xc5 0x0c
   1350 0x87 0x04 0xc6 0x4c
   1351 0x0c 0x08 0xc7 0x0c
   1352 0x0a 0x08 0xc8 0x4c
   1353 0x4f 0x0c 0xca 0x4c
   1354 
   1355 # CHECK: ld4.8b { v1, v2, v3, v4 }, [x2], x3
   1356 # CHECK: ld4.16b { v2, v3, v4, v5 }, [x2], x4
   1357 # CHECK: ld4.4h { v4, v5, v6, v7 }, [x3], x5
   1358 # CHECK: ld4.8h { v7, v8, v9, v10 }, [x4], x6
   1359 # CHECK: ld4.2s { v12, v13, v14, v15 }, [x0], x7
   1360 # CHECK: ld4.4s { v10, v11, v12, v13 }, [x0], x8
   1361 # CHECK: ld4.2d { v15, v16, v17, v18 }, [x2], x10
   1362 
   1363 0x00 0x00 0xdf 0x0c
   1364 0x00 0x00 0xdf 0x4c
   1365 0x00 0x04 0xdf 0x0c
   1366 0x00 0x04 0xdf 0x4c
   1367 0x00 0x08 0xdf 0x0c
   1368 0x00 0x08 0xdf 0x4c
   1369 0x00 0x0c 0xdf 0x4c
   1370 
   1371 # CHECK: ld4.8b { v0, v1, v2, v3 }, [x0], #32
   1372 # CHECK: ld4.16b { v0, v1, v2, v3 }, [x0], #64
   1373 # CHECK: ld4.4h { v0, v1, v2, v3 }, [x0], #32
   1374 # CHECK: ld4.8h { v0, v1, v2, v3 }, [x0], #64
   1375 # CHECK: ld4.2s { v0, v1, v2, v3 }, [x0], #32
   1376 # CHECK: ld4.4s { v0, v1, v2, v3 }, [x0], #64
   1377 # CHECK: ld4.2d { v0, v1, v2, v3 }, [x0], #64
   1378 
   1379 0x00 0x00 0x9f 0x0c
   1380 0x00 0x00 0x9f 0x4c
   1381 0x00 0x04 0x9f 0x0c
   1382 0x00 0x04 0x9f 0x4c
   1383 0x00 0x08 0x9f 0x0c
   1384 0x00 0x08 0x9f 0x4c
   1385 0x00 0x0c 0x9f 0x4c
   1386 
   1387 # CHECK: st4.8b { v0, v1, v2, v3 }, [x0], #32
   1388 # CHECK: st4.16b { v0, v1, v2, v3 }, [x0], #64
   1389 # CHECK: st4.4h { v0, v1, v2, v3 }, [x0], #32
   1390 # CHECK: st4.8h { v0, v1, v2, v3 }, [x0], #64
   1391 # CHECK: st4.2s { v0, v1, v2, v3 }, [x0], #32
   1392 # CHECK: st4.4s { v0, v1, v2, v3 }, [x0], #64
   1393 # CHECK: st4.2d { v0, v1, v2, v3 }, [x0], #64
   1394 
   1395 0x41 0x00 0x83 0x0c
   1396 0x42 0x00 0x84 0x4c
   1397 0x64 0x04 0x85 0x0c
   1398 0x87 0x04 0x86 0x4c
   1399 0x0c 0x08 0x87 0x0c
   1400 0x0a 0x08 0x88 0x4c
   1401 0x4f 0x0c 0x8a 0x4c
   1402 
   1403 # CHECK: st4.8b { v1, v2, v3, v4 }, [x2], x3
   1404 # CHECK: st4.16b { v2, v3, v4, v5 }, [x2], x4
   1405 # CHECK: st4.4h { v4, v5, v6, v7 }, [x3], x5
   1406 # CHECK: st4.8h { v7, v8, v9, v10 }, [x4], x6
   1407 # CHECK: st4.2s { v12, v13, v14, v15 }, [x0], x7
   1408 # CHECK: st4.4s { v10, v11, v12, v13 }, [x0], x8
   1409 # CHECK: st4.2d { v15, v16, v17, v18 }, [x2], x10
   1410 
   1411 0x61 0x28 0x60 0x0d
   1412 0x82 0xa4 0x60 0x4d
   1413 0xc3 0x70 0x60 0x0d
   1414 0xe4 0xb0 0x60 0x4d
   1415 
   1416 # CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3]
   1417 # CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4]
   1418 # CHECK: ld4.h { v3, v4, v5, v6 }[2], [x6]
   1419 # CHECK: ld4.s { v4, v5, v6, v7 }[3], [x7]
   1420 
   1421 0x61 0x28 0x20 0x0d
   1422 0x82 0xa4 0x20 0x4d
   1423 0xc3 0x70 0x20 0x0d
   1424 0xe4 0xb0 0x20 0x4d
   1425 
   1426 # CHECK: st4.b { v1, v2, v3, v4 }[2], [x3]
   1427 # CHECK: st4.d { v2, v3, v4, v5 }[1], [x4]
   1428 # CHECK: st4.h { v3, v4, v5, v6 }[2], [x6]
   1429 # CHECK: st4.s { v4, v5, v6, v7 }[3], [x7]
   1430 
   1431 0x21 0xe0 0x60 0x0d
   1432 0x21 0xe0 0xe2 0x0d
   1433 0x21 0xe0 0x60 0x4d
   1434 0x21 0xe0 0xe2 0x4d
   1435 0x21 0xe4 0x60 0x0d
   1436 0x21 0xe4 0xe2 0x0d
   1437 0x21 0xe4 0x60 0x4d
   1438 0x21 0xe4 0xe2 0x4d
   1439 0x21 0xe8 0x60 0x0d
   1440 0x21 0xe8 0xe2 0x0d
   1441 0x21 0xec 0x60 0x4d
   1442 0x21 0xec 0xe2 0x4d
   1443 0x21 0xec 0x60 0x0d
   1444 0x21 0xec 0xe2 0x0d
   1445 
   1446 # CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1]
   1447 # CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1], x2
   1448 # CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1]
   1449 # CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1], x2
   1450 # CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1]
   1451 # CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1], x2
   1452 # CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1]
   1453 # CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1], x2
   1454 # CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1]
   1455 # CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1], x2
   1456 # CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1]
   1457 # CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1], x2
   1458 # CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1]
   1459 # CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1], x2
   1460 
   1461 0x21 0xe0 0xff 0x0d
   1462 0x21 0xe0 0xff 0x4d
   1463 0x21 0xe4 0xff 0x0d
   1464 0x21 0xe4 0xff 0x4d
   1465 0x21 0xe8 0xff 0x0d
   1466 0x21 0xec 0xff 0x4d
   1467 0x21 0xec 0xff 0x0d
   1468 
   1469 # CHECK: ld4r.8b	{ v1, v2, v3, v4 }, [x1], #4
   1470 # CHECK: ld4r.16b	{ v1, v2, v3, v4 }, [x1], #4
   1471 # CHECK: ld4r.4h	{ v1, v2, v3, v4 }, [x1], #8
   1472 # CHECK: ld4r.8h	{ v1, v2, v3, v4 }, [x1], #8
   1473 # CHECK: ld4r.2s	{ v1, v2, v3, v4 }, [x1], #16
   1474 # CHECK: ld4r.2d	{ v1, v2, v3, v4 }, [x1], #32
   1475 # CHECK: ld4r.1d	{ v1, v2, v3, v4 }, [x1], #32
   1476 
   1477 0x20 0xe4 0x00 0x2f
   1478 0x20 0xe4 0x00 0x6f
   1479 0x20 0xe4 0x00 0x0f
   1480 0x20 0xe4 0x00 0x4f
   1481 
   1482 # CHECK: movi     d0, #0x000000000000ff
   1483 # CHECK: movi.2d  v0, #0x000000000000ff
   1484 # CHECK: movi.8b  v0, #0x1
   1485 # CHECK: movi.16b v0, #0x1
   1486 
   1487 0x20 0x04 0x00 0x0f
   1488 0x20 0x24 0x00 0x0f
   1489 0x20 0x44 0x00 0x0f
   1490 0x20 0x64 0x00 0x0f
   1491 
   1492 # CHECK: movi.2s v0, #0x1
   1493 # CHECK: movi.2s v0, #0x1, lsl #8
   1494 # CHECK: movi.2s v0, #0x1, lsl #16
   1495 # CHECK: movi.2s v0, #0x1, lsl #24
   1496 
   1497 0x20 0x04 0x00 0x4f
   1498 0x20 0x24 0x00 0x4f
   1499 0x20 0x44 0x00 0x4f
   1500 0x20 0x64 0x00 0x4f
   1501 
   1502 # CHECK: movi.4s v0, #0x1
   1503 # CHECK: movi.4s v0, #0x1, lsl #8
   1504 # CHECK: movi.4s v0, #0x1, lsl #16
   1505 # CHECK: movi.4s v0, #0x1, lsl #24
   1506 
   1507 0x20 0x84 0x00 0x0f
   1508 0x20 0xa4 0x00 0x0f
   1509 
   1510 # CHECK: movi.4h v0, #0x1
   1511 # CHECK: movi.4h v0, #0x1, lsl #8
   1512 
   1513 0x20 0x84 0x00 0x4f
   1514 0x20 0xa4 0x00 0x4f
   1515 
   1516 # CHECK: movi.8h v0, #0x1
   1517 # CHECK: movi.8h v0, #0x1, lsl #8
   1518 
   1519 0x20 0x04 0x00 0x2f
   1520 0x20 0x24 0x00 0x2f
   1521 0x20 0x44 0x00 0x2f
   1522 0x20 0x64 0x00 0x2f
   1523 
   1524 # CHECK: mvni.2s v0, #0x1
   1525 # CHECK: mvni.2s v0, #0x1, lsl #8
   1526 # CHECK: mvni.2s v0, #0x1, lsl #16
   1527 # CHECK: mvni.2s v0, #0x1, lsl #24
   1528 
   1529 0x20 0x04 0x00 0x6f
   1530 0x20 0x24 0x00 0x6f
   1531 0x20 0x44 0x00 0x6f
   1532 0x20 0x64 0x00 0x6f
   1533 
   1534 # CHECK: mvni.4s v0, #0x1
   1535 # CHECK: mvni.4s v0, #0x1, lsl #8
   1536 # CHECK: mvni.4s v0, #0x1, lsl #16
   1537 # CHECK: mvni.4s v0, #0x1, lsl #24
   1538 
   1539 0x20 0x84 0x00 0x2f
   1540 0x20 0xa4 0x00 0x2f
   1541 
   1542 # CHECK: mvni.4h v0, #0x1
   1543 # CHECK: mvni.4h v0, #0x1, lsl #8
   1544 
   1545 0x20 0x84 0x00 0x6f
   1546 0x20 0xa4 0x00 0x6f
   1547 
   1548 # CHECK: mvni.8h v0, #0x1
   1549 # CHECK: mvni.8h v0, #0x1, lsl #8
   1550 
   1551 0x20 0xc4 0x00 0x2f
   1552 0x20 0xd4 0x00 0x2f
   1553 0x20 0xc4 0x00 0x6f
   1554 0x20 0xd4 0x00 0x6f
   1555 
   1556 # CHECK: mvni.2s v0, #0x1, msl #8
   1557 # CHECK: mvni.2s v0, #0x1, msl #16
   1558 # CHECK: mvni.4s v0, #0x1, msl #8
   1559 # CHECK: mvni.4s v0, #0x1, msl #16
   1560 
   1561 0x00 0x88 0x21 0x2e
   1562 0x00 0x98 0x21 0x2e
   1563 0x00 0x98 0xa1 0x2e
   1564 0x00 0x98 0x21 0x0e
   1565 0x00 0x88 0x21 0x0e
   1566 0x00 0x88 0xa1 0x0e
   1567 0x00 0x98 0xa1 0x0e
   1568 
   1569 # CHECK: frinta.2s	v0, v0
   1570 # CHECK: frintx.2s	v0, v0
   1571 # CHECK: frinti.2s	v0, v0
   1572 # CHECK: frintm.2s	v0, v0
   1573 # CHECK: frintn.2s	v0, v0
   1574 # CHECK: frintp.2s	v0, v0
   1575 # CHECK: frintz.2s	v0, v0
   1576 
   1577 #===-------------------------------------------------------------------------===
   1578 # AdvSIMD scalar x index instructions
   1579 #===-------------------------------------------------------------------------===
   1580 
   1581 0x00 0x18 0xa0 0x5f
   1582 0x00 0x18 0xc0 0x5f
   1583 0x00 0x58 0xa0 0x5f
   1584 0x00 0x58 0xc0 0x5f
   1585 0x00 0x98 0xa0 0x7f
   1586 0x00 0x98 0xc0 0x7f
   1587 0x00 0x98 0xa0 0x5f
   1588 0x00 0x98 0xc0 0x5f
   1589 0x00 0x38 0x70 0x5f
   1590 0x00 0x38 0xa0 0x5f
   1591 0x00 0x78 0x70 0x5f
   1592 0x00 0xc8 0x70 0x5f
   1593 0x00 0xc8 0xa0 0x5f
   1594 0x00 0xb8 0x70 0x5f
   1595 0x00 0xb8 0xa0 0x5f
   1596 0x00 0xd8 0x70 0x5f
   1597 0x00 0xd8 0xa0 0x5f
   1598 
   1599 # CHECK: fmla.s	s0, s0, v0[3]
   1600 # CHECK: fmla.d	d0, d0, v0[1]
   1601 # CHECK: fmls.s	s0, s0, v0[3]
   1602 # CHECK: fmls.d	d0, d0, v0[1]
   1603 # CHECK: fmulx.s	s0, s0, v0[3]
   1604 # CHECK: fmulx.d	d0, d0, v0[1]
   1605 # CHECK: fmul.s	s0, s0, v0[3]
   1606 # CHECK: fmul.d	d0, d0, v0[1]
   1607 # CHECK: sqdmlal.h	s0, h0, v0[7]
   1608 # CHECK: sqdmlal.s	d0, s0, v0[3]
   1609 # CHECK: sqdmlsl.h	s0, h0, v0[7]
   1610 # CHECK: sqdmulh.h	h0, h0, v0[7]
   1611 # CHECK: sqdmulh.s	s0, s0, v0[3]
   1612 # CHECK: sqdmull.h	s0, h0, v0[7]
   1613 # CHECK: sqdmull.s	d0, s0, v0[3]
   1614 # CHECK: sqrdmulh.h	h0, h0, v0[7]
   1615 # CHECK: sqrdmulh.s	s0, s0, v0[3]
   1616 
   1617 #===-------------------------------------------------------------------------===
   1618 # AdvSIMD vector x index instructions
   1619 #===-------------------------------------------------------------------------===
   1620 
   1621   0x00 0x10 0x80 0x0f
   1622   0x00 0x10 0xa0 0x4f
   1623   0x00 0x18 0xc0 0x4f
   1624   0x00 0x50 0x80 0x0f
   1625   0x00 0x50 0xa0 0x4f
   1626   0x00 0x58 0xc0 0x4f
   1627   0x00 0x90 0x80 0x2f
   1628   0x00 0x90 0xa0 0x6f
   1629   0x00 0x98 0xc0 0x6f
   1630   0x00 0x90 0x80 0x0f
   1631   0x00 0x90 0xa0 0x4f
   1632   0x00 0x98 0xc0 0x4f
   1633   0x00 0x00 0x40 0x2f
   1634   0x00 0x00 0x50 0x6f
   1635   0x00 0x08 0x80 0x2f
   1636   0x00 0x08 0xa0 0x6f
   1637   0x00 0x40 0x40 0x2f
   1638   0x00 0x40 0x50 0x6f
   1639   0x00 0x48 0x80 0x2f
   1640   0x00 0x48 0xa0 0x6f
   1641   0x00 0x80 0x40 0x0f
   1642   0x00 0x80 0x50 0x4f
   1643   0x00 0x88 0x80 0x0f
   1644   0x00 0x88 0xa0 0x4f
   1645   0x00 0x20 0x40 0x0f
   1646   0x00 0x20 0x50 0x4f
   1647   0x00 0x28 0x80 0x0f
   1648   0x00 0x28 0xa0 0x4f
   1649   0x00 0x60 0x40 0x0f
   1650   0x00 0x60 0x50 0x4f
   1651   0x00 0x68 0x80 0x0f
   1652   0x00 0x68 0xa0 0x4f
   1653   0x00 0xa0 0x40 0x0f
   1654   0x00 0xa0 0x50 0x4f
   1655   0x00 0xa8 0x80 0x0f
   1656   0x00 0xa8 0xa0 0x4f
   1657   0x00 0x30 0x40 0x0f
   1658   0x00 0x30 0x50 0x4f
   1659   0x00 0x38 0x80 0x0f
   1660   0x00 0x38 0xa0 0x4f
   1661   0x00 0x70 0x40 0x0f
   1662   0x00 0x70 0x50 0x4f
   1663   0x00 0x78 0x80 0x0f
   1664   0x00 0x78 0xa0 0x4f
   1665   0x00 0xc0 0x40 0x0f
   1666   0x00 0xc0 0x50 0x4f
   1667   0x00 0xc8 0x80 0x0f
   1668   0x00 0xc8 0xa0 0x4f
   1669   0x00 0xb0 0x40 0x0f
   1670   0x00 0xb0 0x50 0x4f
   1671   0x00 0xb8 0x80 0x0f
   1672   0x00 0xb8 0xa0 0x4f
   1673   0x00 0xd0 0x40 0x0f
   1674   0x00 0xd0 0x50 0x4f
   1675   0x00 0xd8 0x80 0x0f
   1676   0x00 0xd8 0xa0 0x4f
   1677   0x00 0x20 0x40 0x2f
   1678   0x00 0x20 0x50 0x6f
   1679   0x00 0x28 0x80 0x2f
   1680   0x00 0x28 0xa0 0x6f
   1681   0x00 0x60 0x40 0x2f
   1682   0x00 0x60 0x50 0x6f
   1683   0x00 0x68 0x80 0x2f
   1684   0x00 0x68 0xa0 0x6f
   1685   0x00 0xa0 0x40 0x2f
   1686   0x00 0xa0 0x50 0x6f
   1687   0x00 0xa8 0x80 0x2f
   1688   0x00 0xa8 0xa0 0x6f
   1689 
   1690 # CHECK: fmla.2s	v0, v0, v0[0]
   1691 # CHECK: fmla.4s	v0, v0, v0[1]
   1692 # CHECK: fmla.2d	v0, v0, v0[1]
   1693 # CHECK: fmls.2s	v0, v0, v0[0]
   1694 # CHECK: fmls.4s	v0, v0, v0[1]
   1695 # CHECK: fmls.2d	v0, v0, v0[1]
   1696 # CHECK: fmulx.2s	v0, v0, v0[0]
   1697 # CHECK: fmulx.4s	v0, v0, v0[1]
   1698 # CHECK: fmulx.2d	v0, v0, v0[1]
   1699 # CHECK: fmul.2s	v0, v0, v0[0]
   1700 # CHECK: fmul.4s	v0, v0, v0[1]
   1701 # CHECK: fmul.2d	v0, v0, v0[1]
   1702 # CHECK: mla.4h	v0, v0, v0[0]
   1703 # CHECK: mla.8h	v0, v0, v0[1]
   1704 # CHECK: mla.2s	v0, v0, v0[2]
   1705 # CHECK: mla.4s	v0, v0, v0[3]
   1706 # CHECK: mls.4h	v0, v0, v0[0]
   1707 # CHECK: mls.8h	v0, v0, v0[1]
   1708 # CHECK: mls.2s	v0, v0, v0[2]
   1709 # CHECK: mls.4s	v0, v0, v0[3]
   1710 # CHECK: mul.4h	v0, v0, v0[0]
   1711 # CHECK: mul.8h	v0, v0, v0[1]
   1712 # CHECK: mul.2s	v0, v0, v0[2]
   1713 # CHECK: mul.4s	v0, v0, v0[3]
   1714 # CHECK: smlal.4s	v0, v0, v0[0]
   1715 # CHECK: smlal2.4s	v0, v0, v0[1]
   1716 # CHECK: smlal.2d	v0, v0, v0[2]
   1717 # CHECK: smlal2.2d	v0, v0, v0[3]
   1718 # CHECK: smlsl.4s	v0, v0, v0[0]
   1719 # CHECK: smlsl2.4s	v0, v0, v0[1]
   1720 # CHECK: smlsl.2d	v0, v0, v0[2]
   1721 # CHECK: smlsl2.2d	v0, v0, v0[3]
   1722 # CHECK: smull.4s	v0, v0, v0[0]
   1723 # CHECK: smull2.4s	v0, v0, v0[1]
   1724 # CHECK: smull.2d	v0, v0, v0[2]
   1725 # CHECK: smull2.2d	v0, v0, v0[3]
   1726 # CHECK: sqdmlal.4s	v0, v0, v0[0]
   1727 # CHECK: sqdmlal2.4s	v0, v0, v0[1]
   1728 # CHECK: sqdmlal.2d	v0, v0, v0[2]
   1729 # CHECK: sqdmlal2.2d	v0, v0, v0[3]
   1730 # CHECK: sqdmlsl.4s	v0, v0, v0[0]
   1731 # CHECK: sqdmlsl2.4s	v0, v0, v0[1]
   1732 # CHECK: sqdmlsl.2d	v0, v0, v0[2]
   1733 # CHECK: sqdmlsl2.2d	v0, v0, v0[3]
   1734 # CHECK: sqdmulh.4h	v0, v0, v0[0]
   1735 # CHECK: sqdmulh.8h	v0, v0, v0[1]
   1736 # CHECK: sqdmulh.2s	v0, v0, v0[2]
   1737 # CHECK: sqdmulh.4s	v0, v0, v0[3]
   1738 # CHECK: sqdmull.4s	v0, v0, v0[0]
   1739 # CHECK: sqdmull2.4s	v0, v0, v0[1]
   1740 # CHECK: sqdmull.2d	v0, v0, v0[2]
   1741 # CHECK: sqdmull2.2d	v0, v0, v0[3]
   1742 # CHECK: sqrdmulh.4h	v0, v0, v0[0]
   1743 # CHECK: sqrdmulh.8h	v0, v0, v0[1]
   1744 # CHECK: sqrdmulh.2s	v0, v0, v0[2]
   1745 # CHECK: sqrdmulh.4s	v0, v0, v0[3]
   1746 # CHECK: umlal.4s	v0, v0, v0[0]
   1747 # CHECK: umlal2.4s	v0, v0, v0[1]
   1748 # CHECK: umlal.2d	v0, v0, v0[2]
   1749 # CHECK: umlal2.2d	v0, v0, v0[3]
   1750 # CHECK: umlsl.4s	v0, v0, v0[0]
   1751 # CHECK: umlsl2.4s	v0, v0, v0[1]
   1752 # CHECK: umlsl.2d	v0, v0, v0[2]
   1753 # CHECK: umlsl2.2d	v0, v0, v0[3]
   1754 # CHECK: umull.4s	v0, v0, v0[0]
   1755 # CHECK: umull2.4s	v0, v0, v0[1]
   1756 # CHECK: umull.2d	v0, v0, v0[2]
   1757 # CHECK: umull2.2d	v0, v0, v0[3]
   1758 
   1759 
   1760 #===-------------------------------------------------------------------------===
   1761 # AdvSIMD scalar + shift instructions
   1762 #===-------------------------------------------------------------------------===
   1763 
   1764   0x00 0x54 0x41 0x5f
   1765   0x00 0x54 0x41 0x7f
   1766   0x00 0x9c 0x09 0x5f
   1767   0x00 0x9c 0x12 0x5f
   1768   0x00 0x9c 0x23 0x5f
   1769   0x00 0x8c 0x09 0x7f
   1770   0x00 0x8c 0x12 0x7f
   1771   0x00 0x8c 0x23 0x7f
   1772   0x00 0x64 0x09 0x7f
   1773   0x00 0x64 0x12 0x7f
   1774   0x00 0x64 0x23 0x7f
   1775   0x00 0x64 0x44 0x7f
   1776   0x00 0x74 0x09 0x5f
   1777   0x00 0x74 0x12 0x5f
   1778   0x00 0x74 0x23 0x5f
   1779   0x00 0x74 0x44 0x5f
   1780   0x00 0x94 0x09 0x5f
   1781   0x00 0x94 0x12 0x5f
   1782   0x00 0x94 0x23 0x5f
   1783   0x00 0x84 0x09 0x7f
   1784   0x00 0x84 0x12 0x7f
   1785   0x00 0x84 0x23 0x7f
   1786   0x00 0x44 0x41 0x7f
   1787   0x00 0x24 0x41 0x5f
   1788   0x00 0x34 0x41 0x5f
   1789   0x00 0x04 0x41 0x5f
   1790   0x00 0xe4 0x21 0x7f
   1791   0x00 0xe4 0x42 0x7f
   1792   0x00 0x9c 0x09 0x7f
   1793   0x00 0x9c 0x12 0x7f
   1794   0x00 0x9c 0x23 0x7f
   1795   0x00 0x74 0x09 0x7f
   1796   0x00 0x74 0x12 0x7f
   1797   0x00 0x74 0x23 0x7f
   1798   0x00 0x74 0x44 0x7f
   1799   0x00 0x94 0x09 0x7f
   1800   0x00 0x94 0x12 0x7f
   1801   0x00 0x94 0x23 0x7f
   1802   0x00 0x24 0x41 0x7f
   1803   0x00 0x34 0x41 0x7f
   1804   0x00 0x04 0x41 0x7f
   1805   0x00 0x14 0x41 0x7f
   1806 
   1807 # CHECK: shl	d0, d0, #1
   1808 # CHECK: sli	d0, d0, #1
   1809 # CHECK: sqrshrn	b0, h0, #7
   1810 # CHECK: sqrshrn	h0, s0, #14
   1811 # CHECK: sqrshrn	s0, d0, #29
   1812 # CHECK: sqrshrun	b0, h0, #7
   1813 # CHECK: sqrshrun	h0, s0, #14
   1814 # CHECK: sqrshrun	s0, d0, #29
   1815 # CHECK: sqshlu	b0, b0, #1
   1816 # CHECK: sqshlu	h0, h0, #2
   1817 # CHECK: sqshlu	s0, s0, #3
   1818 # CHECK: sqshlu	d0, d0, #4
   1819 # CHECK: sqshl	b0, b0, #1
   1820 # CHECK: sqshl	h0, h0, #2
   1821 # CHECK: sqshl	s0, s0, #3
   1822 # CHECK: sqshl	d0, d0, #4
   1823 # CHECK: sqshrn	b0, h0, #7
   1824 # CHECK: sqshrn	h0, s0, #14
   1825 # CHECK: sqshrn	s0, d0, #29
   1826 # CHECK: sqshrun	b0, h0, #7
   1827 # CHECK: sqshrun	h0, s0, #14
   1828 # CHECK: sqshrun	s0, d0, #29
   1829 # CHECK: sri	d0, d0, #63
   1830 # CHECK: srshr	d0, d0, #63
   1831 # CHECK: srsra	d0, d0, #63
   1832 # CHECK: sshr	d0, d0, #63
   1833 # CHECK: ucvtf	s0, s0, #31
   1834 # CHECK: ucvtf	d0, d0, #62
   1835 # CHECK: uqrshrn	b0, h0, #7
   1836 # CHECK: uqrshrn	h0, s0, #14
   1837 # CHECK: uqrshrn	s0, d0, #29
   1838 # CHECK: uqshl	b0, b0, #1
   1839 # CHECK: uqshl	h0, h0, #2
   1840 # CHECK: uqshl	s0, s0, #3
   1841 # CHECK: uqshl	d0, d0, #4
   1842 # CHECK: uqshrn	b0, h0, #7
   1843 # CHECK: uqshrn	h0, s0, #14
   1844 # CHECK: uqshrn	s0, d0, #29
   1845 # CHECK: urshr	d0, d0, #63
   1846 # CHECK: ursra	d0, d0, #63
   1847 # CHECK: ushr	d0, d0, #63
   1848 # CHECK: usra	d0, d0, #63
   1849 
   1850 #===-------------------------------------------------------------------------===
   1851 # AdvSIMD vector + shift instructions
   1852 #===-------------------------------------------------------------------------===
   1853 
   1854   0x00 0xfc 0x21 0x0f
   1855   0x00 0xfc 0x22 0x4f
   1856   0x00 0xfc 0x43 0x4f
   1857   0x00 0xfc 0x21 0x2f
   1858   0x00 0xfc 0x22 0x6f
   1859   0x00 0xfc 0x43 0x6f
   1860   0x00 0x8c 0x09 0x0f
   1861   0x00 0x8c 0x0a 0x4f
   1862   0x00 0x8c 0x13 0x0f
   1863   0x00 0x8c 0x14 0x4f
   1864   0x00 0x8c 0x25 0x0f
   1865   0x00 0x8c 0x26 0x4f
   1866   0x00 0xe4 0x21 0x0f
   1867   0x00 0xe4 0x22 0x4f
   1868   0x00 0xe4 0x43 0x4f
   1869   0x00 0x54 0x09 0x0f
   1870   0x00 0x54 0x0a 0x4f
   1871   0x00 0x54 0x13 0x0f
   1872   0x00 0x54 0x14 0x4f
   1873   0x00 0x54 0x25 0x0f
   1874   0x00 0x54 0x26 0x4f
   1875   0x00 0x54 0x47 0x4f
   1876   0x00 0x84 0x09 0x0f
   1877   0x00 0x84 0x0a 0x4f
   1878   0x00 0x84 0x13 0x0f
   1879   0x00 0x84 0x14 0x4f
   1880   0x00 0x84 0x25 0x0f
   1881   0x00 0x84 0x26 0x4f
   1882   0x00 0x54 0x09 0x2f
   1883   0x00 0x54 0x0a 0x6f
   1884   0x00 0x54 0x13 0x2f
   1885   0x00 0x54 0x14 0x6f
   1886   0x00 0x54 0x25 0x2f
   1887   0x00 0x54 0x26 0x6f
   1888   0x00 0x54 0x47 0x6f
   1889   0x00 0x9c 0x09 0x0f
   1890   0x00 0x9c 0x0a 0x4f
   1891   0x00 0x9c 0x13 0x0f
   1892   0x00 0x9c 0x14 0x4f
   1893   0x00 0x9c 0x25 0x0f
   1894   0x00 0x9c 0x26 0x4f
   1895   0x00 0x8c 0x09 0x2f
   1896   0x00 0x8c 0x0a 0x6f
   1897   0x00 0x8c 0x13 0x2f
   1898   0x00 0x8c 0x14 0x6f
   1899   0x00 0x8c 0x25 0x2f
   1900   0x00 0x8c 0x26 0x6f
   1901   0x00 0x64 0x09 0x2f
   1902   0x00 0x64 0x0a 0x6f
   1903   0x00 0x64 0x13 0x2f
   1904   0x00 0x64 0x14 0x6f
   1905   0x00 0x64 0x25 0x2f
   1906   0x00 0x64 0x26 0x6f
   1907   0x00 0x64 0x47 0x6f
   1908   0x00 0x74 0x09 0x0f
   1909   0x00 0x74 0x0a 0x4f
   1910   0x00 0x74 0x13 0x0f
   1911   0x00 0x74 0x14 0x4f
   1912   0x00 0x74 0x25 0x0f
   1913   0x00 0x74 0x26 0x4f
   1914   0x00 0x74 0x47 0x4f
   1915   0x00 0x94 0x09 0x0f
   1916   0x00 0x94 0x0a 0x4f
   1917   0x00 0x94 0x13 0x0f
   1918   0x00 0x94 0x14 0x4f
   1919   0x00 0x94 0x25 0x0f
   1920   0x00 0x94 0x26 0x4f
   1921   0x00 0x84 0x09 0x2f
   1922   0x00 0x84 0x0a 0x6f
   1923   0x00 0x84 0x13 0x2f
   1924   0x00 0x84 0x14 0x6f
   1925   0x00 0x84 0x25 0x2f
   1926   0x00 0x84 0x26 0x6f
   1927   0x00 0x44 0x09 0x2f
   1928   0x00 0x44 0x0a 0x6f
   1929   0x00 0x44 0x13 0x2f
   1930   0x00 0x44 0x14 0x6f
   1931   0x00 0x44 0x25 0x2f
   1932   0x00 0x44 0x26 0x6f
   1933   0x00 0x44 0x47 0x6f
   1934   0x00 0x24 0x09 0x0f
   1935   0x00 0x24 0x0a 0x4f
   1936   0x00 0x24 0x13 0x0f
   1937   0x00 0x24 0x14 0x4f
   1938   0x00 0x24 0x25 0x0f
   1939   0x00 0x24 0x26 0x4f
   1940   0x00 0x24 0x47 0x4f
   1941   0x00 0x34 0x09 0x0f
   1942   0x00 0x34 0x0a 0x4f
   1943   0x00 0x34 0x13 0x0f
   1944   0x00 0x34 0x14 0x4f
   1945   0x00 0x34 0x25 0x0f
   1946   0x00 0x34 0x26 0x4f
   1947   0x00 0x34 0x47 0x4f
   1948   0x00 0xa4 0x09 0x0f
   1949   0x00 0xa4 0x0a 0x4f
   1950   0x00 0xa4 0x13 0x0f
   1951   0x00 0xa4 0x14 0x4f
   1952   0x00 0xa4 0x25 0x0f
   1953   0x00 0xa4 0x26 0x4f
   1954   0x00 0x04 0x09 0x0f
   1955   0x00 0x04 0x0a 0x4f
   1956   0x00 0x04 0x13 0x0f
   1957   0x00 0x04 0x14 0x4f
   1958   0x00 0x04 0x25 0x0f
   1959   0x00 0x04 0x26 0x4f
   1960   0x00 0x04 0x47 0x4f
   1961   0x00 0x04 0x09 0x0f
   1962   0x00 0x14 0x0a 0x4f
   1963   0x00 0x14 0x13 0x0f
   1964   0x00 0x14 0x14 0x4f
   1965   0x00 0x14 0x25 0x0f
   1966   0x00 0x14 0x26 0x4f
   1967   0x00 0x14 0x47 0x4f
   1968   0x00 0x14 0x40 0x5f
   1969   0x00 0xe4 0x21 0x2f
   1970   0x00 0xe4 0x22 0x6f
   1971   0x00 0xe4 0x43 0x6f
   1972   0x00 0x9c 0x09 0x2f
   1973   0x00 0x9c 0x0a 0x6f
   1974   0x00 0x9c 0x13 0x2f
   1975   0x00 0x9c 0x14 0x6f
   1976   0x00 0x9c 0x25 0x2f
   1977   0x00 0x9c 0x26 0x6f
   1978   0x00 0x74 0x09 0x2f
   1979   0x00 0x74 0x0a 0x6f
   1980   0x00 0x74 0x13 0x2f
   1981   0x00 0x74 0x14 0x6f
   1982   0x00 0x74 0x25 0x2f
   1983   0x00 0x74 0x26 0x6f
   1984   0x00 0x74 0x47 0x6f
   1985   0x00 0x94 0x09 0x2f
   1986   0x00 0x94 0x0a 0x6f
   1987   0x00 0x94 0x13 0x2f
   1988   0x00 0x94 0x14 0x6f
   1989   0x00 0x94 0x25 0x2f
   1990   0x00 0x94 0x26 0x6f
   1991   0x00 0x24 0x09 0x2f
   1992   0x00 0x24 0x0a 0x6f
   1993   0x00 0x24 0x13 0x2f
   1994   0x00 0x24 0x14 0x6f
   1995   0x00 0x24 0x25 0x2f
   1996   0x00 0x24 0x26 0x6f
   1997   0x00 0x24 0x47 0x6f
   1998   0x00 0x34 0x09 0x2f
   1999   0x00 0x34 0x0a 0x6f
   2000   0x00 0x34 0x13 0x2f
   2001   0x00 0x34 0x14 0x6f
   2002   0x00 0x34 0x25 0x2f
   2003   0x00 0x34 0x26 0x6f
   2004   0x00 0x34 0x47 0x6f
   2005   0x00 0xa4 0x09 0x2f
   2006   0x00 0xa4 0x0a 0x6f
   2007   0x00 0xa4 0x13 0x2f
   2008   0x00 0xa4 0x14 0x6f
   2009   0x00 0xa4 0x25 0x2f
   2010   0x00 0xa4 0x26 0x6f
   2011   0x00 0x04 0x09 0x2f
   2012   0x00 0x04 0x0a 0x6f
   2013   0x00 0x04 0x13 0x2f
   2014   0x00 0x04 0x14 0x6f
   2015   0x00 0x04 0x25 0x2f
   2016   0x00 0x04 0x26 0x6f
   2017   0x00 0x04 0x47 0x6f
   2018   0x00 0x14 0x09 0x2f
   2019   0x00 0x14 0x0a 0x6f
   2020   0x00 0x14 0x13 0x2f
   2021   0x00 0x14 0x14 0x6f
   2022   0x00 0x14 0x25 0x2f
   2023   0x00 0x14 0x26 0x6f
   2024   0x00 0x14 0x47 0x6f
   2025 
   2026 # CHECK: fcvtzs.2s	v0, v0, #31
   2027 # CHECK: fcvtzs.4s	v0, v0, #30
   2028 # CHECK: fcvtzs.2d	v0, v0, #61
   2029 # CHECK: fcvtzu.2s	v0, v0, #31
   2030 # CHECK: fcvtzu.4s	v0, v0, #30
   2031 # CHECK: fcvtzu.2d	v0, v0, #61
   2032 # CHECK: rshrn.8b	v0, v0, #7
   2033 # CHECK: rshrn2.16b	v0, v0, #6
   2034 # CHECK: rshrn.4h	v0, v0, #13
   2035 # CHECK: rshrn2.8h	v0, v0, #12
   2036 # CHECK: rshrn.2s	v0, v0, #27
   2037 # CHECK: rshrn2.4s	v0, v0, #26
   2038 # CHECK: scvtf.2s	v0, v0, #31
   2039 # CHECK: scvtf.4s	v0, v0, #30
   2040 # CHECK: scvtf.2d	v0, v0, #61
   2041 # CHECK: shl.8b	v0, v0, #1
   2042 # CHECK: shl.16b	v0, v0, #2
   2043 # CHECK: shl.4h	v0, v0, #3
   2044 # CHECK: shl.8h	v0, v0, #4
   2045 # CHECK: shl.2s	v0, v0, #5
   2046 # CHECK: shl.4s	v0, v0, #6
   2047 # CHECK: shl.2d	v0, v0, #7
   2048 # CHECK: shrn.8b	v0, v0, #7
   2049 # CHECK: shrn2.16b	v0, v0, #6
   2050 # CHECK: shrn.4h	v0, v0, #13
   2051 # CHECK: shrn2.8h	v0, v0, #12
   2052 # CHECK: shrn.2s	v0, v0, #27
   2053 # CHECK: shrn2.4s	v0, v0, #26
   2054 # CHECK: sli.8b	v0, v0, #1
   2055 # CHECK: sli.16b	v0, v0, #2
   2056 # CHECK: sli.4h	v0, v0, #3
   2057 # CHECK: sli.8h	v0, v0, #4
   2058 # CHECK: sli.2s	v0, v0, #5
   2059 # CHECK: sli.4s	v0, v0, #6
   2060 # CHECK: sli.2d	v0, v0, #7
   2061 # CHECK: sqrshrn.8b	v0, v0, #7
   2062 # CHECK: sqrshrn2.16b	v0, v0, #6
   2063 # CHECK: sqrshrn.4h	v0, v0, #13
   2064 # CHECK: sqrshrn2.8h	v0, v0, #12
   2065 # CHECK: sqrshrn.2s	v0, v0, #27
   2066 # CHECK: sqrshrn2.4s	v0, v0, #26
   2067 # CHECK: sqrshrun.8b	v0, v0, #7
   2068 # CHECK: sqrshrun2.16b	v0, v0, #6
   2069 # CHECK: sqrshrun.4h	v0, v0, #13
   2070 # CHECK: sqrshrun2.8h	v0, v0, #12
   2071 # CHECK: sqrshrun.2s	v0, v0, #27
   2072 # CHECK: sqrshrun2.4s	v0, v0, #26
   2073 # CHECK: sqshlu.8b	v0, v0, #1
   2074 # CHECK: sqshlu.16b	v0, v0, #2
   2075 # CHECK: sqshlu.4h	v0, v0, #3
   2076 # CHECK: sqshlu.8h	v0, v0, #4
   2077 # CHECK: sqshlu.2s	v0, v0, #5
   2078 # CHECK: sqshlu.4s	v0, v0, #6
   2079 # CHECK: sqshlu.2d	v0, v0, #7
   2080 # CHECK: sqshl.8b	v0, v0, #1
   2081 # CHECK: sqshl.16b	v0, v0, #2
   2082 # CHECK: sqshl.4h	v0, v0, #3
   2083 # CHECK: sqshl.8h	v0, v0, #4
   2084 # CHECK: sqshl.2s	v0, v0, #5
   2085 # CHECK: sqshl.4s	v0, v0, #6
   2086 # CHECK: sqshl.2d	v0, v0, #7
   2087 # CHECK: sqshrn.8b	v0, v0, #7
   2088 # CHECK: sqshrn2.16b	v0, v0, #6
   2089 # CHECK: sqshrn.4h	v0, v0, #13
   2090 # CHECK: sqshrn2.8h	v0, v0, #12
   2091 # CHECK: sqshrn.2s	v0, v0, #27
   2092 # CHECK: sqshrn2.4s	v0, v0, #26
   2093 # CHECK: sqshrun.8b	v0, v0, #7
   2094 # CHECK: sqshrun2.16b	v0, v0, #6
   2095 # CHECK: sqshrun.4h	v0, v0, #13
   2096 # CHECK: sqshrun2.8h	v0, v0, #12
   2097 # CHECK: sqshrun.2s	v0, v0, #27
   2098 # CHECK: sqshrun2.4s	v0, v0, #26
   2099 # CHECK: sri.8b	v0, v0, #7
   2100 # CHECK: sri.16b	v0, v0, #6
   2101 # CHECK: sri.4h	v0, v0, #13
   2102 # CHECK: sri.8h	v0, v0, #12
   2103 # CHECK: sri.2s	v0, v0, #27
   2104 # CHECK: sri.4s	v0, v0, #26
   2105 # CHECK: sri.2d	v0, v0, #57
   2106 # CHECK: srshr.8b	v0, v0, #7
   2107 # CHECK: srshr.16b	v0, v0, #6
   2108 # CHECK: srshr.4h	v0, v0, #13
   2109 # CHECK: srshr.8h	v0, v0, #12
   2110 # CHECK: srshr.2s	v0, v0, #27
   2111 # CHECK: srshr.4s	v0, v0, #26
   2112 # CHECK: srshr.2d	v0, v0, #57
   2113 # CHECK: srsra.8b	v0, v0, #7
   2114 # CHECK: srsra.16b	v0, v0, #6
   2115 # CHECK: srsra.4h	v0, v0, #13
   2116 # CHECK: srsra.8h	v0, v0, #12
   2117 # CHECK: srsra.2s	v0, v0, #27
   2118 # CHECK: srsra.4s	v0, v0, #26
   2119 # CHECK: srsra.2d	v0, v0, #57
   2120 # CHECK: sshll.8h	v0, v0, #1
   2121 # CHECK: sshll2.8h	v0, v0, #2
   2122 # CHECK: sshll.4s	v0, v0, #3
   2123 # CHECK: sshll2.4s	v0, v0, #4
   2124 # CHECK: sshll.2d	v0, v0, #5
   2125 # CHECK: sshll2.2d	v0, v0, #6
   2126 # CHECK: sshr.8b	v0, v0, #7
   2127 # CHECK: sshr.16b	v0, v0, #6
   2128 # CHECK: sshr.4h	v0, v0, #13
   2129 # CHECK: sshr.8h	v0, v0, #12
   2130 # CHECK: sshr.2s	v0, v0, #27
   2131 # CHECK: sshr.4s	v0, v0, #26
   2132 # CHECK: sshr.2d	v0, v0, #57
   2133 # CHECK: sshr.8b	v0, v0, #7
   2134 # CHECK: ssra.16b	v0, v0, #6
   2135 # CHECK: ssra.4h	v0, v0, #13
   2136 # CHECK: ssra.8h	v0, v0, #12
   2137 # CHECK: ssra.2s	v0, v0, #27
   2138 # CHECK: ssra.4s	v0, v0, #26
   2139 # CHECK: ssra.2d	v0, v0, #57
   2140 # CHECK: ssra		d0, d0, #64
   2141 # CHECK: ucvtf.2s	v0, v0, #31
   2142 # CHECK: ucvtf.4s	v0, v0, #30
   2143 # CHECK: ucvtf.2d	v0, v0, #61
   2144 # CHECK: uqrshrn.8b	v0, v0, #7
   2145 # CHECK: uqrshrn2.16b	v0, v0, #6
   2146 # CHECK: uqrshrn.4h	v0, v0, #13
   2147 # CHECK: uqrshrn2.8h	v0, v0, #12
   2148 # CHECK: uqrshrn.2s	v0, v0, #27
   2149 # CHECK: uqrshrn2.4s	v0, v0, #26
   2150 # CHECK: uqshl.8b	v0, v0, #1
   2151 # CHECK: uqshl.16b	v0, v0, #2
   2152 # CHECK: uqshl.4h	v0, v0, #3
   2153 # CHECK: uqshl.8h	v0, v0, #4
   2154 # CHECK: uqshl.2s	v0, v0, #5
   2155 # CHECK: uqshl.4s	v0, v0, #6
   2156 # CHECK: uqshl.2d	v0, v0, #7
   2157 # CHECK: uqshrn.8b	v0, v0, #7
   2158 # CHECK: uqshrn2.16b	v0, v0, #6
   2159 # CHECK: uqshrn.4h	v0, v0, #13
   2160 # CHECK: uqshrn2.8h	v0, v0, #12
   2161 # CHECK: uqshrn.2s	v0, v0, #27
   2162 # CHECK: uqshrn2.4s	v0, v0, #26
   2163 # CHECK: urshr.8b	v0, v0, #7
   2164 # CHECK: urshr.16b	v0, v0, #6
   2165 # CHECK: urshr.4h	v0, v0, #13
   2166 # CHECK: urshr.8h	v0, v0, #12
   2167 # CHECK: urshr.2s	v0, v0, #27
   2168 # CHECK: urshr.4s	v0, v0, #26
   2169 # CHECK: urshr.2d	v0, v0, #57
   2170 # CHECK: ursra.8b	v0, v0, #7
   2171 # CHECK: ursra.16b	v0, v0, #6
   2172 # CHECK: ursra.4h	v0, v0, #13
   2173 # CHECK: ursra.8h	v0, v0, #12
   2174 # CHECK: ursra.2s	v0, v0, #27
   2175 # CHECK: ursra.4s	v0, v0, #26
   2176 # CHECK: ursra.2d	v0, v0, #57
   2177 # CHECK: ushll.8h	v0, v0, #1
   2178 # CHECK: ushll2.8h	v0, v0, #2
   2179 # CHECK: ushll.4s	v0, v0, #3
   2180 # CHECK: ushll2.4s	v0, v0, #4
   2181 # CHECK: ushll.2d	v0, v0, #5
   2182 # CHECK: ushll2.2d	v0, v0, #6
   2183 # CHECK: ushr.8b	v0, v0, #7
   2184 # CHECK: ushr.16b	v0, v0, #6
   2185 # CHECK: ushr.4h	v0, v0, #13
   2186 # CHECK: ushr.8h	v0, v0, #12
   2187 # CHECK: ushr.2s	v0, v0, #27
   2188 # CHECK: ushr.4s	v0, v0, #26
   2189 # CHECK: ushr.2d	v0, v0, #57
   2190 # CHECK: usra.8b	v0, v0, #7
   2191 # CHECK: usra.16b	v0, v0, #6
   2192 # CHECK: usra.4h	v0, v0, #13
   2193 # CHECK: usra.8h	v0, v0, #12
   2194 # CHECK: usra.2s	v0, v0, #27
   2195 # CHECK: usra.4s	v0, v0, #26
   2196 # CHECK: usra.2d	v0, v0, #57
   2197 
   2198 
   2199   0x00 0xe0 0x20 0x0e
   2200   0x00 0xe0 0x20 0x4e
   2201   0x00 0xe0 0xe0 0x0e
   2202   0x00 0xe0 0xe0 0x4e
   2203 
   2204 # CHECK: pmull.8h v0, v0, v0
   2205 # CHECK: pmull2.8h v0, v0, v0
   2206 # CHECK: pmull.1q v0, v0, v0
   2207 # CHECK: pmull2.1q v0, v0, v0
   2208 
   2209   0x41 0xd8 0x70 0x7e
   2210   0x83 0xd8 0x30 0x7e
   2211 # CHECK: faddp.2d	d1, v2
   2212 # CHECK: faddp.2s	s3, v4
   2213 
   2214   0x82 0x60 0x01 0x4e
   2215   0x80 0x60 0x01 0x0e
   2216   0xa2 0x00 0x01 0x4e
   2217   0xa0 0x00 0x01 0x0e
   2218   0xa2 0x40 0x01 0x4e
   2219   0xa0 0x40 0x01 0x0e
   2220   0xc2 0x20 0x01 0x4e
   2221   0xc0 0x20 0x01 0x0e
   2222 
   2223 # CHECK: tbl.16b	v2, { v4, v5, v6, v7 }, v1
   2224 # CHECK: tbl.8b	v0, { v4, v5, v6, v7 }, v1
   2225 # CHECK: tbl.16b	v2, { v5 }, v1
   2226 # CHECK: tbl.8b	v0, { v5 }, v1
   2227 # CHECK: tbl.16b	v2, { v5, v6, v7 }, v1
   2228 # CHECK: tbl.8b	v0, { v5, v6, v7 }, v1
   2229 # CHECK: tbl.16b	v2, { v6, v7 }, v1
   2230 # CHECK: tbl.8b	v0, { v6, v7 }, v1
   2231 #
   2232   0x82 0x70 0x01 0x4e
   2233   0x80 0x70 0x01 0x0e
   2234   0xa2 0x10 0x01 0x4e
   2235   0xa0 0x10 0x01 0x0e
   2236   0xa2 0x50 0x01 0x4e
   2237   0xa0 0x50 0x01 0x0e
   2238   0xc2 0x30 0x01 0x4e
   2239   0xc0 0x30 0x01 0x0e
   2240 
   2241 # CHECK: tbx.16b	v2, { v4, v5, v6, v7 }, v1
   2242 # CHECK: tbx.8b	v0, { v4, v5, v6, v7 }, v1
   2243 # CHECK: tbx.16b	v2, { v5 }, v1
   2244 # CHECK: tbx.8b	v0, { v5 }, v1
   2245 # CHECK: tbx.16b	v2, { v5, v6, v7 }, v1
   2246 # CHECK: tbx.8b	v0, { v5, v6, v7 }, v1
   2247 # CHECK: tbx.16b	v2, { v6, v7 }, v1
   2248 # CHECK: tbx.8b	v0, { v6, v7 }, v1
   2249 #
   2250 
   2251 0x00 0x80 0x20 0x0e
   2252 0x00 0x80 0x20 0x4e
   2253 0x00 0x80 0xa0 0x0e
   2254 0x00 0x80 0xa0 0x4e
   2255 
   2256 # CHECK: smlal.8h v0, v0, v0
   2257 # CHECK: smlal2.8h v0, v0, v0
   2258 # CHECK: smlal.2d v0, v0, v0
   2259 # CHECK: smlal2.2d v0, v0, v0
   2260 
   2261 0x00 0x80 0x20 0x2e
   2262 0x00 0x80 0x20 0x6e
   2263 0x00 0x80 0xa0 0x2e
   2264 0x00 0x80 0xa0 0x6e
   2265 
   2266 # CHECK: umlal.8h v0, v0, v0
   2267 # CHECK: umlal2.8h v0, v0, v0
   2268 # CHECK: umlal.2d v0, v0, v0
   2269 # CHECK: umlal2.2d v0, v0, v0
   2270 
   2271 0x00 0x90 0x60 0x5e
   2272 0x00 0x90 0xa0 0x5e
   2273 0x00 0xb0 0x60 0x5e
   2274 0x00 0xb0 0xa0 0x5e
   2275 
   2276 # CHECK: sqdmlal s0, h0, h0
   2277 # CHECK: sqdmlal d0, s0, s0
   2278 # CHECK: sqdmlsl s0, h0, h0
   2279 # CHECK: sqdmlsl d0, s0, s0
   2280 
   2281 0xaa 0xc5 0xc7 0x4d
   2282 0xaa 0xc9 0xc7 0x4d
   2283 0xaa 0xc1 0xc7 0x4d
   2284 
   2285 # CHECK: ld1r.8h { v10 }, [x13], x7
   2286 # CHECK: ld1r.4s { v10 }, [x13], x7
   2287 # CHECK: ld1r.16b { v10 }, [x13], x7
   2288 
   2289 0x00 0xd0 0x60 0x5e
   2290 0x00 0xd0 0xa0 0x5e
   2291 # CHECK: sqdmull	s0, h0, h0
   2292 # CHECK: sqdmull	d0, s0, s0
   2293 
   2294 0x00 0xd8 0xa1 0x7e
   2295 0x00 0xd8 0xe1 0x7e
   2296 
   2297 # CHECK: frsqrte s0, s0
   2298 # CHECK: frsqrte d0, d0
   2299 
   2300 0xca 0xcd 0xc7 0x4d
   2301 0xea 0xc9 0xe7 0x4d
   2302 0xea 0xe9 0xc7 0x4d
   2303 0xea 0xe9 0xe7 0x4d
   2304 # CHECK: ld1r.2d	{ v10 }, [x14], x7
   2305 # CHECK: ld2r.4s	{ v10, v11 }, [x15], x7
   2306 # CHECK: ld3r.4s	{ v10, v11, v12 }, [x15], x7
   2307 # CHECK: ld4r.4s	{ v10, v11, v12, v13 }, [x15], x7
   2308 
   2309 #===-------------------------------------------------------------------------===
   2310 # AdvSIMD scalar three same
   2311 #===-------------------------------------------------------------------------===
   2312 0x62 0xdc 0x21 0x5e
   2313 # CHECK: fmulx	s2, s3, s1
   2314 0x62 0xdc 0x61 0x5e
   2315 # CHECK: fmulx	d2, d3, d1
   2316 
   2317 
   2318 # rdar://12511369
   2319 0xe8 0x6b 0xdf 0x4c
   2320 # CHECK: ld1.4s	{ v8, v9, v10 }, [sp], #48
   2321