1# RUN: llvm-mc -triple arm64-apple-darwin -mattr=crypto -output-asm-variant=1 --disassemble -print-imm-hex < %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 172# INS/DUP (non-standard) 1730x60 0x0c 0x08 0x4e 1740x60 0x0c 0x0c 0x4e 1750x60 0x0c 0x0c 0x0e 1760x60 0x0c 0x0e 0x4e 1770x60 0x0c 0x0e 0x0e 1780x60 0x0c 0x0f 0x4e 1790x60 0x0c 0x0f 0x0e 180 181# CHECK: dup.2d v0, x3 182# CHECK: dup.4s v0, w3 183# CHECK: dup.2s v0, w3 184# CHECK: dup.8h v0, w3 185# CHECK: dup.4h v0, w3 186# CHECK: dup.16b v0, w3 187# CHECK: dup.8b v0, w3 188 1890xe2 0x75 0x18 0x6e 1900xe2 0x35 0x0c 0x6e 1910xe2 0x15 0x06 0x6e 1920xe2 0x0d 0x03 0x6e 193 1940xe2 0x05 0x18 0x6e 1950xe2 0x55 0x1c 0x6e 1960xe2 0x35 0x1e 0x6e 1970xe2 0x2d 0x15 0x6e 198 199# CHECK: ins.d v2[1], v15[1] 200# CHECK: ins.s v2[1], v15[1] 201# CHECK: ins.h v2[1], v15[1] 202# CHECK: ins.b v2[1], v15[1] 203 204# CHECK: ins.d v2[1], v15[0] 205# CHECK: ins.s v2[3], v15[2] 206# CHECK: ins.h v2[7], v15[3] 207# CHECK: ins.b v2[10], v15[5] 208 2090x00 0x1c 0x20 0x0e 2100x00 0x1c 0x20 0x4e 211 212# CHECK: and.8b v0, v0, v0 213# CHECK: and.16b v0, v0, v0 214 2150x00 0x1c 0x60 0x0e 216 217# CHECK: bic.8b v0, v0, v0 218 2190x00 0x8c 0x20 0x2e 2200x00 0x3c 0x20 0x0e 2210x00 0x34 0x20 0x0e 2220x00 0x34 0x20 0x2e 2230x00 0x3c 0x20 0x2e 2240x00 0x8c 0x20 0x0e 2250x00 0xd4 0xa0 0x2e 2260x00 0xec 0x20 0x2e 2270x00 0xec 0xa0 0x2e 2280x00 0xd4 0x20 0x2e 2290x00 0xd4 0x20 0x0e 2300x00 0xe4 0x20 0x0e 2310x00 0xe4 0x20 0x2e 2320x00 0xe4 0xa0 0x2e 2330x00 0xfc 0x20 0x2e 2340x00 0xc4 0x20 0x2e 2350x00 0xc4 0x20 0x0e 2360x00 0xf4 0x20 0x2e 2370x00 0xf4 0x20 0x0e 2380x00 0xc4 0xa0 0x2e 2390x00 0xc4 0xa0 0x0e 2400x00 0xf4 0xa0 0x2e 2410x00 0xf4 0xa0 0x0e 2420x00 0xcc 0x20 0x0e 2430x00 0xcc 0xa0 0x0e 2440x00 0xdc 0x20 0x0e 2450x00 0xdc 0x20 0x2e 2460x00 0xfc 0x20 0x0e 2470x00 0xfc 0xa0 0x0e 2480x00 0xd4 0xa0 0x0e 2490x00 0x94 0x20 0x0e 2500x00 0x94 0x20 0x2e 2510x00 0x9c 0x20 0x0e 2520x00 0x9c 0x20 0x2e 2530x00 0x7c 0x20 0x0e 2540x00 0x74 0x20 0x0e 2550x00 0x04 0x20 0x0e 2560x00 0x24 0x20 0x0e 2570x00 0xa4 0x20 0x0e 2580x00 0x64 0x20 0x0e 2590x00 0xac 0x20 0x0e 2600x00 0x6c 0x20 0x0e 2610x00 0x0c 0x20 0x0e 2620x00 0xb4 0x60 0x0e 2630x00 0xb4 0x60 0x2e 2640x00 0x5c 0x20 0x0e 2650x00 0x4c 0x20 0x0e 2660x00 0x2c 0x20 0x0e 2670x00 0x14 0x20 0x0e 2680x00 0x54 0x20 0x0e 2690x00 0x44 0x20 0x0e 2700x00 0x84 0x20 0x2e 2710x00 0x7c 0x20 0x2e 2720x00 0x74 0x20 0x2e 2730x00 0x04 0x20 0x2e 2740x00 0x24 0x20 0x2e 2750x00 0xa4 0x20 0x2e 2760x00 0x64 0x20 0x2e 2770x00 0xac 0x20 0x2e 2780x00 0x6c 0x20 0x2e 2790x00 0x0c 0x20 0x2e 2800x00 0x5c 0x20 0x2e 2810x00 0x4c 0x20 0x2e 2820x00 0x2c 0x20 0x2e 2830x00 0x14 0x20 0x2e 2840x00 0x54 0x20 0x2e 2850x00 0x44 0x20 0x2e 286 287# CHECK: cmeq.8b v0, v0, v0 288# CHECK: cmge.8b v0, v0, v0 289# CHECK: cmgt.8b v0, v0, v0 290# CHECK: cmhi.8b v0, v0, v0 291# CHECK: cmhs.8b v0, v0, v0 292# CHECK: cmtst.8b v0, v0, v0 293# CHECK: fabd.2s v0, v0, v0 294# CHECK: facge.2s v0, v0, v0 295# CHECK: facgt.2s v0, v0, v0 296# CHECK: faddp.2s v0, v0, v0 297# CHECK: fadd.2s v0, v0, v0 298# CHECK: fcmeq.2s v0, v0, v0 299# CHECK: fcmge.2s v0, v0, v0 300# CHECK: fcmgt.2s v0, v0, v0 301# CHECK: fdiv.2s v0, v0, v0 302# CHECK: fmaxnmp.2s v0, v0, v0 303# CHECK: fmaxnm.2s v0, v0, v0 304# CHECK: fmaxp.2s v0, v0, v0 305# CHECK: fmax.2s v0, v0, v0 306# CHECK: fminnmp.2s v0, v0, v0 307# CHECK: fminnm.2s v0, v0, v0 308# CHECK: fminp.2s v0, v0, v0 309# CHECK: fmin.2s v0, v0, v0 310# CHECK: fmla.2s v0, v0, v0 311# CHECK: fmls.2s v0, v0, v0 312# CHECK: fmulx.2s v0, v0, v0 313# CHECK: fmul.2s v0, v0, v0 314# CHECK: frecps.2s v0, v0, v0 315# CHECK: frsqrts.2s v0, v0, v0 316# CHECK: fsub.2s v0, v0, v0 317# CHECK: mla.8b v0, v0, v0 318# CHECK: mls.8b v0, v0, v0 319# CHECK: mul.8b v0, v0, v0 320# CHECK: pmul.8b v0, v0, v0 321# CHECK: saba.8b v0, v0, v0 322# CHECK: sabd.8b v0, v0, v0 323# CHECK: shadd.8b v0, v0, v0 324# CHECK: shsub.8b v0, v0, v0 325# CHECK: smaxp.8b v0, v0, v0 326# CHECK: smax.8b v0, v0, v0 327# CHECK: sminp.8b v0, v0, v0 328# CHECK: smin.8b v0, v0, v0 329# CHECK: sqadd.8b v0, v0, v0 330# CHECK: sqdmulh.4h v0, v0, v0 331# CHECK: sqrdmulh.4h v0, v0, v0 332# CHECK: sqrshl.8b v0, v0, v0 333# CHECK: sqshl.8b v0, v0, v0 334# CHECK: sqsub.8b v0, v0, v0 335# CHECK: srhadd.8b v0, v0, v0 336# CHECK: srshl.8b v0, v0, v0 337# CHECK: sshl.8b v0, v0, v0 338# CHECK: sub.8b v0, v0, v0 339# CHECK: uaba.8b v0, v0, v0 340# CHECK: uabd.8b v0, v0, v0 341# CHECK: uhadd.8b v0, v0, v0 342# CHECK: uhsub.8b v0, v0, v0 343# CHECK: umaxp.8b v0, v0, v0 344# CHECK: umax.8b v0, v0, v0 345# CHECK: uminp.8b v0, v0, v0 346# CHECK: umin.8b v0, v0, v0 347# CHECK: uqadd.8b v0, v0, v0 348# CHECK: uqrshl.8b v0, v0, v0 349# CHECK: uqshl.8b v0, v0, v0 350# CHECK: uqsub.8b v0, v0, v0 351# CHECK: urhadd.8b v0, v0, v0 352# CHECK: urshl.8b v0, v0, v0 353# CHECK: ushl.8b v0, v0, v0 354 3550x00 0x1c 0xe0 0x2e 3560x00 0x1c 0xa0 0x2e 3570x00 0x1c 0x60 0x2e 3580x00 0x1c 0x20 0x2e 3590x00 0x1c 0xe0 0x0e 3600x00 0x1c 0xa1 0x0e 361 362# CHECK: bif.8b v0, v0, v0 363# CHECK: bit.8b v0, v0, v0 364# CHECK: bsl.8b v0, v0, v0 365# CHECK: eor.8b v0, v0, v0 366# CHECK: orn.8b v0, v0, v0 367# CHECK: orr.8b v0, v0, v1 368 3690x00 0x68 0x20 0x0e 3700x00 0x68 0x20 0x4e 3710x00 0x68 0x60 0x0e 3720x00 0x68 0x60 0x4e 3730x00 0x68 0xa0 0x0e 3740x00 0x68 0xa0 0x4e 375 376# CHECK: sadalp.4h v0, v0 377# CHECK: sadalp.8h v0, v0 378# CHECK: sadalp.2s v0, v0 379# CHECK: sadalp.4s v0, v0 380# CHECK: sadalp.1d v0, v0 381# CHECK: sadalp.2d v0, v0 382 3830x00 0x48 0x20 0x0e 3840x00 0x48 0x20 0x2e 3850x00 0x58 0x20 0x0e 3860x00 0xf8 0xa0 0x0e 3870x00 0xc8 0x21 0x0e 3880x00 0xc8 0x21 0x2e 3890x00 0xb8 0x21 0x0e 3900x00 0xb8 0x21 0x2e 3910x00 0xa8 0x21 0x0e 3920x00 0xa8 0x21 0x2e 3930x00 0xa8 0xa1 0x0e 3940x00 0xa8 0xa1 0x2e 3950x00 0xb8 0xa1 0x0e 3960x00 0xb8 0xa1 0x2e 3970x00 0xf8 0xa0 0x2e 3980x00 0xd8 0xa1 0x0e 3990x00 0xd8 0xa1 0x2e 4000x00 0xf8 0xa1 0x2e 4010x00 0xb8 0x20 0x2e 4020x00 0x58 0x20 0x2e 4030x00 0x58 0x60 0x2e 4040x00 0x18 0x20 0x0e 4050x00 0x08 0x20 0x2e 4060x00 0x08 0x20 0x0e 4070x00 0x68 0x20 0x0e 4080x00 0x28 0x20 0x0e 4090x00 0xd8 0x21 0x0e 4100x00 0x38 0x21 0x2e 4110x00 0x78 0x20 0x0e 4120x00 0x78 0x20 0x2e 4130x00 0x48 0x21 0x0e 4140x00 0x28 0x21 0x2e 4150x00 0x38 0x20 0x0e 4160x00 0x68 0x20 0x2e 4170x00 0x28 0x20 0x2e 4180x00 0xd8 0x21 0x2e 4190x00 0x48 0x21 0x2e 4200x00 0xc8 0xa1 0x0e 4210x00 0xc8 0xa1 0x2e 4220x00 0x38 0x20 0x2e 4230x00 0x28 0x21 0x0e 4240x00 0x48 0x20 0x0e 4250x00 0x48 0x20 0x2e 4260x00 0x58 0x20 0x0e 4270x00 0xf8 0xa0 0x0e 4280x00 0xc8 0x21 0x0e 4290x00 0xc8 0x21 0x2e 4300x00 0xb8 0x21 0x0e 4310x00 0xb8 0x21 0x2e 4320x00 0xa8 0x21 0x0e 4330x00 0xa8 0x21 0x2e 4340x00 0xa8 0xa1 0x0e 4350x00 0xa8 0xa1 0x2e 4360x00 0xb8 0xa1 0x0e 4370x00 0xb8 0xa1 0x2e 4380x00 0xf8 0xa0 0x2e 4390x00 0xd8 0xa1 0x0e 4400x00 0xd8 0xa1 0x2e 4410x00 0xf8 0xa1 0x2e 4420x00 0xb8 0x20 0x2e 4430x00 0x58 0x20 0x2e 4440x00 0x58 0x60 0x2e 4450x00 0x18 0x20 0x0e 4460x00 0x08 0x20 0x2e 4470x00 0x08 0x20 0x0e 4480x00 0x68 0x20 0x0e 4490x00 0x28 0x20 0x0e 4500x00 0xd8 0x21 0x0e 4510x00 0x38 0x21 0x2e 4520x00 0x78 0x20 0x0e 4530x00 0x78 0x20 0x2e 4540x00 0x48 0x21 0x0e 4550x00 0x28 0x21 0x2e 4560x00 0x38 0x20 0x0e 4570x00 0x68 0x20 0x2e 4580x00 0x28 0x20 0x2e 4590x00 0xd8 0x21 0x2e 4600x00 0x48 0x21 0x2e 4610x00 0xc8 0xa1 0x0e 4620x00 0xc8 0xa1 0x2e 4630x00 0x38 0x20 0x2e 4640x00 0x28 0x21 0x0e 465 466# CHECK: cls.8b v0, v0 467# CHECK: clz.8b v0, v0 468# CHECK: cnt.8b v0, v0 469# CHECK: fabs.2s v0, v0 470# CHECK: fcvtas.2s v0, v0 471# CHECK: fcvtau.2s v0, v0 472# CHECK: fcvtms.2s v0, v0 473# CHECK: fcvtmu.2s v0, v0 474# CHECK: fcvtns.2s v0, v0 475# CHECK: fcvtnu.2s v0, v0 476# CHECK: fcvtps.2s v0, v0 477# CHECK: fcvtpu.2s v0, v0 478# CHECK: fcvtzs.2s v0, v0 479# CHECK: fcvtzu.2s v0, v0 480# CHECK: fneg.2s v0, v0 481# CHECK: frecpe.2s v0, v0 482# CHECK: frsqrte.2s v0, v0 483# CHECK: fsqrt.2s v0, v0 484# CHECK: neg.8b v0, v0 485# CHECK: mvn.8b v0, v0 486# CHECK: rbit.8b v0, v0 487# CHECK: rev16.8b v0, v0 488# CHECK: rev32.8b v0, v0 489# CHECK: rev64.8b v0, v0 490# CHECK: sadalp.4h v0, v0 491# CHECK: saddlp.4h v0, v0 492# CHECK: scvtf.2s v0, v0 493# CHECK: shll.8h v0, v0, #8 494# CHECK: sqabs.8b v0, v0 495# CHECK: sqneg.8b v0, v0 496# CHECK: sqxtn.8b v0, v0 497# CHECK: sqxtun.8b v0, v0 498# CHECK: suqadd.8b v0, v0 499# CHECK: uadalp.4h v0, v0 500# CHECK: uaddlp.4h v0, v0 501# CHECK: ucvtf.2s v0, v0 502# CHECK: uqxtn.8b v0, v0 503# CHECK: urecpe.2s v0, v0 504# CHECK: ursqrte.2s v0, v0 505# CHECK: usqadd.8b v0, v0 506# CHECK: xtn.8b v0, v0 507 5080x00 0x98 0x20 0x0e 5090x00 0x98 0x20 0x4e 5100x00 0x98 0x60 0x0e 5110x00 0x98 0x60 0x4e 5120x00 0x98 0xa0 0x0e 5130x00 0x98 0xa0 0x4e 5140x00 0x98 0xe0 0x4e 515 516# CHECK: cmeq.8b v0, v0, #0 517# CHECK: cmeq.16b v0, v0, #0 518# CHECK: cmeq.4h v0, v0, #0 519# CHECK: cmeq.8h v0, v0, #0 520# CHECK: cmeq.2s v0, v0, #0 521# CHECK: cmeq.4s v0, v0, #0 522# CHECK: cmeq.2d v0, v0, #0 523 5240x00 0x88 0x20 0x2e 5250x00 0x88 0x20 0x0e 5260x00 0x98 0x20 0x2e 5270x00 0xa8 0x20 0x0e 5280x00 0xd8 0xa0 0x0e 5290x00 0xc8 0xa0 0x2e 5300x00 0xc8 0xa0 0x0e 5310x00 0xd8 0xa0 0x2e 5320x00 0xe8 0xa0 0x0e 533 534# CHECK: cmge.8b v0, v0, #0 535# CHECK: cmgt.8b v0, v0, #0 536# CHECK: cmle.8b v0, v0, #0 537# CHECK: cmlt.8b v0, v0, #0 538# CHECK: fcmeq.2s v0, v0, #0 539# CHECK: fcmge.2s v0, v0, #0 540# CHECK: fcmgt.2s v0, v0, #0 541# CHECK: fcmle.2s v0, v0, #0 542# CHECK: fcmlt.2s v0, v0, #0 543 5440x00 0x78 0x21 0x0e 5450x00 0x78 0x21 0x4e 5460x00 0x78 0x61 0x0e 5470x00 0x78 0x61 0x4e 5480x00 0x68 0x21 0x0e 5490x00 0x68 0x21 0x4e 5500x00 0x68 0x61 0x0e 5510x00 0x68 0x61 0x4e 5520x00 0x68 0x61 0x2e 5530x00 0x68 0x61 0x6e 554 555# CHECK: fcvtl v0.4s, v0.4h 556# CHECK: fcvtl2 v0.4s, v0.8h 557# CHECK: fcvtl v0.2d, v0.2s 558# CHECK: fcvtl2 v0.2d, v0.4s 559# CHECK: fcvtn v0.4h, v0.4s 560# CHECK: fcvtn2 v0.8h, v0.4s 561# CHECK: fcvtn v0.2s, v0.2d 562# CHECK: fcvtn2 v0.4s, v0.2d 563# CHECK: fcvtxn v0.2s, v0.2d 564# CHECK: fcvtxn2 v0.4s, v0.2d 565 566#===-------------------------------------------------------------------------=== 567# AdvSIMD modified immediate instructions 568#===-------------------------------------------------------------------------=== 569 5700x20 0x14 0x00 0x2f 5710x20 0x34 0x00 0x2f 5720x20 0x54 0x00 0x2f 5730x20 0x74 0x00 0x2f 574 575# CHECK: bic.2s v0, #0x1 576# CHECK: bic.2s v0, #0x1, lsl #8 577# CHECK: bic.2s v0, #0x1, lsl #16 578# CHECK: bic.2s v0, #0x1, lsl #24 579 5800x20 0x94 0x00 0x2f 5810x20 0x94 0x00 0x2f 5820x20 0xb4 0x00 0x2f 583 584# CHECK: bic.4h v0, #0x1 585# CHECK: bic.4h v0, #0x1 586# FIXME: bic.4h v0, #0x1, lsl #8 587# 'bic.4h' should be selected over "fcvtnu.2s v0, v1, #0" 588 5890x20 0x14 0x00 0x6f 5900x20 0x34 0x00 0x6f 5910x20 0x54 0x00 0x6f 5920x20 0x74 0x00 0x6f 593 594# CHECK: bic.4s v0, #0x1 595# CHECK: bic.4s v0, #0x1, lsl #8 596# CHECK: bic.4s v0, #0x1, lsl #16 597# CHECK: bic.4s v0, #0x1, lsl #24 598 5990x20 0x94 0x00 0x6f 6000x20 0xb4 0x00 0x6f 601 602# CHECK: bic.8h v0, #0x1 603# FIXME: bic.8h v0, #0x1, lsl #8 604# "bic.8h" should be selected over "fcvtnu.4s v0, v1, #0" 605 6060x00 0xf4 0x02 0x6f 607 608# CHECK: fmov.2d v0, #0.12500000 609 6100x00 0xf4 0x02 0x0f 6110x00 0xf4 0x02 0x4f 612 613# CHECK: fmov.2s v0, #0.12500000 614# CHECK: fmov.4s v0, #0.12500000 615 6160x20 0x14 0x00 0x0f 6170x20 0x34 0x00 0x0f 6180x20 0x54 0x00 0x0f 6190x20 0x74 0x00 0x0f 620 621# CHECK: orr.2s v0, #0x1 622# CHECK: orr.2s v0, #0x1, lsl #8 623# CHECK: orr.2s v0, #0x1, lsl #16 624# CHECK: orr.2s v0, #0x1, lsl #24 625 6260x20 0x94 0x00 0x0f 6270x20 0xb4 0x00 0x0f 628 629# CHECK: orr.4h v0, #0x1 630# FIXME: orr.4h v0, #0x1, lsl #8 631# 'orr.4h' should be selected over "fcvtns.2s v0, v1, #0" 632 6330x20 0x14 0x00 0x4f 6340x20 0x34 0x00 0x4f 6350x20 0x54 0x00 0x4f 6360x20 0x74 0x00 0x4f 637 638# CHECK: orr.4s v0, #0x1 639# CHECK: orr.4s v0, #0x1, lsl #8 640# CHECK: orr.4s v0, #0x1, lsl #16 641# CHECK: orr.4s v0, #0x1, lsl #24 642 6430x20 0x94 0x00 0x4f 6440x20 0xb4 0x00 0x4f 645 646# CHECK: orr.8h v0, #0x1 647# CHECK: orr.8h v0, #0x1, lsl #8 648 6490x21 0x70 0x40 0x0c 6500x42 0xa0 0x40 0x4c 6510x64 0x64 0x40 0x0c 6520x87 0x24 0x40 0x4c 6530x0c 0xa8 0x40 0x0c 6540x0a 0x68 0x40 0x4c 6550x2d 0xac 0x40 0x0c 6560x4f 0x7c 0x40 0x4c 6570xe0 0x03 0x40 0x0d 658 659# CHECK: ld1.8b { v1 }, [x1] 660# CHECK: ld1.16b { v2, v3 }, [x2] 661# CHECK: ld1.4h { v4, v5, v6 }, [x3] 662# CHECK: ld1.8h { v7, v8, v9, v10 }, [x4] 663# CHECK: ld1.2s { v12, v13 }, [x0] 664# CHECK: ld1.4s { v10, v11, v12 }, [x0] 665# CHECK: ld1.1d { v13, v14 }, [x1] 666# CHECK: ld1.2d { v15 }, [x2] 667# CHECK: ld1.b { v0 }[0], [sp] 668 6690x41 0x70 0xdf 0x0c 6700x41 0xa0 0xdf 0x0c 6710x41 0x60 0xdf 0x0c 6720x41 0x20 0xdf 0x0c 6730x42 0x70 0xdf 0x4c 6740x42 0xa0 0xdf 0x4c 6750x42 0x60 0xdf 0x4c 6760x42 0x20 0xdf 0x4c 6770x64 0x74 0xdf 0x0c 6780x64 0xa4 0xdf 0x0c 6790x64 0x64 0xdf 0x0c 6800x64 0x24 0xdf 0x0c 6810x87 0x74 0xdf 0x4c 6820x87 0xa4 0xdf 0x4c 6830x87 0x64 0xdf 0x4c 6840x87 0x24 0xdf 0x4c 6850x0c 0x78 0xdf 0x0c 6860x0c 0xa8 0xdf 0x0c 6870x0c 0x68 0xdf 0x0c 6880x0c 0x28 0xdf 0x0c 6890x0a 0x78 0xdf 0x4c 6900x0a 0xa8 0xdf 0x4c 6910x0a 0x68 0xdf 0x4c 6920x0a 0x28 0xdf 0x4c 6930x2d 0x7c 0xdf 0x0c 6940x2d 0xac 0xdf 0x0c 6950x2d 0x6c 0xdf 0x0c 6960x2d 0x2c 0xdf 0x0c 6970x4f 0x7c 0xdf 0x4c 6980x4f 0xac 0xdf 0x4c 6990x4f 0x6c 0xdf 0x4c 7000x4f 0x2c 0xdf 0x4c 701 702# CHECK: ld1.8b { v1 }, [x2], #8 703# CHECK: ld1.8b { v1, v2 }, [x2], #16 704# CHECK: ld1.8b { v1, v2, v3 }, [x2], #24 705# CHECK: ld1.8b { v1, v2, v3, v4 }, [x2], #32 706# CHECK: ld1.16b { v2 }, [x2], #16 707# CHECK: ld1.16b { v2, v3 }, [x2], #32 708# CHECK: ld1.16b { v2, v3, v4 }, [x2], #48 709# CHECK: ld1.16b { v2, v3, v4, v5 }, [x2], #64 710# CHECK: ld1.4h { v4 }, [x3], #8 711# CHECK: ld1.4h { v4, v5 }, [x3], #16 712# CHECK: ld1.4h { v4, v5, v6 }, [x3], #24 713# CHECK: ld1.4h { v4, v5, v6, v7 }, [x3], #32 714# CHECK: ld1.8h { v7 }, [x4], #16 715# CHECK: ld1.8h { v7, v8 }, [x4], #32 716# CHECK: ld1.8h { v7, v8, v9 }, [x4], #48 717# CHECK: ld1.8h { v7, v8, v9, v10 }, [x4], #64 718# CHECK: ld1.2s { v12 }, [x0], #8 719# CHECK: ld1.2s { v12, v13 }, [x0], #16 720# CHECK: ld1.2s { v12, v13, v14 }, [x0], #24 721# CHECK: ld1.2s { v12, v13, v14, v15 }, [x0], #32 722# CHECK: ld1.4s { v10 }, [x0], #16 723# CHECK: ld1.4s { v10, v11 }, [x0], #32 724# CHECK: ld1.4s { v10, v11, v12 }, [x0], #48 725# CHECK: ld1.4s { v10, v11, v12, v13 }, [x0], #64 726# CHECK: ld1.1d { v13 }, [x1], #8 727# CHECK: ld1.1d { v13, v14 }, [x1], #16 728# CHECK: ld1.1d { v13, v14, v15 }, [x1], #24 729# CHECK: ld1.1d { v13, v14, v15, v16 }, [x1], #32 730# CHECK: ld1.2d { v15 }, [x2], #16 731# CHECK: ld1.2d { v15, v16 }, [x2], #32 732# CHECK: ld1.2d { v15, v16, v17 }, [x2], #48 733# CHECK: ld1.2d { v15, v16, v17, v18 }, [x2], #64 734 7350x21 0x70 0x00 0x0c 7360x42 0xa0 0x00 0x4c 7370x64 0x64 0x00 0x0c 7380x87 0x24 0x00 0x4c 7390x0c 0xa8 0x00 0x0c 7400x0a 0x68 0x00 0x4c 7410x2d 0xac 0x00 0x0c 7420x4f 0x7c 0x00 0x4c 743 744# CHECK: st1.8b { v1 }, [x1] 745# CHECK: st1.16b { v2, v3 }, [x2] 746# CHECK: st1.4h { v4, v5, v6 }, [x3] 747# CHECK: st1.8h { v7, v8, v9, v10 }, [x4] 748# CHECK: st1.2s { v12, v13 }, [x0] 749# CHECK: st1.4s { v10, v11, v12 }, [x0] 750# CHECK: st1.1d { v13, v14 }, [x1] 751# CHECK: st1.2d { v15 }, [x2] 752 7530x61 0x08 0x40 0x0d 7540x82 0x84 0x40 0x4d 7550xa3 0x58 0x40 0x0d 7560xc4 0x80 0x40 0x4d 757 758# CHECK: ld1.b { v1 }[2], [x3] 759# CHECK: ld1.d { v2 }[1], [x4] 760# CHECK: ld1.h { v3 }[3], [x5] 761# CHECK: ld1.s { v4 }[2], [x6] 762 7630x61 0x08 0xdf 0x0d 7640x82 0x84 0xdf 0x4d 7650xa3 0x58 0xdf 0x0d 7660xc4 0x80 0xdf 0x4d 767 768# CHECK: ld1.b { v1 }[2], [x3], #1 769# CHECK: ld1.d { v2 }[1], [x4], #8 770# CHECK: ld1.h { v3 }[3], [x5], #2 771# CHECK: ld1.s { v4 }[2], [x6], #4 772 7730x61 0x08 0x00 0x0d 7740x82 0x84 0x00 0x4d 7750xa3 0x58 0x00 0x0d 7760xc4 0x80 0x00 0x4d 777 778# CHECK: st1.b { v1 }[2], [x3] 779# CHECK: st1.d { v2 }[1], [x4] 780# CHECK: st1.h { v3 }[3], [x5] 781# CHECK: st1.s { v4 }[2], [x6] 782 7830x61 0x08 0x9f 0x0d 7840x82 0x84 0x9f 0x4d 7850xa3 0x58 0x9f 0x0d 7860xc4 0x80 0x9f 0x4d 787 788# CHECK: st1.b { v1 }[2], [x3], #1 789# CHECK: st1.d { v2 }[1], [x4], #8 790# CHECK: st1.h { v3 }[3], [x5], #2 791# CHECK: st1.s { v4 }[2], [x6], #4 792 7930x61 0x08 0xc4 0x0d 7940x82 0x84 0xc5 0x4d 7950xa3 0x58 0xc6 0x0d 7960xc4 0x80 0xc7 0x4d 797 798# CHECK: ld1.b { v1 }[2], [x3], x4 799# CHECK: ld1.d { v2 }[1], [x4], x5 800# CHECK: ld1.h { v3 }[3], [x5], x6 801# CHECK: ld1.s { v4 }[2], [x6], x7 802 8030x61 0x08 0x84 0x0d 8040x82 0x84 0x85 0x4d 8050xa3 0x58 0x86 0x0d 8060xc4 0x80 0x87 0x4d 807 808# CHECK: st1.b { v1 }[2], [x3], x4 809# CHECK: st1.d { v2 }[1], [x4], x5 810# CHECK: st1.h { v3 }[3], [x5], x6 811# CHECK: st1.s { v4 }[2], [x6], x7 812 8130x41 0x70 0xc3 0x0c 8140x42 0xa0 0xc4 0x4c 8150x64 0x64 0xc5 0x0c 8160x87 0x24 0xc6 0x4c 8170x0c 0xa8 0xc7 0x0c 8180x0a 0x68 0xc8 0x4c 8190x2d 0xac 0xc9 0x0c 8200x4f 0x7c 0xca 0x4c 821 822# CHECK: ld1.8b { v1 }, [x2], x3 823# CHECK: ld1.16b { v2, v3 }, [x2], x4 824# CHECK: ld1.4h { v4, v5, v6 }, [x3], x5 825# CHECK: ld1.8h { v7, v8, v9, v10 }, [x4], x6 826# CHECK: ld1.2s { v12, v13 }, [x0], x7 827# CHECK: ld1.4s { v10, v11, v12 }, [x0], x8 828# CHECK: ld1.1d { v13, v14 }, [x1], x9 829# CHECK: ld1.2d { v15 }, [x2], x10 830 8310x41 0x70 0x83 0x0c 8320x42 0xa0 0x84 0x4c 8330x64 0x64 0x85 0x0c 8340x87 0x24 0x86 0x4c 8350x0c 0xa8 0x87 0x0c 8360x0a 0x68 0x88 0x4c 8370x2d 0xac 0x89 0x0c 8380x4f 0x7c 0x8a 0x4c 839 840# CHECK: st1.8b { v1 }, [x2], x3 841# CHECK: st1.16b { v2, v3 }, [x2], x4 842# CHECK: st1.4h { v4, v5, v6 }, [x3], x5 843# CHECK: st1.8h { v7, v8, v9, v10 }, [x4], x6 844# CHECK: st1.2s { v12, v13 }, [x0], x7 845# CHECK: st1.4s { v10, v11, v12 }, [x0], x8 846# CHECK: st1.1d { v13, v14 }, [x1], x9 847# CHECK: st1.2d { v15 }, [x2], x10 848 8490x41 0x70 0x9f 0x0c 8500x41 0xa0 0x9f 0x0c 8510x41 0x60 0x9f 0x0c 8520x41 0x20 0x9f 0x0c 8530x42 0x70 0x9f 0x4c 8540x42 0xa0 0x9f 0x4c 8550x42 0x60 0x9f 0x4c 8560x42 0x20 0x9f 0x4c 8570x64 0x74 0x9f 0x0c 8580x64 0xa4 0x9f 0x0c 8590x64 0x64 0x9f 0x0c 8600x64 0x24 0x9f 0x0c 8610x87 0x74 0x9f 0x4c 8620x87 0xa4 0x9f 0x4c 8630x87 0x64 0x9f 0x4c 8640x87 0x24 0x9f 0x4c 8650x0c 0x78 0x9f 0x0c 8660x0c 0xa8 0x9f 0x0c 8670x0c 0x68 0x9f 0x0c 8680x0c 0x28 0x9f 0x0c 8690x0a 0x78 0x9f 0x4c 8700x0a 0xa8 0x9f 0x4c 8710x0a 0x68 0x9f 0x4c 8720x0a 0x28 0x9f 0x4c 8730x2d 0x7c 0x9f 0x0c 8740x2d 0xac 0x9f 0x0c 8750x2d 0x6c 0x9f 0x0c 8760x2d 0x2c 0x9f 0x0c 8770x4f 0x7c 0x9f 0x4c 8780x4f 0xac 0x9f 0x4c 8790x4f 0x6c 0x9f 0x4c 8800x4f 0x2c 0x9f 0x4c 881 882# CHECK: st1.8b { v1 }, [x2], #8 883# CHECK: st1.8b { v1, v2 }, [x2], #16 884# CHECK: st1.8b { v1, v2, v3 }, [x2], #24 885# CHECK: st1.8b { v1, v2, v3, v4 }, [x2], #32 886# CHECK: st1.16b { v2 }, [x2], #16 887# CHECK: st1.16b { v2, v3 }, [x2], #32 888# CHECK: st1.16b { v2, v3, v4 }, [x2], #48 889# CHECK: st1.16b { v2, v3, v4, v5 }, [x2], #64 890# CHECK: st1.4h { v4 }, [x3], #8 891# CHECK: st1.4h { v4, v5 }, [x3], #16 892# CHECK: st1.4h { v4, v5, v6 }, [x3], #24 893# CHECK: st1.4h { v4, v5, v6, v7 }, [x3], #32 894# CHECK: st1.8h { v7 }, [x4], #16 895# CHECK: st1.8h { v7, v8 }, [x4], #32 896# CHECK: st1.8h { v7, v8, v9 }, [x4], #48 897# CHECK: st1.8h { v7, v8, v9, v10 }, [x4], #64 898# CHECK: st1.2s { v12 }, [x0], #8 899# CHECK: st1.2s { v12, v13 }, [x0], #16 900# CHECK: st1.2s { v12, v13, v14 }, [x0], #24 901# CHECK: st1.2s { v12, v13, v14, v15 }, [x0], #32 902# CHECK: st1.4s { v10 }, [x0], #16 903# CHECK: st1.4s { v10, v11 }, [x0], #32 904# CHECK: st1.4s { v10, v11, v12 }, [x0], #48 905# CHECK: st1.4s { v10, v11, v12, v13 }, [x0], #64 906# CHECK: st1.1d { v13 }, [x1], #8 907# CHECK: st1.1d { v13, v14 }, [x1], #16 908# CHECK: st1.1d { v13, v14, v15 }, [x1], #24 909# CHECK: st1.1d { v13, v14, v15, v16 }, [x1], #32 910# CHECK: st1.2d { v15 }, [x2], #16 911# CHECK: st1.2d { v15, v16 }, [x2], #32 912# CHECK: st1.2d { v15, v16, v17 }, [x2], #48 913# CHECK: st1.2d { v15, v16, v17, v18 }, [x2], #64 914 9150x21 0xc0 0x40 0x0d 9160x21 0xc0 0xc2 0x0d 9170x64 0xc4 0x40 0x0d 9180x64 0xc4 0xc5 0x0d 9190xa9 0xc8 0x40 0x0d 9200xa9 0xc8 0xc6 0x0d 9210xec 0xcc 0x40 0x0d 9220xec 0xcc 0xc8 0x0d 923 924# CHECK: ld1r.8b { v1 }, [x1] 925# CHECK: ld1r.8b { v1 }, [x1], x2 926# CHECK: ld1r.4h { v4 }, [x3] 927# CHECK: ld1r.4h { v4 }, [x3], x5 928# CHECK: ld1r.2s { v9 }, [x5] 929# CHECK: ld1r.2s { v9 }, [x5], x6 930# CHECK: ld1r.1d { v12 }, [x7] 931# CHECK: ld1r.1d { v12 }, [x7], x8 932 9330x21 0xc0 0xdf 0x0d 9340x21 0xc4 0xdf 0x0d 9350x21 0xc8 0xdf 0x0d 9360x21 0xcc 0xdf 0x0d 937 938# CHECK: ld1r.8b { v1 }, [x1], #1 939# CHECK: ld1r.4h { v1 }, [x1], #2 940# CHECK: ld1r.2s { v1 }, [x1], #4 941# CHECK: ld1r.1d { v1 }, [x1], #8 942 9430x45 0x80 0x40 0x4c 9440x0a 0x88 0x40 0x0c 945 946# CHECK: ld2.16b { v5, v6 }, [x2] 947# CHECK: ld2.2s { v10, v11 }, [x0] 948 9490x45 0x80 0x00 0x4c 9500x0a 0x88 0x00 0x0c 951 952# CHECK: st2.16b { v5, v6 }, [x2] 953# CHECK: st2.2s { v10, v11 }, [x0] 954 9550x61 0x08 0x20 0x0d 9560x82 0x84 0x20 0x4d 9570xc3 0x50 0x20 0x0d 9580xe4 0x90 0x20 0x4d 959 960# CHECK: st2.b { v1, v2 }[2], [x3] 961# CHECK: st2.d { v2, v3 }[1], [x4] 962# CHECK: st2.h { v3, v4 }[2], [x6] 963# CHECK: st2.s { v4, v5 }[3], [x7] 964 9650x61 0x08 0xbf 0x0d 9660x82 0x84 0xbf 0x4d 9670xa3 0x58 0xbf 0x0d 9680xc4 0x80 0xbf 0x4d 969 970# CHECK: st2.b { v1, v2 }[2], [x3], #2 971# CHECK: st2.d { v2, v3 }[1], [x4], #16 972# CHECK: st2.h { v3, v4 }[3], [x5], #4 973# CHECK: st2.s { v4, v5 }[2], [x6], #8 974 9750x61 0x08 0x60 0x0d 9760x82 0x84 0x60 0x4d 9770xc3 0x50 0x60 0x0d 9780xe4 0x90 0x60 0x4d 979 980# CHECK: ld2.b { v1, v2 }[2], [x3] 981# CHECK: ld2.d { v2, v3 }[1], [x4] 982# CHECK: ld2.h { v3, v4 }[2], [x6] 983# CHECK: ld2.s { v4, v5 }[3], [x7] 984 9850x61 0x08 0xff 0x0d 9860x82 0x84 0xff 0x4d 9870xa3 0x58 0xff 0x0d 9880xc4 0x80 0xff 0x4d 989 990# CHECK: ld2.b { v1, v2 }[2], [x3], #2 991# CHECK: ld2.d { v2, v3 }[1], [x4], #16 992# CHECK: ld2.h { v3, v4 }[3], [x5], #4 993# CHECK: ld2.s { v4, v5 }[2], [x6], #8 994 9950x61 0x08 0xe4 0x0d 9960x82 0x84 0xe6 0x4d 9970xa3 0x58 0xe8 0x0d 9980xc4 0x80 0xea 0x4d 999 1000# CHECK: ld2.b { v1, v2 }[2], [x3], x4 1001# CHECK: ld2.d { v2, v3 }[1], [x4], x6 1002# CHECK: ld2.h { v3, v4 }[3], [x5], x8 1003# CHECK: ld2.s { v4, v5 }[2], [x6], x10 1004 10050x61 0x08 0xa4 0x0d 10060x82 0x84 0xa6 0x4d 10070xa3 0x58 0xa8 0x0d 10080xc4 0x80 0xaa 0x4d 1009 1010# CHECK: st2.b { v1, v2 }[2], [x3], x4 1011# CHECK: st2.d { v2, v3 }[1], [x4], x6 1012# CHECK: st2.h { v3, v4 }[3], [x5], x8 1013# CHECK: st2.s { v4, v5 }[2], [x6], x10 1014 10150x64 0x84 0xc5 0x0c 10160x0c 0x88 0xc7 0x0c 1017 1018# CHECK: ld2.4h { v4, v5 }, [x3], x5 1019# CHECK: ld2.2s { v12, v13 }, [x0], x7 1020 10210x00 0x80 0xdf 0x0c 10220x00 0x80 0xdf 0x4c 10230x00 0x84 0xdf 0x0c 10240x00 0x84 0xdf 0x4c 10250x00 0x88 0xdf 0x0c 10260x00 0x88 0xdf 0x4c 10270x00 0x8c 0xdf 0x4c 1028 1029# CHECK: ld2.8b { v0, v1 }, [x0], #16 1030# CHECK: ld2.16b { v0, v1 }, [x0], #32 1031# CHECK: ld2.4h { v0, v1 }, [x0], #16 1032# CHECK: ld2.8h { v0, v1 }, [x0], #32 1033# CHECK: ld2.2s { v0, v1 }, [x0], #16 1034# CHECK: ld2.4s { v0, v1 }, [x0], #32 1035# CHECK: ld2.2d { v0, v1 }, [x0], #32 1036 10370x64 0x84 0x85 0x0c 10380x0c 0x88 0x87 0x0c 1039 1040# CHECK: st2.4h { v4, v5 }, [x3], x5 1041# CHECK: st2.2s { v12, v13 }, [x0], x7 1042 10430x00 0x80 0x9f 0x0c 10440x00 0x80 0x9f 0x4c 10450x00 0x84 0x9f 0x0c 10460x00 0x84 0x9f 0x4c 10470x00 0x88 0x9f 0x0c 10480x00 0x88 0x9f 0x4c 10490x00 0x8c 0x9f 0x4c 1050 1051# CHECK: st2.8b { v0, v1 }, [x0], #16 1052# CHECK: st2.16b { v0, v1 }, [x0], #32 1053# CHECK: st2.4h { v0, v1 }, [x0], #16 1054# CHECK: st2.8h { v0, v1 }, [x0], #32 1055# CHECK: st2.2s { v0, v1 }, [x0], #16 1056# CHECK: st2.4s { v0, v1 }, [x0], #32 1057# CHECK: st2.2d { v0, v1 }, [x0], #32 1058 10590x21 0xc0 0x60 0x0d 10600x21 0xc0 0xe2 0x0d 10610x21 0xc0 0x60 0x4d 10620x21 0xc0 0xe2 0x4d 10630x21 0xc4 0x60 0x0d 10640x21 0xc4 0xe2 0x0d 10650x21 0xc4 0x60 0x4d 10660x21 0xc4 0xe2 0x4d 10670x21 0xc8 0x60 0x0d 10680x21 0xc8 0xe2 0x0d 10690x21 0xcc 0x60 0x4d 10700x21 0xcc 0xe2 0x4d 10710x21 0xcc 0x60 0x0d 10720x21 0xcc 0xe2 0x0d 1073 1074# CHECK: ld2r.8b { v1, v2 }, [x1] 1075# CHECK: ld2r.8b { v1, v2 }, [x1], x2 1076# CHECK: ld2r.16b { v1, v2 }, [x1] 1077# CHECK: ld2r.16b { v1, v2 }, [x1], x2 1078# CHECK: ld2r.4h { v1, v2 }, [x1] 1079# CHECK: ld2r.4h { v1, v2 }, [x1], x2 1080# CHECK: ld2r.8h { v1, v2 }, [x1] 1081# CHECK: ld2r.8h { v1, v2 }, [x1], x2 1082# CHECK: ld2r.2s { v1, v2 }, [x1] 1083# CHECK: ld2r.2s { v1, v2 }, [x1], x2 1084# CHECK: ld2r.2d { v1, v2 }, [x1] 1085# CHECK: ld2r.2d { v1, v2 }, [x1], x2 1086# CHECK: ld2r.1d { v1, v2 }, [x1] 1087# CHECK: ld2r.1d { v1, v2 }, [x1], x2 1088 10890x21 0xc0 0xff 0x0d 10900x21 0xc0 0xff 0x4d 10910x21 0xc4 0xff 0x0d 10920x21 0xc4 0xff 0x4d 10930x21 0xc8 0xff 0x0d 10940x21 0xcc 0xff 0x4d 10950x21 0xcc 0xff 0x0d 1096 1097# CHECK: ld2r.8b { v1, v2 }, [x1], #2 1098# CHECK: ld2r.16b { v1, v2 }, [x1], #2 1099# CHECK: ld2r.4h { v1, v2 }, [x1], #4 1100# CHECK: ld2r.8h { v1, v2 }, [x1], #4 1101# CHECK: ld2r.2s { v1, v2 }, [x1], #8 1102# CHECK: ld2r.2d { v1, v2 }, [x1], #16 1103# CHECK: ld2r.1d { v1, v2 }, [x1], #16 1104 11050x21 0x40 0x40 0x0c 11060x45 0x40 0x40 0x4c 11070x0a 0x48 0x40 0x0c 1108 1109# CHECK: ld3.8b { v1, v2, v3 }, [x1] 1110# CHECK: ld3.16b { v5, v6, v7 }, [x2] 1111# CHECK: ld3.2s { v10, v11, v12 }, [x0] 1112 11130x21 0x40 0x00 0x0c 11140x45 0x40 0x00 0x4c 11150x0a 0x48 0x00 0x0c 1116 1117# CHECK: st3.8b { v1, v2, v3 }, [x1] 1118# CHECK: st3.16b { v5, v6, v7 }, [x2] 1119# CHECK: st3.2s { v10, v11, v12 }, [x0] 1120 11210x61 0x28 0xc4 0x0d 11220x82 0xa4 0xc5 0x4d 11230xa3 0x78 0xc6 0x0d 11240xc4 0xa0 0xc7 0x4d 1125 1126# CHECK: ld3.b { v1, v2, v3 }[2], [x3], x4 1127# CHECK: ld3.d { v2, v3, v4 }[1], [x4], x5 1128# CHECK: ld3.h { v3, v4, v5 }[3], [x5], x6 1129# CHECK: ld3.s { v4, v5, v6 }[2], [x6], x7 1130 11310x61 0x28 0x84 0x0d 11320x82 0xa4 0x85 0x4d 11330xa3 0x78 0x86 0x0d 11340xc4 0xa0 0x87 0x4d 1135 1136# CHECK: st3.b { v1, v2, v3 }[2], [x3], x4 1137# CHECK: st3.d { v2, v3, v4 }[1], [x4], x5 1138# CHECK: st3.h { v3, v4, v5 }[3], [x5], x6 1139# CHECK: st3.s { v4, v5, v6 }[2], [x6], x7 1140 11410x61 0x28 0x9f 0x0d 11420x82 0xa4 0x9f 0x4d 11430xa3 0x78 0x9f 0x0d 11440xc4 0xa0 0x9f 0x4d 1145 1146# CHECK: st3.b { v1, v2, v3 }[2], [x3], #3 1147# CHECK: st3.d { v2, v3, v4 }[1], [x4], #24 1148# CHECK: st3.h { v3, v4, v5 }[3], [x5], #6 1149# CHECK: st3.s { v4, v5, v6 }[2], [x6], #12 1150 11510x41 0x40 0xc3 0x0c 11520x42 0x40 0xc4 0x4c 11530x64 0x44 0xc5 0x0c 11540x87 0x44 0xc6 0x4c 11550x0c 0x48 0xc7 0x0c 11560x0a 0x48 0xc8 0x4c 11570x4f 0x4c 0xca 0x4c 1158 1159# CHECK: ld3.8b { v1, v2, v3 }, [x2], x3 1160# CHECK: ld3.16b { v2, v3, v4 }, [x2], x4 1161# CHECK: ld3.4h { v4, v5, v6 }, [x3], x5 1162# CHECK: ld3.8h { v7, v8, v9 }, [x4], x6 1163# CHECK: ld3.2s { v12, v13, v14 }, [x0], x7 1164# CHECK: ld3.4s { v10, v11, v12 }, [x0], x8 1165# CHECK: ld3.2d { v15, v16, v17 }, [x2], x10 1166 11670x00 0x40 0xdf 0x0c 11680x00 0x40 0xdf 0x4c 11690x00 0x44 0xdf 0x0c 11700x00 0x44 0xdf 0x4c 11710x00 0x48 0xdf 0x0c 11720x00 0x48 0xdf 0x4c 11730x00 0x4c 0xdf 0x4c 1174 1175# CHECK: ld3.8b { v0, v1, v2 }, [x0], #24 1176# CHECK: ld3.16b { v0, v1, v2 }, [x0], #48 1177# CHECK: ld3.4h { v0, v1, v2 }, [x0], #24 1178# CHECK: ld3.8h { v0, v1, v2 }, [x0], #48 1179# CHECK: ld3.2s { v0, v1, v2 }, [x0], #24 1180# CHECK: ld3.4s { v0, v1, v2 }, [x0], #48 1181# CHECK: ld3.2d { v0, v1, v2 }, [x0], #48 1182 11830x41 0x40 0x83 0x0c 11840x42 0x40 0x84 0x4c 11850x64 0x44 0x85 0x0c 11860x87 0x44 0x86 0x4c 11870x0c 0x48 0x87 0x0c 11880x0a 0x48 0x88 0x4c 11890x4f 0x4c 0x8a 0x4c 1190 1191# CHECK: st3.8b { v1, v2, v3 }, [x2], x3 1192# CHECK: st3.16b { v2, v3, v4 }, [x2], x4 1193# CHECK: st3.4h { v4, v5, v6 }, [x3], x5 1194# CHECK: st3.8h { v7, v8, v9 }, [x4], x6 1195# CHECK: st3.2s { v12, v13, v14 }, [x0], x7 1196# CHECK: st3.4s { v10, v11, v12 }, [x0], x8 1197# CHECK: st3.2d { v15, v16, v17 }, [x2], x10 1198 11990x00 0x40 0x9f 0x0c 12000x00 0x40 0x9f 0x4c 12010x00 0x44 0x9f 0x0c 12020x00 0x44 0x9f 0x4c 12030x00 0x48 0x9f 0x0c 12040x00 0x48 0x9f 0x4c 12050x00 0x4c 0x9f 0x4c 1206 1207# CHECK: st3.8b { v0, v1, v2 }, [x0], #24 1208# CHECK: st3.16b { v0, v1, v2 }, [x0], #48 1209# CHECK: st3.4h { v0, v1, v2 }, [x0], #24 1210# CHECK: st3.8h { v0, v1, v2 }, [x0], #48 1211# CHECK: st3.2s { v0, v1, v2 }, [x0], #24 1212# CHECK: st3.4s { v0, v1, v2 }, [x0], #48 1213# CHECK: st3.2d { v0, v1, v2 }, [x0], #48 1214 12150x61 0x28 0x40 0x0d 12160x82 0xa4 0x40 0x4d 12170xc3 0x70 0x40 0x0d 12180xe4 0xb0 0x40 0x4d 1219 1220# CHECK: ld3.b { v1, v2, v3 }[2], [x3] 1221# CHECK: ld3.d { v2, v3, v4 }[1], [x4] 1222# CHECK: ld3.h { v3, v4, v5 }[2], [x6] 1223# CHECK: ld3.s { v4, v5, v6 }[3], [x7] 1224 12250x61 0x28 0xdf 0x0d 12260x82 0xa4 0xdf 0x4d 12270xa3 0x78 0xdf 0x0d 12280xc4 0xa0 0xdf 0x4d 1229 1230# CHECK: ld3.b { v1, v2, v3 }[2], [x3], #3 1231# CHECK: ld3.d { v2, v3, v4 }[1], [x4], #24 1232# CHECK: ld3.h { v3, v4, v5 }[3], [x5], #6 1233# CHECK: ld3.s { v4, v5, v6 }[2], [x6], #12 1234 12350x61 0x28 0x00 0x0d 12360x82 0xa4 0x00 0x4d 12370xc3 0x70 0x00 0x0d 12380xe4 0xb0 0x00 0x4d 1239 1240# CHECK: st3.b { v1, v2, v3 }[2], [x3] 1241# CHECK: st3.d { v2, v3, v4 }[1], [x4] 1242# CHECK: st3.h { v3, v4, v5 }[2], [x6] 1243# CHECK: st3.s { v4, v5, v6 }[3], [x7] 1244 12450x21 0xe0 0x40 0x0d 12460x21 0xe0 0xc2 0x0d 12470x21 0xe0 0x40 0x4d 12480x21 0xe0 0xc2 0x4d 12490x21 0xe4 0x40 0x0d 12500x21 0xe4 0xc2 0x0d 12510x21 0xe4 0x40 0x4d 12520x21 0xe4 0xc2 0x4d 12530x21 0xe8 0x40 0x0d 12540x21 0xe8 0xc2 0x0d 12550x21 0xec 0x40 0x4d 12560x21 0xec 0xc2 0x4d 12570x21 0xec 0x40 0x0d 12580x21 0xec 0xc2 0x0d 1259 1260# CHECK: ld3r.8b { v1, v2, v3 }, [x1] 1261# CHECK: ld3r.8b { v1, v2, v3 }, [x1], x2 1262# CHECK: ld3r.16b { v1, v2, v3 }, [x1] 1263# CHECK: ld3r.16b { v1, v2, v3 }, [x1], x2 1264# CHECK: ld3r.4h { v1, v2, v3 }, [x1] 1265# CHECK: ld3r.4h { v1, v2, v3 }, [x1], x2 1266# CHECK: ld3r.8h { v1, v2, v3 }, [x1] 1267# CHECK: ld3r.8h { v1, v2, v3 }, [x1], x2 1268# CHECK: ld3r.2s { v1, v2, v3 }, [x1] 1269# CHECK: ld3r.2s { v1, v2, v3 }, [x1], x2 1270# CHECK: ld3r.2d { v1, v2, v3 }, [x1] 1271# CHECK: ld3r.2d { v1, v2, v3 }, [x1], x2 1272# CHECK: ld3r.1d { v1, v2, v3 }, [x1] 1273# CHECK: ld3r.1d { v1, v2, v3 }, [x1], x2 1274 12750x21 0xe0 0xdf 0x0d 12760x21 0xe0 0xdf 0x4d 12770x21 0xe4 0xdf 0x0d 12780x21 0xe4 0xdf 0x4d 12790x21 0xe8 0xdf 0x0d 12800x21 0xec 0xdf 0x4d 12810x21 0xec 0xdf 0x0d 1282 1283# CHECK: ld3r.8b { v1, v2, v3 }, [x1], #3 1284# CHECK: ld3r.16b { v1, v2, v3 }, [x1], #3 1285# CHECK: ld3r.4h { v1, v2, v3 }, [x1], #6 1286# CHECK: ld3r.8h { v1, v2, v3 }, [x1], #6 1287# CHECK: ld3r.2s { v1, v2, v3 }, [x1], #12 1288# CHECK: ld3r.2d { v1, v2, v3 }, [x1], #24 1289# CHECK: ld3r.1d { v1, v2, v3 }, [x1], #24 1290 12910x21 0x00 0x40 0x0c 12920x45 0x00 0x40 0x4c 12930x0a 0x08 0x40 0x0c 1294 1295# CHECK: ld4.8b { v1, v2, v3, v4 }, [x1] 1296# CHECK: ld4.16b { v5, v6, v7, v8 }, [x2] 1297# CHECK: ld4.2s { v10, v11, v12, v13 }, [x0] 1298 12990x21 0x00 0x00 0x0c 13000x45 0x00 0x00 0x4c 13010x0a 0x08 0x00 0x0c 1302 1303# CHECK: st4.8b { v1, v2, v3, v4 }, [x1] 1304# CHECK: st4.16b { v5, v6, v7, v8 }, [x2] 1305# CHECK: st4.2s { v10, v11, v12, v13 }, [x0] 1306 13070x61 0x28 0xe4 0x0d 13080x82 0xa4 0xe5 0x4d 13090xa3 0x78 0xe6 0x0d 13100xc4 0xa0 0xe7 0x4d 1311 1312# CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3], x4 1313# CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4], x5 1314# CHECK: ld4.h { v3, v4, v5, v6 }[3], [x5], x6 1315# CHECK: ld4.s { v4, v5, v6, v7 }[2], [x6], x7 1316 13170x61 0x28 0xff 0x0d 13180x82 0xa4 0xff 0x4d 13190xa3 0x78 0xff 0x0d 13200xc4 0xa0 0xff 0x4d 1321 1322# CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3], #4 1323# CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4], #32 1324# CHECK: ld4.h { v3, v4, v5, v6 }[3], [x5], #8 1325# CHECK: ld4.s { v4, v5, v6, v7 }[2], [x6], #16 1326 13270x61 0x28 0xa4 0x0d 13280x82 0xa4 0xa5 0x4d 13290xa3 0x78 0xa6 0x0d 13300xc4 0xa0 0xa7 0x4d 1331 1332# CHECK: st4.b { v1, v2, v3, v4 }[2], [x3], x4 1333# CHECK: st4.d { v2, v3, v4, v5 }[1], [x4], x5 1334# CHECK: st4.h { v3, v4, v5, v6 }[3], [x5], x6 1335# CHECK: st4.s { v4, v5, v6, v7 }[2], [x6], x7 1336 13370x61 0x28 0xbf 0x0d 13380x82 0xa4 0xbf 0x4d 13390xa3 0x78 0xbf 0x0d 13400xc4 0xa0 0xbf 0x4d 1341 1342# CHECK: st4.b { v1, v2, v3, v4 }[2], [x3], #4 1343# CHECK: st4.d { v2, v3, v4, v5 }[1], [x4], #32 1344# CHECK: st4.h { v3, v4, v5, v6 }[3], [x5], #8 1345# CHECK: st4.s { v4, v5, v6, v7 }[2], [x6], #16 1346 13470x41 0x00 0xc3 0x0c 13480x42 0x00 0xc4 0x4c 13490x64 0x04 0xc5 0x0c 13500x87 0x04 0xc6 0x4c 13510x0c 0x08 0xc7 0x0c 13520x0a 0x08 0xc8 0x4c 13530x4f 0x0c 0xca 0x4c 1354 1355# CHECK: ld4.8b { v1, v2, v3, v4 }, [x2], x3 1356# CHECK: ld4.16b { v2, v3, v4, v5 }, [x2], x4 1357# CHECK: ld4.4h { v4, v5, v6, v7 }, [x3], x5 1358# CHECK: ld4.8h { v7, v8, v9, v10 }, [x4], x6 1359# CHECK: ld4.2s { v12, v13, v14, v15 }, [x0], x7 1360# CHECK: ld4.4s { v10, v11, v12, v13 }, [x0], x8 1361# CHECK: ld4.2d { v15, v16, v17, v18 }, [x2], x10 1362 13630x00 0x00 0xdf 0x0c 13640x00 0x00 0xdf 0x4c 13650x00 0x04 0xdf 0x0c 13660x00 0x04 0xdf 0x4c 13670x00 0x08 0xdf 0x0c 13680x00 0x08 0xdf 0x4c 13690x00 0x0c 0xdf 0x4c 1370 1371# CHECK: ld4.8b { v0, v1, v2, v3 }, [x0], #32 1372# CHECK: ld4.16b { v0, v1, v2, v3 }, [x0], #64 1373# CHECK: ld4.4h { v0, v1, v2, v3 }, [x0], #32 1374# CHECK: ld4.8h { v0, v1, v2, v3 }, [x0], #64 1375# CHECK: ld4.2s { v0, v1, v2, v3 }, [x0], #32 1376# CHECK: ld4.4s { v0, v1, v2, v3 }, [x0], #64 1377# CHECK: ld4.2d { v0, v1, v2, v3 }, [x0], #64 1378 13790x00 0x00 0x9f 0x0c 13800x00 0x00 0x9f 0x4c 13810x00 0x04 0x9f 0x0c 13820x00 0x04 0x9f 0x4c 13830x00 0x08 0x9f 0x0c 13840x00 0x08 0x9f 0x4c 13850x00 0x0c 0x9f 0x4c 1386 1387# CHECK: st4.8b { v0, v1, v2, v3 }, [x0], #32 1388# CHECK: st4.16b { v0, v1, v2, v3 }, [x0], #64 1389# CHECK: st4.4h { v0, v1, v2, v3 }, [x0], #32 1390# CHECK: st4.8h { v0, v1, v2, v3 }, [x0], #64 1391# CHECK: st4.2s { v0, v1, v2, v3 }, [x0], #32 1392# CHECK: st4.4s { v0, v1, v2, v3 }, [x0], #64 1393# CHECK: st4.2d { v0, v1, v2, v3 }, [x0], #64 1394 13950x41 0x00 0x83 0x0c 13960x42 0x00 0x84 0x4c 13970x64 0x04 0x85 0x0c 13980x87 0x04 0x86 0x4c 13990x0c 0x08 0x87 0x0c 14000x0a 0x08 0x88 0x4c 14010x4f 0x0c 0x8a 0x4c 1402 1403# CHECK: st4.8b { v1, v2, v3, v4 }, [x2], x3 1404# CHECK: st4.16b { v2, v3, v4, v5 }, [x2], x4 1405# CHECK: st4.4h { v4, v5, v6, v7 }, [x3], x5 1406# CHECK: st4.8h { v7, v8, v9, v10 }, [x4], x6 1407# CHECK: st4.2s { v12, v13, v14, v15 }, [x0], x7 1408# CHECK: st4.4s { v10, v11, v12, v13 }, [x0], x8 1409# CHECK: st4.2d { v15, v16, v17, v18 }, [x2], x10 1410 14110x61 0x28 0x60 0x0d 14120x82 0xa4 0x60 0x4d 14130xc3 0x70 0x60 0x0d 14140xe4 0xb0 0x60 0x4d 1415 1416# CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3] 1417# CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4] 1418# CHECK: ld4.h { v3, v4, v5, v6 }[2], [x6] 1419# CHECK: ld4.s { v4, v5, v6, v7 }[3], [x7] 1420 14210x61 0x28 0x20 0x0d 14220x82 0xa4 0x20 0x4d 14230xc3 0x70 0x20 0x0d 14240xe4 0xb0 0x20 0x4d 1425 1426# CHECK: st4.b { v1, v2, v3, v4 }[2], [x3] 1427# CHECK: st4.d { v2, v3, v4, v5 }[1], [x4] 1428# CHECK: st4.h { v3, v4, v5, v6 }[2], [x6] 1429# CHECK: st4.s { v4, v5, v6, v7 }[3], [x7] 1430 14310x21 0xe0 0x60 0x0d 14320x21 0xe0 0xe2 0x0d 14330x21 0xe0 0x60 0x4d 14340x21 0xe0 0xe2 0x4d 14350x21 0xe4 0x60 0x0d 14360x21 0xe4 0xe2 0x0d 14370x21 0xe4 0x60 0x4d 14380x21 0xe4 0xe2 0x4d 14390x21 0xe8 0x60 0x0d 14400x21 0xe8 0xe2 0x0d 14410x21 0xec 0x60 0x4d 14420x21 0xec 0xe2 0x4d 14430x21 0xec 0x60 0x0d 14440x21 0xec 0xe2 0x0d 1445 1446# CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1] 1447# CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1], x2 1448# CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1] 1449# CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1], x2 1450# CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1] 1451# CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1], x2 1452# CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1] 1453# CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1], x2 1454# CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1] 1455# CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1], x2 1456# CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1] 1457# CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1], x2 1458# CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1] 1459# CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1], x2 1460 14610x21 0xe0 0xff 0x0d 14620x21 0xe0 0xff 0x4d 14630x21 0xe4 0xff 0x0d 14640x21 0xe4 0xff 0x4d 14650x21 0xe8 0xff 0x0d 14660x21 0xec 0xff 0x4d 14670x21 0xec 0xff 0x0d 1468 1469# CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1], #4 1470# CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1], #4 1471# CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1], #8 1472# CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1], #8 1473# CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1], #16 1474# CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1], #32 1475# CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1], #32 1476 14770x20 0xe4 0x00 0x2f 14780x20 0xe4 0x00 0x6f 14790x20 0xe4 0x00 0x0f 14800x20 0xe4 0x00 0x4f 1481 1482# CHECK: movi d0, #0x000000000000ff 1483# CHECK: movi.2d v0, #0x000000000000ff 1484# CHECK: movi.8b v0, #0x1 1485# CHECK: movi.16b v0, #0x1 1486 14870x20 0x04 0x00 0x0f 14880x20 0x24 0x00 0x0f 14890x20 0x44 0x00 0x0f 14900x20 0x64 0x00 0x0f 1491 1492# CHECK: movi.2s v0, #0x1 1493# CHECK: movi.2s v0, #0x1, lsl #8 1494# CHECK: movi.2s v0, #0x1, lsl #16 1495# CHECK: movi.2s v0, #0x1, lsl #24 1496 14970x20 0x04 0x00 0x4f 14980x20 0x24 0x00 0x4f 14990x20 0x44 0x00 0x4f 15000x20 0x64 0x00 0x4f 1501 1502# CHECK: movi.4s v0, #0x1 1503# CHECK: movi.4s v0, #0x1, lsl #8 1504# CHECK: movi.4s v0, #0x1, lsl #16 1505# CHECK: movi.4s v0, #0x1, lsl #24 1506 15070x20 0x84 0x00 0x0f 15080x20 0xa4 0x00 0x0f 1509 1510# CHECK: movi.4h v0, #0x1 1511# CHECK: movi.4h v0, #0x1, lsl #8 1512 15130x20 0x84 0x00 0x4f 15140x20 0xa4 0x00 0x4f 1515 1516# CHECK: movi.8h v0, #0x1 1517# CHECK: movi.8h v0, #0x1, lsl #8 1518 15190x20 0x04 0x00 0x2f 15200x20 0x24 0x00 0x2f 15210x20 0x44 0x00 0x2f 15220x20 0x64 0x00 0x2f 1523 1524# CHECK: mvni.2s v0, #0x1 1525# CHECK: mvni.2s v0, #0x1, lsl #8 1526# CHECK: mvni.2s v0, #0x1, lsl #16 1527# CHECK: mvni.2s v0, #0x1, lsl #24 1528 15290x20 0x04 0x00 0x6f 15300x20 0x24 0x00 0x6f 15310x20 0x44 0x00 0x6f 15320x20 0x64 0x00 0x6f 1533 1534# CHECK: mvni.4s v0, #0x1 1535# CHECK: mvni.4s v0, #0x1, lsl #8 1536# CHECK: mvni.4s v0, #0x1, lsl #16 1537# CHECK: mvni.4s v0, #0x1, lsl #24 1538 15390x20 0x84 0x00 0x2f 15400x20 0xa4 0x00 0x2f 1541 1542# CHECK: mvni.4h v0, #0x1 1543# CHECK: mvni.4h v0, #0x1, lsl #8 1544 15450x20 0x84 0x00 0x6f 15460x20 0xa4 0x00 0x6f 1547 1548# CHECK: mvni.8h v0, #0x1 1549# CHECK: mvni.8h v0, #0x1, lsl #8 1550 15510x20 0xc4 0x00 0x2f 15520x20 0xd4 0x00 0x2f 15530x20 0xc4 0x00 0x6f 15540x20 0xd4 0x00 0x6f 1555 1556# CHECK: mvni.2s v0, #0x1, msl #8 1557# CHECK: mvni.2s v0, #0x1, msl #16 1558# CHECK: mvni.4s v0, #0x1, msl #8 1559# CHECK: mvni.4s v0, #0x1, msl #16 1560 15610x00 0x88 0x21 0x2e 15620x00 0x98 0x21 0x2e 15630x00 0x98 0xa1 0x2e 15640x00 0x98 0x21 0x0e 15650x00 0x88 0x21 0x0e 15660x00 0x88 0xa1 0x0e 15670x00 0x98 0xa1 0x0e 1568 1569# CHECK: frinta.2s v0, v0 1570# CHECK: frintx.2s v0, v0 1571# CHECK: frinti.2s v0, v0 1572# CHECK: frintm.2s v0, v0 1573# CHECK: frintn.2s v0, v0 1574# CHECK: frintp.2s v0, v0 1575# CHECK: frintz.2s v0, v0 1576 1577#===-------------------------------------------------------------------------=== 1578# AdvSIMD scalar x index instructions 1579#===-------------------------------------------------------------------------=== 1580 15810x00 0x18 0xa0 0x5f 15820x00 0x18 0xc0 0x5f 15830x00 0x58 0xa0 0x5f 15840x00 0x58 0xc0 0x5f 15850x00 0x98 0xa0 0x7f 15860x00 0x98 0xc0 0x7f 15870x00 0x98 0xa0 0x5f 15880x00 0x98 0xc0 0x5f 15890x00 0x38 0x70 0x5f 15900x00 0x38 0xa0 0x5f 15910x00 0x78 0x70 0x5f 15920x00 0xc8 0x70 0x5f 15930x00 0xc8 0xa0 0x5f 15940x00 0xb8 0x70 0x5f 15950x00 0xb8 0xa0 0x5f 15960x00 0xd8 0x70 0x5f 15970x00 0xd8 0xa0 0x5f 1598 1599# CHECK: fmla.s s0, s0, v0[3] 1600# CHECK: fmla.d d0, d0, v0[1] 1601# CHECK: fmls.s s0, s0, v0[3] 1602# CHECK: fmls.d d0, d0, v0[1] 1603# CHECK: fmulx.s s0, s0, v0[3] 1604# CHECK: fmulx.d d0, d0, v0[1] 1605# CHECK: fmul.s s0, s0, v0[3] 1606# CHECK: fmul.d d0, d0, v0[1] 1607# CHECK: sqdmlal.h s0, h0, v0[7] 1608# CHECK: sqdmlal.s d0, s0, v0[3] 1609# CHECK: sqdmlsl.h s0, h0, v0[7] 1610# CHECK: sqdmulh.h h0, h0, v0[7] 1611# CHECK: sqdmulh.s s0, s0, v0[3] 1612# CHECK: sqdmull.h s0, h0, v0[7] 1613# CHECK: sqdmull.s d0, s0, v0[3] 1614# CHECK: sqrdmulh.h h0, h0, v0[7] 1615# CHECK: sqrdmulh.s s0, s0, v0[3] 1616 1617#===-------------------------------------------------------------------------=== 1618# AdvSIMD vector x index instructions 1619#===-------------------------------------------------------------------------=== 1620 1621 0x00 0x10 0x80 0x0f 1622 0x00 0x10 0xa0 0x4f 1623 0x00 0x18 0xc0 0x4f 1624 0x00 0x50 0x80 0x0f 1625 0x00 0x50 0xa0 0x4f 1626 0x00 0x58 0xc0 0x4f 1627 0x00 0x90 0x80 0x2f 1628 0x00 0x90 0xa0 0x6f 1629 0x00 0x98 0xc0 0x6f 1630 0x00 0x90 0x80 0x0f 1631 0x00 0x90 0xa0 0x4f 1632 0x00 0x98 0xc0 0x4f 1633 0x00 0x00 0x40 0x2f 1634 0x00 0x00 0x50 0x6f 1635 0x00 0x08 0x80 0x2f 1636 0x00 0x08 0xa0 0x6f 1637 0x00 0x40 0x40 0x2f 1638 0x00 0x40 0x50 0x6f 1639 0x00 0x48 0x80 0x2f 1640 0x00 0x48 0xa0 0x6f 1641 0x00 0x80 0x40 0x0f 1642 0x00 0x80 0x50 0x4f 1643 0x00 0x88 0x80 0x0f 1644 0x00 0x88 0xa0 0x4f 1645 0x00 0x20 0x40 0x0f 1646 0x00 0x20 0x50 0x4f 1647 0x00 0x28 0x80 0x0f 1648 0x00 0x28 0xa0 0x4f 1649 0x00 0x60 0x40 0x0f 1650 0x00 0x60 0x50 0x4f 1651 0x00 0x68 0x80 0x0f 1652 0x00 0x68 0xa0 0x4f 1653 0x00 0xa0 0x40 0x0f 1654 0x00 0xa0 0x50 0x4f 1655 0x00 0xa8 0x80 0x0f 1656 0x00 0xa8 0xa0 0x4f 1657 0x00 0x30 0x40 0x0f 1658 0x00 0x30 0x50 0x4f 1659 0x00 0x38 0x80 0x0f 1660 0x00 0x38 0xa0 0x4f 1661 0x00 0x70 0x40 0x0f 1662 0x00 0x70 0x50 0x4f 1663 0x00 0x78 0x80 0x0f 1664 0x00 0x78 0xa0 0x4f 1665 0x00 0xc0 0x40 0x0f 1666 0x00 0xc0 0x50 0x4f 1667 0x00 0xc8 0x80 0x0f 1668 0x00 0xc8 0xa0 0x4f 1669 0x00 0xb0 0x40 0x0f 1670 0x00 0xb0 0x50 0x4f 1671 0x00 0xb8 0x80 0x0f 1672 0x00 0xb8 0xa0 0x4f 1673 0x00 0xd0 0x40 0x0f 1674 0x00 0xd0 0x50 0x4f 1675 0x00 0xd8 0x80 0x0f 1676 0x00 0xd8 0xa0 0x4f 1677 0x00 0x20 0x40 0x2f 1678 0x00 0x20 0x50 0x6f 1679 0x00 0x28 0x80 0x2f 1680 0x00 0x28 0xa0 0x6f 1681 0x00 0x60 0x40 0x2f 1682 0x00 0x60 0x50 0x6f 1683 0x00 0x68 0x80 0x2f 1684 0x00 0x68 0xa0 0x6f 1685 0x00 0xa0 0x40 0x2f 1686 0x00 0xa0 0x50 0x6f 1687 0x00 0xa8 0x80 0x2f 1688 0x00 0xa8 0xa0 0x6f 1689 1690# CHECK: fmla.2s v0, v0, v0[0] 1691# CHECK: fmla.4s v0, v0, v0[1] 1692# CHECK: fmla.2d v0, v0, v0[1] 1693# CHECK: fmls.2s v0, v0, v0[0] 1694# CHECK: fmls.4s v0, v0, v0[1] 1695# CHECK: fmls.2d v0, v0, v0[1] 1696# CHECK: fmulx.2s v0, v0, v0[0] 1697# CHECK: fmulx.4s v0, v0, v0[1] 1698# CHECK: fmulx.2d v0, v0, v0[1] 1699# CHECK: fmul.2s v0, v0, v0[0] 1700# CHECK: fmul.4s v0, v0, v0[1] 1701# CHECK: fmul.2d v0, v0, v0[1] 1702# CHECK: mla.4h v0, v0, v0[0] 1703# CHECK: mla.8h v0, v0, v0[1] 1704# CHECK: mla.2s v0, v0, v0[2] 1705# CHECK: mla.4s v0, v0, v0[3] 1706# CHECK: mls.4h v0, v0, v0[0] 1707# CHECK: mls.8h v0, v0, v0[1] 1708# CHECK: mls.2s v0, v0, v0[2] 1709# CHECK: mls.4s v0, v0, v0[3] 1710# CHECK: mul.4h v0, v0, v0[0] 1711# CHECK: mul.8h v0, v0, v0[1] 1712# CHECK: mul.2s v0, v0, v0[2] 1713# CHECK: mul.4s v0, v0, v0[3] 1714# CHECK: smlal.4s v0, v0, v0[0] 1715# CHECK: smlal2.4s v0, v0, v0[1] 1716# CHECK: smlal.2d v0, v0, v0[2] 1717# CHECK: smlal2.2d v0, v0, v0[3] 1718# CHECK: smlsl.4s v0, v0, v0[0] 1719# CHECK: smlsl2.4s v0, v0, v0[1] 1720# CHECK: smlsl.2d v0, v0, v0[2] 1721# CHECK: smlsl2.2d v0, v0, v0[3] 1722# CHECK: smull.4s v0, v0, v0[0] 1723# CHECK: smull2.4s v0, v0, v0[1] 1724# CHECK: smull.2d v0, v0, v0[2] 1725# CHECK: smull2.2d v0, v0, v0[3] 1726# CHECK: sqdmlal.4s v0, v0, v0[0] 1727# CHECK: sqdmlal2.4s v0, v0, v0[1] 1728# CHECK: sqdmlal.2d v0, v0, v0[2] 1729# CHECK: sqdmlal2.2d v0, v0, v0[3] 1730# CHECK: sqdmlsl.4s v0, v0, v0[0] 1731# CHECK: sqdmlsl2.4s v0, v0, v0[1] 1732# CHECK: sqdmlsl.2d v0, v0, v0[2] 1733# CHECK: sqdmlsl2.2d v0, v0, v0[3] 1734# CHECK: sqdmulh.4h v0, v0, v0[0] 1735# CHECK: sqdmulh.8h v0, v0, v0[1] 1736# CHECK: sqdmulh.2s v0, v0, v0[2] 1737# CHECK: sqdmulh.4s v0, v0, v0[3] 1738# CHECK: sqdmull.4s v0, v0, v0[0] 1739# CHECK: sqdmull2.4s v0, v0, v0[1] 1740# CHECK: sqdmull.2d v0, v0, v0[2] 1741# CHECK: sqdmull2.2d v0, v0, v0[3] 1742# CHECK: sqrdmulh.4h v0, v0, v0[0] 1743# CHECK: sqrdmulh.8h v0, v0, v0[1] 1744# CHECK: sqrdmulh.2s v0, v0, v0[2] 1745# CHECK: sqrdmulh.4s v0, v0, v0[3] 1746# CHECK: umlal.4s v0, v0, v0[0] 1747# CHECK: umlal2.4s v0, v0, v0[1] 1748# CHECK: umlal.2d v0, v0, v0[2] 1749# CHECK: umlal2.2d v0, v0, v0[3] 1750# CHECK: umlsl.4s v0, v0, v0[0] 1751# CHECK: umlsl2.4s v0, v0, v0[1] 1752# CHECK: umlsl.2d v0, v0, v0[2] 1753# CHECK: umlsl2.2d v0, v0, v0[3] 1754# CHECK: umull.4s v0, v0, v0[0] 1755# CHECK: umull2.4s v0, v0, v0[1] 1756# CHECK: umull.2d v0, v0, v0[2] 1757# CHECK: umull2.2d v0, v0, v0[3] 1758 1759 1760#===-------------------------------------------------------------------------=== 1761# AdvSIMD scalar + shift instructions 1762#===-------------------------------------------------------------------------=== 1763 1764 0x00 0x54 0x41 0x5f 1765 0x00 0x54 0x41 0x7f 1766 0x00 0x9c 0x09 0x5f 1767 0x00 0x9c 0x12 0x5f 1768 0x00 0x9c 0x23 0x5f 1769 0x00 0x8c 0x09 0x7f 1770 0x00 0x8c 0x12 0x7f 1771 0x00 0x8c 0x23 0x7f 1772 0x00 0x64 0x09 0x7f 1773 0x00 0x64 0x12 0x7f 1774 0x00 0x64 0x23 0x7f 1775 0x00 0x64 0x44 0x7f 1776 0x00 0x74 0x09 0x5f 1777 0x00 0x74 0x12 0x5f 1778 0x00 0x74 0x23 0x5f 1779 0x00 0x74 0x44 0x5f 1780 0x00 0x94 0x09 0x5f 1781 0x00 0x94 0x12 0x5f 1782 0x00 0x94 0x23 0x5f 1783 0x00 0x84 0x09 0x7f 1784 0x00 0x84 0x12 0x7f 1785 0x00 0x84 0x23 0x7f 1786 0x00 0x44 0x41 0x7f 1787 0x00 0x24 0x41 0x5f 1788 0x00 0x34 0x41 0x5f 1789 0x00 0x04 0x41 0x5f 1790 0x00 0xe4 0x21 0x7f 1791 0x00 0xe4 0x42 0x7f 1792 0x00 0x9c 0x09 0x7f 1793 0x00 0x9c 0x12 0x7f 1794 0x00 0x9c 0x23 0x7f 1795 0x00 0x74 0x09 0x7f 1796 0x00 0x74 0x12 0x7f 1797 0x00 0x74 0x23 0x7f 1798 0x00 0x74 0x44 0x7f 1799 0x00 0x94 0x09 0x7f 1800 0x00 0x94 0x12 0x7f 1801 0x00 0x94 0x23 0x7f 1802 0x00 0x24 0x41 0x7f 1803 0x00 0x34 0x41 0x7f 1804 0x00 0x04 0x41 0x7f 1805 0x00 0x14 0x41 0x7f 1806 1807# CHECK: shl d0, d0, #0x1 1808# CHECK: sli d0, d0, #0x1 1809# CHECK: sqrshrn b0, h0, #0x7 1810# CHECK: sqrshrn h0, s0, #0xe 1811# CHECK: sqrshrn s0, d0, #0x1d 1812# CHECK: sqrshrun b0, h0, #0x7 1813# CHECK: sqrshrun h0, s0, #0xe 1814# CHECK: sqrshrun s0, d0, #0x1d 1815# CHECK: sqshlu b0, b0, #0x1 1816# CHECK: sqshlu h0, h0, #0x2 1817# CHECK: sqshlu s0, s0, #0x3 1818# CHECK: sqshlu d0, d0, #0x4 1819# CHECK: sqshl b0, b0, #0x1 1820# CHECK: sqshl h0, h0, #0x2 1821# CHECK: sqshl s0, s0, #0x3 1822# CHECK: sqshl d0, d0, #0x4 1823# CHECK: sqshrn b0, h0, #0x7 1824# CHECK: sqshrn h0, s0, #0xe 1825# CHECK: sqshrn s0, d0, #0x1d 1826# CHECK: sqshrun b0, h0, #0x7 1827# CHECK: sqshrun h0, s0, #0xe 1828# CHECK: sqshrun s0, d0, #0x1d 1829# CHECK: sri d0, d0, #0x3f 1830# CHECK: srshr d0, d0, #0x3f 1831# CHECK: srsra d0, d0, #0x3f 1832# CHECK: sshr d0, d0, #0x3f 1833# CHECK: ucvtf s0, s0, #0x1f 1834# CHECK: ucvtf d0, d0, #0x3e 1835# CHECK: uqrshrn b0, h0, #0x7 1836# CHECK: uqrshrn h0, s0, #0xe 1837# CHECK: uqrshrn s0, d0, #0x1d 1838# CHECK: uqshl b0, b0, #0x1 1839# CHECK: uqshl h0, h0, #0x2 1840# CHECK: uqshl s0, s0, #0x3 1841# CHECK: uqshl d0, d0, #0x4 1842# CHECK: uqshrn b0, h0, #0x7 1843# CHECK: uqshrn h0, s0, #0xe 1844# CHECK: uqshrn s0, d0, #0x1d 1845# CHECK: urshr d0, d0, #0x3f 1846# CHECK: ursra d0, d0, #0x3f 1847# CHECK: ushr d0, d0, #0x3f 1848# CHECK: usra d0, d0, #0x3f 1849 1850#===-------------------------------------------------------------------------=== 1851# AdvSIMD vector + shift instructions 1852#===-------------------------------------------------------------------------=== 1853 1854 0x00 0xfc 0x21 0x0f 1855 0x00 0xfc 0x22 0x4f 1856 0x00 0xfc 0x43 0x4f 1857 0x00 0xfc 0x21 0x2f 1858 0x00 0xfc 0x22 0x6f 1859 0x00 0xfc 0x43 0x6f 1860 0x00 0x8c 0x09 0x0f 1861 0x00 0x8c 0x0a 0x4f 1862 0x00 0x8c 0x13 0x0f 1863 0x00 0x8c 0x14 0x4f 1864 0x00 0x8c 0x25 0x0f 1865 0x00 0x8c 0x26 0x4f 1866 0x00 0xe4 0x21 0x0f 1867 0x00 0xe4 0x22 0x4f 1868 0x00 0xe4 0x43 0x4f 1869 0x00 0x54 0x09 0x0f 1870 0x00 0x54 0x0a 0x4f 1871 0x00 0x54 0x13 0x0f 1872 0x00 0x54 0x14 0x4f 1873 0x00 0x54 0x25 0x0f 1874 0x00 0x54 0x26 0x4f 1875 0x00 0x54 0x47 0x4f 1876 0x00 0x84 0x09 0x0f 1877 0x00 0x84 0x0a 0x4f 1878 0x00 0x84 0x13 0x0f 1879 0x00 0x84 0x14 0x4f 1880 0x00 0x84 0x25 0x0f 1881 0x00 0x84 0x26 0x4f 1882 0x00 0x54 0x09 0x2f 1883 0x00 0x54 0x0a 0x6f 1884 0x00 0x54 0x13 0x2f 1885 0x00 0x54 0x14 0x6f 1886 0x00 0x54 0x25 0x2f 1887 0x00 0x54 0x26 0x6f 1888 0x00 0x54 0x47 0x6f 1889 0x00 0x9c 0x09 0x0f 1890 0x00 0x9c 0x0a 0x4f 1891 0x00 0x9c 0x13 0x0f 1892 0x00 0x9c 0x14 0x4f 1893 0x00 0x9c 0x25 0x0f 1894 0x00 0x9c 0x26 0x4f 1895 0x00 0x8c 0x09 0x2f 1896 0x00 0x8c 0x0a 0x6f 1897 0x00 0x8c 0x13 0x2f 1898 0x00 0x8c 0x14 0x6f 1899 0x00 0x8c 0x25 0x2f 1900 0x00 0x8c 0x26 0x6f 1901 0x00 0x64 0x09 0x2f 1902 0x00 0x64 0x0a 0x6f 1903 0x00 0x64 0x13 0x2f 1904 0x00 0x64 0x14 0x6f 1905 0x00 0x64 0x25 0x2f 1906 0x00 0x64 0x26 0x6f 1907 0x00 0x64 0x47 0x6f 1908 0x00 0x74 0x09 0x0f 1909 0x00 0x74 0x0a 0x4f 1910 0x00 0x74 0x13 0x0f 1911 0x00 0x74 0x14 0x4f 1912 0x00 0x74 0x25 0x0f 1913 0x00 0x74 0x26 0x4f 1914 0x00 0x74 0x47 0x4f 1915 0x00 0x94 0x09 0x0f 1916 0x00 0x94 0x0a 0x4f 1917 0x00 0x94 0x13 0x0f 1918 0x00 0x94 0x14 0x4f 1919 0x00 0x94 0x25 0x0f 1920 0x00 0x94 0x26 0x4f 1921 0x00 0x84 0x09 0x2f 1922 0x00 0x84 0x0a 0x6f 1923 0x00 0x84 0x13 0x2f 1924 0x00 0x84 0x14 0x6f 1925 0x00 0x84 0x25 0x2f 1926 0x00 0x84 0x26 0x6f 1927 0x00 0x44 0x09 0x2f 1928 0x00 0x44 0x0a 0x6f 1929 0x00 0x44 0x13 0x2f 1930 0x00 0x44 0x14 0x6f 1931 0x00 0x44 0x25 0x2f 1932 0x00 0x44 0x26 0x6f 1933 0x00 0x44 0x47 0x6f 1934 0x00 0x24 0x09 0x0f 1935 0x00 0x24 0x0a 0x4f 1936 0x00 0x24 0x13 0x0f 1937 0x00 0x24 0x14 0x4f 1938 0x00 0x24 0x25 0x0f 1939 0x00 0x24 0x26 0x4f 1940 0x00 0x24 0x47 0x4f 1941 0x00 0x34 0x09 0x0f 1942 0x00 0x34 0x0a 0x4f 1943 0x00 0x34 0x13 0x0f 1944 0x00 0x34 0x14 0x4f 1945 0x00 0x34 0x25 0x0f 1946 0x00 0x34 0x26 0x4f 1947 0x00 0x34 0x47 0x4f 1948 0x00 0xa4 0x09 0x0f 1949 0x00 0xa4 0x0a 0x4f 1950 0x00 0xa4 0x13 0x0f 1951 0x00 0xa4 0x14 0x4f 1952 0x00 0xa4 0x25 0x0f 1953 0x00 0xa4 0x26 0x4f 1954 0x00 0x04 0x09 0x0f 1955 0x00 0x04 0x0a 0x4f 1956 0x00 0x04 0x13 0x0f 1957 0x00 0x04 0x14 0x4f 1958 0x00 0x04 0x25 0x0f 1959 0x00 0x04 0x26 0x4f 1960 0x00 0x04 0x47 0x4f 1961 0x00 0x04 0x09 0x0f 1962 0x00 0x14 0x0a 0x4f 1963 0x00 0x14 0x13 0x0f 1964 0x00 0x14 0x14 0x4f 1965 0x00 0x14 0x25 0x0f 1966 0x00 0x14 0x26 0x4f 1967 0x00 0x14 0x47 0x4f 1968 0x00 0x14 0x40 0x5f 1969 0x00 0xe4 0x21 0x2f 1970 0x00 0xe4 0x22 0x6f 1971 0x00 0xe4 0x43 0x6f 1972 0x00 0x9c 0x09 0x2f 1973 0x00 0x9c 0x0a 0x6f 1974 0x00 0x9c 0x13 0x2f 1975 0x00 0x9c 0x14 0x6f 1976 0x00 0x9c 0x25 0x2f 1977 0x00 0x9c 0x26 0x6f 1978 0x00 0x74 0x09 0x2f 1979 0x00 0x74 0x0a 0x6f 1980 0x00 0x74 0x13 0x2f 1981 0x00 0x74 0x14 0x6f 1982 0x00 0x74 0x25 0x2f 1983 0x00 0x74 0x26 0x6f 1984 0x00 0x74 0x47 0x6f 1985 0x00 0x94 0x09 0x2f 1986 0x00 0x94 0x0a 0x6f 1987 0x00 0x94 0x13 0x2f 1988 0x00 0x94 0x14 0x6f 1989 0x00 0x94 0x25 0x2f 1990 0x00 0x94 0x26 0x6f 1991 0x00 0x24 0x09 0x2f 1992 0x00 0x24 0x0a 0x6f 1993 0x00 0x24 0x13 0x2f 1994 0x00 0x24 0x14 0x6f 1995 0x00 0x24 0x25 0x2f 1996 0x00 0x24 0x26 0x6f 1997 0x00 0x24 0x47 0x6f 1998 0x00 0x34 0x09 0x2f 1999 0x00 0x34 0x0a 0x6f 2000 0x00 0x34 0x13 0x2f 2001 0x00 0x34 0x14 0x6f 2002 0x00 0x34 0x25 0x2f 2003 0x00 0x34 0x26 0x6f 2004 0x00 0x34 0x47 0x6f 2005 0x00 0xa4 0x09 0x2f 2006 0x00 0xa4 0x0a 0x6f 2007 0x00 0xa4 0x13 0x2f 2008 0x00 0xa4 0x14 0x6f 2009 0x00 0xa4 0x25 0x2f 2010 0x00 0xa4 0x26 0x6f 2011 0x00 0x04 0x09 0x2f 2012 0x00 0x04 0x0a 0x6f 2013 0x00 0x04 0x13 0x2f 2014 0x00 0x04 0x14 0x6f 2015 0x00 0x04 0x25 0x2f 2016 0x00 0x04 0x26 0x6f 2017 0x00 0x04 0x47 0x6f 2018 0x00 0x14 0x09 0x2f 2019 0x00 0x14 0x0a 0x6f 2020 0x00 0x14 0x13 0x2f 2021 0x00 0x14 0x14 0x6f 2022 0x00 0x14 0x25 0x2f 2023 0x00 0x14 0x26 0x6f 2024 0x00 0x14 0x47 0x6f 2025 2026# CHECK: fcvtzs.2s v0, v0, #0x1f 2027# CHECK: fcvtzs.4s v0, v0, #0x1e 2028# CHECK: fcvtzs.2d v0, v0, #0x3d 2029# CHECK: fcvtzu.2s v0, v0, #0x1f 2030# CHECK: fcvtzu.4s v0, v0, #0x1e 2031# CHECK: fcvtzu.2d v0, v0, #0x3d 2032# CHECK: rshrn.8b v0, v0, #0x7 2033# CHECK: rshrn2.16b v0, v0, #0x6 2034# CHECK: rshrn.4h v0, v0, #0xd 2035# CHECK: rshrn2.8h v0, v0, #0xc 2036# CHECK: rshrn.2s v0, v0, #0x1b 2037# CHECK: rshrn2.4s v0, v0, #0x1a 2038# CHECK: scvtf.2s v0, v0, #0x1f 2039# CHECK: scvtf.4s v0, v0, #0x1e 2040# CHECK: scvtf.2d v0, v0, #0x3d 2041# CHECK: shl.8b v0, v0, #0x1 2042# CHECK: shl.16b v0, v0, #0x2 2043# CHECK: shl.4h v0, v0, #0x3 2044# CHECK: shl.8h v0, v0, #0x4 2045# CHECK: shl.2s v0, v0, #0x5 2046# CHECK: shl.4s v0, v0, #0x6 2047# CHECK: shl.2d v0, v0, #0x7 2048# CHECK: shrn.8b v0, v0, #0x7 2049# CHECK: shrn2.16b v0, v0, #0x6 2050# CHECK: shrn.4h v0, v0, #0xd 2051# CHECK: shrn2.8h v0, v0, #0xc 2052# CHECK: shrn.2s v0, v0, #0x1b 2053# CHECK: shrn2.4s v0, v0, #0x1a 2054# CHECK: sli.8b v0, v0, #0x1 2055# CHECK: sli.16b v0, v0, #0x2 2056# CHECK: sli.4h v0, v0, #0x3 2057# CHECK: sli.8h v0, v0, #0x4 2058# CHECK: sli.2s v0, v0, #0x5 2059# CHECK: sli.4s v0, v0, #0x6 2060# CHECK: sli.2d v0, v0, #0x7 2061# CHECK: sqrshrn.8b v0, v0, #0x7 2062# CHECK: sqrshrn2.16b v0, v0, #0x6 2063# CHECK: sqrshrn.4h v0, v0, #0xd 2064# CHECK: sqrshrn2.8h v0, v0, #0xc 2065# CHECK: sqrshrn.2s v0, v0, #0x1b 2066# CHECK: sqrshrn2.4s v0, v0, #0x1a 2067# CHECK: sqrshrun.8b v0, v0, #0x7 2068# CHECK: sqrshrun2.16b v0, v0, #0x6 2069# CHECK: sqrshrun.4h v0, v0, #0xd 2070# CHECK: sqrshrun2.8h v0, v0, #0xc 2071# CHECK: sqrshrun.2s v0, v0, #0x1b 2072# CHECK: sqrshrun2.4s v0, v0, #0x1a 2073# CHECK: sqshlu.8b v0, v0, #0x1 2074# CHECK: sqshlu.16b v0, v0, #0x2 2075# CHECK: sqshlu.4h v0, v0, #0x3 2076# CHECK: sqshlu.8h v0, v0, #0x4 2077# CHECK: sqshlu.2s v0, v0, #0x5 2078# CHECK: sqshlu.4s v0, v0, #0x6 2079# CHECK: sqshlu.2d v0, v0, #0x7 2080# CHECK: sqshl.8b v0, v0, #0x1 2081# CHECK: sqshl.16b v0, v0, #0x2 2082# CHECK: sqshl.4h v0, v0, #0x3 2083# CHECK: sqshl.8h v0, v0, #0x4 2084# CHECK: sqshl.2s v0, v0, #0x5 2085# CHECK: sqshl.4s v0, v0, #0x6 2086# CHECK: sqshl.2d v0, v0, #0x7 2087# CHECK: sqshrn.8b v0, v0, #0x7 2088# CHECK: sqshrn2.16b v0, v0, #0x6 2089# CHECK: sqshrn.4h v0, v0, #0xd 2090# CHECK: sqshrn2.8h v0, v0, #0xc 2091# CHECK: sqshrn.2s v0, v0, #0x1b 2092# CHECK: sqshrn2.4s v0, v0, #0x1a 2093# CHECK: sqshrun.8b v0, v0, #0x7 2094# CHECK: sqshrun2.16b v0, v0, #0x6 2095# CHECK: sqshrun.4h v0, v0, #0xd 2096# CHECK: sqshrun2.8h v0, v0, #0xc 2097# CHECK: sqshrun.2s v0, v0, #0x1b 2098# CHECK: sqshrun2.4s v0, v0, #0x1a 2099# CHECK: sri.8b v0, v0, #0x7 2100# CHECK: sri.16b v0, v0, #0x6 2101# CHECK: sri.4h v0, v0, #0xd 2102# CHECK: sri.8h v0, v0, #0xc 2103# CHECK: sri.2s v0, v0, #0x1b 2104# CHECK: sri.4s v0, v0, #0x1a 2105# CHECK: sri.2d v0, v0, #0x39 2106# CHECK: srshr.8b v0, v0, #0x7 2107# CHECK: srshr.16b v0, v0, #0x6 2108# CHECK: srshr.4h v0, v0, #0xd 2109# CHECK: srshr.8h v0, v0, #0xc 2110# CHECK: srshr.2s v0, v0, #0x1b 2111# CHECK: srshr.4s v0, v0, #0x1a 2112# CHECK: srshr.2d v0, v0, #0x39 2113# CHECK: srsra.8b v0, v0, #0x7 2114# CHECK: srsra.16b v0, v0, #0x6 2115# CHECK: srsra.4h v0, v0, #0xd 2116# CHECK: srsra.8h v0, v0, #0xc 2117# CHECK: srsra.2s v0, v0, #0x1b 2118# CHECK: srsra.4s v0, v0, #0x1a 2119# CHECK: srsra.2d v0, v0, #0x39 2120# CHECK: sshll.8h v0, v0, #0x1 2121# CHECK: sshll2.8h v0, v0, #0x2 2122# CHECK: sshll.4s v0, v0, #0x3 2123# CHECK: sshll2.4s v0, v0, #0x4 2124# CHECK: sshll.2d v0, v0, #0x5 2125# CHECK: sshll2.2d v0, v0, #0x6 2126# CHECK: sshr.8b v0, v0, #0x7 2127# CHECK: sshr.16b v0, v0, #0x6 2128# CHECK: sshr.4h v0, v0, #0xd 2129# CHECK: sshr.8h v0, v0, #0xc 2130# CHECK: sshr.2s v0, v0, #0x1b 2131# CHECK: sshr.4s v0, v0, #0x1a 2132# CHECK: sshr.2d v0, v0, #0x39 2133# CHECK: sshr.8b v0, v0, #0x7 2134# CHECK: ssra.16b v0, v0, #0x6 2135# CHECK: ssra.4h v0, v0, #0xd 2136# CHECK: ssra.8h v0, v0, #0xc 2137# CHECK: ssra.2s v0, v0, #0x1b 2138# CHECK: ssra.4s v0, v0, #0x1a 2139# CHECK: ssra.2d v0, v0, #0x39 2140# CHECK: ssra d0, d0, #0x40 2141# CHECK: ucvtf.2s v0, v0, #0x1f 2142# CHECK: ucvtf.4s v0, v0, #0x1e 2143# CHECK: ucvtf.2d v0, v0, #0x3d 2144# CHECK: uqrshrn.8b v0, v0, #0x7 2145# CHECK: uqrshrn2.16b v0, v0, #0x6 2146# CHECK: uqrshrn.4h v0, v0, #0xd 2147# CHECK: uqrshrn2.8h v0, v0, #0xc 2148# CHECK: uqrshrn.2s v0, v0, #0x1b 2149# CHECK: uqrshrn2.4s v0, v0, #0x1a 2150# CHECK: uqshl.8b v0, v0, #0x1 2151# CHECK: uqshl.16b v0, v0, #0x2 2152# CHECK: uqshl.4h v0, v0, #0x3 2153# CHECK: uqshl.8h v0, v0, #0x4 2154# CHECK: uqshl.2s v0, v0, #0x5 2155# CHECK: uqshl.4s v0, v0, #0x6 2156# CHECK: uqshl.2d v0, v0, #0x7 2157# CHECK: uqshrn.8b v0, v0, #0x7 2158# CHECK: uqshrn2.16b v0, v0, #0x6 2159# CHECK: uqshrn.4h v0, v0, #0xd 2160# CHECK: uqshrn2.8h v0, v0, #0xc 2161# CHECK: uqshrn.2s v0, v0, #0x1b 2162# CHECK: uqshrn2.4s v0, v0, #0x1a 2163# CHECK: urshr.8b v0, v0, #0x7 2164# CHECK: urshr.16b v0, v0, #0x6 2165# CHECK: urshr.4h v0, v0, #0xd 2166# CHECK: urshr.8h v0, v0, #0xc 2167# CHECK: urshr.2s v0, v0, #0x1b 2168# CHECK: urshr.4s v0, v0, #0x1a 2169# CHECK: urshr.2d v0, v0, #0x39 2170# CHECK: ursra.8b v0, v0, #0x7 2171# CHECK: ursra.16b v0, v0, #0x6 2172# CHECK: ursra.4h v0, v0, #0xd 2173# CHECK: ursra.8h v0, v0, #0xc 2174# CHECK: ursra.2s v0, v0, #0x1b 2175# CHECK: ursra.4s v0, v0, #0x1a 2176# CHECK: ursra.2d v0, v0, #0x39 2177# CHECK: ushll.8h v0, v0, #0x1 2178# CHECK: ushll2.8h v0, v0, #0x2 2179# CHECK: ushll.4s v0, v0, #0x3 2180# CHECK: ushll2.4s v0, v0, #0x4 2181# CHECK: ushll.2d v0, v0, #0x5 2182# CHECK: ushll2.2d v0, v0, #0x6 2183# CHECK: ushr.8b v0, v0, #0x7 2184# CHECK: ushr.16b v0, v0, #0x6 2185# CHECK: ushr.4h v0, v0, #0xd 2186# CHECK: ushr.8h v0, v0, #0xc 2187# CHECK: ushr.2s v0, v0, #0x1b 2188# CHECK: ushr.4s v0, v0, #0x1a 2189# CHECK: ushr.2d v0, v0, #0x39 2190# CHECK: usra.8b v0, v0, #0x7 2191# CHECK: usra.16b v0, v0, #0x6 2192# CHECK: usra.4h v0, v0, #0xd 2193# CHECK: usra.8h v0, v0, #0xc 2194# CHECK: usra.2s v0, v0, #0x1b 2195# CHECK: usra.4s v0, v0, #0x1a 2196# CHECK: usra.2d v0, v0, #0x39 2197 2198 2199 0x00 0xe0 0x20 0x0e 2200 0x00 0xe0 0x20 0x4e 2201 0x00 0xe0 0xe0 0x0e 2202 0x00 0xe0 0xe0 0x4e 2203 2204# CHECK: pmull.8h v0, v0, v0 2205# CHECK: pmull2.8h v0, v0, v0 2206# CHECK: pmull.1q v0, v0, v0 2207# CHECK: pmull2.1q v0, v0, v0 2208 2209 0x41 0xd8 0x70 0x7e 2210 0x83 0xd8 0x30 0x7e 2211# CHECK: faddp.2d d1, v2 2212# CHECK: faddp.2s s3, v4 2213 2214 0x82 0x60 0x01 0x4e 2215 0x80 0x60 0x01 0x0e 2216 0xa2 0x00 0x01 0x4e 2217 0xa0 0x00 0x01 0x0e 2218 0xa2 0x40 0x01 0x4e 2219 0xa0 0x40 0x01 0x0e 2220 0xc2 0x20 0x01 0x4e 2221 0xc0 0x20 0x01 0x0e 2222 2223# CHECK: tbl.16b v2, { v4, v5, v6, v7 }, v1 2224# CHECK: tbl.8b v0, { v4, v5, v6, v7 }, v1 2225# CHECK: tbl.16b v2, { v5 }, v1 2226# CHECK: tbl.8b v0, { v5 }, v1 2227# CHECK: tbl.16b v2, { v5, v6, v7 }, v1 2228# CHECK: tbl.8b v0, { v5, v6, v7 }, v1 2229# CHECK: tbl.16b v2, { v6, v7 }, v1 2230# CHECK: tbl.8b v0, { v6, v7 }, v1 2231# 2232 0x82 0x70 0x01 0x4e 2233 0x80 0x70 0x01 0x0e 2234 0xa2 0x10 0x01 0x4e 2235 0xa0 0x10 0x01 0x0e 2236 0xa2 0x50 0x01 0x4e 2237 0xa0 0x50 0x01 0x0e 2238 0xc2 0x30 0x01 0x4e 2239 0xc0 0x30 0x01 0x0e 2240 2241# CHECK: tbx.16b v2, { v4, v5, v6, v7 }, v1 2242# CHECK: tbx.8b v0, { v4, v5, v6, v7 }, v1 2243# CHECK: tbx.16b v2, { v5 }, v1 2244# CHECK: tbx.8b v0, { v5 }, v1 2245# CHECK: tbx.16b v2, { v5, v6, v7 }, v1 2246# CHECK: tbx.8b v0, { v5, v6, v7 }, v1 2247# CHECK: tbx.16b v2, { v6, v7 }, v1 2248# CHECK: tbx.8b v0, { v6, v7 }, v1 2249# 2250 22510x00 0x80 0x20 0x0e 22520x00 0x80 0x20 0x4e 22530x00 0x80 0xa0 0x0e 22540x00 0x80 0xa0 0x4e 2255 2256# CHECK: smlal.8h v0, v0, v0 2257# CHECK: smlal2.8h v0, v0, v0 2258# CHECK: smlal.2d v0, v0, v0 2259# CHECK: smlal2.2d v0, v0, v0 2260 22610x00 0x80 0x20 0x2e 22620x00 0x80 0x20 0x6e 22630x00 0x80 0xa0 0x2e 22640x00 0x80 0xa0 0x6e 2265 2266# CHECK: umlal.8h v0, v0, v0 2267# CHECK: umlal2.8h v0, v0, v0 2268# CHECK: umlal.2d v0, v0, v0 2269# CHECK: umlal2.2d v0, v0, v0 2270 22710x00 0x90 0x60 0x5e 22720x00 0x90 0xa0 0x5e 22730x00 0xb0 0x60 0x5e 22740x00 0xb0 0xa0 0x5e 2275 2276# CHECK: sqdmlal s0, h0, h0 2277# CHECK: sqdmlal d0, s0, s0 2278# CHECK: sqdmlsl s0, h0, h0 2279# CHECK: sqdmlsl d0, s0, s0 2280 22810xaa 0xc5 0xc7 0x4d 22820xaa 0xc9 0xc7 0x4d 22830xaa 0xc1 0xc7 0x4d 2284 2285# CHECK: ld1r.8h { v10 }, [x13], x7 2286# CHECK: ld1r.4s { v10 }, [x13], x7 2287# CHECK: ld1r.16b { v10 }, [x13], x7 2288 22890x00 0xd0 0x60 0x5e 22900x00 0xd0 0xa0 0x5e 2291# CHECK: sqdmull s0, h0, h0 2292# CHECK: sqdmull d0, s0, s0 2293 22940x00 0xd8 0xa1 0x7e 22950x00 0xd8 0xe1 0x7e 2296 2297# CHECK: frsqrte s0, s0 2298# CHECK: frsqrte d0, d0 2299 23000xca 0xcd 0xc7 0x4d 23010xea 0xc9 0xe7 0x4d 23020xea 0xe9 0xc7 0x4d 23030xea 0xe9 0xe7 0x4d 2304# CHECK: ld1r.2d { v10 }, [x14], x7 2305# CHECK: ld2r.4s { v10, v11 }, [x15], x7 2306# CHECK: ld3r.4s { v10, v11, v12 }, [x15], x7 2307# CHECK: ld4r.4s { v10, v11, v12, v13 }, [x15], x7 2308 2309#===-------------------------------------------------------------------------=== 2310# AdvSIMD scalar three same 2311#===-------------------------------------------------------------------------=== 23120x62 0xdc 0x21 0x5e 2313# CHECK: fmulx s2, s3, s1 23140x62 0xdc 0x61 0x5e 2315# CHECK: fmulx d2, d3, d1 2316 2317 2318# rdar://12511369 23190xe8 0x6b 0xdf 0x4c 2320# CHECK: ld1.4s { v8, v9, v10 }, [sp], #48 2321