Lines Matching refs:zd
3242 void MASM(const ZRegister& zd, \
3247 if (zd.Aliases(zn)) { \
3249 ASM(zd, pg, zd, zm); \
3250 } else if (zd.Aliases(zm)) { \
3252 ASM(zd, pg, zd, zn); \
3254 MovprfxHelperScope guard(this, zd, pg, zn); \
3255 ASM(zd, pg, zd, zm); \
3649 void Abs(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
3652 abs(zd, pg, zn);
3654 void Add(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
3657 add(zd, zn, zm);
3659 void Add(const ZRegister& zd, const ZRegister& zn, IntegerOperand imm) {
3661 AddSubHelper(kAddImmediate, zd, zn, imm);
3666 void Adr(const ZRegister& zd, const SVEMemOperand& addr) {
3669 adr(zd, addr);
3679 void And(const ZRegister& zd, const ZRegister& zn, uint64_t imm) {
3682 if (IsImmLogical(imm, zd.GetLaneSizeInBits())) {
3683 and_(zd, zn, imm);
3689 void And(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
3691 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
3693 and_(zd.VnD(), zn.VnD(), zm.VnD());
3708 void Asr(const ZRegister& zd,
3713 MovprfxHelperScope guard(this, zd, pg, zn);
3714 asr(zd, pg, zd, shift);
3716 void Asr(const ZRegister& zd,
3720 void Asr(const ZRegister& zd, const ZRegister& zn, int shift) {
3723 asr(zd, zn, shift);
3725 void Asr(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
3728 asr(zd, zn, zm);
3730 void Asrd(const ZRegister& zd,
3735 MovprfxHelperScope guard(this, zd, pg, zn);
3736 asrd(zd, pg, zd, shift);
3738 void Bic(const ZRegister& zd,
3750 void Bic(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
3752 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
3754 bic(zd.VnD(), zn.VnD(), zm.VnD());
3756 void Bic(const ZRegister& zd, const ZRegister& zn, uint64_t imm) {
3759 if (IsImmLogical(imm, zd.GetLaneSizeInBits())) {
3760 bic(zd, zn, imm);
3872 void Clasta(const ZRegister& zd,
3892 void Clastb(const ZRegister& zd,
3896 void Cls(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
3899 cls(zd, pg, zn);
3901 void Clz(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
3904 clz(zd, pg, zn);
4109 void Cnot(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4112 cnot(zd, pg, zn);
4114 void Cnt(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4117 cnt(zd, pg, zn);
4149 void Compact(const ZRegister& zd, const PRegister& pg, const ZRegister& zn) {
4152 compact(zd, pg, zn);
4154 void Cpy(const ZRegister& zd, const PRegister& pg, IntegerOperand imm);
4155 void Cpy(const ZRegister& zd, const PRegisterM& pg, const Register& rn) {
4158 cpy(zd, pg, rn);
4160 void Cpy(const ZRegister& zd, const PRegisterM& pg, const VRegister& vn) {
4163 cpy(zd, pg, vn);
4205 void Decp(const ZRegister& zd, const PRegister& pg, const ZRegister& zn) {
4207 VIXL_ASSERT(AreSameFormat(zd, zn));
4209 MovprfxHelperScope guard(this, zd, zn);
4210 decp(zd, pg);
4223 void Dup(const ZRegister& zd, const Register& xn) {
4226 dup(zd, xn);
4228 void Dup(const ZRegister& zd, const ZRegister& zn, int index) {
4231 dup(zd, zn, index);
4233 void Dup(const ZRegister& zd, IntegerOperand imm);
4234 void Eon(const ZRegister& zd, const ZRegister& zn, uint64_t imm) {
4237 if (IsImmLogical(imm, zd.GetLaneSizeInBits())) {
4238 eon(zd, zn, imm);
4252 void Eor(const ZRegister& zd, const ZRegister& zn, uint64_t imm) {
4255 if (IsImmLogical(imm, zd.GetLaneSizeInBits())) {
4256 eor(zd, zn, imm);
4262 void Eor(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
4264 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
4266 eor(zd.VnD(), zn.VnD(), zm.VnD());
4281 void Ext(const ZRegister& zd,
4287 ext(zd, zn, zm, offset);
4289 void Fabd(const ZRegister& zd,
4294 void Fabs(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4297 fabs(zd, pg, zn);
4331 void Fadd(const ZRegister& zd,
4336 MovprfxHelperScope guard(this, zd, pg, zn);
4337 fadd(zd, pg, zd, imm);
4339 void Fadd(const ZRegister& zd,
4344 void Fadd(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
4347 fadd(zd, zn, zm);
4362 void Fcadd(const ZRegister& zd,
4430 void Fcmla(const ZRegister& zd,
4516 void Fcpy(const ZRegister& zd, const PRegisterM& pg, double imm);
4517 void Fcpy(const ZRegister& zd, const PRegisterM& pg, float imm);
4518 void Fcpy(const ZRegister& zd, const PRegisterM& pg, Float16 imm);
4519 void Fcvt(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4522 fcvt(zd, pg, zn);
4524 void Fcvt(const ZRegister& zd, const PRegisterZ& pg, const ZRegister& zn) {
4528 int lane_size = std::max(zd.GetLaneSizeInBits(), zn.GetLaneSizeInBits());
4530 zd.WithLaneSize(lane_size),
4533 fcvt(zd, pg.Merging(), zn);
4535 void Fcvtzs(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4538 fcvtzs(zd, pg, zn);
4540 void Fcvtzu(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4543 fcvtzu(zd, pg, zn);
4545 void Fdiv(const ZRegister& zd,
4549 void Fdup(const ZRegister& zd, double imm);
4550 void Fdup(const ZRegister& zd, float imm);
4551 void Fdup(const ZRegister& zd, Float16 imm);
4552 void Fexpa(const ZRegister& zd, const ZRegister& zn) {
4555 fexpa(zd, zn);
4565 void Fmax(const ZRegister& zd,
4570 MovprfxHelperScope guard(this, zd, pg, zn);
4571 fmax(zd, pg, zd, imm);
4574 const ZRegister& zd,
4579 void Fmaxnm(const ZRegister& zd,
4584 MovprfxHelperScope guard(this, zd, pg, zn);
4585 fmaxnm(zd, pg, zd, imm);
4587 void Fmaxnm(const ZRegister& zd,
4602 void Fmin(const ZRegister& zd,
4607 MovprfxHelperScope guard(this, zd, pg, zn);
4608 fmin(zd, pg, zd, imm);
4611 const ZRegister& zd,
4616 void Fminnm(const ZRegister& zd,
4621 MovprfxHelperScope guard(this, zd, pg, zn);
4622 fminnm(zd, pg, zd, imm);
4624 void Fminnm(const ZRegister& zd,
4639 // zd = za + (zn * zm)
4641 const ZRegister& zd,
4647 void Fmla(const ZRegister& zd,
4652 // zd = za - (zn * zm)
4654 const ZRegister& zd,
4660 void Fmls(const ZRegister& zd,
4665 void Fmov(const ZRegister& zd, double imm) {
4667 Fdup(zd, imm);
4669 void Fmov(const ZRegister& zd, float imm) {
4671 Fdup(zd, imm);
4673 void Fmov(const ZRegister& zd, Float16 imm) {
4675 Fdup(zd, imm);
4677 void Fmov(const ZRegister& zd, const PRegisterM& pg, double imm) {
4679 Fcpy(zd, pg, imm);
4681 void Fmov(const ZRegister& zd, const PRegisterM& pg, float imm) {
4683 Fcpy(zd, pg, imm);
4685 void Fmov(const ZRegister& zd, const PRegisterM& pg, Float16 imm) {
4687 Fcpy(zd, pg, imm);
4697 void Fmul(const ZRegister& zd,
4702 MovprfxHelperScope guard(this, zd, pg, zn);
4703 fmul(zd, pg, zd, imm);
4705 void Fmul(const ZRegister& zd,
4710 void Fmul(const ZRegister& zd,
4716 fmul(zd, zn, zm, index);
4718 void Fmul(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
4721 fmul(zd, zn, zm);
4723 void Fmulx(const ZRegister& zd,
4728 void Fneg(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4731 fneg(zd, pg, zn);
4741 const ZRegister& zd,
4747 void Frecpe(const ZRegister& zd, const ZRegister& zn) {
4750 frecpe(zd, zn);
4752 void Frecps(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
4755 frecps(zd, zn, zm);
4757 void Frecpx(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4760 frecpx(zd, pg, zn);
4762 void Frecpx(const ZRegister& zd, const PRegisterZ& pg, const ZRegister& zn) {
4764 MovprfxHelperScope guard(this, zd, pg, zn);
4765 frecpx(zd, pg.Merging(), zn);
4767 void Frinta(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4770 frinta(zd, pg, zn);
4772 void Frinta(const ZRegister& zd, const PRegisterZ& pg, const ZRegister& zn) {
4774 MovprfxHelperScope guard(this, zd, pg, zn);
4775 frinta(zd, pg.Merging(), zn);
4777 void Frinti(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4780 frinti(zd, pg, zn);
4782 void Frinti(const ZRegister& zd, const PRegisterZ& pg, const ZRegister& zn) {
4784 MovprfxHelperScope guard(this, zd, pg, zn);
4785 frinti(zd, pg.Merging(), zn);
4787 void Frintm(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4790 frintm(zd, pg, zn);
4792 void Frintm(const ZRegister& zd, const PRegisterZ& pg, const ZRegister& zn) {
4794 MovprfxHelperScope guard(this, zd, pg, zn);
4795 frintm(zd, pg.Merging(), zn);
4797 void Frintn(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4800 frintn(zd, pg, zn);
4802 void Frintn(const ZRegister& zd, const PRegisterZ& pg, const ZRegister& zn) {
4804 MovprfxHelperScope guard(this, zd, pg, zn);
4805 frintn(zd, pg.Merging(), zn);
4807 void Frintp(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4810 frintp(zd, pg, zn);
4812 void Frintp(const ZRegister& zd, const PRegisterZ& pg, const ZRegister& zn) {
4814 MovprfxHelperScope guard(this, zd, pg, zn);
4815 frintp(zd, pg.Merging(), zn);
4817 void Frintx(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4820 frintx(zd, pg, zn);
4822 void Frintx(const ZRegister& zd, const PRegisterZ& pg, const ZRegister& zn) {
4824 MovprfxHelperScope guard(this, zd, pg, zn);
4825 frintx(zd, pg.Merging(), zn);
4827 void Frintz(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4830 frintz(zd, pg, zn);
4832 void Frintz(const ZRegister& zd, const PRegisterZ& pg, const ZRegister& zn) {
4834 MovprfxHelperScope guard(this, zd, pg, zn);
4835 frintz(zd, pg.Merging(), zn);
4837 void Frsqrte(const ZRegister& zd, const ZRegister& zn) {
4840 frsqrte(zd, zn);
4842 void Frsqrts(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
4845 frsqrts(zd, zn, zm);
4847 void Fscale(const ZRegister& zd,
4851 void Fsqrt(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
4854 fsqrt(zd, pg, zn);
4856 void Fsqrt(const ZRegister& zd, const PRegisterZ& pg, const ZRegister& zn) {
4858 MovprfxHelperScope guard(this, zd, pg, zn);
4859 fsqrt(zd, pg.Merging(), zn);
4861 void Fsub(const ZRegister& zd,
4866 MovprfxHelperScope guard(this, zd, pg, zn);
4867 fsub(zd, pg, zd, imm);
4869 void Fsub(const ZRegister& zd,
4874 MovprfxHelperScope guard(this, zd, pg, zn);
4875 fsubr(zd, pg, zd, imm);
4877 void Fsub(const ZRegister& zd,
4881 void Fsub(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
4884 fsub(zd, zn, zm);
4886 void Ftmad(const ZRegister& zd,
4890 void Ftsmul(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
4893 ftsmul(zd, zn, zm);
4895 void Ftssel(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
4898 ftssel(zd, zn, zm);
4930 void Incp(const ZRegister& zd, const PRegister& pg, const ZRegister& zn) {
4932 VIXL_ASSERT(AreSameFormat(zd, zn));
4934 MovprfxHelperScope guard(this, zd, zn);
4935 incp(zd, pg);
4948 void Index(const ZRegister& zd, const Operand& start, const Operand& step);
5401 void Lsl(const ZRegister& zd,
5406 MovprfxHelperScope guard(this, zd, pg, zn);
5407 lsl(zd, pg, zd, shift);
5409 void Lsl(const ZRegister& zd,
5413 void Lsl(const ZRegister& zd, const ZRegister& zn, int shift) {
5416 lsl(zd, zn, shift);
5418 void Lsl(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
5421 lsl(zd, zn, zm);
5423 void Lsr(const ZRegister& zd,
5428 MovprfxHelperScope guard(this, zd, pg, zn);
5429 lsr(zd, pg, zd, shift);
5431 void Lsr(const ZRegister& zd,
5435 void Lsr(const ZRegister& zd, const ZRegister& zn, int shift) {
5438 lsr(zd, zn, shift);
5440 void Lsr(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
5443 lsr(zd, zn, zm);
5464 void Mov(const ZRegister& zd, const Register& xn) {
5467 mov(zd, xn);
5470 void Mov(const ZRegister& zd, const VRegister& vn) {
5473 mov(zd, vn);
5476 void Mov(const ZRegister& zd, const ZRegister& zn) {
5479 mov(zd, zn);
5481 void Mov(const ZRegister& zd, const ZRegister& zn, unsigned index) {
5484 mov(zd, zn, index);
5486 void Mov(const ZRegister& zd, const PRegister& pg, IntegerOperand imm) {
5488 Cpy(zd, pg, imm);
5491 void Mov(const ZRegister& zd, const PRegisterM& pg, const Register& rn) {
5494 mov(zd, pg, rn);
5496 void Mov(const ZRegister& zd, const PRegisterM& pg, const VRegister& vn) {
5499 mov(zd, pg, vn);
5501 void Mov(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
5504 mov(zd, pg, zn);
5506 void Mov(const ZRegister& zd, IntegerOperand imm) {
5508 Dup(zd, imm);
5522 // zd = za + (zn * zm)
5523 void Mla(const ZRegister& zd,
5528 // zd = za - (zn * zm)
5529 void Mls(const ZRegister& zd,
5534 void Mul(const ZRegister& zd, const ZRegister& zn, IntegerOperand imm);
5553 void Neg(const ZRegister& zd, const ZRegister& zn) {
5555 MovprfxHelperScope guard(this, zd, zn);
5556 subr(zd, zd, 0);
5558 void Neg(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
5561 neg(zd, pg, zn);
5586 void Not(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
5589 not_(zd, pg, zn);
5606 void Orn(const ZRegister& zd, const ZRegister& zn, uint64_t imm) {
5609 if (IsImmLogical(imm, zd.GetLaneSizeInBits())) {
5610 orn(zd, zn, imm);
5632 void Orr(const ZRegister& zd, const ZRegister& zn, uint64_t imm) {
5635 if (IsImmLogical(imm, zd.GetLaneSizeInBits())) {
5636 orr(zd, zn, imm);
5642 void Orr(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
5644 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
5646 orr(zd.VnD(), zn.VnD(), zm.VnD());
5735 void Rbit(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
5738 rbit(zd, pg, zn);
5775 void Rev(const ZRegister& zd, const ZRegister& zn) {
5778 rev(zd, zn);
5780 void Revb(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
5783 revb(zd, pg, zn);
5785 void Revh(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
5788 revh(zd, pg, zn);
5790 void Revw(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
5793 revw(zd, pg, zn);
5800 void Scvtf(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
5803 scvtf(zd, pg, zn);
5805 void Sdiv(const ZRegister& zd,
5809 void Sdot(const ZRegister& zd,
5813 void Sdot(const ZRegister& zd,
5826 void Sel(const ZRegister& zd,
5832 sel(zd, pg, zn, zm);
5839 void Smax(const ZRegister& zd, const ZRegister& zn, IntegerOperand imm);
5845 void Smin(const ZRegister& zd, const ZRegister& zn, IntegerOperand imm);
5851 void Splice(const ZRegister& zd,
5855 void Sqadd(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
5858 sqadd(zd, zn, zm);
5860 void Sqadd(const ZRegister& zd, const ZRegister& zn, IntegerOperand imm) {
5864 MovprfxHelperScope guard(this, zd, zn);
5865 sqadd(zd, zd, imm.AsUint16());
5928 void Sqdecp(const ZRegister& zd, const PRegister& pg, const ZRegister& zn) {
5930 VIXL_ASSERT(AreSameFormat(zd, zn));
5932 MovprfxHelperScope guard(this, zd, zn);
5933 sqdecp(zd, pg);
6017 void Sqincp(const ZRegister& zd, const PRegister& pg, const ZRegister& zn) {
6019 VIXL_ASSERT(AreSameFormat(zd, zn));
6021 MovprfxHelperScope guard(this, zd, zn);
6022 sqincp(zd, pg);
6045 void Sqsub(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6048 sqsub(zd, zn, zm);
6050 void Sqsub(const ZRegister& zd, const ZRegister& zn, IntegerOperand imm) {
6054 MovprfxHelperScope guard(this, zd, zn);
6055 sqsub(zd, zd, imm.AsUint16());
6193 void Sub(const ZRegister& zd,
6197 void Sub(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6200 sub(zd, zn, zm);
6202 void Sub(const ZRegister& zd, const ZRegister& zn, IntegerOperand imm) {
6204 AddSubHelper(kSubImmediate, zd, zn, imm);
6206 void Sub(const ZRegister& zd, IntegerOperand imm, const ZRegister& zm);
6207 void Sunpkhi(const ZRegister& zd, const ZRegister& zn) {
6210 sunpkhi(zd, zn);
6212 void Sunpklo(const ZRegister& zd, const ZRegister& zn) {
6215 sunpklo(zd, zn);
6217 void Sxtb(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
6220 sxtb(zd, pg, zn);
6222 void Sxth(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
6225 sxth(zd, pg, zn);
6227 void Sxtw(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
6230 sxtw(zd, pg, zn);
6232 void Tbl(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6235 tbl(zd, zn, zm);
6244 void Trn1(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6247 trn1(zd, zn, zm);
6256 void Trn2(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6259 trn2(zd, zn, zm);
6266 void Ucvtf(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
6269 ucvtf(zd, pg, zn);
6271 void Udiv(const ZRegister& zd,
6275 void Udot(const ZRegister& zd,
6279 void Udot(const ZRegister& zd,
6284 void Umax(const ZRegister& zd, const ZRegister& zn, IntegerOperand imm);
6290 void Umin(const ZRegister& zd, const ZRegister& zn, IntegerOperand imm);
6296 void Uqadd(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6299 uqadd(zd, zn, zm);
6301 void Uqadd(const ZRegister& zd, const ZRegister& zn, IntegerOperand imm) {
6305 MovprfxHelperScope guard(this, zd, zn);
6306 uqadd(zd, zd, imm.AsUint16());
6352 void Uqdecp(const ZRegister& zd, const PRegister& pg, const ZRegister& zn) {
6354 VIXL_ASSERT(AreSameFormat(zd, zn));
6356 MovprfxHelperScope guard(this, zd, zn);
6357 uqdecp(zd, pg);
6416 void Uqincp(const ZRegister& zd, const PRegister& pg, const ZRegister& zn) {
6418 VIXL_ASSERT(AreSameFormat(zd, zn));
6420 MovprfxHelperScope guard(this, zd, zn);
6421 uqincp(zd, pg);
6436 void Uqsub(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6439 uqsub(zd, zn, zm);
6441 void Uqsub(const ZRegister& zd, const ZRegister& zn, IntegerOperand imm) {
6445 MovprfxHelperScope guard(this, zd, zn);
6446 uqsub(zd, zd, imm.AsUint16());
6448 void Uunpkhi(const ZRegister& zd, const ZRegister& zn) {
6451 uunpkhi(zd, zn);
6453 void Uunpklo(const ZRegister& zd, const ZRegister& zn) {
6456 uunpklo(zd, zn);
6458 void Uxtb(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
6461 uxtb(zd, pg, zn);
6463 void Uxth(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
6466 uxth(zd, pg, zn);
6468 void Uxtw(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
6471 uxtw(zd, pg, zn);
6480 void Uzp1(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6483 uzp1(zd, zn, zm);
6492 void Uzp2(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6495 uzp2(zd, zn, zm);
6542 void Zip1(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6545 zip1(zd, zn, zm);
6554 void Zip2(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6557 zip2(zd, zn, zm);
6561 void Adclb(const ZRegister& zd,
6565 void Adclt(const ZRegister& zd,
6569 void Addhnb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6572 addhnb(zd, zn, zm);
6574 void Addhnt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6577 addhnt(zd, zn, zm);
6579 void Addp(const ZRegister& zd,
6583 void Bcax(const ZRegister& zd,
6587 void Bdep(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6590 bdep(zd, zn, zm);
6592 void Bext(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6595 bext(zd, zn, zm);
6597 void Bgrp(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6600 bgrp(zd, zn, zm);
6602 void Bsl(const ZRegister& zd,
6606 void Bsl1n(const ZRegister& zd,
6610 void Bsl2n(const ZRegister& zd,
6614 void Cadd(const ZRegister& zd,
6618 void Cdot(const ZRegister& zd,
6624 void Cdot(const ZRegister& zd,
6629 void Cmla(const ZRegister& zd,
6635 void Cmla(const ZRegister& zd,
6640 void Eor3(const ZRegister& zd,
6644 void Eorbt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6647 eorbt(zd, zn, zm);
6649 void Eortb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6652 eortb(zd, zn, zm);
6654 void Faddp(const ZRegister& zd,
6658 void Fcvtlt(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
6661 fcvtlt(zd, pg, zn);
6663 void Fcvtnt(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
6666 fcvtnt(zd, pg, zn);
6668 void Fcvtx(const ZRegister& zd, const PRegister& pg, const ZRegister& zn) {
6671 MovprfxHelperScope guard(this, zd.VnD(), pg, zd.VnD());
6672 fcvtx(zd, pg.Merging(), zn);
6674 void Fcvtxnt(const ZRegister& zd, const PRegisterM& pg, const ZRegister& zn) {
6677 fcvtxnt(zd, pg, zn);
6679 void Flogb(const ZRegister& zd, const PRegister& pg, const ZRegister& zn) {
6681 MovprfxHelperScope guard(this, zd, pg, zd);
6682 flogb(zd, pg.Merging(), zn);
6684 void Fmaxnmp(const ZRegister& zd,
6688 void Fmaxp(const ZRegister& zd,
6692 void Fminnmp(const ZRegister& zd,
6696 void Fminp(const ZRegister& zd,
6700 void Fmlalb(const ZRegister& zd,
6704 void Fmlalt(const ZRegister& zd,
6708 void Fmlslb(const ZRegister& zd,
6712 void Fmlslt(const ZRegister& zd,
6716 void Fmlalb(const ZRegister& zd,
6721 void Fmlalt(const ZRegister& zd,
6726 void Fmlslb(const ZRegister& zd,
6731 void Fmlslt(const ZRegister& zd,
6736 void Histcnt(const ZRegister& zd,
6742 histcnt(zd, pg, zn, zm);
6744 void Histseg(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6747 histseg(zd, zn, zm);
6778 void Mla(const ZRegister& zd,
6783 void Mls(const ZRegister& zd,
6788 void Mul(const ZRegister& zd,
6794 mul(zd, zn, zm, index);
6796 void Mul(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6799 mul(zd, zn, zm);
6801 void Nbsl(const ZRegister& zd,
6813 void Pmul(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6816 pmul(zd, zn, zm);
6818 void Pmullb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6821 pmullb(zd, zn, zm);
6823 void Pmullt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6826 pmullt(zd, zn, zm);
6828 void Raddhnb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6831 raddhnb(zd, zn, zm);
6833 void Raddhnt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6836 raddhnt(zd, zn, zm);
6838 void Rshrnb(const ZRegister& zd, const ZRegister& zn, int shift) {
6841 rshrnb(zd, zn, shift);
6843 void Rshrnt(const ZRegister& zd, const ZRegister& zn, int shift) {
6846 rshrnt(zd, zn, shift);
6848 void Rsubhnb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6851 rsubhnb(zd, zn, zm);
6853 void Rsubhnt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6856 rsubhnt(zd, zn, zm);
6858 void Saba(const ZRegister& zd,
6862 void Sabalb(const ZRegister& zd,
6866 void Sabalt(const ZRegister& zd,
6870 void Sabdlb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6873 sabdlb(zd, zn, zm);
6875 void Sabdlt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6878 sabdlt(zd, zn, zm);
6885 void Saddlb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6888 saddlb(zd, zn, zm);
6890 void Saddlbt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6893 saddlbt(zd, zn, zm);
6895 void Saddlt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6898 saddlt(zd, zn, zm);
6900 void Saddwb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6903 saddwb(zd, zn, zm);
6905 void Saddwt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6908 saddwt(zd, zn, zm);
6910 void Sbclb(const ZRegister& zd,
6914 void Sbclt(const ZRegister& zd,
6918 void Shrnb(const ZRegister& zd, const ZRegister& zn, int shift) {
6921 shrnb(zd, zn, shift);
6923 void Shrnt(const ZRegister& zd, const ZRegister& zn, int shift) {
6926 shrnt(zd, zn, shift);
6928 void Shsub(const ZRegister& zd,
6932 void Sli(const ZRegister& zd, const ZRegister& zn, int shift) {
6935 sli(zd, zn, shift);
6937 void Smaxp(const ZRegister& zd,
6941 void Sminp(const ZRegister& zd,
6945 void Smlalb(const ZRegister& zd,
6950 void Smlalb(const ZRegister& zd,
6954 void Smlalt(const ZRegister& zd,
6959 void Smlalt(const ZRegister& zd,
6963 void Smlslb(const ZRegister& zd,
6968 void Smlslb(const ZRegister& zd,
6972 void Smlslt(const ZRegister& zd,
6977 void Smlslt(const ZRegister& zd,
6981 void Smulh(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6984 smulh(zd, zn, zm);
6986 void Smullb(const ZRegister& zd,
6992 smullb(zd, zn, zm, index);
6994 void Smullb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
6997 smullb(zd, zn, zm);
6999 void Smullt(const ZRegister& zd,
7005 smullt(zd, zn, zm, index);
7007 void Smullt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7010 smullt(zd, zn, zm);
7012 void Sqabs(const ZRegister& zd, const PRegister& pg, const ZRegister& zn) {
7014 MovprfxHelperScope guard(this, zd, pg, zd);
7015 sqabs(zd, pg.Merging(), zn);
7017 void Sqcadd(const ZRegister& zd,
7021 void Sqdmlalb(const ZRegister& zd,
7026 void Sqdmlalb(const ZRegister& zd,
7030 void Sqdmlalbt(const ZRegister& zd,
7034 void Sqdmlalt(const ZRegister& zd,
7039 void Sqdmlalt(const ZRegister& zd,
7043 void Sqdmlslb(const ZRegister& zd,
7048 void Sqdmlslb(const ZRegister& zd,
7052 void Sqdmlslbt(const ZRegister& zd,
7056 void Sqdmlslt(const ZRegister& zd,
7061 void Sqdmlslt(const ZRegister& zd,
7065 void Sqdmulh(const ZRegister& zd,
7071 sqdmulh(zd, zn, zm, index);
7073 void Sqdmulh(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7076 sqdmulh(zd, zn, zm);
7078 void Sqdmullb(const ZRegister& zd,
7084 sqdmullb(zd, zn, zm, index);
7086 void Sqdmullb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7089 sqdmullb(zd, zn, zm);
7091 void Sqdmullt(const ZRegister& zd,
7097 sqdmullt(zd, zn, zm, index);
7099 void Sqdmullt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7102 sqdmullt(zd, zn, zm);
7104 void Sqneg(const ZRegister& zd, const PRegister& pg, const ZRegister& zn) {
7106 MovprfxHelperScope guard(this, zd, pg, zd);
7107 sqneg(zd, pg.Merging(), zn);
7109 void Sqrdcmlah(const ZRegister& zd,
7115 void Sqrdcmlah(const ZRegister& zd,
7120 void Sqrdmlah(const ZRegister& zd,
7124 void Sqrdmlah(const ZRegister& zd,
7129 void Sqrdmlsh(const ZRegister& zd,
7133 void Sqrdmlsh(const ZRegister& zd,
7138 void Sqrdmulh(const ZRegister& zd,
7144 sqrdmulh(zd, zn, zm, index);
7146 void Sqrdmulh(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7149 sqrdmulh(zd, zn, zm);
7151 void Sqrshl(const ZRegister& zd,
7155 void Sqrshrnb(const ZRegister& zd, const ZRegister& zn, int shift) {
7158 sqrshrnb(zd, zn, shift);
7160 void Sqrshrnt(const ZRegister& zd, const ZRegister& zn, int shift) {
7163 sqrshrnt(zd, zn, shift);
7165 void Sqrshrunb(const ZRegister& zd, const ZRegister& zn, int shift) {
7168 sqrshrunb(zd, zn, shift);
7170 void Sqrshrunt(const ZRegister& zd, const ZRegister& zn, int shift) {
7173 sqrshrunt(zd, zn, shift);
7175 void Sqshl(const ZRegister& zd,
7180 MovprfxHelperScope guard(this, zd, pg, zn);
7181 sqshl(zd, pg, zd, shift);
7183 void Sqshl(const ZRegister& zd,
7187 void Sqshlu(const ZRegister& zd,
7192 MovprfxHelperScope guard(this, zd, pg, zn);
7193 sqshlu(zd, pg, zd, shift);
7195 void Sqshrnb(const ZRegister& zd, const ZRegister& zn, int shift) {
7198 sqshrnb(zd, zn, shift);
7200 void Sqshrnt(const ZRegister& zd, const ZRegister& zn, int shift) {
7203 sqshrnt(zd, zn, shift);
7205 void Sqshrunb(const ZRegister& zd, const ZRegister& zn, int shift) {
7208 sqshrunb(zd, zn, shift);
7210 void Sqshrunt(const ZRegister& zd, const ZRegister& zn, int shift) {
7213 sqshrunt(zd, zn, shift);
7215 void Sqsub(const ZRegister& zd,
7219 void Sqxtnb(const ZRegister& zd, const ZRegister& zn) {
7222 sqxtnb(zd, zn);
7224 void Sqxtnt(const ZRegister& zd, const ZRegister& zn) {
7227 sqxtnt(zd, zn);
7229 void Sqxtunb(const ZRegister& zd, const ZRegister& zn) {
7232 sqxtunb(zd, zn);
7234 void Sqxtunt(const ZRegister& zd, const ZRegister& zn) {
7237 sqxtunt(zd, zn);
7239 void Sri(const ZRegister& zd, const ZRegister& zn, int shift) {
7242 sri(zd, zn, shift);
7244 void Srshl(const ZRegister& zd,
7248 void Srshr(const ZRegister& zd,
7253 MovprfxHelperScope guard(this, zd, pg, zn);
7254 srshr(zd, pg, zd, shift);
7256 void Srsra(const ZRegister& zd,
7260 void Sshllb(const ZRegister& zd, const ZRegister& zn, int shift) {
7263 sshllb(zd, zn, shift);
7265 void Sshllt(const ZRegister& zd, const ZRegister& zn, int shift) {
7268 sshllt(zd, zn, shift);
7270 void Ssra(const ZRegister& zd,
7274 void Ssublb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7277 ssublb(zd, zn, zm);
7279 void Ssublbt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7282 ssublbt(zd, zn, zm);
7284 void Ssublt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7287 ssublt(zd, zn, zm);
7289 void Ssubltb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7292 ssubltb(zd, zn, zm);
7294 void Ssubwb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7297 ssubwb(zd, zn, zm);
7299 void Ssubwt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7302 ssubwt(zd, zn, zm);
7304 void Subhnb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7307 subhnb(zd, zn, zm);
7309 void Subhnt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7312 subhnt(zd, zn, zm);
7314 void Suqadd(const ZRegister& zd,
7318 void Tbl(const ZRegister& zd,
7324 tbl(zd, zn1, zn2, zm);
7326 void Tbx(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7329 tbx(zd, zn, zm);
7331 void Uaba(const ZRegister& zd,
7335 void Uabalb(const ZRegister& zd,
7339 void Uabalt(const ZRegister& zd,
7343 void Uabdlb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7346 uabdlb(zd, zn, zm);
7348 void Uabdlt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7351 uabdlt(zd, zn, zm);
7358 void Uaddlb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7361 uaddlb(zd, zn, zm);
7363 void Uaddlt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7366 uaddlt(zd, zn, zm);
7368 void Uaddwb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7371 uaddwb(zd, zn, zm);
7373 void Uaddwt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7376 uaddwt(zd, zn, zm);
7378 void Uhsub(const ZRegister& zd,
7382 void Umaxp(const ZRegister& zd,
7386 void Uminp(const ZRegister& zd,
7390 void Umlalb(const ZRegister& zd,
7395 void Umlalb(const ZRegister& zd,
7399 void Umlalt(const ZRegister& zd,
7404 void Umlalt(const ZRegister& zd,
7408 void Umlslb(const ZRegister& zd,
7413 void Umlslb(const ZRegister& zd,
7417 void Umlslt(const ZRegister& zd,
7422 void Umlslt(const ZRegister& zd,
7426 void Umulh(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7429 umulh(zd, zn, zm);
7431 void Umullb(const ZRegister& zd,
7437 umullb(zd, zn, zm, index);
7439 void Umullb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7442 umullb(zd, zn, zm);
7444 void Umullt(const ZRegister& zd,
7450 umullt(zd, zn, zm, index);
7452 void Umullt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7455 umullt(zd, zn, zm);
7457 void Uqrshl(const ZRegister& zd,
7461 void Uqrshrnb(const ZRegister& zd, const ZRegister& zn, int shift) {
7464 uqrshrnb(zd, zn, shift);
7466 void Uqrshrnt(const ZRegister& zd, const ZRegister& zn, int shift) {
7469 uqrshrnt(zd, zn, shift);
7471 void Uqshl(const ZRegister& zd,
7476 MovprfxHelperScope guard(this, zd, pg, zn);
7477 uqshl(zd, pg, zd, shift);
7479 void Uqshl(const ZRegister& zd,
7483 void Uqshrnb(const ZRegister& zd, const ZRegister& zn, int shift) {
7486 uqshrnb(zd, zn, shift);
7488 void Uqshrnt(const ZRegister& zd, const ZRegister& zn, int shift) {
7491 uqshrnt(zd, zn, shift);
7493 void Uqsub(const ZRegister& zd,
7497 void Uqxtnb(const ZRegister& zd, const ZRegister& zn) {
7500 uqxtnb(zd, zn);
7502 void Uqxtnt(const ZRegister& zd, const ZRegister& zn) {
7505 uqxtnt(zd, zn);
7507 void Urecpe(const ZRegister& zd, const PRegister& pg, const ZRegister& zn) {
7509 MovprfxHelperScope guard(this, zd, pg, zd);
7510 urecpe(zd, pg.Merging(), zn);
7512 void Urshl(const ZRegister& zd,
7516 void Urshr(const ZRegister& zd,
7521 MovprfxHelperScope guard(this, zd, pg, zn);
7522 urshr(zd, pg, zd, shift);
7524 void Ursqrte(const ZRegister& zd, const PRegister& pg, const ZRegister& zn) {
7526 MovprfxHelperScope guard(this, zd, pg, zd);
7527 ursqrte(zd, pg.Merging(), zn);
7529 void Ursra(const ZRegister& zd,
7533 void Ushllb(const ZRegister& zd, const ZRegister& zn, int shift) {
7536 ushllb(zd, zn, shift);
7538 void Ushllt(const ZRegister& zd, const ZRegister& zn, int shift) {
7541 ushllt(zd, zn, shift);
7543 void Usqadd(const ZRegister& zd,
7547 void Usra(const ZRegister& zd,
7551 void Usublb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7554 usublb(zd, zn, zm);
7556 void Usublt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7559 usublt(zd, zn, zm);
7561 void Usubwb(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7564 usubwb(zd, zn, zm);
7566 void Usubwt(const ZRegister& zd, const ZRegister& zn, const ZRegister& zm) {
7569 usubwt(zd, zn, zm);
7613 void Xar(const ZRegister& zd,
7618 if (zd.Aliases(zm)) {
7620 xar(zd, zm, zn, shift);
7622 MovprfxHelperScope guard(this, zd, zn);
7623 xar(zd, zd, zm, shift);
7626 void Fmmla(const ZRegister& zd,
7630 void Smmla(const ZRegister& zd,
7634 void Ummla(const ZRegister& zd,
7638 void Usmmla(const ZRegister& zd,
7642 void Usdot(const ZRegister& zd,
7646 void Usdot(const ZRegister& zd,
7651 void Sudot(const ZRegister& zd,
8384 typedef void (MacroAssembler::*IntWideImmMacroFn)(const ZRegister& zd,
8388 typedef void (Assembler::*IntWideImmShiftFn)(const ZRegister& zd,
8393 typedef void (Assembler::*Int3ArithFn)(const ZRegister& zd,
8397 typedef void (Assembler::*Int4ArithFn)(const ZRegister& zd,
8402 typedef void (Assembler::*IntArithImmFn)(const ZRegister& zd,
8406 typedef void (Assembler::*ZZZImmFn)(const ZRegister& zd,
8411 typedef void (MacroAssembler::*SVEArithPredicatedFn)(const ZRegister& zd,
8418 const ZRegister& zd,
8426 const ZRegister& zd,
8438 const ZRegister& zd,
8443 const ZRegister& zd,
8449 const ZRegister& zd,
8455 const ZRegister& zd,
8461 const ZRegister& zd,
8468 void NoncommutativeArithmeticHelper(const ZRegister& zd,
8475 void FPCommutativeArithmeticHelper(const ZRegister& zd,
8495 void FPMulAddHelper(const ZRegister& zd,
8510 const ZRegister& zd,
8517 const ZRegister& zd,
8523 const ZRegister& zd,