Lines Matching refs:rd
3513 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitFPDataProcessing1Source() local
3570 fsqrt(vform, rd, rn); in VisitFPDataProcessing1Source()
3635 frint(vform, rd, rn, fpcr_rounding, inexact_exception, frint_mode); in VisitFPDataProcessing1Source()
3658 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitFPDataProcessing2Source() local
3666 fadd(vform, rd, rn, rm); in VisitFPDataProcessing2Source()
3671 fsub(vform, rd, rn, rm); in VisitFPDataProcessing2Source()
3676 fmul(vform, rd, rn, rm); in VisitFPDataProcessing2Source()
3681 fnmul(vform, rd, rn, rm); in VisitFPDataProcessing2Source()
3686 fdiv(vform, rd, rn, rm); in VisitFPDataProcessing2Source()
3691 fmax(vform, rd, rn, rm); in VisitFPDataProcessing2Source()
3696 fmin(vform, rd, rn, rm); in VisitFPDataProcessing2Source()
3701 fmaxnm(vform, rd, rn, rm); in VisitFPDataProcessing2Source()
3706 fminnm(vform, rd, rn, rm); in VisitFPDataProcessing2Source()
4098 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEON2RegMisc() local
4106 rev64(vf, rd, rn); in VisitNEON2RegMisc()
4109 rev32(vf, rd, rn); in VisitNEON2RegMisc()
4112 rev16(vf, rd, rn); in VisitNEON2RegMisc()
4115 suqadd(vf, rd, rn); in VisitNEON2RegMisc()
4118 usqadd(vf, rd, rn); in VisitNEON2RegMisc()
4121 cls(vf, rd, rn); in VisitNEON2RegMisc()
4124 clz(vf, rd, rn); in VisitNEON2RegMisc()
4127 cnt(vf, rd, rn); in VisitNEON2RegMisc()
4130 abs(vf, rd, rn).SignedSaturate(vf); in VisitNEON2RegMisc()
4133 neg(vf, rd, rn).SignedSaturate(vf); in VisitNEON2RegMisc()
4136 cmp(vf, rd, rn, 0, gt); in VisitNEON2RegMisc()
4139 cmp(vf, rd, rn, 0, ge); in VisitNEON2RegMisc()
4142 cmp(vf, rd, rn, 0, eq); in VisitNEON2RegMisc()
4145 cmp(vf, rd, rn, 0, le); in VisitNEON2RegMisc()
4148 cmp(vf, rd, rn, 0, lt); in VisitNEON2RegMisc()
4151 abs(vf, rd, rn); in VisitNEON2RegMisc()
4154 neg(vf, rd, rn); in VisitNEON2RegMisc()
4157 saddlp(vf_lp, rd, rn); in VisitNEON2RegMisc()
4160 uaddlp(vf_lp, rd, rn); in VisitNEON2RegMisc()
4163 sadalp(vf_lp, rd, rn); in VisitNEON2RegMisc()
4166 uadalp(vf_lp, rd, rn); in VisitNEON2RegMisc()
4172 not_(vf, rd, rn); in VisitNEON2RegMisc()
4175 rbit(vf, rd, rn); in VisitNEON2RegMisc()
4192 fabs_(fpf, rd, rn); in VisitNEON2RegMisc()
4195 fneg(fpf, rd, rn); in VisitNEON2RegMisc()
4198 fsqrt(fpf, rd, rn); in VisitNEON2RegMisc()
4202 fcvtl2(vf_fcvtl, rd, rn); in VisitNEON2RegMisc()
4204 fcvtl(vf_fcvtl, rd, rn); in VisitNEON2RegMisc()
4209 fcvtn2(vf_fcvtn, rd, rn); in VisitNEON2RegMisc()
4211 fcvtn(vf_fcvtn, rd, rn); in VisitNEON2RegMisc()
4216 fcvtxn2(vf_fcvtn, rd, rn); in VisitNEON2RegMisc()
4218 fcvtxn(vf_fcvtn, rd, rn); in VisitNEON2RegMisc()
4264 fcvts(fpf, rd, rn, FPTieEven); in VisitNEON2RegMisc()
4267 fcvtu(fpf, rd, rn, FPTieEven); in VisitNEON2RegMisc()
4270 fcvts(fpf, rd, rn, FPPositiveInfinity); in VisitNEON2RegMisc()
4273 fcvtu(fpf, rd, rn, FPPositiveInfinity); in VisitNEON2RegMisc()
4276 fcvts(fpf, rd, rn, FPNegativeInfinity); in VisitNEON2RegMisc()
4279 fcvtu(fpf, rd, rn, FPNegativeInfinity); in VisitNEON2RegMisc()
4282 fcvts(fpf, rd, rn, FPZero); in VisitNEON2RegMisc()
4285 fcvtu(fpf, rd, rn, FPZero); in VisitNEON2RegMisc()
4288 fcvts(fpf, rd, rn, FPTieAway); in VisitNEON2RegMisc()
4291 fcvtu(fpf, rd, rn, FPTieAway); in VisitNEON2RegMisc()
4294 scvtf(fpf, rd, rn, 0, fpcr_rounding); in VisitNEON2RegMisc()
4297 ucvtf(fpf, rd, rn, 0, fpcr_rounding); in VisitNEON2RegMisc()
4300 ursqrte(fpf, rd, rn); in VisitNEON2RegMisc()
4303 urecpe(fpf, rd, rn); in VisitNEON2RegMisc()
4306 frsqrte(fpf, rd, rn); in VisitNEON2RegMisc()
4309 frecpe(fpf, rd, rn, fpcr_rounding); in VisitNEON2RegMisc()
4312 fcmp_zero(fpf, rd, rn, gt); in VisitNEON2RegMisc()
4315 fcmp_zero(fpf, rd, rn, ge); in VisitNEON2RegMisc()
4318 fcmp_zero(fpf, rd, rn, eq); in VisitNEON2RegMisc()
4321 fcmp_zero(fpf, rd, rn, le); in VisitNEON2RegMisc()
4324 fcmp_zero(fpf, rd, rn, lt); in VisitNEON2RegMisc()
4331 xtn(vf, rd, rn); in VisitNEON2RegMisc()
4334 sqxtn(vf, rd, rn); in VisitNEON2RegMisc()
4337 uqxtn(vf, rd, rn); in VisitNEON2RegMisc()
4340 sqxtun(vf, rd, rn); in VisitNEON2RegMisc()
4345 shll2(vf, rd, rn); in VisitNEON2RegMisc()
4347 shll(vf, rd, rn); in VisitNEON2RegMisc()
4359 frint(fpf, rd, rn, fpcr_rounding, inexact_exception, frint_mode); in VisitNEON2RegMisc()
4371 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEON2RegMiscFP16() local
4376 scvtf(fpf, rd, rn, 0, fpcr_rounding); in VisitNEON2RegMiscFP16()
4379 ucvtf(fpf, rd, rn, 0, fpcr_rounding); in VisitNEON2RegMiscFP16()
4382 fcvts(fpf, rd, rn, FPTieEven); in VisitNEON2RegMiscFP16()
4385 fcvtu(fpf, rd, rn, FPTieEven); in VisitNEON2RegMiscFP16()
4388 fcvts(fpf, rd, rn, FPPositiveInfinity); in VisitNEON2RegMiscFP16()
4391 fcvtu(fpf, rd, rn, FPPositiveInfinity); in VisitNEON2RegMiscFP16()
4394 fcvts(fpf, rd, rn, FPNegativeInfinity); in VisitNEON2RegMiscFP16()
4397 fcvtu(fpf, rd, rn, FPNegativeInfinity); in VisitNEON2RegMiscFP16()
4400 fcvts(fpf, rd, rn, FPZero); in VisitNEON2RegMiscFP16()
4403 fcvtu(fpf, rd, rn, FPZero); in VisitNEON2RegMiscFP16()
4406 fcvts(fpf, rd, rn, FPTieAway); in VisitNEON2RegMiscFP16()
4409 fcvtu(fpf, rd, rn, FPTieAway); in VisitNEON2RegMiscFP16()
4412 frint(fpf, rd, rn, fpcr_rounding, false); in VisitNEON2RegMiscFP16()
4415 frint(fpf, rd, rn, fpcr_rounding, true); in VisitNEON2RegMiscFP16()
4418 frint(fpf, rd, rn, FPTieAway, false); in VisitNEON2RegMiscFP16()
4421 frint(fpf, rd, rn, FPNegativeInfinity, false); in VisitNEON2RegMiscFP16()
4424 frint(fpf, rd, rn, FPTieEven, false); in VisitNEON2RegMiscFP16()
4427 frint(fpf, rd, rn, FPPositiveInfinity, false); in VisitNEON2RegMiscFP16()
4430 frint(fpf, rd, rn, FPZero, false); in VisitNEON2RegMiscFP16()
4433 fabs_(fpf, rd, rn); in VisitNEON2RegMiscFP16()
4436 fneg(fpf, rd, rn); in VisitNEON2RegMiscFP16()
4439 fsqrt(fpf, rd, rn); in VisitNEON2RegMiscFP16()
4442 frsqrte(fpf, rd, rn); in VisitNEON2RegMiscFP16()
4445 frecpe(fpf, rd, rn, fpcr_rounding); in VisitNEON2RegMiscFP16()
4448 fcmp_zero(fpf, rd, rn, gt); in VisitNEON2RegMiscFP16()
4451 fcmp_zero(fpf, rd, rn, ge); in VisitNEON2RegMiscFP16()
4454 fcmp_zero(fpf, rd, rn, eq); in VisitNEON2RegMiscFP16()
4457 fcmp_zero(fpf, rd, rn, le); in VisitNEON2RegMiscFP16()
4460 fcmp_zero(fpf, rd, rn, lt); in VisitNEON2RegMiscFP16()
4471 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEON3Same() local
4479 and_(vf, rd, rn, rm); in VisitNEON3Same()
4482 orr(vf, rd, rn, rm); in VisitNEON3Same()
4485 orn(vf, rd, rn, rm); in VisitNEON3Same()
4488 eor(vf, rd, rn, rm); in VisitNEON3Same()
4491 bic(vf, rd, rn, rm); in VisitNEON3Same()
4494 bif(vf, rd, rn, rm); in VisitNEON3Same()
4497 bit(vf, rd, rn, rm); in VisitNEON3Same()
4500 bsl(vf, rd, rn, rm); in VisitNEON3Same()
4509 fadd(vf, rd, rn, rm); in VisitNEON3Same()
4512 fsub(vf, rd, rn, rm); in VisitNEON3Same()
4515 fmul(vf, rd, rn, rm); in VisitNEON3Same()
4518 fdiv(vf, rd, rn, rm); in VisitNEON3Same()
4521 fmax(vf, rd, rn, rm); in VisitNEON3Same()
4524 fmin(vf, rd, rn, rm); in VisitNEON3Same()
4527 fmaxnm(vf, rd, rn, rm); in VisitNEON3Same()
4530 fminnm(vf, rd, rn, rm); in VisitNEON3Same()
4533 fmla(vf, rd, rn, rm); in VisitNEON3Same()
4536 fmls(vf, rd, rn, rm); in VisitNEON3Same()
4539 fmulx(vf, rd, rn, rm); in VisitNEON3Same()
4542 fabscmp(vf, rd, rn, rm, ge); in VisitNEON3Same()
4545 fabscmp(vf, rd, rn, rm, gt); in VisitNEON3Same()
4548 fcmp(vf, rd, rn, rm, eq); in VisitNEON3Same()
4551 fcmp(vf, rd, rn, rm, ge); in VisitNEON3Same()
4554 fcmp(vf, rd, rn, rm, gt); in VisitNEON3Same()
4557 frecps(vf, rd, rn, rm); in VisitNEON3Same()
4560 frsqrts(vf, rd, rn, rm); in VisitNEON3Same()
4563 fabd(vf, rd, rn, rm); in VisitNEON3Same()
4566 faddp(vf, rd, rn, rm); in VisitNEON3Same()
4569 fmaxp(vf, rd, rn, rm); in VisitNEON3Same()
4572 fmaxnmp(vf, rd, rn, rm); in VisitNEON3Same()
4575 fminp(vf, rd, rn, rm); in VisitNEON3Same()
4578 fminnmp(vf, rd, rn, rm); in VisitNEON3Same()
4584 fmlal(vf, rd, rn, rm); in VisitNEON3Same()
4587 fmlal2(vf, rd, rn, rm); in VisitNEON3Same()
4590 fmlsl(vf, rd, rn, rm); in VisitNEON3Same()
4593 fmlsl2(vf, rd, rn, rm); in VisitNEON3Same()
4603 add(vf, rd, rn, rm); in VisitNEON3Same()
4606 addp(vf, rd, rn, rm); in VisitNEON3Same()
4609 cmp(vf, rd, rn, rm, eq); in VisitNEON3Same()
4612 cmp(vf, rd, rn, rm, ge); in VisitNEON3Same()
4615 cmp(vf, rd, rn, rm, gt); in VisitNEON3Same()
4618 cmp(vf, rd, rn, rm, hi); in VisitNEON3Same()
4621 cmp(vf, rd, rn, rm, hs); in VisitNEON3Same()
4624 cmptst(vf, rd, rn, rm); in VisitNEON3Same()
4627 mls(vf, rd, rn, rm); in VisitNEON3Same()
4630 mla(vf, rd, rn, rm); in VisitNEON3Same()
4633 mul(vf, rd, rn, rm); in VisitNEON3Same()
4636 pmul(vf, rd, rn, rm); in VisitNEON3Same()
4639 smax(vf, rd, rn, rm); in VisitNEON3Same()
4642 smaxp(vf, rd, rn, rm); in VisitNEON3Same()
4645 smin(vf, rd, rn, rm); in VisitNEON3Same()
4648 sminp(vf, rd, rn, rm); in VisitNEON3Same()
4651 sub(vf, rd, rn, rm); in VisitNEON3Same()
4654 umax(vf, rd, rn, rm); in VisitNEON3Same()
4657 umaxp(vf, rd, rn, rm); in VisitNEON3Same()
4660 umin(vf, rd, rn, rm); in VisitNEON3Same()
4663 uminp(vf, rd, rn, rm); in VisitNEON3Same()
4666 sshl(vf, rd, rn, rm); in VisitNEON3Same()
4669 ushl(vf, rd, rn, rm); in VisitNEON3Same()
4672 absdiff(vf, rd, rn, rm, true); in VisitNEON3Same()
4675 absdiff(vf, rd, rn, rm, false); in VisitNEON3Same()
4678 saba(vf, rd, rn, rm); in VisitNEON3Same()
4681 uaba(vf, rd, rn, rm); in VisitNEON3Same()
4684 add(vf, rd, rn, rm).UnsignedSaturate(vf); in VisitNEON3Same()
4687 add(vf, rd, rn, rm).SignedSaturate(vf); in VisitNEON3Same()
4690 sub(vf, rd, rn, rm).UnsignedSaturate(vf); in VisitNEON3Same()
4693 sub(vf, rd, rn, rm).SignedSaturate(vf); in VisitNEON3Same()
4696 sqdmulh(vf, rd, rn, rm); in VisitNEON3Same()
4699 sqrdmulh(vf, rd, rn, rm); in VisitNEON3Same()
4702 ushl(vf, rd, rn, rm).UnsignedSaturate(vf); in VisitNEON3Same()
4705 sshl(vf, rd, rn, rm).SignedSaturate(vf); in VisitNEON3Same()
4708 ushl(vf, rd, rn, rm).Round(vf); in VisitNEON3Same()
4711 sshl(vf, rd, rn, rm).Round(vf); in VisitNEON3Same()
4714 ushl(vf, rd, rn, rm).Round(vf).UnsignedSaturate(vf); in VisitNEON3Same()
4717 sshl(vf, rd, rn, rm).Round(vf).SignedSaturate(vf); in VisitNEON3Same()
4720 add(vf, rd, rn, rm).Uhalve(vf); in VisitNEON3Same()
4723 add(vf, rd, rn, rm).Uhalve(vf).Round(vf); in VisitNEON3Same()
4726 add(vf, rd, rn, rm).Halve(vf); in VisitNEON3Same()
4729 add(vf, rd, rn, rm).Halve(vf).Round(vf); in VisitNEON3Same()
4732 sub(vf, rd, rn, rm).Uhalve(vf); in VisitNEON3Same()
4735 sub(vf, rd, rn, rm).Halve(vf); in VisitNEON3Same()
4746 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEON3SameFP16() local
4754 B(vf, rd, rn, rm); \ in VisitNEON3SameFP16()
4777 fcmp(vf, rd, rn, rm, eq); in VisitNEON3SameFP16()
4780 fcmp(vf, rd, rn, rm, ge); in VisitNEON3SameFP16()
4783 fabscmp(vf, rd, rn, rm, ge); in VisitNEON3SameFP16()
4786 fcmp(vf, rd, rn, rm, gt); in VisitNEON3SameFP16()
4789 fabscmp(vf, rd, rn, rm, gt); in VisitNEON3SameFP16()
4799 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEON3SameExtra() local
4806 fcmla(vf, rd, rn, rm, rot); in VisitNEON3SameExtra()
4809 fcadd(vf, rd, rn, rm, rot); in VisitNEON3SameExtra()
4813 sdot(vf, rd, rn, rm); in VisitNEON3SameExtra()
4816 sqrdmlah(vf, rd, rn, rm); in VisitNEON3SameExtra()
4819 udot(vf, rd, rn, rm); in VisitNEON3SameExtra()
4822 sqrdmlsh(vf, rd, rn, rm); in VisitNEON3SameExtra()
4837 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEON3Different() local
4843 pmull(vf_l, rd, rn, rm); in VisitNEON3Different()
4846 pmull2(vf_l, rd, rn, rm); in VisitNEON3Different()
4849 uaddl(vf_l, rd, rn, rm); in VisitNEON3Different()
4852 uaddl2(vf_l, rd, rn, rm); in VisitNEON3Different()
4855 saddl(vf_l, rd, rn, rm); in VisitNEON3Different()
4858 saddl2(vf_l, rd, rn, rm); in VisitNEON3Different()
4861 usubl(vf_l, rd, rn, rm); in VisitNEON3Different()
4864 usubl2(vf_l, rd, rn, rm); in VisitNEON3Different()
4867 ssubl(vf_l, rd, rn, rm); in VisitNEON3Different()
4870 ssubl2(vf_l, rd, rn, rm); in VisitNEON3Different()
4873 sabal(vf_l, rd, rn, rm); in VisitNEON3Different()
4876 sabal2(vf_l, rd, rn, rm); in VisitNEON3Different()
4879 uabal(vf_l, rd, rn, rm); in VisitNEON3Different()
4882 uabal2(vf_l, rd, rn, rm); in VisitNEON3Different()
4885 sabdl(vf_l, rd, rn, rm); in VisitNEON3Different()
4888 sabdl2(vf_l, rd, rn, rm); in VisitNEON3Different()
4891 uabdl(vf_l, rd, rn, rm); in VisitNEON3Different()
4894 uabdl2(vf_l, rd, rn, rm); in VisitNEON3Different()
4897 smlal(vf_l, rd, rn, rm); in VisitNEON3Different()
4900 smlal2(vf_l, rd, rn, rm); in VisitNEON3Different()
4903 umlal(vf_l, rd, rn, rm); in VisitNEON3Different()
4906 umlal2(vf_l, rd, rn, rm); in VisitNEON3Different()
4909 smlsl(vf_l, rd, rn, rm); in VisitNEON3Different()
4912 smlsl2(vf_l, rd, rn, rm); in VisitNEON3Different()
4915 umlsl(vf_l, rd, rn, rm); in VisitNEON3Different()
4918 umlsl2(vf_l, rd, rn, rm); in VisitNEON3Different()
4921 smull(vf_l, rd, rn, rm); in VisitNEON3Different()
4924 smull2(vf_l, rd, rn, rm); in VisitNEON3Different()
4927 umull(vf_l, rd, rn, rm); in VisitNEON3Different()
4930 umull2(vf_l, rd, rn, rm); in VisitNEON3Different()
4933 sqdmlal(vf_l, rd, rn, rm); in VisitNEON3Different()
4936 sqdmlal2(vf_l, rd, rn, rm); in VisitNEON3Different()
4939 sqdmlsl(vf_l, rd, rn, rm); in VisitNEON3Different()
4942 sqdmlsl2(vf_l, rd, rn, rm); in VisitNEON3Different()
4945 sqdmull(vf_l, rd, rn, rm); in VisitNEON3Different()
4948 sqdmull2(vf_l, rd, rn, rm); in VisitNEON3Different()
4951 uaddw(vf_l, rd, rn, rm); in VisitNEON3Different()
4954 uaddw2(vf_l, rd, rn, rm); in VisitNEON3Different()
4957 saddw(vf_l, rd, rn, rm); in VisitNEON3Different()
4960 saddw2(vf_l, rd, rn, rm); in VisitNEON3Different()
4963 usubw(vf_l, rd, rn, rm); in VisitNEON3Different()
4966 usubw2(vf_l, rd, rn, rm); in VisitNEON3Different()
4969 ssubw(vf_l, rd, rn, rm); in VisitNEON3Different()
4972 ssubw2(vf_l, rd, rn, rm); in VisitNEON3Different()
4975 addhn(vf, rd, rn, rm); in VisitNEON3Different()
4978 addhn2(vf, rd, rn, rm); in VisitNEON3Different()
4981 raddhn(vf, rd, rn, rm); in VisitNEON3Different()
4984 raddhn2(vf, rd, rn, rm); in VisitNEON3Different()
4987 subhn(vf, rd, rn, rm); in VisitNEON3Different()
4990 subhn2(vf, rd, rn, rm); in VisitNEON3Different()
4993 rsubhn(vf, rd, rn, rm); in VisitNEON3Different()
4996 rsubhn2(vf, rd, rn, rm); in VisitNEON3Different()
5009 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONAcrossLanes() local
5016 fmaxv(vf, rd, rn); in VisitNEONAcrossLanes()
5019 fminv(vf, rd, rn); in VisitNEONAcrossLanes()
5022 fmaxnmv(vf, rd, rn); in VisitNEONAcrossLanes()
5025 fminnmv(vf, rd, rn); in VisitNEONAcrossLanes()
5036 fmaxv(vf, rd, rn); in VisitNEONAcrossLanes()
5039 fminv(vf, rd, rn); in VisitNEONAcrossLanes()
5042 fmaxnmv(vf, rd, rn); in VisitNEONAcrossLanes()
5045 fminnmv(vf, rd, rn); in VisitNEONAcrossLanes()
5055 addv(vf, rd, rn); in VisitNEONAcrossLanes()
5058 smaxv(vf, rd, rn); in VisitNEONAcrossLanes()
5061 sminv(vf, rd, rn); in VisitNEONAcrossLanes()
5064 umaxv(vf, rd, rn); in VisitNEONAcrossLanes()
5067 uminv(vf, rd, rn); in VisitNEONAcrossLanes()
5070 saddlv(vf, rd, rn); in VisitNEONAcrossLanes()
5073 uaddlv(vf, rd, rn); in VisitNEONAcrossLanes()
5089 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONByIndexedElement() local
5104 fmlal(vf_r, rd, rn, ReadVRegister(rm_low_reg), index_hlm); in VisitNEONByIndexedElement()
5107 fmlal2(vf_r, rd, rn, ReadVRegister(rm_low_reg), index_hlm); in VisitNEONByIndexedElement()
5110 fmlsl(vf_r, rd, rn, ReadVRegister(rm_low_reg), index_hlm); in VisitNEONByIndexedElement()
5113 fmlsl2(vf_r, rd, rn, ReadVRegister(rm_low_reg), index_hlm); in VisitNEONByIndexedElement()
5268 rd, in VisitNEONByIndexedElement()
5280 (this->*Op)(vf, rd, rn, ReadVRegister(rm_reg), index); in VisitNEONByIndexedElement()
5288 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONCopy() local
5297 ins_element(vf, rd, reg_index, rn, rn_index); in VisitNEONCopy()
5299 ins_immediate(vf, rd, reg_index, ReadXRegister(instr->GetRn())); in VisitNEONCopy()
5312 dup_element(vf, rd, rn, reg_index); in VisitNEONCopy()
5314 dup_immediate(vf, rd, ReadXRegister(instr->GetRn())); in VisitNEONCopy()
5324 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONExtract() local
5329 ext(vf, rd, rn, rm, index); in VisitNEONExtract()
5743 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONModifiedImmediate() local
5841 orr(vform, rd, rd, imm); in VisitNEONModifiedImmediate()
5843 bic(vform, rd, rd, imm); in VisitNEONModifiedImmediate()
5845 movi(vform, rd, imm); in VisitNEONModifiedImmediate()
5847 mvni(vform, rd, imm); in VisitNEONModifiedImmediate()
5858 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONScalar2RegMisc() local
5866 cmp(vf, rd, rn, 0, eq); in VisitNEONScalar2RegMisc()
5869 cmp(vf, rd, rn, 0, ge); in VisitNEONScalar2RegMisc()
5872 cmp(vf, rd, rn, 0, gt); in VisitNEONScalar2RegMisc()
5875 cmp(vf, rd, rn, 0, lt); in VisitNEONScalar2RegMisc()
5878 cmp(vf, rd, rn, 0, le); in VisitNEONScalar2RegMisc()
5881 abs(vf, rd, rn); in VisitNEONScalar2RegMisc()
5884 abs(vf, rd, rn).SignedSaturate(vf); in VisitNEONScalar2RegMisc()
5887 neg(vf, rd, rn); in VisitNEONScalar2RegMisc()
5890 neg(vf, rd, rn).SignedSaturate(vf); in VisitNEONScalar2RegMisc()
5893 suqadd(vf, rd, rn); in VisitNEONScalar2RegMisc()
5896 usqadd(vf, rd, rn); in VisitNEONScalar2RegMisc()
5910 frecpe(fpf, rd, rn, fpcr_rounding); in VisitNEONScalar2RegMisc()
5913 frecpx(fpf, rd, rn); in VisitNEONScalar2RegMisc()
5916 frsqrte(fpf, rd, rn); in VisitNEONScalar2RegMisc()
5919 fcmp_zero(fpf, rd, rn, gt); in VisitNEONScalar2RegMisc()
5922 fcmp_zero(fpf, rd, rn, ge); in VisitNEONScalar2RegMisc()
5925 fcmp_zero(fpf, rd, rn, eq); in VisitNEONScalar2RegMisc()
5928 fcmp_zero(fpf, rd, rn, le); in VisitNEONScalar2RegMisc()
5931 fcmp_zero(fpf, rd, rn, lt); in VisitNEONScalar2RegMisc()
5934 scvtf(fpf, rd, rn, 0, fpcr_rounding); in VisitNEONScalar2RegMisc()
5937 ucvtf(fpf, rd, rn, 0, fpcr_rounding); in VisitNEONScalar2RegMisc()
5940 fcvts(fpf, rd, rn, FPTieEven); in VisitNEONScalar2RegMisc()
5943 fcvtu(fpf, rd, rn, FPTieEven); in VisitNEONScalar2RegMisc()
5946 fcvts(fpf, rd, rn, FPPositiveInfinity); in VisitNEONScalar2RegMisc()
5949 fcvtu(fpf, rd, rn, FPPositiveInfinity); in VisitNEONScalar2RegMisc()
5952 fcvts(fpf, rd, rn, FPNegativeInfinity); in VisitNEONScalar2RegMisc()
5955 fcvtu(fpf, rd, rn, FPNegativeInfinity); in VisitNEONScalar2RegMisc()
5958 fcvts(fpf, rd, rn, FPZero); in VisitNEONScalar2RegMisc()
5961 fcvtu(fpf, rd, rn, FPZero); in VisitNEONScalar2RegMisc()
5964 fcvts(fpf, rd, rn, FPTieAway); in VisitNEONScalar2RegMisc()
5967 fcvtu(fpf, rd, rn, FPTieAway); in VisitNEONScalar2RegMisc()
5973 fcvtxn(kFormatS, rd, rn); in VisitNEONScalar2RegMisc()
5978 sqxtn(vf, rd, rn); in VisitNEONScalar2RegMisc()
5981 uqxtn(vf, rd, rn); in VisitNEONScalar2RegMisc()
5984 sqxtun(vf, rd, rn); in VisitNEONScalar2RegMisc()
5998 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONScalar2RegMiscFP16() local
6003 frecpe(fpf, rd, rn, fpcr_rounding); in VisitNEONScalar2RegMiscFP16()
6006 frecpx(fpf, rd, rn); in VisitNEONScalar2RegMiscFP16()
6009 frsqrte(fpf, rd, rn); in VisitNEONScalar2RegMiscFP16()
6012 fcmp_zero(fpf, rd, rn, gt); in VisitNEONScalar2RegMiscFP16()
6015 fcmp_zero(fpf, rd, rn, ge); in VisitNEONScalar2RegMiscFP16()
6018 fcmp_zero(fpf, rd, rn, eq); in VisitNEONScalar2RegMiscFP16()
6021 fcmp_zero(fpf, rd, rn, le); in VisitNEONScalar2RegMiscFP16()
6024 fcmp_zero(fpf, rd, rn, lt); in VisitNEONScalar2RegMiscFP16()
6027 scvtf(fpf, rd, rn, 0, fpcr_rounding); in VisitNEONScalar2RegMiscFP16()
6030 ucvtf(fpf, rd, rn, 0, fpcr_rounding); in VisitNEONScalar2RegMiscFP16()
6033 fcvts(fpf, rd, rn, FPTieEven); in VisitNEONScalar2RegMiscFP16()
6036 fcvtu(fpf, rd, rn, FPTieEven); in VisitNEONScalar2RegMiscFP16()
6039 fcvts(fpf, rd, rn, FPPositiveInfinity); in VisitNEONScalar2RegMiscFP16()
6042 fcvtu(fpf, rd, rn, FPPositiveInfinity); in VisitNEONScalar2RegMiscFP16()
6045 fcvts(fpf, rd, rn, FPNegativeInfinity); in VisitNEONScalar2RegMiscFP16()
6048 fcvtu(fpf, rd, rn, FPNegativeInfinity); in VisitNEONScalar2RegMiscFP16()
6051 fcvts(fpf, rd, rn, FPZero); in VisitNEONScalar2RegMiscFP16()
6054 fcvtu(fpf, rd, rn, FPZero); in VisitNEONScalar2RegMiscFP16()
6057 fcvts(fpf, rd, rn, FPTieAway); in VisitNEONScalar2RegMiscFP16()
6060 fcvtu(fpf, rd, rn, FPTieAway); in VisitNEONScalar2RegMiscFP16()
6070 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONScalar3Diff() local
6075 sqdmlal(vf, rd, rn, rm); in VisitNEONScalar3Diff()
6078 sqdmlsl(vf, rd, rn, rm); in VisitNEONScalar3Diff()
6081 sqdmull(vf, rd, rn, rm); in VisitNEONScalar3Diff()
6093 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONScalar3Same() local
6101 fmulx(vf, rd, rn, rm); in VisitNEONScalar3Same()
6104 fabscmp(vf, rd, rn, rm, ge); in VisitNEONScalar3Same()
6107 fabscmp(vf, rd, rn, rm, gt); in VisitNEONScalar3Same()
6110 fcmp(vf, rd, rn, rm, eq); in VisitNEONScalar3Same()
6113 fcmp(vf, rd, rn, rm, ge); in VisitNEONScalar3Same()
6116 fcmp(vf, rd, rn, rm, gt); in VisitNEONScalar3Same()
6119 frecps(vf, rd, rn, rm); in VisitNEONScalar3Same()
6122 frsqrts(vf, rd, rn, rm); in VisitNEONScalar3Same()
6125 fabd(vf, rd, rn, rm); in VisitNEONScalar3Same()
6133 add(vf, rd, rn, rm); in VisitNEONScalar3Same()
6136 sub(vf, rd, rn, rm); in VisitNEONScalar3Same()
6139 cmp(vf, rd, rn, rm, eq); in VisitNEONScalar3Same()
6142 cmp(vf, rd, rn, rm, ge); in VisitNEONScalar3Same()
6145 cmp(vf, rd, rn, rm, gt); in VisitNEONScalar3Same()
6148 cmp(vf, rd, rn, rm, hi); in VisitNEONScalar3Same()
6151 cmp(vf, rd, rn, rm, hs); in VisitNEONScalar3Same()
6154 cmptst(vf, rd, rn, rm); in VisitNEONScalar3Same()
6157 ushl(vf, rd, rn, rm); in VisitNEONScalar3Same()
6160 sshl(vf, rd, rn, rm); in VisitNEONScalar3Same()
6163 sqdmulh(vf, rd, rn, rm); in VisitNEONScalar3Same()
6166 sqrdmulh(vf, rd, rn, rm); in VisitNEONScalar3Same()
6169 add(vf, rd, rn, rm).UnsignedSaturate(vf); in VisitNEONScalar3Same()
6172 add(vf, rd, rn, rm).SignedSaturate(vf); in VisitNEONScalar3Same()
6175 sub(vf, rd, rn, rm).UnsignedSaturate(vf); in VisitNEONScalar3Same()
6178 sub(vf, rd, rn, rm).SignedSaturate(vf); in VisitNEONScalar3Same()
6181 ushl(vf, rd, rn, rm).UnsignedSaturate(vf); in VisitNEONScalar3Same()
6184 sshl(vf, rd, rn, rm).SignedSaturate(vf); in VisitNEONScalar3Same()
6187 ushl(vf, rd, rn, rm).Round(vf); in VisitNEONScalar3Same()
6190 sshl(vf, rd, rn, rm).Round(vf); in VisitNEONScalar3Same()
6193 ushl(vf, rd, rn, rm).Round(vf).UnsignedSaturate(vf); in VisitNEONScalar3Same()
6196 sshl(vf, rd, rn, rm).Round(vf).SignedSaturate(vf); in VisitNEONScalar3Same()
6205 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONScalar3SameFP16() local
6211 fabd(kFormatH, rd, rn, rm); in VisitNEONScalar3SameFP16()
6214 fmulx(kFormatH, rd, rn, rm); in VisitNEONScalar3SameFP16()
6217 fcmp(kFormatH, rd, rn, rm, eq); in VisitNEONScalar3SameFP16()
6220 fcmp(kFormatH, rd, rn, rm, ge); in VisitNEONScalar3SameFP16()
6223 fcmp(kFormatH, rd, rn, rm, gt); in VisitNEONScalar3SameFP16()
6226 fabscmp(kFormatH, rd, rn, rm, ge); in VisitNEONScalar3SameFP16()
6229 fabscmp(kFormatH, rd, rn, rm, gt); in VisitNEONScalar3SameFP16()
6232 frecps(kFormatH, rd, rn, rm); in VisitNEONScalar3SameFP16()
6235 frsqrts(kFormatH, rd, rn, rm); in VisitNEONScalar3SameFP16()
6247 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONScalar3SameExtra() local
6253 sqrdmlah(vf, rd, rn, rm); in VisitNEONScalar3SameExtra()
6256 sqrdmlsh(vf, rd, rn, rm); in VisitNEONScalar3SameExtra()
6268 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONScalarByIndexedElement() local
6337 (this->*Op)(vf, rd, rn, ReadVRegister(rm_reg), index); in VisitNEONScalarByIndexedElement()
6345 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONScalarCopy() local
6352 dup_element(vf, rd, rn, rn_index); in VisitNEONScalarCopy()
6363 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONScalarPairwise() local
6370 addp(nfd_addp.GetVectorFormat(), rd, rn); in VisitNEONScalarPairwise()
6375 faddp(vf, rd, rn); in VisitNEONScalarPairwise()
6379 fmaxp(vf, rd, rn); in VisitNEONScalarPairwise()
6383 fmaxnmp(vf, rd, rn); in VisitNEONScalarPairwise()
6387 fminp(vf, rd, rn); in VisitNEONScalarPairwise()
6391 fminnmp(vf, rd, rn); in VisitNEONScalarPairwise()
6400 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONScalarShiftImmediate() local
6430 shl(vf, rd, rn, left_shift); in VisitNEONScalarShiftImmediate()
6433 sli(vf, rd, rn, left_shift); in VisitNEONScalarShiftImmediate()
6436 sqshl(vf, rd, rn, left_shift); in VisitNEONScalarShiftImmediate()
6439 uqshl(vf, rd, rn, left_shift); in VisitNEONScalarShiftImmediate()
6442 sqshlu(vf, rd, rn, left_shift); in VisitNEONScalarShiftImmediate()
6445 sri(vf, rd, rn, right_shift); in VisitNEONScalarShiftImmediate()
6448 sshr(vf, rd, rn, right_shift); in VisitNEONScalarShiftImmediate()
6451 ushr(vf, rd, rn, right_shift); in VisitNEONScalarShiftImmediate()
6454 sshr(vf, rd, rn, right_shift).Round(vf); in VisitNEONScalarShiftImmediate()
6457 ushr(vf, rd, rn, right_shift).Round(vf); in VisitNEONScalarShiftImmediate()
6460 ssra(vf, rd, rn, right_shift); in VisitNEONScalarShiftImmediate()
6463 usra(vf, rd, rn, right_shift); in VisitNEONScalarShiftImmediate()
6466 srsra(vf, rd, rn, right_shift); in VisitNEONScalarShiftImmediate()
6469 ursra(vf, rd, rn, right_shift); in VisitNEONScalarShiftImmediate()
6472 uqshrn(vf, rd, rn, right_shift); in VisitNEONScalarShiftImmediate()
6475 uqrshrn(vf, rd, rn, right_shift); in VisitNEONScalarShiftImmediate()
6478 sqshrn(vf, rd, rn, right_shift); in VisitNEONScalarShiftImmediate()
6481 sqrshrn(vf, rd, rn, right_shift); in VisitNEONScalarShiftImmediate()
6484 sqshrun(vf, rd, rn, right_shift); in VisitNEONScalarShiftImmediate()
6487 sqrshrun(vf, rd, rn, right_shift); in VisitNEONScalarShiftImmediate()
6490 fcvts(vf, rd, rn, FPZero, right_shift); in VisitNEONScalarShiftImmediate()
6493 fcvtu(vf, rd, rn, FPZero, right_shift); in VisitNEONScalarShiftImmediate()
6496 scvtf(vf, rd, rn, right_shift, fpcr_rounding); in VisitNEONScalarShiftImmediate()
6499 ucvtf(vf, rd, rn, right_shift, fpcr_rounding); in VisitNEONScalarShiftImmediate()
6508 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONShiftImmediate() local
6539 shl(vf, rd, rn, left_shift); in VisitNEONShiftImmediate()
6542 sli(vf, rd, rn, left_shift); in VisitNEONShiftImmediate()
6545 sqshlu(vf, rd, rn, left_shift); in VisitNEONShiftImmediate()
6548 sri(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6551 sshr(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6554 ushr(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6557 sshr(vf, rd, rn, right_shift).Round(vf); in VisitNEONShiftImmediate()
6560 ushr(vf, rd, rn, right_shift).Round(vf); in VisitNEONShiftImmediate()
6563 ssra(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6566 usra(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6569 srsra(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6572 ursra(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6575 sqshl(vf, rd, rn, left_shift); in VisitNEONShiftImmediate()
6578 uqshl(vf, rd, rn, left_shift); in VisitNEONShiftImmediate()
6581 scvtf(vf, rd, rn, right_shift, fpcr_rounding); in VisitNEONShiftImmediate()
6584 ucvtf(vf, rd, rn, right_shift, fpcr_rounding); in VisitNEONShiftImmediate()
6587 fcvts(vf, rd, rn, FPZero, right_shift); in VisitNEONShiftImmediate()
6590 fcvtu(vf, rd, rn, FPZero, right_shift); in VisitNEONShiftImmediate()
6595 sshll2(vf, rd, rn, left_shift); in VisitNEONShiftImmediate()
6597 sshll(vf, rd, rn, left_shift); in VisitNEONShiftImmediate()
6603 ushll2(vf, rd, rn, left_shift); in VisitNEONShiftImmediate()
6605 ushll(vf, rd, rn, left_shift); in VisitNEONShiftImmediate()
6610 shrn2(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6612 shrn(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6617 rshrn2(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6619 rshrn(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6624 uqshrn2(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6626 uqshrn(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6631 uqrshrn2(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6633 uqrshrn(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6638 sqshrn2(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6640 sqshrn(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6645 sqrshrn2(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6647 sqrshrn(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6652 sqshrun2(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6654 sqshrun(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6659 sqrshrun2(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6661 sqrshrun(vf, rd, rn, right_shift); in VisitNEONShiftImmediate()
6674 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONTable() local
6683 tbl(vf, rd, rn, rm); in VisitNEONTable()
6686 tbl(vf, rd, rn, rn2, rm); in VisitNEONTable()
6689 tbl(vf, rd, rn, rn2, rn3, rm); in VisitNEONTable()
6692 tbl(vf, rd, rn, rn2, rn3, rn4, rm); in VisitNEONTable()
6695 tbx(vf, rd, rn, rm); in VisitNEONTable()
6698 tbx(vf, rd, rn, rn2, rm); in VisitNEONTable()
6701 tbx(vf, rd, rn, rn2, rn3, rm); in VisitNEONTable()
6704 tbx(vf, rd, rn, rn2, rn3, rn4, rm); in VisitNEONTable()
6716 SimVRegister& rd = ReadVRegister(instr->GetRd()); in VisitNEONPerm() local
6722 trn1(vf, rd, rn, rm); in VisitNEONPerm()
6725 trn2(vf, rd, rn, rm); in VisitNEONPerm()
6728 uzp1(vf, rd, rn, rm); in VisitNEONPerm()
6731 uzp2(vf, rd, rn, rm); in VisitNEONPerm()
6734 zip1(vf, rd, rn, rm); in VisitNEONPerm()
6737 zip2(vf, rd, rn, rm); in VisitNEONPerm()