1# RUN: llvm-mc -triple arm64-apple-darwin -mattr=crypto -output-asm-variant=1 --disassemble < %s | FileCheck %s 2 30x00 0xb8 0x20 0x0e 40x00 0xb8 0x20 0x4e 50x00 0xb8 0x60 0x0e 60x00 0xb8 0x60 0x4e 70x00 0xb8 0xa0 0x0e 80x00 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 170x00 0x84 0x20 0x0e 180x00 0x84 0x20 0x4e 190x00 0x84 0x60 0x0e 200x00 0x84 0x60 0x4e 210x00 0x84 0xa0 0x0e 220x00 0x84 0xa0 0x4e 230x00 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 330x41 0x84 0xe3 0x5e 34 35# CHECK: add d1, d2, d3 36 370x00 0x40 0x20 0x0e 380x00 0x40 0x20 0x4e 390x00 0x40 0x60 0x0e 400x00 0x40 0x60 0x4e 410x00 0x40 0xa0 0x0e 420x00 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 510x00 0xbc 0x20 0x0e 520x00 0xbc 0x20 0x4e 530x00 0xbc 0x60 0x0e 540x00 0xbc 0x60 0x4e 550x00 0xbc 0xa0 0x0e 560x00 0xbc 0xa0 0x4e 570x00 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 670x00 0xb8 0xf1 0x5e 68 69# CHECK: addp.2d d0, v0 70 710x00 0xb8 0x31 0x0e 720x00 0xb8 0x31 0x4e 730x00 0xb8 0x71 0x0e 740x00 0xb8 0x71 0x4e 750x00 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 850x60 0x0c 0x08 0x4e 860x60 0x0c 0x04 0x4e 870x60 0x0c 0x04 0x0e 880x60 0x0c 0x02 0x4e 890x60 0x0c 0x02 0x0e 900x60 0x0c 0x01 0x4e 910x60 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 1010x60 0x04 0x18 0x4e 1020x60 0x04 0x0c 0x0e 1030x60 0x04 0x0c 0x4e 1040x60 0x04 0x06 0x0e 1050x60 0x04 0x06 0x4e 1060x60 0x04 0x03 0x0e 1070x60 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 1180x43 0x2c 0x14 0x4e 1190x43 0x2c 0x14 0x4e 1200x43 0x3c 0x14 0x0e 1210x43 0x3c 0x14 0x0e 1220x43 0x3c 0x18 0x4e 1230x43 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 1320xa2 0x1c 0x18 0x4e 1330xa2 0x1c 0x0c 0x4e 1340xa2 0x1c 0x06 0x4e 1350xa2 0x1c 0x03 0x4e 136 1370xa2 0x1c 0x18 0x4e 1380xa2 0x1c 0x0c 0x4e 1390xa2 0x1c 0x06 0x4e 1400xa2 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 1520xe2 0x45 0x18 0x6e 1530xe2 0x25 0x0c 0x6e 1540xe2 0x15 0x06 0x6e 1550xe2 0x0d 0x03 0x6e 156 1570xe2 0x05 0x18 0x6e 1580xe2 0x45 0x1c 0x6e 1590xe2 0x35 0x1e 0x6e 1600xe2 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 1720x00 0x1c 0x20 0x0e 1730x00 0x1c 0x20 0x4e 174 175# CHECK: and.8b v0, v0, v0 176# CHECK: and.16b v0, v0, v0 177 1780x00 0x1c 0x60 0x0e 179 180# CHECK: bic.8b v0, v0, v0 181 1820x00 0x8c 0x20 0x2e 1830x00 0x3c 0x20 0x0e 1840x00 0x34 0x20 0x0e 1850x00 0x34 0x20 0x2e 1860x00 0x3c 0x20 0x2e 1870x00 0x8c 0x20 0x0e 1880x00 0xd4 0xa0 0x2e 1890x00 0xec 0x20 0x2e 1900x00 0xec 0xa0 0x2e 1910x00 0xd4 0x20 0x2e 1920x00 0xd4 0x20 0x0e 1930x00 0xe4 0x20 0x0e 1940x00 0xe4 0x20 0x2e 1950x00 0xe4 0xa0 0x2e 1960x00 0xfc 0x20 0x2e 1970x00 0xc4 0x20 0x2e 1980x00 0xc4 0x20 0x0e 1990x00 0xf4 0x20 0x2e 2000x00 0xf4 0x20 0x0e 2010x00 0xc4 0xa0 0x2e 2020x00 0xc4 0xa0 0x0e 2030x00 0xf4 0xa0 0x2e 2040x00 0xf4 0xa0 0x0e 2050x00 0xcc 0x20 0x0e 2060x00 0xcc 0xa0 0x0e 2070x00 0xdc 0x20 0x0e 2080x00 0xdc 0x20 0x2e 2090x00 0xfc 0x20 0x0e 2100x00 0xfc 0xa0 0x0e 2110x00 0xd4 0xa0 0x0e 2120x00 0x94 0x20 0x0e 2130x00 0x94 0x20 0x2e 2140x00 0x9c 0x20 0x0e 2150x00 0x9c 0x20 0x2e 2160x00 0x7c 0x20 0x0e 2170x00 0x74 0x20 0x0e 2180x00 0x04 0x20 0x0e 2190x00 0x24 0x20 0x0e 2200x00 0xa4 0x20 0x0e 2210x00 0x64 0x20 0x0e 2220x00 0xac 0x20 0x0e 2230x00 0x6c 0x20 0x0e 2240x00 0x0c 0x20 0x0e 2250x00 0xb4 0x60 0x0e 2260x00 0xb4 0x60 0x2e 2270x00 0x5c 0x20 0x0e 2280x00 0x4c 0x20 0x0e 2290x00 0x2c 0x20 0x0e 2300x00 0x14 0x20 0x0e 2310x00 0x54 0x20 0x0e 2320x00 0x44 0x20 0x0e 2330x00 0x84 0x20 0x2e 2340x00 0x7c 0x20 0x2e 2350x00 0x74 0x20 0x2e 2360x00 0x04 0x20 0x2e 2370x00 0x24 0x20 0x2e 2380x00 0xa4 0x20 0x2e 2390x00 0x64 0x20 0x2e 2400x00 0xac 0x20 0x2e 2410x00 0x6c 0x20 0x2e 2420x00 0x0c 0x20 0x2e 2430x00 0x5c 0x20 0x2e 2440x00 0x4c 0x20 0x2e 2450x00 0x2c 0x20 0x2e 2460x00 0x14 0x20 0x2e 2470x00 0x54 0x20 0x2e 2480x00 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 3180x00 0x1c 0xe0 0x2e 3190x00 0x1c 0xa0 0x2e 3200x00 0x1c 0x60 0x2e 3210x00 0x1c 0x20 0x2e 3220x00 0x1c 0xe0 0x0e 3230x00 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 3320x00 0x68 0x20 0x0e 3330x00 0x68 0x20 0x4e 3340x00 0x68 0x60 0x0e 3350x00 0x68 0x60 0x4e 3360x00 0x68 0xa0 0x0e 3370x00 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 3460x00 0x48 0x20 0x0e 3470x00 0x48 0x20 0x2e 3480x00 0x58 0x20 0x0e 3490x00 0xf8 0xa0 0x0e 3500x00 0xc8 0x21 0x0e 3510x00 0xc8 0x21 0x2e 3520x00 0xb8 0x21 0x0e 3530x00 0xb8 0x21 0x2e 3540x00 0xa8 0x21 0x0e 3550x00 0xa8 0x21 0x2e 3560x00 0xa8 0xa1 0x0e 3570x00 0xa8 0xa1 0x2e 3580x00 0xb8 0xa1 0x0e 3590x00 0xb8 0xa1 0x2e 3600x00 0xf8 0xa0 0x2e 3610x00 0xd8 0xa1 0x0e 3620x00 0xd8 0xa1 0x2e 3630x00 0xf8 0xa1 0x2e 3640x00 0xb8 0x20 0x2e 3650x00 0x58 0x20 0x2e 3660x00 0x58 0x60 0x2e 3670x00 0x18 0x20 0x0e 3680x00 0x08 0x20 0x2e 3690x00 0x08 0x20 0x0e 3700x00 0x68 0x20 0x0e 3710x00 0x28 0x20 0x0e 3720x00 0xd8 0x21 0x0e 3730x00 0x38 0x21 0x2e 3740x00 0x78 0x20 0x0e 3750x00 0x78 0x20 0x2e 3760x00 0x48 0x21 0x0e 3770x00 0x28 0x21 0x2e 3780x00 0x38 0x20 0x0e 3790x00 0x68 0x20 0x2e 3800x00 0x28 0x20 0x2e 3810x00 0xd8 0x21 0x2e 3820x00 0x48 0x21 0x2e 3830x00 0xc8 0xa1 0x0e 3840x00 0xc8 0xa1 0x2e 3850x00 0x38 0x20 0x2e 3860x00 0x28 0x21 0x0e 3870x00 0x48 0x20 0x0e 3880x00 0x48 0x20 0x2e 3890x00 0x58 0x20 0x0e 3900x00 0xf8 0xa0 0x0e 3910x00 0xc8 0x21 0x0e 3920x00 0xc8 0x21 0x2e 3930x00 0xb8 0x21 0x0e 3940x00 0xb8 0x21 0x2e 3950x00 0xa8 0x21 0x0e 3960x00 0xa8 0x21 0x2e 3970x00 0xa8 0xa1 0x0e 3980x00 0xa8 0xa1 0x2e 3990x00 0xb8 0xa1 0x0e 4000x00 0xb8 0xa1 0x2e 4010x00 0xf8 0xa0 0x2e 4020x00 0xd8 0xa1 0x0e 4030x00 0xd8 0xa1 0x2e 4040x00 0xf8 0xa1 0x2e 4050x00 0xb8 0x20 0x2e 4060x00 0x58 0x20 0x2e 4070x00 0x58 0x60 0x2e 4080x00 0x18 0x20 0x0e 4090x00 0x08 0x20 0x2e 4100x00 0x08 0x20 0x0e 4110x00 0x68 0x20 0x0e 4120x00 0x28 0x20 0x0e 4130x00 0xd8 0x21 0x0e 4140x00 0x38 0x21 0x2e 4150x00 0x78 0x20 0x0e 4160x00 0x78 0x20 0x2e 4170x00 0x48 0x21 0x0e 4180x00 0x28 0x21 0x2e 4190x00 0x38 0x20 0x0e 4200x00 0x68 0x20 0x2e 4210x00 0x28 0x20 0x2e 4220x00 0xd8 0x21 0x2e 4230x00 0x48 0x21 0x2e 4240x00 0xc8 0xa1 0x0e 4250x00 0xc8 0xa1 0x2e 4260x00 0x38 0x20 0x2e 4270x00 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 4710x00 0x98 0x20 0x0e 4720x00 0x98 0x20 0x4e 4730x00 0x98 0x60 0x0e 4740x00 0x98 0x60 0x4e 4750x00 0x98 0xa0 0x0e 4760x00 0x98 0xa0 0x4e 4770x00 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 4870x00 0x88 0x20 0x2e 4880x00 0x88 0x20 0x0e 4890x00 0x98 0x20 0x2e 4900x00 0xa8 0x20 0x0e 4910x00 0xd8 0xa0 0x0e 4920x00 0xc8 0xa0 0x2e 4930x00 0xc8 0xa0 0x0e 4940x00 0xd8 0xa0 0x2e 4950x00 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 5070x00 0x78 0x21 0x0e 5080x00 0x78 0x21 0x4e 5090x00 0x78 0x61 0x0e 5100x00 0x78 0x61 0x4e 5110x00 0x68 0x21 0x0e 5120x00 0x68 0x21 0x4e 5130x00 0x68 0x61 0x0e 5140x00 0x68 0x61 0x4e 5150x00 0x68 0x61 0x2e 5160x00 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 5330x20 0x14 0x00 0x2f 5340x20 0x34 0x00 0x2f 5350x20 0x54 0x00 0x2f 5360x20 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 5430x20 0x94 0x00 0x2f 5440x20 0x94 0x00 0x2f 5450x20 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 5520x20 0x14 0x00 0x6f 5530x20 0x34 0x00 0x6f 5540x20 0x54 0x00 0x6f 5550x20 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 5620x20 0x94 0x00 0x6f 5630x20 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 5690x00 0xf4 0x02 0x6f 570 571# CHECK: fmov.2d v0, #0.12500000 572 5730x00 0xf4 0x02 0x0f 5740x00 0xf4 0x02 0x4f 575 576# CHECK: fmov.2s v0, #0.12500000 577# CHECK: fmov.4s v0, #0.12500000 578 5790x20 0x14 0x00 0x0f 5800x20 0x34 0x00 0x0f 5810x20 0x54 0x00 0x0f 5820x20 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 5890x20 0x94 0x00 0x0f 5900x20 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 5960x20 0x14 0x00 0x4f 5970x20 0x34 0x00 0x4f 5980x20 0x54 0x00 0x4f 5990x20 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 6060x20 0x94 0x00 0x4f 6070x20 0xb4 0x00 0x4f 608 609# CHECK: orr.8h v0, #0x1 610# CHECK: orr.8h v0, #0x1, lsl #8 611 6120x21 0x70 0x40 0x0c 6130x42 0xa0 0x40 0x4c 6140x64 0x64 0x40 0x0c 6150x87 0x24 0x40 0x4c 6160x0c 0xa8 0x40 0x0c 6170x0a 0x68 0x40 0x4c 6180x2d 0xac 0x40 0x0c 6190x4f 0x7c 0x40 0x4c 6200xe0 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 6320x41 0x70 0xdf 0x0c 6330x41 0xa0 0xdf 0x0c 6340x41 0x60 0xdf 0x0c 6350x41 0x20 0xdf 0x0c 6360x42 0x70 0xdf 0x4c 6370x42 0xa0 0xdf 0x4c 6380x42 0x60 0xdf 0x4c 6390x42 0x20 0xdf 0x4c 6400x64 0x74 0xdf 0x0c 6410x64 0xa4 0xdf 0x0c 6420x64 0x64 0xdf 0x0c 6430x64 0x24 0xdf 0x0c 6440x87 0x74 0xdf 0x4c 6450x87 0xa4 0xdf 0x4c 6460x87 0x64 0xdf 0x4c 6470x87 0x24 0xdf 0x4c 6480x0c 0x78 0xdf 0x0c 6490x0c 0xa8 0xdf 0x0c 6500x0c 0x68 0xdf 0x0c 6510x0c 0x28 0xdf 0x0c 6520x0a 0x78 0xdf 0x4c 6530x0a 0xa8 0xdf 0x4c 6540x0a 0x68 0xdf 0x4c 6550x0a 0x28 0xdf 0x4c 6560x2d 0x7c 0xdf 0x0c 6570x2d 0xac 0xdf 0x0c 6580x2d 0x6c 0xdf 0x0c 6590x2d 0x2c 0xdf 0x0c 6600x4f 0x7c 0xdf 0x4c 6610x4f 0xac 0xdf 0x4c 6620x4f 0x6c 0xdf 0x4c 6630x4f 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 6980x21 0x70 0x00 0x0c 6990x42 0xa0 0x00 0x4c 7000x64 0x64 0x00 0x0c 7010x87 0x24 0x00 0x4c 7020x0c 0xa8 0x00 0x0c 7030x0a 0x68 0x00 0x4c 7040x2d 0xac 0x00 0x0c 7050x4f 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 7160x61 0x08 0x40 0x0d 7170x82 0x84 0x40 0x4d 7180xa3 0x58 0x40 0x0d 7190xc4 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 7260x61 0x08 0xdf 0x0d 7270x82 0x84 0xdf 0x4d 7280xa3 0x58 0xdf 0x0d 7290xc4 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 7360x61 0x08 0x00 0x0d 7370x82 0x84 0x00 0x4d 7380xa3 0x58 0x00 0x0d 7390xc4 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 7460x61 0x08 0x9f 0x0d 7470x82 0x84 0x9f 0x4d 7480xa3 0x58 0x9f 0x0d 7490xc4 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 7560x61 0x08 0xc4 0x0d 7570x82 0x84 0xc5 0x4d 7580xa3 0x58 0xc6 0x0d 7590xc4 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 7660x61 0x08 0x84 0x0d 7670x82 0x84 0x85 0x4d 7680xa3 0x58 0x86 0x0d 7690xc4 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 7760x41 0x70 0xc3 0x0c 7770x42 0xa0 0xc4 0x4c 7780x64 0x64 0xc5 0x0c 7790x87 0x24 0xc6 0x4c 7800x0c 0xa8 0xc7 0x0c 7810x0a 0x68 0xc8 0x4c 7820x2d 0xac 0xc9 0x0c 7830x4f 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 7940x41 0x70 0x83 0x0c 7950x42 0xa0 0x84 0x4c 7960x64 0x64 0x85 0x0c 7970x87 0x24 0x86 0x4c 7980x0c 0xa8 0x87 0x0c 7990x0a 0x68 0x88 0x4c 8000x2d 0xac 0x89 0x0c 8010x4f 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 8120x41 0x70 0x9f 0x0c 8130x41 0xa0 0x9f 0x0c 8140x41 0x60 0x9f 0x0c 8150x41 0x20 0x9f 0x0c 8160x42 0x70 0x9f 0x4c 8170x42 0xa0 0x9f 0x4c 8180x42 0x60 0x9f 0x4c 8190x42 0x20 0x9f 0x4c 8200x64 0x74 0x9f 0x0c 8210x64 0xa4 0x9f 0x0c 8220x64 0x64 0x9f 0x0c 8230x64 0x24 0x9f 0x0c 8240x87 0x74 0x9f 0x4c 8250x87 0xa4 0x9f 0x4c 8260x87 0x64 0x9f 0x4c 8270x87 0x24 0x9f 0x4c 8280x0c 0x78 0x9f 0x0c 8290x0c 0xa8 0x9f 0x0c 8300x0c 0x68 0x9f 0x0c 8310x0c 0x28 0x9f 0x0c 8320x0a 0x78 0x9f 0x4c 8330x0a 0xa8 0x9f 0x4c 8340x0a 0x68 0x9f 0x4c 8350x0a 0x28 0x9f 0x4c 8360x2d 0x7c 0x9f 0x0c 8370x2d 0xac 0x9f 0x0c 8380x2d 0x6c 0x9f 0x0c 8390x2d 0x2c 0x9f 0x0c 8400x4f 0x7c 0x9f 0x4c 8410x4f 0xac 0x9f 0x4c 8420x4f 0x6c 0x9f 0x4c 8430x4f 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 8780x21 0xc0 0x40 0x0d 8790x21 0xc0 0xc2 0x0d 8800x64 0xc4 0x40 0x0d 8810x64 0xc4 0xc5 0x0d 8820xa9 0xc8 0x40 0x0d 8830xa9 0xc8 0xc6 0x0d 8840xec 0xcc 0x40 0x0d 8850xec 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 8960x21 0xc0 0xdf 0x0d 8970x21 0xc4 0xdf 0x0d 8980x21 0xc8 0xdf 0x0d 8990x21 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 9060x45 0x80 0x40 0x4c 9070x0a 0x88 0x40 0x0c 908 909# CHECK: ld2.16b { v5, v6 }, [x2] 910# CHECK: ld2.2s { v10, v11 }, [x0] 911 9120x45 0x80 0x00 0x4c 9130x0a 0x88 0x00 0x0c 914 915# CHECK: st2.16b { v5, v6 }, [x2] 916# CHECK: st2.2s { v10, v11 }, [x0] 917 9180x61 0x08 0x20 0x0d 9190x82 0x84 0x20 0x4d 9200xc3 0x50 0x20 0x0d 9210xe4 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 9280x61 0x08 0xbf 0x0d 9290x82 0x84 0xbf 0x4d 9300xa3 0x58 0xbf 0x0d 9310xc4 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 9380x61 0x08 0x60 0x0d 9390x82 0x84 0x60 0x4d 9400xc3 0x50 0x60 0x0d 9410xe4 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 9480x61 0x08 0xff 0x0d 9490x82 0x84 0xff 0x4d 9500xa3 0x58 0xff 0x0d 9510xc4 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 9580x61 0x08 0xe4 0x0d 9590x82 0x84 0xe6 0x4d 9600xa3 0x58 0xe8 0x0d 9610xc4 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 9680x61 0x08 0xa4 0x0d 9690x82 0x84 0xa6 0x4d 9700xa3 0x58 0xa8 0x0d 9710xc4 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 9780x64 0x84 0xc5 0x0c 9790x0c 0x88 0xc7 0x0c 980 981# CHECK: ld2.4h { v4, v5 }, [x3], x5 982# CHECK: ld2.2s { v12, v13 }, [x0], x7 983 9840x00 0x80 0xdf 0x0c 9850x00 0x80 0xdf 0x4c 9860x00 0x84 0xdf 0x0c 9870x00 0x84 0xdf 0x4c 9880x00 0x88 0xdf 0x0c 9890x00 0x88 0xdf 0x4c 9900x00 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 10000x64 0x84 0x85 0x0c 10010x0c 0x88 0x87 0x0c 1002 1003# CHECK: st2.4h { v4, v5 }, [x3], x5 1004# CHECK: st2.2s { v12, v13 }, [x0], x7 1005 10060x00 0x80 0x9f 0x0c 10070x00 0x80 0x9f 0x4c 10080x00 0x84 0x9f 0x0c 10090x00 0x84 0x9f 0x4c 10100x00 0x88 0x9f 0x0c 10110x00 0x88 0x9f 0x4c 10120x00 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 10220x21 0xc0 0x60 0x0d 10230x21 0xc0 0xe2 0x0d 10240x21 0xc0 0x60 0x4d 10250x21 0xc0 0xe2 0x4d 10260x21 0xc4 0x60 0x0d 10270x21 0xc4 0xe2 0x0d 10280x21 0xc4 0x60 0x4d 10290x21 0xc4 0xe2 0x4d 10300x21 0xc8 0x60 0x0d 10310x21 0xc8 0xe2 0x0d 10320x21 0xcc 0x60 0x4d 10330x21 0xcc 0xe2 0x4d 10340x21 0xcc 0x60 0x0d 10350x21 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 10520x21 0xc0 0xff 0x0d 10530x21 0xc0 0xff 0x4d 10540x21 0xc4 0xff 0x0d 10550x21 0xc4 0xff 0x4d 10560x21 0xc8 0xff 0x0d 10570x21 0xcc 0xff 0x4d 10580x21 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 10680x21 0x40 0x40 0x0c 10690x45 0x40 0x40 0x4c 10700x0a 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 10760x21 0x40 0x00 0x0c 10770x45 0x40 0x00 0x4c 10780x0a 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 10840x61 0x28 0xc4 0x0d 10850x82 0xa4 0xc5 0x4d 10860xa3 0x78 0xc6 0x0d 10870xc4 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 10940x61 0x28 0x84 0x0d 10950x82 0xa4 0x85 0x4d 10960xa3 0x78 0x86 0x0d 10970xc4 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 11040x61 0x28 0x9f 0x0d 11050x82 0xa4 0x9f 0x4d 11060xa3 0x78 0x9f 0x0d 11070xc4 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 11140x41 0x40 0xc3 0x0c 11150x42 0x40 0xc4 0x4c 11160x64 0x44 0xc5 0x0c 11170x87 0x44 0xc6 0x4c 11180x0c 0x48 0xc7 0x0c 11190x0a 0x48 0xc8 0x4c 11200x4f 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 11300x00 0x40 0xdf 0x0c 11310x00 0x40 0xdf 0x4c 11320x00 0x44 0xdf 0x0c 11330x00 0x44 0xdf 0x4c 11340x00 0x48 0xdf 0x0c 11350x00 0x48 0xdf 0x4c 11360x00 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 11460x41 0x40 0x83 0x0c 11470x42 0x40 0x84 0x4c 11480x64 0x44 0x85 0x0c 11490x87 0x44 0x86 0x4c 11500x0c 0x48 0x87 0x0c 11510x0a 0x48 0x88 0x4c 11520x4f 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 11620x00 0x40 0x9f 0x0c 11630x00 0x40 0x9f 0x4c 11640x00 0x44 0x9f 0x0c 11650x00 0x44 0x9f 0x4c 11660x00 0x48 0x9f 0x0c 11670x00 0x48 0x9f 0x4c 11680x00 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 11780x61 0x28 0x40 0x0d 11790x82 0xa4 0x40 0x4d 11800xc3 0x70 0x40 0x0d 11810xe4 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 11880x61 0x28 0xdf 0x0d 11890x82 0xa4 0xdf 0x4d 11900xa3 0x78 0xdf 0x0d 11910xc4 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 11980x61 0x28 0x00 0x0d 11990x82 0xa4 0x00 0x4d 12000xc3 0x70 0x00 0x0d 12010xe4 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 12080x21 0xe0 0x40 0x0d 12090x21 0xe0 0xc2 0x0d 12100x21 0xe0 0x40 0x4d 12110x21 0xe0 0xc2 0x4d 12120x21 0xe4 0x40 0x0d 12130x21 0xe4 0xc2 0x0d 12140x21 0xe4 0x40 0x4d 12150x21 0xe4 0xc2 0x4d 12160x21 0xe8 0x40 0x0d 12170x21 0xe8 0xc2 0x0d 12180x21 0xec 0x40 0x4d 12190x21 0xec 0xc2 0x4d 12200x21 0xec 0x40 0x0d 12210x21 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 12380x21 0xe0 0xdf 0x0d 12390x21 0xe0 0xdf 0x4d 12400x21 0xe4 0xdf 0x0d 12410x21 0xe4 0xdf 0x4d 12420x21 0xe8 0xdf 0x0d 12430x21 0xec 0xdf 0x4d 12440x21 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 12540x21 0x00 0x40 0x0c 12550x45 0x00 0x40 0x4c 12560x0a 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 12620x21 0x00 0x00 0x0c 12630x45 0x00 0x00 0x4c 12640x0a 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 12700x61 0x28 0xe4 0x0d 12710x82 0xa4 0xe5 0x4d 12720xa3 0x78 0xe6 0x0d 12730xc4 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 12800x61 0x28 0xff 0x0d 12810x82 0xa4 0xff 0x4d 12820xa3 0x78 0xff 0x0d 12830xc4 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 12900x61 0x28 0xa4 0x0d 12910x82 0xa4 0xa5 0x4d 12920xa3 0x78 0xa6 0x0d 12930xc4 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 13000x61 0x28 0xbf 0x0d 13010x82 0xa4 0xbf 0x4d 13020xa3 0x78 0xbf 0x0d 13030xc4 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 13100x41 0x00 0xc3 0x0c 13110x42 0x00 0xc4 0x4c 13120x64 0x04 0xc5 0x0c 13130x87 0x04 0xc6 0x4c 13140x0c 0x08 0xc7 0x0c 13150x0a 0x08 0xc8 0x4c 13160x4f 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 13260x00 0x00 0xdf 0x0c 13270x00 0x00 0xdf 0x4c 13280x00 0x04 0xdf 0x0c 13290x00 0x04 0xdf 0x4c 13300x00 0x08 0xdf 0x0c 13310x00 0x08 0xdf 0x4c 13320x00 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 13420x00 0x00 0x9f 0x0c 13430x00 0x00 0x9f 0x4c 13440x00 0x04 0x9f 0x0c 13450x00 0x04 0x9f 0x4c 13460x00 0x08 0x9f 0x0c 13470x00 0x08 0x9f 0x4c 13480x00 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 13580x41 0x00 0x83 0x0c 13590x42 0x00 0x84 0x4c 13600x64 0x04 0x85 0x0c 13610x87 0x04 0x86 0x4c 13620x0c 0x08 0x87 0x0c 13630x0a 0x08 0x88 0x4c 13640x4f 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 13740x61 0x28 0x60 0x0d 13750x82 0xa4 0x60 0x4d 13760xc3 0x70 0x60 0x0d 13770xe4 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 13840x61 0x28 0x20 0x0d 13850x82 0xa4 0x20 0x4d 13860xc3 0x70 0x20 0x0d 13870xe4 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 13940x21 0xe0 0x60 0x0d 13950x21 0xe0 0xe2 0x0d 13960x21 0xe0 0x60 0x4d 13970x21 0xe0 0xe2 0x4d 13980x21 0xe4 0x60 0x0d 13990x21 0xe4 0xe2 0x0d 14000x21 0xe4 0x60 0x4d 14010x21 0xe4 0xe2 0x4d 14020x21 0xe8 0x60 0x0d 14030x21 0xe8 0xe2 0x0d 14040x21 0xec 0x60 0x4d 14050x21 0xec 0xe2 0x4d 14060x21 0xec 0x60 0x0d 14070x21 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 14240x21 0xe0 0xff 0x0d 14250x21 0xe0 0xff 0x4d 14260x21 0xe4 0xff 0x0d 14270x21 0xe4 0xff 0x4d 14280x21 0xe8 0xff 0x0d 14290x21 0xec 0xff 0x4d 14300x21 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 14400x20 0xe4 0x00 0x2f 14410x20 0xe4 0x00 0x6f 14420x20 0xe4 0x00 0x0f 14430x20 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 14500x20 0x04 0x00 0x0f 14510x20 0x24 0x00 0x0f 14520x20 0x44 0x00 0x0f 14530x20 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 14600x20 0x04 0x00 0x4f 14610x20 0x24 0x00 0x4f 14620x20 0x44 0x00 0x4f 14630x20 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 14700x20 0x84 0x00 0x0f 14710x20 0xa4 0x00 0x0f 1472 1473# CHECK: movi.4h v0, #0x1 1474# CHECK: movi.4h v0, #0x1, lsl #8 1475 14760x20 0x84 0x00 0x4f 14770x20 0xa4 0x00 0x4f 1478 1479# CHECK: movi.8h v0, #0x1 1480# CHECK: movi.8h v0, #0x1, lsl #8 1481 14820x20 0x04 0x00 0x2f 14830x20 0x24 0x00 0x2f 14840x20 0x44 0x00 0x2f 14850x20 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 14920x20 0x04 0x00 0x6f 14930x20 0x24 0x00 0x6f 14940x20 0x44 0x00 0x6f 14950x20 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 15020x20 0x84 0x00 0x2f 15030x20 0xa4 0x00 0x2f 1504 1505# CHECK: mvni.4h v0, #0x1 1506# CHECK: mvni.4h v0, #0x1, lsl #8 1507 15080x20 0x84 0x00 0x6f 15090x20 0xa4 0x00 0x6f 1510 1511# CHECK: mvni.8h v0, #0x1 1512# CHECK: mvni.8h v0, #0x1, lsl #8 1513 15140x20 0xc4 0x00 0x2f 15150x20 0xd4 0x00 0x2f 15160x20 0xc4 0x00 0x6f 15170x20 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 15240x00 0x88 0x21 0x2e 15250x00 0x98 0x21 0x2e 15260x00 0x98 0xa1 0x2e 15270x00 0x98 0x21 0x0e 15280x00 0x88 0x21 0x0e 15290x00 0x88 0xa1 0x0e 15300x00 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 15440x00 0x18 0xa0 0x5f 15450x00 0x18 0xc0 0x5f 15460x00 0x58 0xa0 0x5f 15470x00 0x58 0xc0 0x5f 15480x00 0x98 0xa0 0x7f 15490x00 0x98 0xc0 0x7f 15500x00 0x98 0xa0 0x5f 15510x00 0x98 0xc0 0x5f 15520x00 0x38 0x70 0x5f 15530x00 0x38 0xa0 0x5f 15540x00 0x78 0x70 0x5f 15550x00 0xc8 0x70 0x5f 15560x00 0xc8 0xa0 0x5f 15570x00 0xb8 0x70 0x5f 15580x00 0xb8 0xa0 0x5f 15590x00 0xd8 0x70 0x5f 15600x00 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 22140x00 0x80 0x20 0x0e 22150x00 0x80 0x20 0x4e 22160x00 0x80 0xa0 0x0e 22170x00 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 22240x00 0x80 0x20 0x2e 22250x00 0x80 0x20 0x6e 22260x00 0x80 0xa0 0x2e 22270x00 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 22340x00 0x90 0x60 0x5e 22350x00 0x90 0xa0 0x5e 22360x00 0xb0 0x60 0x5e 22370x00 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 22440xaa 0xc5 0xc7 0x4d 22450xaa 0xc9 0xc7 0x4d 22460xaa 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 22520x00 0xd0 0x60 0x5e 22530x00 0xd0 0xa0 0x5e 2254# CHECK: sqdmull s0, h0, h0 2255# CHECK: sqdmull d0, s0, s0 2256 22570x00 0xd8 0xa1 0x7e 22580x00 0xd8 0xe1 0x7e 2259 2260# CHECK: frsqrte s0, s0 2261# CHECK: frsqrte d0, d0 2262 22630xca 0xcd 0xc7 0x4d 22640xea 0xc9 0xe7 0x4d 22650xea 0xe9 0xc7 0x4d 22660xea 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#===-------------------------------------------------------------------------=== 22750x62 0xdc 0x21 0x5e 2276# CHECK: fmulx s2, s3, s1 22770x62 0xdc 0x61 0x5e 2278# CHECK: fmulx d2, d3, d1 2279 2280 2281# rdar://12511369 22820xe8 0x6b 0xdf 0x4c 2283# CHECK: ld1.4s { v8, v9, v10 }, [sp], #48 2284