Home | History | Annotate | Download | only in aarch64

Lines Matching defs:Rd

602   void add(const Register& rd, const Register& rn, const Operand& operand);
605 void adds(const Register& rd, const Register& rn, const Operand& operand);
611 void sub(const Register& rd, const Register& rn, const Operand& operand);
614 void subs(const Register& rd, const Register& rn, const Operand& operand);
620 void neg(const Register& rd, const Operand& operand);
623 void negs(const Register& rd, const Operand& operand);
626 void adc(const Register& rd, const Register& rn, const Operand& operand);
629 void adcs(const Register& rd, const Register& rn, const Operand& operand);
632 void sbc(const Register& rd, const Register& rn, const Operand& operand);
635 void sbcs(const Register& rd, const Register& rn, const Operand& operand);
638 void ngc(const Register& rd, const Operand& operand);
641 void ngcs(const Register& rd, const Operand& operand);
645 void and_(const Register& rd, const Register& rn, const Operand& operand);
648 void ands(const Register& rd, const Register& rn, const Operand& operand);
654 void bic(const Register& rd, const Register& rn, const Operand& operand);
657 void bics(const Register& rd, const Register& rn, const Operand& operand);
660 void orr(const Register& rd, const Register& rn, const Operand& operand);
663 void orn(const Register& rd, const Register& rn, const Operand& operand);
666 void eor(const Register& rd, const Register& rn, const Operand& operand);
669 void eon(const Register& rd, const Register& rn, const Operand& operand);
672 void lslv(const Register& rd, const Register& rn, const Register& rm);
675 void lsrv(const Register& rd, const Register& rn, const Register& rm);
678 void asrv(const Register& rd, const Register& rn, const Register& rm);
681 void rorv(const Register& rd, const Register& rn, const Register& rm);
685 void bfm(const Register& rd,
691 void sbfm(const Register& rd,
697 void ubfm(const Register& rd,
704 void bfi(const Register& rd,
710 bfm(rd,
712 (rd.GetSizeInBits() - lsb) & (rd.GetSizeInBits() - 1),
717 void bfxil(const Register& rd,
723 bfm(rd, rn, lsb, lsb + width - 1);
728 void asr(const Register& rd, const Register& rn, unsigned shift) {
729 VIXL_ASSERT(shift < static_cast<unsigned>(rd.GetSizeInBits()));
730 sbfm(rd, rn, shift, rd.GetSizeInBits() - 1);
734 void sbfiz(const Register& rd,
740 sbfm(rd,
742 (rd.GetSizeInBits() - lsb) & (rd.GetSizeInBits() - 1),
747 void sbfx(const Register& rd,
753 sbfm(rd, rn, lsb, lsb + width - 1);
757 void sxtb(const Register& rd, const Register& rn) { sbfm(rd, rn, 0, 7); }
760 void sxth(const Register& rd, const Register& rn) { sbfm(rd, rn, 0, 15); }
763 void sxtw(const Register& rd, const Register& rn) { sbfm(rd, rn, 0, 31); }
767 void lsl(const Register& rd, const Register& rn, unsigned shift) {
768 unsigned reg_size = rd.GetSizeInBits();
770 ubfm(rd, rn, (reg_size - shift) % reg_size, reg_size - shift - 1);
774 void lsr(const Register& rd, const Register& rn, unsigned shift) {
775 VIXL_ASSERT(shift < static_cast<unsigned>(rd.GetSizeInBits()));
776 ubfm(rd, rn, shift, rd.GetSizeInBits() - 1);
780 void ubfiz(const Register& rd,
786 ubfm(rd,
788 (rd.GetSizeInBits() - lsb) & (rd.GetSizeInBits() - 1),
793 void ubfx(const Register& rd,
799 ubfm(rd, rn, lsb, lsb + width - 1);
803 void uxtb(const Register& rd, const Register& rn) { ubfm(rd, rn, 0, 7); }
806 void uxth(const Register& rd, const Register& rn) { ubfm(rd, rn, 0, 15); }
809 void uxtw(const Register& rd, const Register& rn) { ubfm(rd, rn, 0, 31); }
812 void extr(const Register& rd,
817 // Conditional select: rd = cond ? rn : rm.
818 void csel(const Register& rd,
823 // Conditional select increment: rd = cond ? rn : rm + 1.
824 void csinc(const Register& rd,
829 // Conditional select inversion: rd = cond ? rn : ~rm.
830 void csinv(const Register& rd,
835 // Conditional select negation: rd = cond ? rn : -rm.
836 void csneg(const Register& rd,
841 // Conditional set: rd = cond ? 1 : 0.
842 void cset(const Register& rd, Condition cond);
844 // Conditional set mask: rd = cond ? -1 : 0.
845 void csetm(const Register& rd, Condition cond);
847 // Conditional increment: rd = cond ? rn + 1 : rn.
848 void cinc(const Register& rd, const Register& rn, Condition cond);
850 // Conditional invert: rd = cond ? ~rn : rn.
851 void cinv(const Register& rd, const Register& rn, Condition cond);
853 // Conditional negate: rd = cond ? -rn : rn.
854 void cneg(const Register& rd, const Register& rn, Condition cond);
857 void ror(const Register& rd, const Register& rs, unsigned shift) {
858 extr(rd, rs, rs, shift);
899 void mul(const Register& rd, const Register& rn, const Register& rm);
902 void mneg(const Register& rd, const Register& rn, const Register& rm);
911 void madd(const Register& rd,
917 void msub(const Register& rd,
955 void sdiv(const Register& rd, const Register& rn, const Register& rm);
958 void udiv(const Register& rd, const Register& rn, const Register& rm);
961 void rbit(const Register& rd, const Register& rn);
964 void rev16(const Register& rd, const Register& rn);
970 void rev(const Register& rd, const Register& rn);
973 void clz(const Register& rd, const Register& rn);
976 void cls(const Register& rd, const Register& rn);
1203 void movk(const Register& rd, uint64_t imm, int shift = -1) {
1204 MoveWide(rd, imm, shift, MOVK);
1208 void movn(const Register& rd, uint64_t imm, int shift = -1) {
1209 MoveWide(rd, imm, shift, MOVN);
1213 void movz(const Register& rd, uint64_t imm, int shift = -1) {
1214 MoveWide(rd, imm, shift, MOVZ);
1228 void mov(const Register& rd, const Register& rn);
1231 void mvn(const Register& rd, const Operand& operand);
1279 void fmov(const Register& rd, const VRegister& fn);
1291 void fmov(const Register& rd, const VRegister& vn, int index);
1420 void NEONFPConvertToInt(const Register& rd, const VRegister& vn, Instr op);
1445 void fcvtas(const Register& rd, const VRegister& vn);
1448 void fcvtau(const Register& rd, const VRegister& vn);
1457 void fcvtms(const Register& rd, const VRegister& vn);
1460 void fcvtmu(const Register& rd, const VRegister& vn);
1469 void fcvtns(const Register& rd, const VRegister& vn);
1472 void fcvtnu(const Register& rd, const VRegister& vn);
1475 void fcvtns(const VRegister& rd
1478 void fcvtnu(const VRegister& rd, const VRegister& vn);
1481 void fcvtzs(const Register& rd, const VRegister& vn, int fbits = 0);
1484 void fcvtzu(const Register& rd, const VRegister& vn, int fbits = 0);
1493 void fcvtps(const Register& rd, const VRegister& vn);
1496 void fcvtpu(const Register& rd, const VRegister& vn);
1892 void umov(const Register& rd, const VRegister& vn, int vn_index);
1895 void mov(const Register& rd, const VRegister& vn, int vn_index);
1898 void smov(const Register& rd, const VRegister& vn, int vn_index);
2584 static Instr Rd(CPURegister rd) {
2585 VIXL_ASSERT(rd.GetCode() != kSPRegInternalCode);
2586 return rd.GetCode() << Rd_offset;
2627 static Instr RdSP(Register rd) {
2628 VIXL_ASSERT(!rd.IsZero());
2629 return (rd.GetCode() & kRegCodeMask) << Rd_offset;
2691 static Instr SF(Register rd) {
2692 return rd.Is64Bits() ? SixtyFourBits : ThirtyTwoBits;
3122 void Logical(const Register& rd,
3126 void LogicalImmediate(const Register& rd,
3139 void AddSubWithCarry(const Register& rd,
3148 void EmitShift(const Register& rd,
3152 void EmitExtendShift(const Register& rd,
3157 void AddSub(const Register& rd,
3189 void MoveWide(const Register& rd,
3193 void DataProcShiftedRegister(const Register& rd,
3198 void DataProcExtendedRegister(const Register& rd,
3208 void ConditionalSelect(const Register& rd,
3213 void DataProcessing1Source(const Register& rd,
3216 void DataProcessing3Source(const Register& rd,