Home | History | Annotate | Download | only in a64

Lines Matching refs:rd

731   void adr(const Register& rd, Label* label);
734 void adr(const Register& rd, int imm21);
738 void add(const Register& rd,
743 void adds(const Register& rd,
751 void sub(const Register& rd,
756 void subs(const Register& rd,
764 void neg(const Register& rd,
768 void negs(const Register& rd,
772 void adc(const Register& rd,
777 void adcs(const Register& rd,
782 void sbc(const Register& rd,
787 void sbcs(const Register& rd,
792 void ngc(const Register& rd,
796 void ngcs(const Register& rd,
801 void and_(const Register& rd,
806 void ands(const Register& rd,
814 void bic(const Register& rd,
819 void bics(const Register& rd,
824 void orr(const Register& rd, const Register& rn, const Operand& operand);
827 void orn(const Register& rd, const Register& rn, const Operand& operand);
830 void eor(const Register& rd, const Register& rn, const Operand& operand);
833 void eon(const Register& rd, const Register& rn, const Operand& operand);
836 void lslv(const Register& rd, const Register& rn, const Register& rm);
839 void lsrv(const Register& rd, const Register& rn, const Register& rm);
842 void asrv(const Register& rd, const Register& rn, const Register& rm);
845 void rorv(const Register& rd, const Register& rn, const Register& rm);
849 void bfm(const Register& rd,
855 void sbfm(const Register& rd,
861 void ubfm(const Register& rd,
868 inline void bfi(const Register& rd,
874 bfm(rd, rn, (rd.size() - lsb) & (rd.size() - 1), width - 1);
878 inline void bfxil(const Register& rd,
884 bfm(rd, rn, lsb, lsb + width - 1);
889 inline void asr(const Register& rd, const Register& rn, unsigned shift) {
890 VIXL_ASSERT(shift < rd.size());
891 sbfm(rd, rn, shift, rd.size() - 1);
895 inline void sbfiz(const Register& rd,
901 sbfm(rd, rn, (rd.size() - lsb) & (rd.size() - 1), width - 1);
905 inline void sbfx(const Register& rd,
911 sbfm(rd, rn, lsb, lsb + width - 1);
915 inline void sxtb(const Register& rd, const Register& rn) {
916 sbfm(rd, rn, 0, 7);
920 inline void sxth(const Register& rd, const Register& rn) {
921 sbfm(rd, rn, 0, 15);
925 inline void sxtw(const Register& rd, const Register& rn) {
926 sbfm(rd, rn, 0, 31);
931 inline void lsl(const Register& rd, const Register& rn, unsigned shift) {
932 unsigned reg_size = rd.size();
934 ubfm(rd, rn, (reg_size - shift) % reg_size, reg_size - shift - 1);
938 inline void lsr(const Register& rd, const Register& rn, unsigned shift) {
939 VIXL_ASSERT(shift < rd.size());
940 ubfm(rd, rn, shift, rd.size() - 1);
944 inline void ubfiz(const Register& rd,
950 ubfm(rd, rn, (rd.size() - lsb) & (rd.size() - 1), width - 1);
954 inline void ubfx(const Register& rd,
960 ubfm(rd, rn, lsb, lsb + width - 1);
964 inline void uxtb(const Register& rd, const Register& rn) {
965 ubfm(rd, rn, 0, 7);
969 inline void uxth(const Register& rd, const Register& rn) {
970 ubfm(rd, rn, 0, 15);
974 inline void uxtw(const Register& rd, const Register& rn) {
975 ubfm(rd, rn, 0, 31);
979 void extr(const Register& rd,
984 // Conditional select: rd = cond ? rn : rm.
985 void csel(const Register& rd,
990 // Conditional select increment: rd = cond ? rn : rm + 1.
991 void csinc(const Register& rd,
996 // Conditional select inversion: rd = cond ? rn : ~rm.
997 void csinv(const Register& rd,
1002 // Conditional select negation: rd = cond ? rn : -rm.
1003 void csneg(const Register& rd,
1008 // Conditional set: rd = cond ? 1 : 0.
1009 void cset(const Register& rd, Condition cond);
1011 // Conditional set mask: rd = cond ? -1 : 0.
1012 void csetm(const Register& rd, Condition cond);
1014 // Conditional increment: rd = cond ? rn + 1 : rn.
1015 void cinc(const Register& rd, const Register& rn, Condition cond);
1017 // Conditional invert: rd = cond ? ~rn : rn.
1018 void cinv(const Register& rd, const Register& rn, Condition cond);
1020 // Conditional negate: rd = cond ? -rn : rn.
1021 void cneg(const Register& rd, const Register& rn, Condition cond);
1024 inline void ror(const Register& rd, const Register& rs, unsigned shift) {
1025 extr(rd, rs, rs, shift);
1042 void mul(const Register& rd, const Register& rn, const Register& rm);
1045 void mneg(const Register& rd, const Register& rn, const Register& rm);
1048 void smull(const Register& rd, const Register& rn, const Register& rm);
1054 void madd(const Register& rd,
1060 void msub(const Register& rd,
1066 void smaddl(const Register& rd,
1072 void umaddl(const Register& rd,
1078 void smsubl(const Register& rd,
1084 void umsubl(const Register& rd,
1090 void sdiv(const Register& rd, const Register& rn, const Register& rm);
1093 void udiv(const Register& rd, const Register& rn, const Register& rm);
1096 void rbit(const Register& rd, const Register& rn);
1099 void rev16(const Register& rd, const Register& rn);
1102 void rev32(const Register& rd, const Register& rn);
1105 void rev(const Register& rd, const Register& rn);
1108 void clz(const Register& rd, const Register& rn);
1111 void cls(const Register& rd, const Register& rn);
1180 void movk(const Register& rd, uint64_t imm, int shift = -1) {
1181 MoveWide(rd, imm, shift, MOVK);
1185 void movn(const Register& rd, uint64_t imm, int shift = -1) {
1186 MoveWide(rd, imm, shift, MOVN);
1190 void movz(const Register& rd, uint64_t imm, int shift = -1) {
1191 MoveWide(rd, imm, shift, MOVZ);
1202 void mov(const Register& rd, const Register& rn);
1205 void mvn(const Register& rd, const Operand& operand);
1240 void fmov(const Register& rd, const FPRegister& fn);
1336 void FPConvertToInt(const Register& rd,
1344 void fcvtas(const Register& rd, const FPRegister& fn);
1347 void fcvtau(const Register& rd, const FPRegister& fn);
1350 void fcvtms(const Register& rd, const FPRegister& fn);
1353 void fcvtmu(const Register& rd, const FPRegister& fn);
1356 void fcvtns(const Register& rd, const FPRegister& fn);
1359 void fcvtnu(const Register& rd, const FPRegister& fn);
1362 void fcvtzs(const Register& rd, const FPRegister& fn);
1365 void fcvtzu(const Register& rd, const FPRegister& fn);
1402 static Instr Rd(CPURegister rd) {
1403 VIXL_ASSERT(rd.code() != kSPRegInternalCode);
1404 return rd.code() << Rd_offset;
1434 static Instr RdSP(Register rd) {
1435 VIXL_ASSERT(!rd.IsZero());
1436 return (rd.code() & kRegCodeMask) << Rd_offset;
1500 static Instr SF(Register rd) {
1501 return rd.Is64Bits() ? SixtyFourBits : ThirtyTwoBits;
1708 void Logical(const Register& rd,
1712 void LogicalImmediate(const Register& rd,
1731 void AddSubWithCarry(const Register& rd,
1742 void EmitShift(const Register& rd,
1746 void EmitExtendShift(const Register& rd,
1751 void AddSub(const Register& rd,
1775 void MoveWide(const Register& rd,
1779 void DataProcShiftedRegister(const Register& rd,
1784 void DataProcExtendedRegister(const Register& rd,
1798 void ConditionalSelect(const Register& rd,
1803 void DataProcessing1Source(const Register& rd,
1806 void DataProcessing3Source(const Register& rd,