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