2321 lines · plain
1# RUN: llvm-mc -triple arm64-apple-darwin -mattr=crypto -output-asm-variant=1 --disassemble -print-imm-hex < %s | FileCheck %s2 30x00 0xb8 0x20 0x0e40x00 0xb8 0x20 0x4e50x00 0xb8 0x60 0x0e60x00 0xb8 0x60 0x4e70x00 0xb8 0xa0 0x0e80x00 0xb8 0xa0 0x4e9 10# CHECK: abs.8b v0, v011# CHECK: abs.16b v0, v012# CHECK: abs.4h v0, v013# CHECK: abs.8h v0, v014# CHECK: abs.2s v0, v015# CHECK: abs.4s v0, v016 170x00 0x84 0x20 0x0e180x00 0x84 0x20 0x4e190x00 0x84 0x60 0x0e200x00 0x84 0x60 0x4e210x00 0x84 0xa0 0x0e220x00 0x84 0xa0 0x4e230x00 0x84 0xe0 0x4e24 25# CHECK: add.8b v0, v0, v026# CHECK: add.16b v0, v0, v027# CHECK: add.4h v0, v0, v028# CHECK: add.8h v0, v0, v029# CHECK: add.2s v0, v0, v030# CHECK: add.4s v0, v0, v031# CHECK: add.2d v0, v0, v032 330x41 0x84 0xe3 0x5e34 35# CHECK: add d1, d2, d336 370x00 0x40 0x20 0x0e380x00 0x40 0x20 0x4e390x00 0x40 0x60 0x0e400x00 0x40 0x60 0x4e410x00 0x40 0xa0 0x0e420x00 0x40 0xa0 0x4e43 44# CHECK: addhn.8b v0, v0, v045# CHECK: addhn2.16b v0, v0, v046# CHECK: addhn.4h v0, v0, v047# CHECK: addhn2.8h v0, v0, v048# CHECK: addhn.2s v0, v0, v049# CHECK: addhn2.4s v0, v0, v050 510x00 0xbc 0x20 0x0e520x00 0xbc 0x20 0x4e530x00 0xbc 0x60 0x0e540x00 0xbc 0x60 0x4e550x00 0xbc 0xa0 0x0e560x00 0xbc 0xa0 0x4e570x00 0xbc 0xe0 0x4e58 59# CHECK: addp.8b v0, v0, v060# CHECK: addp.16b v0, v0, v061# CHECK: addp.4h v0, v0, v062# CHECK: addp.8h v0, v0, v063# CHECK: addp.2s v0, v0, v064# CHECK: addp.4s v0, v0, v065# CHECK: addp.2d v0, v0, v066 670x00 0xb8 0xf1 0x5e68 69# CHECK: addp.2d d0, v070 710x00 0xb8 0x31 0x0e720x00 0xb8 0x31 0x4e730x00 0xb8 0x71 0x0e740x00 0xb8 0x71 0x4e750x00 0xb8 0xb1 0x4e76 77# CHECK: addv.8b b0, v078# CHECK: addv.16b b0, v079# CHECK: addv.4h h0, v080# CHECK: addv.8h h0, v081# CHECK: addv.4s s0, v082 83 84# INS/DUP850x60 0x0c 0x08 0x4e860x60 0x0c 0x04 0x4e870x60 0x0c 0x04 0x0e880x60 0x0c 0x02 0x4e890x60 0x0c 0x02 0x0e900x60 0x0c 0x01 0x4e910x60 0x0c 0x01 0x0e92 93# CHECK: dup.2d v0, x394# CHECK: dup.4s v0, w395# CHECK: dup.2s v0, w396# CHECK: dup.8h v0, w397# CHECK: dup.4h v0, w398# CHECK: dup.16b v0, w399# CHECK: dup.8b v0, w3100 1010x60 0x04 0x18 0x4e1020x60 0x04 0x0c 0x0e1030x60 0x04 0x0c 0x4e1040x60 0x04 0x06 0x0e1050x60 0x04 0x06 0x4e1060x60 0x04 0x03 0x0e1070x60 0x04 0x03 0x4e108 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 0x4e1190x43 0x2c 0x14 0x4e1200x43 0x3c 0x14 0x0e1210x43 0x3c 0x14 0x0e1220x43 0x3c 0x18 0x4e1230x43 0x3c 0x18 0x4e124 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 0x4e1330xa2 0x1c 0x0c 0x4e1340xa2 0x1c 0x06 0x4e1350xa2 0x1c 0x03 0x4e136 1370xa2 0x1c 0x18 0x4e1380xa2 0x1c 0x0c 0x4e1390xa2 0x1c 0x06 0x4e1400xa2 0x1c 0x03 0x4e141 142# CHECK: mov.d v2[1], x5143# CHECK: mov.s v2[1], w5144# CHECK: mov.h v2[1], w5145# CHECK: mov.b v2[1], w5146 147# CHECK: mov.d v2[1], x5148# CHECK: mov.s v2[1], w5149# CHECK: mov.h v2[1], w5150# CHECK: mov.b v2[1], w5151 1520xe2 0x45 0x18 0x6e1530xe2 0x25 0x0c 0x6e1540xe2 0x15 0x06 0x6e1550xe2 0x0d 0x03 0x6e156 1570xe2 0x05 0x18 0x6e1580xe2 0x45 0x1c 0x6e1590xe2 0x35 0x1e 0x6e1600xe2 0x2d 0x15 0x6e161 162# CHECK: mov.d v2[1], v15[1]163# CHECK: mov.s v2[1], v15[1]164# CHECK: mov.h v2[1], v15[1]165# CHECK: mov.b v2[1], v15[1]166 167# CHECK: mov.d v2[1], v15[0]168# CHECK: mov.s v2[3], v15[2]169# CHECK: mov.h v2[7], v15[3]170# CHECK: mov.b v2[10], v15[5]171 172# INS/DUP (non-standard)1730x60 0x0c 0x08 0x4e1740x60 0x0c 0x0c 0x4e1750x60 0x0c 0x0c 0x0e1760x60 0x0c 0x0e 0x4e1770x60 0x0c 0x0e 0x0e1780x60 0x0c 0x0f 0x4e1790x60 0x0c 0x0f 0x0e180 181# CHECK: dup.2d v0, x3182# CHECK: dup.4s v0, w3183# CHECK: dup.2s v0, w3184# CHECK: dup.8h v0, w3185# CHECK: dup.4h v0, w3186# CHECK: dup.16b v0, w3187# CHECK: dup.8b v0, w3188 1890xe2 0x75 0x18 0x6e1900xe2 0x35 0x0c 0x6e1910xe2 0x15 0x06 0x6e1920xe2 0x0d 0x03 0x6e193 1940xe2 0x05 0x18 0x6e1950xe2 0x55 0x1c 0x6e1960xe2 0x35 0x1e 0x6e1970xe2 0x2d 0x15 0x6e198 199# CHECK: mov.d v2[1], v15[1]200# CHECK: mov.s v2[1], v15[1]201# CHECK: mov.h v2[1], v15[1]202# CHECK: mov.b v2[1], v15[1]203 204# CHECK: mov.d v2[1], v15[0]205# CHECK: mov.s v2[3], v15[2]206# CHECK: mov.h v2[7], v15[3]207# CHECK: mov.b v2[10], v15[5]208 2090x00 0x1c 0x20 0x0e2100x00 0x1c 0x20 0x4e211 212# CHECK: and.8b v0, v0, v0213# CHECK: and.16b v0, v0, v0214 2150x00 0x1c 0x60 0x0e216 217# CHECK: bic.8b v0, v0, v0218 2190x00 0x8c 0x20 0x2e2200x00 0x3c 0x20 0x0e2210x00 0x34 0x20 0x0e2220x00 0x34 0x20 0x2e2230x00 0x3c 0x20 0x2e2240x00 0x8c 0x20 0x0e2250x00 0xd4 0xa0 0x2e2260x00 0xec 0x20 0x2e2270x00 0xec 0xa0 0x2e2280x00 0xd4 0x20 0x2e2290x00 0xd4 0x20 0x0e2300x00 0xe4 0x20 0x0e2310x00 0xe4 0x20 0x2e2320x00 0xe4 0xa0 0x2e2330x00 0xfc 0x20 0x2e2340x00 0xc4 0x20 0x2e2350x00 0xc4 0x20 0x0e2360x00 0xf4 0x20 0x2e2370x00 0xf4 0x20 0x0e2380x00 0xc4 0xa0 0x2e2390x00 0xc4 0xa0 0x0e2400x00 0xf4 0xa0 0x2e2410x00 0xf4 0xa0 0x0e2420x00 0xcc 0x20 0x0e2430x00 0xcc 0xa0 0x0e2440x00 0xdc 0x20 0x0e2450x00 0xdc 0x20 0x2e2460x00 0xfc 0x20 0x0e2470x00 0xfc 0xa0 0x0e2480x00 0xd4 0xa0 0x0e2490x00 0x94 0x20 0x0e2500x00 0x94 0x20 0x2e2510x00 0x9c 0x20 0x0e2520x00 0x9c 0x20 0x2e2530x00 0x7c 0x20 0x0e2540x00 0x74 0x20 0x0e2550x00 0x04 0x20 0x0e2560x00 0x24 0x20 0x0e2570x00 0xa4 0x20 0x0e2580x00 0x64 0x20 0x0e2590x00 0xac 0x20 0x0e2600x00 0x6c 0x20 0x0e2610x00 0x0c 0x20 0x0e2620x00 0xb4 0x60 0x0e2630x00 0xb4 0x60 0x2e2640x00 0x5c 0x20 0x0e2650x00 0x4c 0x20 0x0e2660x00 0x2c 0x20 0x0e2670x00 0x14 0x20 0x0e2680x00 0x54 0x20 0x0e2690x00 0x44 0x20 0x0e2700x00 0x84 0x20 0x2e2710x00 0x7c 0x20 0x2e2720x00 0x74 0x20 0x2e2730x00 0x04 0x20 0x2e2740x00 0x24 0x20 0x2e2750x00 0xa4 0x20 0x2e2760x00 0x64 0x20 0x2e2770x00 0xac 0x20 0x2e2780x00 0x6c 0x20 0x2e2790x00 0x0c 0x20 0x2e2800x00 0x5c 0x20 0x2e2810x00 0x4c 0x20 0x2e2820x00 0x2c 0x20 0x2e2830x00 0x14 0x20 0x2e2840x00 0x54 0x20 0x2e2850x00 0x44 0x20 0x2e286 287# CHECK: cmeq.8b v0, v0, v0288# CHECK: cmge.8b v0, v0, v0289# CHECK: cmgt.8b v0, v0, v0290# CHECK: cmhi.8b v0, v0, v0291# CHECK: cmhs.8b v0, v0, v0292# CHECK: cmtst.8b v0, v0, v0293# CHECK: fabd.2s v0, v0, v0294# CHECK: facge.2s v0, v0, v0295# CHECK: facgt.2s v0, v0, v0296# CHECK: faddp.2s v0, v0, v0297# CHECK: fadd.2s v0, v0, v0298# CHECK: fcmeq.2s v0, v0, v0299# CHECK: fcmge.2s v0, v0, v0300# CHECK: fcmgt.2s v0, v0, v0301# CHECK: fdiv.2s v0, v0, v0302# CHECK: fmaxnmp.2s v0, v0, v0303# CHECK: fmaxnm.2s v0, v0, v0304# CHECK: fmaxp.2s v0, v0, v0305# CHECK: fmax.2s v0, v0, v0306# CHECK: fminnmp.2s v0, v0, v0307# CHECK: fminnm.2s v0, v0, v0308# CHECK: fminp.2s v0, v0, v0309# CHECK: fmin.2s v0, v0, v0310# CHECK: fmla.2s v0, v0, v0311# CHECK: fmls.2s v0, v0, v0312# CHECK: fmulx.2s v0, v0, v0313# CHECK: fmul.2s v0, v0, v0314# CHECK: frecps.2s v0, v0, v0315# CHECK: frsqrts.2s v0, v0, v0316# CHECK: fsub.2s v0, v0, v0317# CHECK: mla.8b v0, v0, v0318# CHECK: mls.8b v0, v0, v0319# CHECK: mul.8b v0, v0, v0320# CHECK: pmul.8b v0, v0, v0321# CHECK: saba.8b v0, v0, v0322# CHECK: sabd.8b v0, v0, v0323# CHECK: shadd.8b v0, v0, v0324# CHECK: shsub.8b v0, v0, v0325# CHECK: smaxp.8b v0, v0, v0326# CHECK: smax.8b v0, v0, v0327# CHECK: sminp.8b v0, v0, v0328# CHECK: smin.8b v0, v0, v0329# CHECK: sqadd.8b v0, v0, v0330# CHECK: sqdmulh.4h v0, v0, v0331# CHECK: sqrdmulh.4h v0, v0, v0332# CHECK: sqrshl.8b v0, v0, v0333# CHECK: sqshl.8b v0, v0, v0334# CHECK: sqsub.8b v0, v0, v0335# CHECK: srhadd.8b v0, v0, v0336# CHECK: srshl.8b v0, v0, v0337# CHECK: sshl.8b v0, v0, v0338# CHECK: sub.8b v0, v0, v0339# CHECK: uaba.8b v0, v0, v0340# CHECK: uabd.8b v0, v0, v0341# CHECK: uhadd.8b v0, v0, v0342# CHECK: uhsub.8b v0, v0, v0343# CHECK: umaxp.8b v0, v0, v0344# CHECK: umax.8b v0, v0, v0345# CHECK: uminp.8b v0, v0, v0346# CHECK: umin.8b v0, v0, v0347# CHECK: uqadd.8b v0, v0, v0348# CHECK: uqrshl.8b v0, v0, v0349# CHECK: uqshl.8b v0, v0, v0350# CHECK: uqsub.8b v0, v0, v0351# CHECK: urhadd.8b v0, v0, v0352# CHECK: urshl.8b v0, v0, v0353# CHECK: ushl.8b v0, v0, v0354 3550x00 0x1c 0xe0 0x2e3560x00 0x1c 0xa0 0x2e3570x00 0x1c 0x60 0x2e3580x00 0x1c 0x20 0x2e3590x00 0x1c 0xe0 0x0e3600x00 0x1c 0xa1 0x0e361 362# CHECK: bif.8b v0, v0, v0363# CHECK: bit.8b v0, v0, v0364# CHECK: bsl.8b v0, v0, v0365# CHECK: eor.8b v0, v0, v0366# CHECK: orn.8b v0, v0, v0367# CHECK: orr.8b v0, v0, v1368 3690x00 0x68 0x20 0x0e3700x00 0x68 0x20 0x4e3710x00 0x68 0x60 0x0e3720x00 0x68 0x60 0x4e3730x00 0x68 0xa0 0x0e3740x00 0x68 0xa0 0x4e375 376# CHECK: sadalp.4h v0, v0377# CHECK: sadalp.8h v0, v0378# CHECK: sadalp.2s v0, v0379# CHECK: sadalp.4s v0, v0380# CHECK: sadalp.1d v0, v0381# CHECK: sadalp.2d v0, v0382 3830x00 0x48 0x20 0x0e3840x00 0x48 0x20 0x2e3850x00 0x58 0x20 0x0e3860x00 0xf8 0xa0 0x0e3870x00 0xc8 0x21 0x0e3880x00 0xc8 0x21 0x2e3890x00 0xb8 0x21 0x0e3900x00 0xb8 0x21 0x2e3910x00 0xa8 0x21 0x0e3920x00 0xa8 0x21 0x2e3930x00 0xa8 0xa1 0x0e3940x00 0xa8 0xa1 0x2e3950x00 0xb8 0xa1 0x0e3960x00 0xb8 0xa1 0x2e3970x00 0xf8 0xa0 0x2e3980x00 0xd8 0xa1 0x0e3990x00 0xd8 0xa1 0x2e4000x00 0xf8 0xa1 0x2e4010x00 0xb8 0x20 0x2e4020x00 0x58 0x20 0x2e4030x00 0x58 0x60 0x2e4040x00 0x18 0x20 0x0e4050x00 0x08 0x20 0x2e4060x00 0x08 0x20 0x0e4070x00 0x68 0x20 0x0e4080x00 0x28 0x20 0x0e4090x00 0xd8 0x21 0x0e4100x00 0x38 0x21 0x2e4110x00 0x78 0x20 0x0e4120x00 0x78 0x20 0x2e4130x00 0x48 0x21 0x0e4140x00 0x28 0x21 0x2e4150x00 0x38 0x20 0x0e4160x00 0x68 0x20 0x2e4170x00 0x28 0x20 0x2e4180x00 0xd8 0x21 0x2e4190x00 0x48 0x21 0x2e4200x00 0xc8 0xa1 0x0e4210x00 0xc8 0xa1 0x2e4220x00 0x38 0x20 0x2e4230x00 0x28 0x21 0x0e4240x00 0x48 0x20 0x0e4250x00 0x48 0x20 0x2e4260x00 0x58 0x20 0x0e4270x00 0xf8 0xa0 0x0e4280x00 0xc8 0x21 0x0e4290x00 0xc8 0x21 0x2e4300x00 0xb8 0x21 0x0e4310x00 0xb8 0x21 0x2e4320x00 0xa8 0x21 0x0e4330x00 0xa8 0x21 0x2e4340x00 0xa8 0xa1 0x0e4350x00 0xa8 0xa1 0x2e4360x00 0xb8 0xa1 0x0e4370x00 0xb8 0xa1 0x2e4380x00 0xf8 0xa0 0x2e4390x00 0xd8 0xa1 0x0e4400x00 0xd8 0xa1 0x2e4410x00 0xf8 0xa1 0x2e4420x00 0xb8 0x20 0x2e4430x00 0x58 0x20 0x2e4440x00 0x58 0x60 0x2e4450x00 0x18 0x20 0x0e4460x00 0x08 0x20 0x2e4470x00 0x08 0x20 0x0e4480x00 0x68 0x20 0x0e4490x00 0x28 0x20 0x0e4500x00 0xd8 0x21 0x0e4510x00 0x38 0x21 0x2e4520x00 0x78 0x20 0x0e4530x00 0x78 0x20 0x2e4540x00 0x48 0x21 0x0e4550x00 0x28 0x21 0x2e4560x00 0x38 0x20 0x0e4570x00 0x68 0x20 0x2e4580x00 0x28 0x20 0x2e4590x00 0xd8 0x21 0x2e4600x00 0x48 0x21 0x2e4610x00 0xc8 0xa1 0x0e4620x00 0xc8 0xa1 0x2e4630x00 0x38 0x20 0x2e4640x00 0x28 0x21 0x0e465 466# CHECK: cls.8b v0, v0467# CHECK: clz.8b v0, v0468# CHECK: cnt.8b v0, v0469# CHECK: fabs.2s v0, v0470# CHECK: fcvtas.2s v0, v0471# CHECK: fcvtau.2s v0, v0472# CHECK: fcvtms.2s v0, v0473# CHECK: fcvtmu.2s v0, v0474# CHECK: fcvtns.2s v0, v0475# CHECK: fcvtnu.2s v0, v0476# CHECK: fcvtps.2s v0, v0477# CHECK: fcvtpu.2s v0, v0478# CHECK: fcvtzs.2s v0, v0479# CHECK: fcvtzu.2s v0, v0480# CHECK: fneg.2s v0, v0481# CHECK: frecpe.2s v0, v0482# CHECK: frsqrte.2s v0, v0483# CHECK: fsqrt.2s v0, v0484# CHECK: neg.8b v0, v0485# CHECK: mvn.8b v0, v0486# CHECK: rbit.8b v0, v0487# CHECK: rev16.8b v0, v0488# CHECK: rev32.8b v0, v0489# CHECK: rev64.8b v0, v0490# CHECK: sadalp.4h v0, v0491# CHECK: saddlp.4h v0, v0492# CHECK: scvtf.2s v0, v0493# CHECK: shll.8h v0, v0, #8494# CHECK: sqabs.8b v0, v0495# CHECK: sqneg.8b v0, v0496# CHECK: sqxtn.8b v0, v0497# CHECK: sqxtun.8b v0, v0498# CHECK: suqadd.8b v0, v0499# CHECK: uadalp.4h v0, v0500# CHECK: uaddlp.4h v0, v0501# CHECK: ucvtf.2s v0, v0502# CHECK: uqxtn.8b v0, v0503# CHECK: urecpe.2s v0, v0504# CHECK: ursqrte.2s v0, v0505# CHECK: usqadd.8b v0, v0506# CHECK: xtn.8b v0, v0507 5080x00 0x98 0x20 0x0e5090x00 0x98 0x20 0x4e5100x00 0x98 0x60 0x0e5110x00 0x98 0x60 0x4e5120x00 0x98 0xa0 0x0e5130x00 0x98 0xa0 0x4e5140x00 0x98 0xe0 0x4e515 516# CHECK: cmeq.8b v0, v0, #0517# CHECK: cmeq.16b v0, v0, #0518# CHECK: cmeq.4h v0, v0, #0519# CHECK: cmeq.8h v0, v0, #0520# CHECK: cmeq.2s v0, v0, #0521# CHECK: cmeq.4s v0, v0, #0522# CHECK: cmeq.2d v0, v0, #0523 5240x00 0x88 0x20 0x2e5250x00 0x88 0x20 0x0e5260x00 0x98 0x20 0x2e5270x00 0xa8 0x20 0x0e5280x00 0xd8 0xa0 0x0e5290x00 0xc8 0xa0 0x2e5300x00 0xc8 0xa0 0x0e5310x00 0xd8 0xa0 0x2e5320x00 0xe8 0xa0 0x0e533 534# CHECK: cmge.8b v0, v0, #0535# CHECK: cmgt.8b v0, v0, #0536# CHECK: cmle.8b v0, v0, #0537# CHECK: cmlt.8b v0, v0, #0538# CHECK: fcmeq.2s v0, v0, #0539# CHECK: fcmge.2s v0, v0, #0540# CHECK: fcmgt.2s v0, v0, #0541# CHECK: fcmle.2s v0, v0, #0542# CHECK: fcmlt.2s v0, v0, #0543 5440x00 0x78 0x21 0x0e5450x00 0x78 0x21 0x4e5460x00 0x78 0x61 0x0e5470x00 0x78 0x61 0x4e5480x00 0x68 0x21 0x0e5490x00 0x68 0x21 0x4e5500x00 0x68 0x61 0x0e5510x00 0x68 0x61 0x4e5520x00 0x68 0x61 0x2e5530x00 0x68 0x61 0x6e554 555# CHECK: fcvtl v0.4s, v0.4h556# CHECK: fcvtl2 v0.4s, v0.8h557# CHECK: fcvtl v0.2d, v0.2s558# CHECK: fcvtl2 v0.2d, v0.4s559# CHECK: fcvtn v0.4h, v0.4s560# CHECK: fcvtn2 v0.8h, v0.4s561# CHECK: fcvtn v0.2s, v0.2d562# CHECK: fcvtn2 v0.4s, v0.2d563# CHECK: fcvtxn v0.2s, v0.2d564# CHECK: fcvtxn2 v0.4s, v0.2d565 566#===-------------------------------------------------------------------------===567# AdvSIMD modified immediate instructions568#===-------------------------------------------------------------------------===569 5700x20 0x14 0x00 0x2f5710x20 0x34 0x00 0x2f5720x20 0x54 0x00 0x2f5730x20 0x74 0x00 0x2f574 575# CHECK: bic.2s v0, #0x1576# CHECK: bic.2s v0, #0x1, lsl #8577# CHECK: bic.2s v0, #0x1, lsl #16578# CHECK: bic.2s v0, #0x1, lsl #24579 5800x20 0x94 0x00 0x2f5810x20 0x94 0x00 0x2f5820x20 0xb4 0x00 0x2f583 584# CHECK: bic.4h v0, #0x1585# CHECK: bic.4h v0, #0x1586# FIXME: bic.4h v0, #0x1, lsl #8587# 'bic.4h' should be selected over "fcvtnu.2s v0, v1, #0"588 5890x20 0x14 0x00 0x6f5900x20 0x34 0x00 0x6f5910x20 0x54 0x00 0x6f5920x20 0x74 0x00 0x6f593 594# CHECK: bic.4s v0, #0x1595# CHECK: bic.4s v0, #0x1, lsl #8596# CHECK: bic.4s v0, #0x1, lsl #16597# CHECK: bic.4s v0, #0x1, lsl #24598 5990x20 0x94 0x00 0x6f6000x20 0xb4 0x00 0x6f601 602# CHECK: bic.8h v0, #0x1603# FIXME: bic.8h v0, #0x1, lsl #8604# "bic.8h" should be selected over "fcvtnu.4s v0, v1, #0"605 6060x00 0xf4 0x02 0x6f607 608# CHECK: fmov.2d v0, #0.12500000609 6100x00 0xf4 0x02 0x0f6110x00 0xf4 0x02 0x4f612 613# CHECK: fmov.2s v0, #0.12500000614# CHECK: fmov.4s v0, #0.12500000615 6160x20 0x14 0x00 0x0f6170x20 0x34 0x00 0x0f6180x20 0x54 0x00 0x0f6190x20 0x74 0x00 0x0f620 621# CHECK: orr.2s v0, #0x1622# CHECK: orr.2s v0, #0x1, lsl #8623# CHECK: orr.2s v0, #0x1, lsl #16624# CHECK: orr.2s v0, #0x1, lsl #24625 6260x20 0x94 0x00 0x0f6270x20 0xb4 0x00 0x0f628 629# CHECK: orr.4h v0, #0x1630# FIXME: orr.4h v0, #0x1, lsl #8631# 'orr.4h' should be selected over "fcvtns.2s v0, v1, #0"632 6330x20 0x14 0x00 0x4f6340x20 0x34 0x00 0x4f6350x20 0x54 0x00 0x4f6360x20 0x74 0x00 0x4f637 638# CHECK: orr.4s v0, #0x1639# CHECK: orr.4s v0, #0x1, lsl #8640# CHECK: orr.4s v0, #0x1, lsl #16641# CHECK: orr.4s v0, #0x1, lsl #24642 6430x20 0x94 0x00 0x4f6440x20 0xb4 0x00 0x4f645 646# CHECK: orr.8h v0, #0x1647# CHECK: orr.8h v0, #0x1, lsl #8648 6490x21 0x70 0x40 0x0c6500x42 0xa0 0x40 0x4c6510x64 0x64 0x40 0x0c6520x87 0x24 0x40 0x4c6530x0c 0xa8 0x40 0x0c6540x0a 0x68 0x40 0x4c6550x2d 0xac 0x40 0x0c6560x4f 0x7c 0x40 0x4c6570xe0 0x03 0x40 0x0d658 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 0x0c6700x41 0xa0 0xdf 0x0c6710x41 0x60 0xdf 0x0c6720x41 0x20 0xdf 0x0c6730x42 0x70 0xdf 0x4c6740x42 0xa0 0xdf 0x4c6750x42 0x60 0xdf 0x4c6760x42 0x20 0xdf 0x4c6770x64 0x74 0xdf 0x0c6780x64 0xa4 0xdf 0x0c6790x64 0x64 0xdf 0x0c6800x64 0x24 0xdf 0x0c6810x87 0x74 0xdf 0x4c6820x87 0xa4 0xdf 0x4c6830x87 0x64 0xdf 0x4c6840x87 0x24 0xdf 0x4c6850x0c 0x78 0xdf 0x0c6860x0c 0xa8 0xdf 0x0c6870x0c 0x68 0xdf 0x0c6880x0c 0x28 0xdf 0x0c6890x0a 0x78 0xdf 0x4c6900x0a 0xa8 0xdf 0x4c6910x0a 0x68 0xdf 0x4c6920x0a 0x28 0xdf 0x4c6930x2d 0x7c 0xdf 0x0c6940x2d 0xac 0xdf 0x0c6950x2d 0x6c 0xdf 0x0c6960x2d 0x2c 0xdf 0x0c6970x4f 0x7c 0xdf 0x4c6980x4f 0xac 0xdf 0x4c6990x4f 0x6c 0xdf 0x4c7000x4f 0x2c 0xdf 0x4c701 702# CHECK: ld1.8b { v1 }, [x2], #8703# CHECK: ld1.8b { v1, v2 }, [x2], #16704# CHECK: ld1.8b { v1, v2, v3 }, [x2], #24705# CHECK: ld1.8b { v1, v2, v3, v4 }, [x2], #32706# CHECK: ld1.16b { v2 }, [x2], #16707# CHECK: ld1.16b { v2, v3 }, [x2], #32708# CHECK: ld1.16b { v2, v3, v4 }, [x2], #48709# CHECK: ld1.16b { v2, v3, v4, v5 }, [x2], #64710# CHECK: ld1.4h { v4 }, [x3], #8711# CHECK: ld1.4h { v4, v5 }, [x3], #16712# CHECK: ld1.4h { v4, v5, v6 }, [x3], #24713# CHECK: ld1.4h { v4, v5, v6, v7 }, [x3], #32714# CHECK: ld1.8h { v7 }, [x4], #16715# CHECK: ld1.8h { v7, v8 }, [x4], #32716# CHECK: ld1.8h { v7, v8, v9 }, [x4], #48717# CHECK: ld1.8h { v7, v8, v9, v10 }, [x4], #64718# CHECK: ld1.2s { v12 }, [x0], #8719# CHECK: ld1.2s { v12, v13 }, [x0], #16720# CHECK: ld1.2s { v12, v13, v14 }, [x0], #24721# CHECK: ld1.2s { v12, v13, v14, v15 }, [x0], #32722# CHECK: ld1.4s { v10 }, [x0], #16723# CHECK: ld1.4s { v10, v11 }, [x0], #32724# CHECK: ld1.4s { v10, v11, v12 }, [x0], #48725# CHECK: ld1.4s { v10, v11, v12, v13 }, [x0], #64726# CHECK: ld1.1d { v13 }, [x1], #8727# CHECK: ld1.1d { v13, v14 }, [x1], #16728# CHECK: ld1.1d { v13, v14, v15 }, [x1], #24729# CHECK: ld1.1d { v13, v14, v15, v16 }, [x1], #32730# CHECK: ld1.2d { v15 }, [x2], #16731# CHECK: ld1.2d { v15, v16 }, [x2], #32732# CHECK: ld1.2d { v15, v16, v17 }, [x2], #48733# CHECK: ld1.2d { v15, v16, v17, v18 }, [x2], #64734 7350x21 0x70 0x00 0x0c7360x42 0xa0 0x00 0x4c7370x64 0x64 0x00 0x0c7380x87 0x24 0x00 0x4c7390x0c 0xa8 0x00 0x0c7400x0a 0x68 0x00 0x4c7410x2d 0xac 0x00 0x0c7420x4f 0x7c 0x00 0x4c743 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 0x0d7540x82 0x84 0x40 0x4d7550xa3 0x58 0x40 0x0d7560xc4 0x80 0x40 0x4d757 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 0x0d7640x82 0x84 0xdf 0x4d7650xa3 0x58 0xdf 0x0d7660xc4 0x80 0xdf 0x4d767 768# CHECK: ld1.b { v1 }[2], [x3], #1769# CHECK: ld1.d { v2 }[1], [x4], #8770# CHECK: ld1.h { v3 }[3], [x5], #2771# CHECK: ld1.s { v4 }[2], [x6], #4772 7730x61 0x08 0x00 0x0d7740x82 0x84 0x00 0x4d7750xa3 0x58 0x00 0x0d7760xc4 0x80 0x00 0x4d777 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 0x0d7840x82 0x84 0x9f 0x4d7850xa3 0x58 0x9f 0x0d7860xc4 0x80 0x9f 0x4d787 788# CHECK: st1.b { v1 }[2], [x3], #1789# CHECK: st1.d { v2 }[1], [x4], #8790# CHECK: st1.h { v3 }[3], [x5], #2791# CHECK: st1.s { v4 }[2], [x6], #4792 7930x61 0x08 0xc4 0x0d7940x82 0x84 0xc5 0x4d7950xa3 0x58 0xc6 0x0d7960xc4 0x80 0xc7 0x4d797 798# CHECK: ld1.b { v1 }[2], [x3], x4799# CHECK: ld1.d { v2 }[1], [x4], x5800# CHECK: ld1.h { v3 }[3], [x5], x6801# CHECK: ld1.s { v4 }[2], [x6], x7802 8030x61 0x08 0x84 0x0d8040x82 0x84 0x85 0x4d8050xa3 0x58 0x86 0x0d8060xc4 0x80 0x87 0x4d807 808# CHECK: st1.b { v1 }[2], [x3], x4809# CHECK: st1.d { v2 }[1], [x4], x5810# CHECK: st1.h { v3 }[3], [x5], x6811# CHECK: st1.s { v4 }[2], [x6], x7812 8130x41 0x70 0xc3 0x0c8140x42 0xa0 0xc4 0x4c8150x64 0x64 0xc5 0x0c8160x87 0x24 0xc6 0x4c8170x0c 0xa8 0xc7 0x0c8180x0a 0x68 0xc8 0x4c8190x2d 0xac 0xc9 0x0c8200x4f 0x7c 0xca 0x4c821 822# CHECK: ld1.8b { v1 }, [x2], x3823# CHECK: ld1.16b { v2, v3 }, [x2], x4824# CHECK: ld1.4h { v4, v5, v6 }, [x3], x5825# CHECK: ld1.8h { v7, v8, v9, v10 }, [x4], x6826# CHECK: ld1.2s { v12, v13 }, [x0], x7827# CHECK: ld1.4s { v10, v11, v12 }, [x0], x8828# CHECK: ld1.1d { v13, v14 }, [x1], x9829# CHECK: ld1.2d { v15 }, [x2], x10830 8310x41 0x70 0x83 0x0c8320x42 0xa0 0x84 0x4c8330x64 0x64 0x85 0x0c8340x87 0x24 0x86 0x4c8350x0c 0xa8 0x87 0x0c8360x0a 0x68 0x88 0x4c8370x2d 0xac 0x89 0x0c8380x4f 0x7c 0x8a 0x4c839 840# CHECK: st1.8b { v1 }, [x2], x3841# CHECK: st1.16b { v2, v3 }, [x2], x4842# CHECK: st1.4h { v4, v5, v6 }, [x3], x5843# CHECK: st1.8h { v7, v8, v9, v10 }, [x4], x6844# CHECK: st1.2s { v12, v13 }, [x0], x7845# CHECK: st1.4s { v10, v11, v12 }, [x0], x8846# CHECK: st1.1d { v13, v14 }, [x1], x9847# CHECK: st1.2d { v15 }, [x2], x10848 8490x41 0x70 0x9f 0x0c8500x41 0xa0 0x9f 0x0c8510x41 0x60 0x9f 0x0c8520x41 0x20 0x9f 0x0c8530x42 0x70 0x9f 0x4c8540x42 0xa0 0x9f 0x4c8550x42 0x60 0x9f 0x4c8560x42 0x20 0x9f 0x4c8570x64 0x74 0x9f 0x0c8580x64 0xa4 0x9f 0x0c8590x64 0x64 0x9f 0x0c8600x64 0x24 0x9f 0x0c8610x87 0x74 0x9f 0x4c8620x87 0xa4 0x9f 0x4c8630x87 0x64 0x9f 0x4c8640x87 0x24 0x9f 0x4c8650x0c 0x78 0x9f 0x0c8660x0c 0xa8 0x9f 0x0c8670x0c 0x68 0x9f 0x0c8680x0c 0x28 0x9f 0x0c8690x0a 0x78 0x9f 0x4c8700x0a 0xa8 0x9f 0x4c8710x0a 0x68 0x9f 0x4c8720x0a 0x28 0x9f 0x4c8730x2d 0x7c 0x9f 0x0c8740x2d 0xac 0x9f 0x0c8750x2d 0x6c 0x9f 0x0c8760x2d 0x2c 0x9f 0x0c8770x4f 0x7c 0x9f 0x4c8780x4f 0xac 0x9f 0x4c8790x4f 0x6c 0x9f 0x4c8800x4f 0x2c 0x9f 0x4c881 882# CHECK: st1.8b { v1 }, [x2], #8883# CHECK: st1.8b { v1, v2 }, [x2], #16884# CHECK: st1.8b { v1, v2, v3 }, [x2], #24885# CHECK: st1.8b { v1, v2, v3, v4 }, [x2], #32886# CHECK: st1.16b { v2 }, [x2], #16887# CHECK: st1.16b { v2, v3 }, [x2], #32888# CHECK: st1.16b { v2, v3, v4 }, [x2], #48889# CHECK: st1.16b { v2, v3, v4, v5 }, [x2], #64890# CHECK: st1.4h { v4 }, [x3], #8891# CHECK: st1.4h { v4, v5 }, [x3], #16892# CHECK: st1.4h { v4, v5, v6 }, [x3], #24893# CHECK: st1.4h { v4, v5, v6, v7 }, [x3], #32894# CHECK: st1.8h { v7 }, [x4], #16895# CHECK: st1.8h { v7, v8 }, [x4], #32896# CHECK: st1.8h { v7, v8, v9 }, [x4], #48897# CHECK: st1.8h { v7, v8, v9, v10 }, [x4], #64898# CHECK: st1.2s { v12 }, [x0], #8899# CHECK: st1.2s { v12, v13 }, [x0], #16900# CHECK: st1.2s { v12, v13, v14 }, [x0], #24901# CHECK: st1.2s { v12, v13, v14, v15 }, [x0], #32902# CHECK: st1.4s { v10 }, [x0], #16903# CHECK: st1.4s { v10, v11 }, [x0], #32904# CHECK: st1.4s { v10, v11, v12 }, [x0], #48905# CHECK: st1.4s { v10, v11, v12, v13 }, [x0], #64906# CHECK: st1.1d { v13 }, [x1], #8907# CHECK: st1.1d { v13, v14 }, [x1], #16908# CHECK: st1.1d { v13, v14, v15 }, [x1], #24909# CHECK: st1.1d { v13, v14, v15, v16 }, [x1], #32910# CHECK: st1.2d { v15 }, [x2], #16911# CHECK: st1.2d { v15, v16 }, [x2], #32912# CHECK: st1.2d { v15, v16, v17 }, [x2], #48913# CHECK: st1.2d { v15, v16, v17, v18 }, [x2], #64914 9150x21 0xc0 0x40 0x0d9160x21 0xc0 0xc2 0x0d9170x64 0xc4 0x40 0x0d9180x64 0xc4 0xc5 0x0d9190xa9 0xc8 0x40 0x0d9200xa9 0xc8 0xc6 0x0d9210xec 0xcc 0x40 0x0d9220xec 0xcc 0xc8 0x0d923 924# CHECK: ld1r.8b { v1 }, [x1]925# CHECK: ld1r.8b { v1 }, [x1], x2926# CHECK: ld1r.4h { v4 }, [x3]927# CHECK: ld1r.4h { v4 }, [x3], x5928# CHECK: ld1r.2s { v9 }, [x5]929# CHECK: ld1r.2s { v9 }, [x5], x6930# CHECK: ld1r.1d { v12 }, [x7]931# CHECK: ld1r.1d { v12 }, [x7], x8932 9330x21 0xc0 0xdf 0x0d9340x21 0xc4 0xdf 0x0d9350x21 0xc8 0xdf 0x0d9360x21 0xcc 0xdf 0x0d937 938# CHECK: ld1r.8b { v1 }, [x1], #1939# CHECK: ld1r.4h { v1 }, [x1], #2940# CHECK: ld1r.2s { v1 }, [x1], #4941# CHECK: ld1r.1d { v1 }, [x1], #8942 9430x45 0x80 0x40 0x4c9440x0a 0x88 0x40 0x0c945 946# CHECK: ld2.16b { v5, v6 }, [x2]947# CHECK: ld2.2s { v10, v11 }, [x0]948 9490x45 0x80 0x00 0x4c9500x0a 0x88 0x00 0x0c951 952# CHECK: st2.16b { v5, v6 }, [x2]953# CHECK: st2.2s { v10, v11 }, [x0]954 9550x61 0x08 0x20 0x0d9560x82 0x84 0x20 0x4d9570xc3 0x50 0x20 0x0d9580xe4 0x90 0x20 0x4d959 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 0x0d9660x82 0x84 0xbf 0x4d9670xa3 0x58 0xbf 0x0d9680xc4 0x80 0xbf 0x4d969 970# CHECK: st2.b { v1, v2 }[2], [x3], #2971# CHECK: st2.d { v2, v3 }[1], [x4], #16972# CHECK: st2.h { v3, v4 }[3], [x5], #4973# CHECK: st2.s { v4, v5 }[2], [x6], #8974 9750x61 0x08 0x60 0x0d9760x82 0x84 0x60 0x4d9770xc3 0x50 0x60 0x0d9780xe4 0x90 0x60 0x4d979 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 0x0d9860x82 0x84 0xff 0x4d9870xa3 0x58 0xff 0x0d9880xc4 0x80 0xff 0x4d989 990# CHECK: ld2.b { v1, v2 }[2], [x3], #2991# CHECK: ld2.d { v2, v3 }[1], [x4], #16992# CHECK: ld2.h { v3, v4 }[3], [x5], #4993# CHECK: ld2.s { v4, v5 }[2], [x6], #8994 9950x61 0x08 0xe4 0x0d9960x82 0x84 0xe6 0x4d9970xa3 0x58 0xe8 0x0d9980xc4 0x80 0xea 0x4d999 1000# CHECK: ld2.b { v1, v2 }[2], [x3], x41001# CHECK: ld2.d { v2, v3 }[1], [x4], x61002# CHECK: ld2.h { v3, v4 }[3], [x5], x81003# CHECK: ld2.s { v4, v5 }[2], [x6], x101004 10050x61 0x08 0xa4 0x0d10060x82 0x84 0xa6 0x4d10070xa3 0x58 0xa8 0x0d10080xc4 0x80 0xaa 0x4d1009 1010# CHECK: st2.b { v1, v2 }[2], [x3], x41011# CHECK: st2.d { v2, v3 }[1], [x4], x61012# CHECK: st2.h { v3, v4 }[3], [x5], x81013# CHECK: st2.s { v4, v5 }[2], [x6], x101014 10150x64 0x84 0xc5 0x0c10160x0c 0x88 0xc7 0x0c1017 1018# CHECK: ld2.4h { v4, v5 }, [x3], x51019# CHECK: ld2.2s { v12, v13 }, [x0], x71020 10210x00 0x80 0xdf 0x0c10220x00 0x80 0xdf 0x4c10230x00 0x84 0xdf 0x0c10240x00 0x84 0xdf 0x4c10250x00 0x88 0xdf 0x0c10260x00 0x88 0xdf 0x4c10270x00 0x8c 0xdf 0x4c1028 1029# CHECK: ld2.8b { v0, v1 }, [x0], #161030# CHECK: ld2.16b { v0, v1 }, [x0], #321031# CHECK: ld2.4h { v0, v1 }, [x0], #161032# CHECK: ld2.8h { v0, v1 }, [x0], #321033# CHECK: ld2.2s { v0, v1 }, [x0], #161034# CHECK: ld2.4s { v0, v1 }, [x0], #321035# CHECK: ld2.2d { v0, v1 }, [x0], #321036 10370x64 0x84 0x85 0x0c10380x0c 0x88 0x87 0x0c1039 1040# CHECK: st2.4h { v4, v5 }, [x3], x51041# CHECK: st2.2s { v12, v13 }, [x0], x71042 10430x00 0x80 0x9f 0x0c10440x00 0x80 0x9f 0x4c10450x00 0x84 0x9f 0x0c10460x00 0x84 0x9f 0x4c10470x00 0x88 0x9f 0x0c10480x00 0x88 0x9f 0x4c10490x00 0x8c 0x9f 0x4c1050 1051# CHECK: st2.8b { v0, v1 }, [x0], #161052# CHECK: st2.16b { v0, v1 }, [x0], #321053# CHECK: st2.4h { v0, v1 }, [x0], #161054# CHECK: st2.8h { v0, v1 }, [x0], #321055# CHECK: st2.2s { v0, v1 }, [x0], #161056# CHECK: st2.4s { v0, v1 }, [x0], #321057# CHECK: st2.2d { v0, v1 }, [x0], #321058 10590x21 0xc0 0x60 0x0d10600x21 0xc0 0xe2 0x0d10610x21 0xc0 0x60 0x4d10620x21 0xc0 0xe2 0x4d10630x21 0xc4 0x60 0x0d10640x21 0xc4 0xe2 0x0d10650x21 0xc4 0x60 0x4d10660x21 0xc4 0xe2 0x4d10670x21 0xc8 0x60 0x0d10680x21 0xc8 0xe2 0x0d10690x21 0xcc 0x60 0x4d10700x21 0xcc 0xe2 0x4d10710x21 0xcc 0x60 0x0d10720x21 0xcc 0xe2 0x0d1073 1074# CHECK: ld2r.8b { v1, v2 }, [x1]1075# CHECK: ld2r.8b { v1, v2 }, [x1], x21076# CHECK: ld2r.16b { v1, v2 }, [x1]1077# CHECK: ld2r.16b { v1, v2 }, [x1], x21078# CHECK: ld2r.4h { v1, v2 }, [x1]1079# CHECK: ld2r.4h { v1, v2 }, [x1], x21080# CHECK: ld2r.8h { v1, v2 }, [x1]1081# CHECK: ld2r.8h { v1, v2 }, [x1], x21082# CHECK: ld2r.2s { v1, v2 }, [x1]1083# CHECK: ld2r.2s { v1, v2 }, [x1], x21084# CHECK: ld2r.2d { v1, v2 }, [x1]1085# CHECK: ld2r.2d { v1, v2 }, [x1], x21086# CHECK: ld2r.1d { v1, v2 }, [x1]1087# CHECK: ld2r.1d { v1, v2 }, [x1], x21088 10890x21 0xc0 0xff 0x0d10900x21 0xc0 0xff 0x4d10910x21 0xc4 0xff 0x0d10920x21 0xc4 0xff 0x4d10930x21 0xc8 0xff 0x0d10940x21 0xcc 0xff 0x4d10950x21 0xcc 0xff 0x0d1096 1097# CHECK: ld2r.8b { v1, v2 }, [x1], #21098# CHECK: ld2r.16b { v1, v2 }, [x1], #21099# CHECK: ld2r.4h { v1, v2 }, [x1], #41100# CHECK: ld2r.8h { v1, v2 }, [x1], #41101# CHECK: ld2r.2s { v1, v2 }, [x1], #81102# CHECK: ld2r.2d { v1, v2 }, [x1], #161103# CHECK: ld2r.1d { v1, v2 }, [x1], #161104 11050x21 0x40 0x40 0x0c11060x45 0x40 0x40 0x4c11070x0a 0x48 0x40 0x0c1108 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 0x0c11140x45 0x40 0x00 0x4c11150x0a 0x48 0x00 0x0c1116 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 0x0d11220x82 0xa4 0xc5 0x4d11230xa3 0x78 0xc6 0x0d11240xc4 0xa0 0xc7 0x4d1125 1126# CHECK: ld3.b { v1, v2, v3 }[2], [x3], x41127# CHECK: ld3.d { v2, v3, v4 }[1], [x4], x51128# CHECK: ld3.h { v3, v4, v5 }[3], [x5], x61129# CHECK: ld3.s { v4, v5, v6 }[2], [x6], x71130 11310x61 0x28 0x84 0x0d11320x82 0xa4 0x85 0x4d11330xa3 0x78 0x86 0x0d11340xc4 0xa0 0x87 0x4d1135 1136# CHECK: st3.b { v1, v2, v3 }[2], [x3], x41137# CHECK: st3.d { v2, v3, v4 }[1], [x4], x51138# CHECK: st3.h { v3, v4, v5 }[3], [x5], x61139# CHECK: st3.s { v4, v5, v6 }[2], [x6], x71140 11410x61 0x28 0x9f 0x0d11420x82 0xa4 0x9f 0x4d11430xa3 0x78 0x9f 0x0d11440xc4 0xa0 0x9f 0x4d1145 1146# CHECK: st3.b { v1, v2, v3 }[2], [x3], #31147# CHECK: st3.d { v2, v3, v4 }[1], [x4], #241148# CHECK: st3.h { v3, v4, v5 }[3], [x5], #61149# CHECK: st3.s { v4, v5, v6 }[2], [x6], #121150 11510x41 0x40 0xc3 0x0c11520x42 0x40 0xc4 0x4c11530x64 0x44 0xc5 0x0c11540x87 0x44 0xc6 0x4c11550x0c 0x48 0xc7 0x0c11560x0a 0x48 0xc8 0x4c11570x4f 0x4c 0xca 0x4c1158 1159# CHECK: ld3.8b { v1, v2, v3 }, [x2], x31160# CHECK: ld3.16b { v2, v3, v4 }, [x2], x41161# CHECK: ld3.4h { v4, v5, v6 }, [x3], x51162# CHECK: ld3.8h { v7, v8, v9 }, [x4], x61163# CHECK: ld3.2s { v12, v13, v14 }, [x0], x71164# CHECK: ld3.4s { v10, v11, v12 }, [x0], x81165# CHECK: ld3.2d { v15, v16, v17 }, [x2], x101166 11670x00 0x40 0xdf 0x0c11680x00 0x40 0xdf 0x4c11690x00 0x44 0xdf 0x0c11700x00 0x44 0xdf 0x4c11710x00 0x48 0xdf 0x0c11720x00 0x48 0xdf 0x4c11730x00 0x4c 0xdf 0x4c1174 1175# CHECK: ld3.8b { v0, v1, v2 }, [x0], #241176# CHECK: ld3.16b { v0, v1, v2 }, [x0], #481177# CHECK: ld3.4h { v0, v1, v2 }, [x0], #241178# CHECK: ld3.8h { v0, v1, v2 }, [x0], #481179# CHECK: ld3.2s { v0, v1, v2 }, [x0], #241180# CHECK: ld3.4s { v0, v1, v2 }, [x0], #481181# CHECK: ld3.2d { v0, v1, v2 }, [x0], #481182 11830x41 0x40 0x83 0x0c11840x42 0x40 0x84 0x4c11850x64 0x44 0x85 0x0c11860x87 0x44 0x86 0x4c11870x0c 0x48 0x87 0x0c11880x0a 0x48 0x88 0x4c11890x4f 0x4c 0x8a 0x4c1190 1191# CHECK: st3.8b { v1, v2, v3 }, [x2], x31192# CHECK: st3.16b { v2, v3, v4 }, [x2], x41193# CHECK: st3.4h { v4, v5, v6 }, [x3], x51194# CHECK: st3.8h { v7, v8, v9 }, [x4], x61195# CHECK: st3.2s { v12, v13, v14 }, [x0], x71196# CHECK: st3.4s { v10, v11, v12 }, [x0], x81197# CHECK: st3.2d { v15, v16, v17 }, [x2], x101198 11990x00 0x40 0x9f 0x0c12000x00 0x40 0x9f 0x4c12010x00 0x44 0x9f 0x0c12020x00 0x44 0x9f 0x4c12030x00 0x48 0x9f 0x0c12040x00 0x48 0x9f 0x4c12050x00 0x4c 0x9f 0x4c1206 1207# CHECK: st3.8b { v0, v1, v2 }, [x0], #241208# CHECK: st3.16b { v0, v1, v2 }, [x0], #481209# CHECK: st3.4h { v0, v1, v2 }, [x0], #241210# CHECK: st3.8h { v0, v1, v2 }, [x0], #481211# CHECK: st3.2s { v0, v1, v2 }, [x0], #241212# CHECK: st3.4s { v0, v1, v2 }, [x0], #481213# CHECK: st3.2d { v0, v1, v2 }, [x0], #481214 12150x61 0x28 0x40 0x0d12160x82 0xa4 0x40 0x4d12170xc3 0x70 0x40 0x0d12180xe4 0xb0 0x40 0x4d1219 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 0x0d12260x82 0xa4 0xdf 0x4d12270xa3 0x78 0xdf 0x0d12280xc4 0xa0 0xdf 0x4d1229 1230# CHECK: ld3.b { v1, v2, v3 }[2], [x3], #31231# CHECK: ld3.d { v2, v3, v4 }[1], [x4], #241232# CHECK: ld3.h { v3, v4, v5 }[3], [x5], #61233# CHECK: ld3.s { v4, v5, v6 }[2], [x6], #121234 12350x61 0x28 0x00 0x0d12360x82 0xa4 0x00 0x4d12370xc3 0x70 0x00 0x0d12380xe4 0xb0 0x00 0x4d1239 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 0x0d12460x21 0xe0 0xc2 0x0d12470x21 0xe0 0x40 0x4d12480x21 0xe0 0xc2 0x4d12490x21 0xe4 0x40 0x0d12500x21 0xe4 0xc2 0x0d12510x21 0xe4 0x40 0x4d12520x21 0xe4 0xc2 0x4d12530x21 0xe8 0x40 0x0d12540x21 0xe8 0xc2 0x0d12550x21 0xec 0x40 0x4d12560x21 0xec 0xc2 0x4d12570x21 0xec 0x40 0x0d12580x21 0xec 0xc2 0x0d1259 1260# CHECK: ld3r.8b { v1, v2, v3 }, [x1]1261# CHECK: ld3r.8b { v1, v2, v3 }, [x1], x21262# CHECK: ld3r.16b { v1, v2, v3 }, [x1]1263# CHECK: ld3r.16b { v1, v2, v3 }, [x1], x21264# CHECK: ld3r.4h { v1, v2, v3 }, [x1]1265# CHECK: ld3r.4h { v1, v2, v3 }, [x1], x21266# CHECK: ld3r.8h { v1, v2, v3 }, [x1]1267# CHECK: ld3r.8h { v1, v2, v3 }, [x1], x21268# CHECK: ld3r.2s { v1, v2, v3 }, [x1]1269# CHECK: ld3r.2s { v1, v2, v3 }, [x1], x21270# CHECK: ld3r.2d { v1, v2, v3 }, [x1]1271# CHECK: ld3r.2d { v1, v2, v3 }, [x1], x21272# CHECK: ld3r.1d { v1, v2, v3 }, [x1]1273# CHECK: ld3r.1d { v1, v2, v3 }, [x1], x21274 12750x21 0xe0 0xdf 0x0d12760x21 0xe0 0xdf 0x4d12770x21 0xe4 0xdf 0x0d12780x21 0xe4 0xdf 0x4d12790x21 0xe8 0xdf 0x0d12800x21 0xec 0xdf 0x4d12810x21 0xec 0xdf 0x0d1282 1283# CHECK: ld3r.8b { v1, v2, v3 }, [x1], #31284# CHECK: ld3r.16b { v1, v2, v3 }, [x1], #31285# CHECK: ld3r.4h { v1, v2, v3 }, [x1], #61286# CHECK: ld3r.8h { v1, v2, v3 }, [x1], #61287# CHECK: ld3r.2s { v1, v2, v3 }, [x1], #121288# CHECK: ld3r.2d { v1, v2, v3 }, [x1], #241289# CHECK: ld3r.1d { v1, v2, v3 }, [x1], #241290 12910x21 0x00 0x40 0x0c12920x45 0x00 0x40 0x4c12930x0a 0x08 0x40 0x0c1294 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 0x0c13000x45 0x00 0x00 0x4c13010x0a 0x08 0x00 0x0c1302 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 0x0d13080x82 0xa4 0xe5 0x4d13090xa3 0x78 0xe6 0x0d13100xc4 0xa0 0xe7 0x4d1311 1312# CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3], x41313# CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4], x51314# CHECK: ld4.h { v3, v4, v5, v6 }[3], [x5], x61315# CHECK: ld4.s { v4, v5, v6, v7 }[2], [x6], x71316 13170x61 0x28 0xff 0x0d13180x82 0xa4 0xff 0x4d13190xa3 0x78 0xff 0x0d13200xc4 0xa0 0xff 0x4d1321 1322# CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3], #41323# CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4], #321324# CHECK: ld4.h { v3, v4, v5, v6 }[3], [x5], #81325# CHECK: ld4.s { v4, v5, v6, v7 }[2], [x6], #161326 13270x61 0x28 0xa4 0x0d13280x82 0xa4 0xa5 0x4d13290xa3 0x78 0xa6 0x0d13300xc4 0xa0 0xa7 0x4d1331 1332# CHECK: st4.b { v1, v2, v3, v4 }[2], [x3], x41333# CHECK: st4.d { v2, v3, v4, v5 }[1], [x4], x51334# CHECK: st4.h { v3, v4, v5, v6 }[3], [x5], x61335# CHECK: st4.s { v4, v5, v6, v7 }[2], [x6], x71336 13370x61 0x28 0xbf 0x0d13380x82 0xa4 0xbf 0x4d13390xa3 0x78 0xbf 0x0d13400xc4 0xa0 0xbf 0x4d1341 1342# CHECK: st4.b { v1, v2, v3, v4 }[2], [x3], #41343# CHECK: st4.d { v2, v3, v4, v5 }[1], [x4], #321344# CHECK: st4.h { v3, v4, v5, v6 }[3], [x5], #81345# CHECK: st4.s { v4, v5, v6, v7 }[2], [x6], #161346 13470x41 0x00 0xc3 0x0c13480x42 0x00 0xc4 0x4c13490x64 0x04 0xc5 0x0c13500x87 0x04 0xc6 0x4c13510x0c 0x08 0xc7 0x0c13520x0a 0x08 0xc8 0x4c13530x4f 0x0c 0xca 0x4c1354 1355# CHECK: ld4.8b { v1, v2, v3, v4 }, [x2], x31356# CHECK: ld4.16b { v2, v3, v4, v5 }, [x2], x41357# CHECK: ld4.4h { v4, v5, v6, v7 }, [x3], x51358# CHECK: ld4.8h { v7, v8, v9, v10 }, [x4], x61359# CHECK: ld4.2s { v12, v13, v14, v15 }, [x0], x71360# CHECK: ld4.4s { v10, v11, v12, v13 }, [x0], x81361# CHECK: ld4.2d { v15, v16, v17, v18 }, [x2], x101362 13630x00 0x00 0xdf 0x0c13640x00 0x00 0xdf 0x4c13650x00 0x04 0xdf 0x0c13660x00 0x04 0xdf 0x4c13670x00 0x08 0xdf 0x0c13680x00 0x08 0xdf 0x4c13690x00 0x0c 0xdf 0x4c1370 1371# CHECK: ld4.8b { v0, v1, v2, v3 }, [x0], #321372# CHECK: ld4.16b { v0, v1, v2, v3 }, [x0], #641373# CHECK: ld4.4h { v0, v1, v2, v3 }, [x0], #321374# CHECK: ld4.8h { v0, v1, v2, v3 }, [x0], #641375# CHECK: ld4.2s { v0, v1, v2, v3 }, [x0], #321376# CHECK: ld4.4s { v0, v1, v2, v3 }, [x0], #641377# CHECK: ld4.2d { v0, v1, v2, v3 }, [x0], #641378 13790x00 0x00 0x9f 0x0c13800x00 0x00 0x9f 0x4c13810x00 0x04 0x9f 0x0c13820x00 0x04 0x9f 0x4c13830x00 0x08 0x9f 0x0c13840x00 0x08 0x9f 0x4c13850x00 0x0c 0x9f 0x4c1386 1387# CHECK: st4.8b { v0, v1, v2, v3 }, [x0], #321388# CHECK: st4.16b { v0, v1, v2, v3 }, [x0], #641389# CHECK: st4.4h { v0, v1, v2, v3 }, [x0], #321390# CHECK: st4.8h { v0, v1, v2, v3 }, [x0], #641391# CHECK: st4.2s { v0, v1, v2, v3 }, [x0], #321392# CHECK: st4.4s { v0, v1, v2, v3 }, [x0], #641393# CHECK: st4.2d { v0, v1, v2, v3 }, [x0], #641394 13950x41 0x00 0x83 0x0c13960x42 0x00 0x84 0x4c13970x64 0x04 0x85 0x0c13980x87 0x04 0x86 0x4c13990x0c 0x08 0x87 0x0c14000x0a 0x08 0x88 0x4c14010x4f 0x0c 0x8a 0x4c1402 1403# CHECK: st4.8b { v1, v2, v3, v4 }, [x2], x31404# CHECK: st4.16b { v2, v3, v4, v5 }, [x2], x41405# CHECK: st4.4h { v4, v5, v6, v7 }, [x3], x51406# CHECK: st4.8h { v7, v8, v9, v10 }, [x4], x61407# CHECK: st4.2s { v12, v13, v14, v15 }, [x0], x71408# CHECK: st4.4s { v10, v11, v12, v13 }, [x0], x81409# CHECK: st4.2d { v15, v16, v17, v18 }, [x2], x101410 14110x61 0x28 0x60 0x0d14120x82 0xa4 0x60 0x4d14130xc3 0x70 0x60 0x0d14140xe4 0xb0 0x60 0x4d1415 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 0x0d14220x82 0xa4 0x20 0x4d14230xc3 0x70 0x20 0x0d14240xe4 0xb0 0x20 0x4d1425 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 0x0d14320x21 0xe0 0xe2 0x0d14330x21 0xe0 0x60 0x4d14340x21 0xe0 0xe2 0x4d14350x21 0xe4 0x60 0x0d14360x21 0xe4 0xe2 0x0d14370x21 0xe4 0x60 0x4d14380x21 0xe4 0xe2 0x4d14390x21 0xe8 0x60 0x0d14400x21 0xe8 0xe2 0x0d14410x21 0xec 0x60 0x4d14420x21 0xec 0xe2 0x4d14430x21 0xec 0x60 0x0d14440x21 0xec 0xe2 0x0d1445 1446# CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1]1447# CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1], x21448# CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1]1449# CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1], x21450# CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1]1451# CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1], x21452# CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1]1453# CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1], x21454# CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1]1455# CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1], x21456# CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1]1457# CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1], x21458# CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1]1459# CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1], x21460 14610x21 0xe0 0xff 0x0d14620x21 0xe0 0xff 0x4d14630x21 0xe4 0xff 0x0d14640x21 0xe4 0xff 0x4d14650x21 0xe8 0xff 0x0d14660x21 0xec 0xff 0x4d14670x21 0xec 0xff 0x0d1468 1469# CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1], #41470# CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1], #41471# CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1], #81472# CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1], #81473# CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1], #161474# CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1], #321475# CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1], #321476 14770x20 0xe4 0x00 0x2f14780x20 0xe4 0x00 0x6f14790x20 0xe4 0x00 0x0f14800x20 0xe4 0x00 0x4f1481 1482# CHECK: movi d0, #0x000000000000ff1483# CHECK: movi.2d v0, #0x000000000000ff1484# CHECK: movi.8b v0, #0x11485# CHECK: movi.16b v0, #0x11486 14870x20 0x04 0x00 0x0f14880x20 0x24 0x00 0x0f14890x20 0x44 0x00 0x0f14900x20 0x64 0x00 0x0f1491 1492# CHECK: movi.2s v0, #0x11493# CHECK: movi.2s v0, #0x1, lsl #81494# CHECK: movi.2s v0, #0x1, lsl #161495# CHECK: movi.2s v0, #0x1, lsl #241496 14970x20 0x04 0x00 0x4f14980x20 0x24 0x00 0x4f14990x20 0x44 0x00 0x4f15000x20 0x64 0x00 0x4f1501 1502# CHECK: movi.4s v0, #0x11503# CHECK: movi.4s v0, #0x1, lsl #81504# CHECK: movi.4s v0, #0x1, lsl #161505# CHECK: movi.4s v0, #0x1, lsl #241506 15070x20 0x84 0x00 0x0f15080x20 0xa4 0x00 0x0f1509 1510# CHECK: movi.4h v0, #0x11511# CHECK: movi.4h v0, #0x1, lsl #81512 15130x20 0x84 0x00 0x4f15140x20 0xa4 0x00 0x4f1515 1516# CHECK: movi.8h v0, #0x11517# CHECK: movi.8h v0, #0x1, lsl #81518 15190x20 0x04 0x00 0x2f15200x20 0x24 0x00 0x2f15210x20 0x44 0x00 0x2f15220x20 0x64 0x00 0x2f1523 1524# CHECK: mvni.2s v0, #0x11525# CHECK: mvni.2s v0, #0x1, lsl #81526# CHECK: mvni.2s v0, #0x1, lsl #161527# CHECK: mvni.2s v0, #0x1, lsl #241528 15290x20 0x04 0x00 0x6f15300x20 0x24 0x00 0x6f15310x20 0x44 0x00 0x6f15320x20 0x64 0x00 0x6f1533 1534# CHECK: mvni.4s v0, #0x11535# CHECK: mvni.4s v0, #0x1, lsl #81536# CHECK: mvni.4s v0, #0x1, lsl #161537# CHECK: mvni.4s v0, #0x1, lsl #241538 15390x20 0x84 0x00 0x2f15400x20 0xa4 0x00 0x2f1541 1542# CHECK: mvni.4h v0, #0x11543# CHECK: mvni.4h v0, #0x1, lsl #81544 15450x20 0x84 0x00 0x6f15460x20 0xa4 0x00 0x6f1547 1548# CHECK: mvni.8h v0, #0x11549# CHECK: mvni.8h v0, #0x1, lsl #81550 15510x20 0xc4 0x00 0x2f15520x20 0xd4 0x00 0x2f15530x20 0xc4 0x00 0x6f15540x20 0xd4 0x00 0x6f1555 1556# CHECK: mvni.2s v0, #0x1, msl #81557# CHECK: mvni.2s v0, #0x1, msl #161558# CHECK: mvni.4s v0, #0x1, msl #81559# CHECK: mvni.4s v0, #0x1, msl #161560 15610x00 0x88 0x21 0x2e15620x00 0x98 0x21 0x2e15630x00 0x98 0xa1 0x2e15640x00 0x98 0x21 0x0e15650x00 0x88 0x21 0x0e15660x00 0x88 0xa1 0x0e15670x00 0x98 0xa1 0x0e1568 1569# CHECK: frinta.2s v0, v01570# CHECK: frintx.2s v0, v01571# CHECK: frinti.2s v0, v01572# CHECK: frintm.2s v0, v01573# CHECK: frintn.2s v0, v01574# CHECK: frintp.2s v0, v01575# CHECK: frintz.2s v0, v01576 1577#===-------------------------------------------------------------------------===1578# AdvSIMD scalar x index instructions1579#===-------------------------------------------------------------------------===1580 15810x00 0x18 0xa0 0x5f15820x00 0x18 0xc0 0x5f15830x00 0x58 0xa0 0x5f15840x00 0x58 0xc0 0x5f15850x00 0x98 0xa0 0x7f15860x00 0x98 0xc0 0x7f15870x00 0x98 0xa0 0x5f15880x00 0x98 0xc0 0x5f15890x00 0x38 0x70 0x5f15900x00 0x38 0xa0 0x5f15910x00 0x78 0x70 0x5f15920x00 0xc8 0x70 0x5f15930x00 0xc8 0xa0 0x5f15940x00 0xb8 0x70 0x5f15950x00 0xb8 0xa0 0x5f15960x00 0xd8 0x70 0x5f15970x00 0xd8 0xa0 0x5f1598 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 instructions1619#===-------------------------------------------------------------------------===1620 1621 0x00 0x10 0x80 0x0f1622 0x00 0x10 0xa0 0x4f1623 0x00 0x18 0xc0 0x4f1624 0x00 0x50 0x80 0x0f1625 0x00 0x50 0xa0 0x4f1626 0x00 0x58 0xc0 0x4f1627 0x00 0x90 0x80 0x2f1628 0x00 0x90 0xa0 0x6f1629 0x00 0x98 0xc0 0x6f1630 0x00 0x90 0x80 0x0f1631 0x00 0x90 0xa0 0x4f1632 0x00 0x98 0xc0 0x4f1633 0x00 0x00 0x40 0x2f1634 0x00 0x00 0x50 0x6f1635 0x00 0x08 0x80 0x2f1636 0x00 0x08 0xa0 0x6f1637 0x00 0x40 0x40 0x2f1638 0x00 0x40 0x50 0x6f1639 0x00 0x48 0x80 0x2f1640 0x00 0x48 0xa0 0x6f1641 0x00 0x80 0x40 0x0f1642 0x00 0x80 0x50 0x4f1643 0x00 0x88 0x80 0x0f1644 0x00 0x88 0xa0 0x4f1645 0x00 0x20 0x40 0x0f1646 0x00 0x20 0x50 0x4f1647 0x00 0x28 0x80 0x0f1648 0x00 0x28 0xa0 0x4f1649 0x00 0x60 0x40 0x0f1650 0x00 0x60 0x50 0x4f1651 0x00 0x68 0x80 0x0f1652 0x00 0x68 0xa0 0x4f1653 0x00 0xa0 0x40 0x0f1654 0x00 0xa0 0x50 0x4f1655 0x00 0xa8 0x80 0x0f1656 0x00 0xa8 0xa0 0x4f1657 0x00 0x30 0x40 0x0f1658 0x00 0x30 0x50 0x4f1659 0x00 0x38 0x80 0x0f1660 0x00 0x38 0xa0 0x4f1661 0x00 0x70 0x40 0x0f1662 0x00 0x70 0x50 0x4f1663 0x00 0x78 0x80 0x0f1664 0x00 0x78 0xa0 0x4f1665 0x00 0xc0 0x40 0x0f1666 0x00 0xc0 0x50 0x4f1667 0x00 0xc8 0x80 0x0f1668 0x00 0xc8 0xa0 0x4f1669 0x00 0xb0 0x40 0x0f1670 0x00 0xb0 0x50 0x4f1671 0x00 0xb8 0x80 0x0f1672 0x00 0xb8 0xa0 0x4f1673 0x00 0xd0 0x40 0x0f1674 0x00 0xd0 0x50 0x4f1675 0x00 0xd8 0x80 0x0f1676 0x00 0xd8 0xa0 0x4f1677 0x00 0x20 0x40 0x2f1678 0x00 0x20 0x50 0x6f1679 0x00 0x28 0x80 0x2f1680 0x00 0x28 0xa0 0x6f1681 0x00 0x60 0x40 0x2f1682 0x00 0x60 0x50 0x6f1683 0x00 0x68 0x80 0x2f1684 0x00 0x68 0xa0 0x6f1685 0x00 0xa0 0x40 0x2f1686 0x00 0xa0 0x50 0x6f1687 0x00 0xa8 0x80 0x2f1688 0x00 0xa8 0xa0 0x6f1689 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 instructions1762#===-------------------------------------------------------------------------===1763 1764 0x00 0x54 0x41 0x5f1765 0x00 0x54 0x41 0x7f1766 0x00 0x9c 0x09 0x5f1767 0x00 0x9c 0x12 0x5f1768 0x00 0x9c 0x23 0x5f1769 0x00 0x8c 0x09 0x7f1770 0x00 0x8c 0x12 0x7f1771 0x00 0x8c 0x23 0x7f1772 0x00 0x64 0x09 0x7f1773 0x00 0x64 0x12 0x7f1774 0x00 0x64 0x23 0x7f1775 0x00 0x64 0x44 0x7f1776 0x00 0x74 0x09 0x5f1777 0x00 0x74 0x12 0x5f1778 0x00 0x74 0x23 0x5f1779 0x00 0x74 0x44 0x5f1780 0x00 0x94 0x09 0x5f1781 0x00 0x94 0x12 0x5f1782 0x00 0x94 0x23 0x5f1783 0x00 0x84 0x09 0x7f1784 0x00 0x84 0x12 0x7f1785 0x00 0x84 0x23 0x7f1786 0x00 0x44 0x41 0x7f1787 0x00 0x24 0x41 0x5f1788 0x00 0x34 0x41 0x5f1789 0x00 0x04 0x41 0x5f1790 0x00 0xe4 0x21 0x7f1791 0x00 0xe4 0x42 0x7f1792 0x00 0x9c 0x09 0x7f1793 0x00 0x9c 0x12 0x7f1794 0x00 0x9c 0x23 0x7f1795 0x00 0x74 0x09 0x7f1796 0x00 0x74 0x12 0x7f1797 0x00 0x74 0x23 0x7f1798 0x00 0x74 0x44 0x7f1799 0x00 0x94 0x09 0x7f1800 0x00 0x94 0x12 0x7f1801 0x00 0x94 0x23 0x7f1802 0x00 0x24 0x41 0x7f1803 0x00 0x34 0x41 0x7f1804 0x00 0x04 0x41 0x7f1805 0x00 0x14 0x41 0x7f1806 1807# CHECK: shl d0, d0, #0x11808# CHECK: sli d0, d0, #0x11809# CHECK: sqrshrn b0, h0, #0x71810# CHECK: sqrshrn h0, s0, #0xe1811# CHECK: sqrshrn s0, d0, #0x1d1812# CHECK: sqrshrun b0, h0, #0x71813# CHECK: sqrshrun h0, s0, #0xe1814# CHECK: sqrshrun s0, d0, #0x1d1815# CHECK: sqshlu b0, b0, #0x11816# CHECK: sqshlu h0, h0, #0x21817# CHECK: sqshlu s0, s0, #0x31818# CHECK: sqshlu d0, d0, #0x41819# CHECK: sqshl b0, b0, #0x11820# CHECK: sqshl h0, h0, #0x21821# CHECK: sqshl s0, s0, #0x31822# CHECK: sqshl d0, d0, #0x41823# CHECK: sqshrn b0, h0, #0x71824# CHECK: sqshrn h0, s0, #0xe1825# CHECK: sqshrn s0, d0, #0x1d1826# CHECK: sqshrun b0, h0, #0x71827# CHECK: sqshrun h0, s0, #0xe1828# CHECK: sqshrun s0, d0, #0x1d1829# CHECK: sri d0, d0, #0x3f1830# CHECK: srshr d0, d0, #0x3f1831# CHECK: srsra d0, d0, #0x3f1832# CHECK: sshr d0, d0, #0x3f1833# CHECK: ucvtf s0, s0, #0x1f1834# CHECK: ucvtf d0, d0, #0x3e1835# CHECK: uqrshrn b0, h0, #0x71836# CHECK: uqrshrn h0, s0, #0xe1837# CHECK: uqrshrn s0, d0, #0x1d1838# CHECK: uqshl b0, b0, #0x11839# CHECK: uqshl h0, h0, #0x21840# CHECK: uqshl s0, s0, #0x31841# CHECK: uqshl d0, d0, #0x41842# CHECK: uqshrn b0, h0, #0x71843# CHECK: uqshrn h0, s0, #0xe1844# CHECK: uqshrn s0, d0, #0x1d1845# CHECK: urshr d0, d0, #0x3f1846# CHECK: ursra d0, d0, #0x3f1847# CHECK: ushr d0, d0, #0x3f1848# CHECK: usra d0, d0, #0x3f1849 1850#===-------------------------------------------------------------------------===1851# AdvSIMD vector + shift instructions1852#===-------------------------------------------------------------------------===1853 1854 0x00 0xfc 0x21 0x0f1855 0x00 0xfc 0x22 0x4f1856 0x00 0xfc 0x43 0x4f1857 0x00 0xfc 0x21 0x2f1858 0x00 0xfc 0x22 0x6f1859 0x00 0xfc 0x43 0x6f1860 0x00 0x8c 0x09 0x0f1861 0x00 0x8c 0x0a 0x4f1862 0x00 0x8c 0x13 0x0f1863 0x00 0x8c 0x14 0x4f1864 0x00 0x8c 0x25 0x0f1865 0x00 0x8c 0x26 0x4f1866 0x00 0xe4 0x21 0x0f1867 0x00 0xe4 0x22 0x4f1868 0x00 0xe4 0x43 0x4f1869 0x00 0x54 0x09 0x0f1870 0x00 0x54 0x0a 0x4f1871 0x00 0x54 0x13 0x0f1872 0x00 0x54 0x14 0x4f1873 0x00 0x54 0x25 0x0f1874 0x00 0x54 0x26 0x4f1875 0x00 0x54 0x47 0x4f1876 0x00 0x84 0x09 0x0f1877 0x00 0x84 0x0a 0x4f1878 0x00 0x84 0x13 0x0f1879 0x00 0x84 0x14 0x4f1880 0x00 0x84 0x25 0x0f1881 0x00 0x84 0x26 0x4f1882 0x00 0x54 0x09 0x2f1883 0x00 0x54 0x0a 0x6f1884 0x00 0x54 0x13 0x2f1885 0x00 0x54 0x14 0x6f1886 0x00 0x54 0x25 0x2f1887 0x00 0x54 0x26 0x6f1888 0x00 0x54 0x47 0x6f1889 0x00 0x9c 0x09 0x0f1890 0x00 0x9c 0x0a 0x4f1891 0x00 0x9c 0x13 0x0f1892 0x00 0x9c 0x14 0x4f1893 0x00 0x9c 0x25 0x0f1894 0x00 0x9c 0x26 0x4f1895 0x00 0x8c 0x09 0x2f1896 0x00 0x8c 0x0a 0x6f1897 0x00 0x8c 0x13 0x2f1898 0x00 0x8c 0x14 0x6f1899 0x00 0x8c 0x25 0x2f1900 0x00 0x8c 0x26 0x6f1901 0x00 0x64 0x09 0x2f1902 0x00 0x64 0x0a 0x6f1903 0x00 0x64 0x13 0x2f1904 0x00 0x64 0x14 0x6f1905 0x00 0x64 0x25 0x2f1906 0x00 0x64 0x26 0x6f1907 0x00 0x64 0x47 0x6f1908 0x00 0x74 0x09 0x0f1909 0x00 0x74 0x0a 0x4f1910 0x00 0x74 0x13 0x0f1911 0x00 0x74 0x14 0x4f1912 0x00 0x74 0x25 0x0f1913 0x00 0x74 0x26 0x4f1914 0x00 0x74 0x47 0x4f1915 0x00 0x94 0x09 0x0f1916 0x00 0x94 0x0a 0x4f1917 0x00 0x94 0x13 0x0f1918 0x00 0x94 0x14 0x4f1919 0x00 0x94 0x25 0x0f1920 0x00 0x94 0x26 0x4f1921 0x00 0x84 0x09 0x2f1922 0x00 0x84 0x0a 0x6f1923 0x00 0x84 0x13 0x2f1924 0x00 0x84 0x14 0x6f1925 0x00 0x84 0x25 0x2f1926 0x00 0x84 0x26 0x6f1927 0x00 0x44 0x09 0x2f1928 0x00 0x44 0x0a 0x6f1929 0x00 0x44 0x13 0x2f1930 0x00 0x44 0x14 0x6f1931 0x00 0x44 0x25 0x2f1932 0x00 0x44 0x26 0x6f1933 0x00 0x44 0x47 0x6f1934 0x00 0x24 0x09 0x0f1935 0x00 0x24 0x0a 0x4f1936 0x00 0x24 0x13 0x0f1937 0x00 0x24 0x14 0x4f1938 0x00 0x24 0x25 0x0f1939 0x00 0x24 0x26 0x4f1940 0x00 0x24 0x47 0x4f1941 0x00 0x34 0x09 0x0f1942 0x00 0x34 0x0a 0x4f1943 0x00 0x34 0x13 0x0f1944 0x00 0x34 0x14 0x4f1945 0x00 0x34 0x25 0x0f1946 0x00 0x34 0x26 0x4f1947 0x00 0x34 0x47 0x4f1948 0x00 0xa4 0x09 0x0f1949 0x00 0xa4 0x0a 0x4f1950 0x00 0xa4 0x13 0x0f1951 0x00 0xa4 0x14 0x4f1952 0x00 0xa4 0x25 0x0f1953 0x00 0xa4 0x26 0x4f1954 0x00 0x04 0x09 0x0f1955 0x00 0x04 0x0a 0x4f1956 0x00 0x04 0x13 0x0f1957 0x00 0x04 0x14 0x4f1958 0x00 0x04 0x25 0x0f1959 0x00 0x04 0x26 0x4f1960 0x00 0x04 0x47 0x4f1961 0x00 0x04 0x09 0x0f1962 0x00 0x14 0x0a 0x4f1963 0x00 0x14 0x13 0x0f1964 0x00 0x14 0x14 0x4f1965 0x00 0x14 0x25 0x0f1966 0x00 0x14 0x26 0x4f1967 0x00 0x14 0x47 0x4f1968 0x00 0x14 0x40 0x5f1969 0x00 0xe4 0x21 0x2f1970 0x00 0xe4 0x22 0x6f1971 0x00 0xe4 0x43 0x6f1972 0x00 0x9c 0x09 0x2f1973 0x00 0x9c 0x0a 0x6f1974 0x00 0x9c 0x13 0x2f1975 0x00 0x9c 0x14 0x6f1976 0x00 0x9c 0x25 0x2f1977 0x00 0x9c 0x26 0x6f1978 0x00 0x74 0x09 0x2f1979 0x00 0x74 0x0a 0x6f1980 0x00 0x74 0x13 0x2f1981 0x00 0x74 0x14 0x6f1982 0x00 0x74 0x25 0x2f1983 0x00 0x74 0x26 0x6f1984 0x00 0x74 0x47 0x6f1985 0x00 0x94 0x09 0x2f1986 0x00 0x94 0x0a 0x6f1987 0x00 0x94 0x13 0x2f1988 0x00 0x94 0x14 0x6f1989 0x00 0x94 0x25 0x2f1990 0x00 0x94 0x26 0x6f1991 0x00 0x24 0x09 0x2f1992 0x00 0x24 0x0a 0x6f1993 0x00 0x24 0x13 0x2f1994 0x00 0x24 0x14 0x6f1995 0x00 0x24 0x25 0x2f1996 0x00 0x24 0x26 0x6f1997 0x00 0x24 0x47 0x6f1998 0x00 0x34 0x09 0x2f1999 0x00 0x34 0x0a 0x6f2000 0x00 0x34 0x13 0x2f2001 0x00 0x34 0x14 0x6f2002 0x00 0x34 0x25 0x2f2003 0x00 0x34 0x26 0x6f2004 0x00 0x34 0x47 0x6f2005 0x00 0xa4 0x09 0x2f2006 0x00 0xa4 0x0a 0x6f2007 0x00 0xa4 0x13 0x2f2008 0x00 0xa4 0x14 0x6f2009 0x00 0xa4 0x25 0x2f2010 0x00 0xa4 0x26 0x6f2011 0x00 0x04 0x09 0x2f2012 0x00 0x04 0x0a 0x6f2013 0x00 0x04 0x13 0x2f2014 0x00 0x04 0x14 0x6f2015 0x00 0x04 0x25 0x2f2016 0x00 0x04 0x26 0x6f2017 0x00 0x04 0x47 0x6f2018 0x00 0x14 0x09 0x2f2019 0x00 0x14 0x0a 0x6f2020 0x00 0x14 0x13 0x2f2021 0x00 0x14 0x14 0x6f2022 0x00 0x14 0x25 0x2f2023 0x00 0x14 0x26 0x6f2024 0x00 0x14 0x47 0x6f2025 2026# CHECK: fcvtzs.2s v0, v0, #0x1f2027# CHECK: fcvtzs.4s v0, v0, #0x1e2028# CHECK: fcvtzs.2d v0, v0, #0x3d2029# CHECK: fcvtzu.2s v0, v0, #0x1f2030# CHECK: fcvtzu.4s v0, v0, #0x1e2031# CHECK: fcvtzu.2d v0, v0, #0x3d2032# CHECK: rshrn.8b v0, v0, #0x72033# CHECK: rshrn2.16b v0, v0, #0x62034# CHECK: rshrn.4h v0, v0, #0xd2035# CHECK: rshrn2.8h v0, v0, #0xc2036# CHECK: rshrn.2s v0, v0, #0x1b2037# CHECK: rshrn2.4s v0, v0, #0x1a2038# CHECK: scvtf.2s v0, v0, #0x1f2039# CHECK: scvtf.4s v0, v0, #0x1e2040# CHECK: scvtf.2d v0, v0, #0x3d2041# CHECK: shl.8b v0, v0, #0x12042# CHECK: shl.16b v0, v0, #0x22043# CHECK: shl.4h v0, v0, #0x32044# CHECK: shl.8h v0, v0, #0x42045# CHECK: shl.2s v0, v0, #0x52046# CHECK: shl.4s v0, v0, #0x62047# CHECK: shl.2d v0, v0, #0x72048# CHECK: shrn.8b v0, v0, #0x72049# CHECK: shrn2.16b v0, v0, #0x62050# CHECK: shrn.4h v0, v0, #0xd2051# CHECK: shrn2.8h v0, v0, #0xc2052# CHECK: shrn.2s v0, v0, #0x1b2053# CHECK: shrn2.4s v0, v0, #0x1a2054# CHECK: sli.8b v0, v0, #0x12055# CHECK: sli.16b v0, v0, #0x22056# CHECK: sli.4h v0, v0, #0x32057# CHECK: sli.8h v0, v0, #0x42058# CHECK: sli.2s v0, v0, #0x52059# CHECK: sli.4s v0, v0, #0x62060# CHECK: sli.2d v0, v0, #0x72061# CHECK: sqrshrn.8b v0, v0, #0x72062# CHECK: sqrshrn2.16b v0, v0, #0x62063# CHECK: sqrshrn.4h v0, v0, #0xd2064# CHECK: sqrshrn2.8h v0, v0, #0xc2065# CHECK: sqrshrn.2s v0, v0, #0x1b2066# CHECK: sqrshrn2.4s v0, v0, #0x1a2067# CHECK: sqrshrun.8b v0, v0, #0x72068# CHECK: sqrshrun2.16b v0, v0, #0x62069# CHECK: sqrshrun.4h v0, v0, #0xd2070# CHECK: sqrshrun2.8h v0, v0, #0xc2071# CHECK: sqrshrun.2s v0, v0, #0x1b2072# CHECK: sqrshrun2.4s v0, v0, #0x1a2073# CHECK: sqshlu.8b v0, v0, #0x12074# CHECK: sqshlu.16b v0, v0, #0x22075# CHECK: sqshlu.4h v0, v0, #0x32076# CHECK: sqshlu.8h v0, v0, #0x42077# CHECK: sqshlu.2s v0, v0, #0x52078# CHECK: sqshlu.4s v0, v0, #0x62079# CHECK: sqshlu.2d v0, v0, #0x72080# CHECK: sqshl.8b v0, v0, #0x12081# CHECK: sqshl.16b v0, v0, #0x22082# CHECK: sqshl.4h v0, v0, #0x32083# CHECK: sqshl.8h v0, v0, #0x42084# CHECK: sqshl.2s v0, v0, #0x52085# CHECK: sqshl.4s v0, v0, #0x62086# CHECK: sqshl.2d v0, v0, #0x72087# CHECK: sqshrn.8b v0, v0, #0x72088# CHECK: sqshrn2.16b v0, v0, #0x62089# CHECK: sqshrn.4h v0, v0, #0xd2090# CHECK: sqshrn2.8h v0, v0, #0xc2091# CHECK: sqshrn.2s v0, v0, #0x1b2092# CHECK: sqshrn2.4s v0, v0, #0x1a2093# CHECK: sqshrun.8b v0, v0, #0x72094# CHECK: sqshrun2.16b v0, v0, #0x62095# CHECK: sqshrun.4h v0, v0, #0xd2096# CHECK: sqshrun2.8h v0, v0, #0xc2097# CHECK: sqshrun.2s v0, v0, #0x1b2098# CHECK: sqshrun2.4s v0, v0, #0x1a2099# CHECK: sri.8b v0, v0, #0x72100# CHECK: sri.16b v0, v0, #0x62101# CHECK: sri.4h v0, v0, #0xd2102# CHECK: sri.8h v0, v0, #0xc2103# CHECK: sri.2s v0, v0, #0x1b2104# CHECK: sri.4s v0, v0, #0x1a2105# CHECK: sri.2d v0, v0, #0x392106# CHECK: srshr.8b v0, v0, #0x72107# CHECK: srshr.16b v0, v0, #0x62108# CHECK: srshr.4h v0, v0, #0xd2109# CHECK: srshr.8h v0, v0, #0xc2110# CHECK: srshr.2s v0, v0, #0x1b2111# CHECK: srshr.4s v0, v0, #0x1a2112# CHECK: srshr.2d v0, v0, #0x392113# CHECK: srsra.8b v0, v0, #0x72114# CHECK: srsra.16b v0, v0, #0x62115# CHECK: srsra.4h v0, v0, #0xd2116# CHECK: srsra.8h v0, v0, #0xc2117# CHECK: srsra.2s v0, v0, #0x1b2118# CHECK: srsra.4s v0, v0, #0x1a2119# CHECK: srsra.2d v0, v0, #0x392120# CHECK: sshll.8h v0, v0, #0x12121# CHECK: sshll2.8h v0, v0, #0x22122# CHECK: sshll.4s v0, v0, #0x32123# CHECK: sshll2.4s v0, v0, #0x42124# CHECK: sshll.2d v0, v0, #0x52125# CHECK: sshll2.2d v0, v0, #0x62126# CHECK: sshr.8b v0, v0, #0x72127# CHECK: sshr.16b v0, v0, #0x62128# CHECK: sshr.4h v0, v0, #0xd2129# CHECK: sshr.8h v0, v0, #0xc2130# CHECK: sshr.2s v0, v0, #0x1b2131# CHECK: sshr.4s v0, v0, #0x1a2132# CHECK: sshr.2d v0, v0, #0x392133# CHECK: sshr.8b v0, v0, #0x72134# CHECK: ssra.16b v0, v0, #0x62135# CHECK: ssra.4h v0, v0, #0xd2136# CHECK: ssra.8h v0, v0, #0xc2137# CHECK: ssra.2s v0, v0, #0x1b2138# CHECK: ssra.4s v0, v0, #0x1a2139# CHECK: ssra.2d v0, v0, #0x392140# CHECK: ssra d0, d0, #0x402141# CHECK: ucvtf.2s v0, v0, #0x1f2142# CHECK: ucvtf.4s v0, v0, #0x1e2143# CHECK: ucvtf.2d v0, v0, #0x3d2144# CHECK: uqrshrn.8b v0, v0, #0x72145# CHECK: uqrshrn2.16b v0, v0, #0x62146# CHECK: uqrshrn.4h v0, v0, #0xd2147# CHECK: uqrshrn2.8h v0, v0, #0xc2148# CHECK: uqrshrn.2s v0, v0, #0x1b2149# CHECK: uqrshrn2.4s v0, v0, #0x1a2150# CHECK: uqshl.8b v0, v0, #0x12151# CHECK: uqshl.16b v0, v0, #0x22152# CHECK: uqshl.4h v0, v0, #0x32153# CHECK: uqshl.8h v0, v0, #0x42154# CHECK: uqshl.2s v0, v0, #0x52155# CHECK: uqshl.4s v0, v0, #0x62156# CHECK: uqshl.2d v0, v0, #0x72157# CHECK: uqshrn.8b v0, v0, #0x72158# CHECK: uqshrn2.16b v0, v0, #0x62159# CHECK: uqshrn.4h v0, v0, #0xd2160# CHECK: uqshrn2.8h v0, v0, #0xc2161# CHECK: uqshrn.2s v0, v0, #0x1b2162# CHECK: uqshrn2.4s v0, v0, #0x1a2163# CHECK: urshr.8b v0, v0, #0x72164# CHECK: urshr.16b v0, v0, #0x62165# CHECK: urshr.4h v0, v0, #0xd2166# CHECK: urshr.8h v0, v0, #0xc2167# CHECK: urshr.2s v0, v0, #0x1b2168# CHECK: urshr.4s v0, v0, #0x1a2169# CHECK: urshr.2d v0, v0, #0x392170# CHECK: ursra.8b v0, v0, #0x72171# CHECK: ursra.16b v0, v0, #0x62172# CHECK: ursra.4h v0, v0, #0xd2173# CHECK: ursra.8h v0, v0, #0xc2174# CHECK: ursra.2s v0, v0, #0x1b2175# CHECK: ursra.4s v0, v0, #0x1a2176# CHECK: ursra.2d v0, v0, #0x392177# CHECK: ushll.8h v0, v0, #0x12178# CHECK: ushll2.8h v0, v0, #0x22179# CHECK: ushll.4s v0, v0, #0x32180# CHECK: ushll2.4s v0, v0, #0x42181# CHECK: ushll.2d v0, v0, #0x52182# CHECK: ushll2.2d v0, v0, #0x62183# CHECK: ushr.8b v0, v0, #0x72184# CHECK: ushr.16b v0, v0, #0x62185# CHECK: ushr.4h v0, v0, #0xd2186# CHECK: ushr.8h v0, v0, #0xc2187# CHECK: ushr.2s v0, v0, #0x1b2188# CHECK: ushr.4s v0, v0, #0x1a2189# CHECK: ushr.2d v0, v0, #0x392190# CHECK: usra.8b v0, v0, #0x72191# CHECK: usra.16b v0, v0, #0x62192# CHECK: usra.4h v0, v0, #0xd2193# CHECK: usra.8h v0, v0, #0xc2194# CHECK: usra.2s v0, v0, #0x1b2195# CHECK: usra.4s v0, v0, #0x1a2196# CHECK: usra.2d v0, v0, #0x392197 2198 2199 0x00 0xe0 0x20 0x0e2200 0x00 0xe0 0x20 0x4e2201 0x00 0xe0 0xe0 0x0e2202 0x00 0xe0 0xe0 0x4e2203 2204# CHECK: pmull.8h v0, v0, v02205# CHECK: pmull2.8h v0, v0, v02206# CHECK: pmull.1q v0, v0, v02207# CHECK: pmull2.1q v0, v0, v02208 2209 0x41 0xd8 0x70 0x7e2210 0x83 0xd8 0x30 0x7e2211# CHECK: faddp.2d d1, v22212# CHECK: faddp.2s s3, v42213 2214 0x82 0x60 0x01 0x4e2215 0x80 0x60 0x01 0x0e2216 0xa2 0x00 0x01 0x4e2217 0xa0 0x00 0x01 0x0e2218 0xa2 0x40 0x01 0x4e2219 0xa0 0x40 0x01 0x0e2220 0xc2 0x20 0x01 0x4e2221 0xc0 0x20 0x01 0x0e2222 2223# CHECK: tbl.16b v2, { v4, v5, v6, v7 }, v12224# CHECK: tbl.8b v0, { v4, v5, v6, v7 }, v12225# CHECK: tbl.16b v2, { v5 }, v12226# CHECK: tbl.8b v0, { v5 }, v12227# CHECK: tbl.16b v2, { v5, v6, v7 }, v12228# CHECK: tbl.8b v0, { v5, v6, v7 }, v12229# CHECK: tbl.16b v2, { v6, v7 }, v12230# CHECK: tbl.8b v0, { v6, v7 }, v12231#2232 0x82 0x70 0x01 0x4e2233 0x80 0x70 0x01 0x0e2234 0xa2 0x10 0x01 0x4e2235 0xa0 0x10 0x01 0x0e2236 0xa2 0x50 0x01 0x4e2237 0xa0 0x50 0x01 0x0e2238 0xc2 0x30 0x01 0x4e2239 0xc0 0x30 0x01 0x0e2240 2241# CHECK: tbx.16b v2, { v4, v5, v6, v7 }, v12242# CHECK: tbx.8b v0, { v4, v5, v6, v7 }, v12243# CHECK: tbx.16b v2, { v5 }, v12244# CHECK: tbx.8b v0, { v5 }, v12245# CHECK: tbx.16b v2, { v5, v6, v7 }, v12246# CHECK: tbx.8b v0, { v5, v6, v7 }, v12247# CHECK: tbx.16b v2, { v6, v7 }, v12248# CHECK: tbx.8b v0, { v6, v7 }, v12249#2250 22510x00 0x80 0x20 0x0e22520x00 0x80 0x20 0x4e22530x00 0x80 0xa0 0x0e22540x00 0x80 0xa0 0x4e2255 2256# CHECK: smlal.8h v0, v0, v02257# CHECK: smlal2.8h v0, v0, v02258# CHECK: smlal.2d v0, v0, v02259# CHECK: smlal2.2d v0, v0, v02260 22610x00 0x80 0x20 0x2e22620x00 0x80 0x20 0x6e22630x00 0x80 0xa0 0x2e22640x00 0x80 0xa0 0x6e2265 2266# CHECK: umlal.8h v0, v0, v02267# CHECK: umlal2.8h v0, v0, v02268# CHECK: umlal.2d v0, v0, v02269# CHECK: umlal2.2d v0, v0, v02270 22710x00 0x90 0x60 0x5e22720x00 0x90 0xa0 0x5e22730x00 0xb0 0x60 0x5e22740x00 0xb0 0xa0 0x5e2275 2276# CHECK: sqdmlal s0, h0, h02277# CHECK: sqdmlal d0, s0, s02278# CHECK: sqdmlsl s0, h0, h02279# CHECK: sqdmlsl d0, s0, s02280 22810xaa 0xc5 0xc7 0x4d22820xaa 0xc9 0xc7 0x4d22830xaa 0xc1 0xc7 0x4d2284 2285# CHECK: ld1r.8h { v10 }, [x13], x72286# CHECK: ld1r.4s { v10 }, [x13], x72287# CHECK: ld1r.16b { v10 }, [x13], x72288 22890x00 0xd0 0x60 0x5e22900x00 0xd0 0xa0 0x5e2291# CHECK: sqdmull s0, h0, h02292# CHECK: sqdmull d0, s0, s02293 22940x00 0xd8 0xa1 0x7e22950x00 0xd8 0xe1 0x7e2296 2297# CHECK: frsqrte s0, s02298# CHECK: frsqrte d0, d02299 23000xca 0xcd 0xc7 0x4d23010xea 0xc9 0xe7 0x4d23020xea 0xe9 0xc7 0x4d23030xea 0xe9 0xe7 0x4d2304# CHECK: ld1r.2d { v10 }, [x14], x72305# CHECK: ld2r.4s { v10, v11 }, [x15], x72306# CHECK: ld3r.4s { v10, v11, v12 }, [x15], x72307# CHECK: ld4r.4s { v10, v11, v12, v13 }, [x15], x72308 2309#===-------------------------------------------------------------------------===2310# AdvSIMD scalar three same2311#===-------------------------------------------------------------------------===23120x62 0xdc 0x21 0x5e2313# CHECK: fmulx s2, s3, s123140x62 0xdc 0x61 0x5e2315# CHECK: fmulx d2, d3, d12316 2317 2318# rdar://1251136923190xe8 0x6b 0xdf 0x4c2320# CHECK: ld1.4s { v8, v9, v10 }, [sp], #482321