Home | History | Annotate | Download | only in arm64

Lines Matching refs:rd

1021   void adr(const Register& rd, Label* label);
1022 void adr(const Register& rd, int imm21);
1026 void add(const Register& rd,
1031 void adds(const Register& rd,
1039 void sub(const Register& rd,
1044 void subs(const Register& rd,
1052 void neg(const Register& rd,
1056 void negs(const Register& rd,
1060 void adc(const Register& rd,
1065 void adcs(const Register& rd,
1070 void sbc(const Register& rd,
1075 void sbcs(const Register& rd,
1080 void ngc(const Register& rd,
1084 void ngcs(const Register& rd,
1089 void and_(const Register& rd,
1094 void ands(const Register& rd,
1102 void bic(const Register& rd,
1107 void bics(const Register& rd,
1112 void orr(const Register& rd, const Register& rn, const Operand& operand);
1115 void orn(const Register& rd, const Register& rn, const Operand& operand);
1118 void eor(const Register& rd, const Register& rn, const Operand& operand);
1121 void eon(const Register& rd, const Register& rn, const Operand& operand);
1124 void lslv(const Register& rd, const Register& rn, const Register& rm);
1127 void lsrv(const Register& rd, const Register& rn, const Register& rm);
1130 void asrv(const Register& rd, const Register& rn, const Register& rm);
1133 void rorv(const Register& rd, const Register& rn, const Register& rm);
1137 void bfm(const Register& rd,
1143 void sbfm(const Register& rd,
1149 void ubfm(const Register& rd,
1156 void bfi(const Register& rd,
1162 bfm(rd, rn, (rd.SizeInBits() - lsb) & (rd.SizeInBits() - 1), width - 1);
1166 void bfxil(const Register& rd,
1172 bfm(rd, rn, lsb, lsb + width - 1);
1177 void asr(const Register& rd, const Register& rn, unsigned shift) {
1178 ASSERT(shift < rd.SizeInBits());
1179 sbfm(rd, rn, shift, rd.SizeInBits() - 1);
1183 void sbfiz(const Register& rd,
1189 sbfm(rd, rn, (rd.SizeInBits() - lsb) & (rd.SizeInBits() - 1), width - 1);
1193 void sbfx(const Register& rd,
1199 sbfm(rd, rn, lsb, lsb + width - 1);
1203 void sxtb(const Register& rd, const Register& rn) {
1204 sbfm(rd, rn, 0, 7);
1208 void sxth(const Register& rd, const Register& rn) {
1209 sbfm(rd, rn, 0, 15);
1213 void sxtw(const Register& rd, const Register& rn) {
1214 sbfm(rd, rn, 0, 31);
1219 void lsl(const Register& rd, const Register& rn, unsigned shift) {
1220 unsigned reg_size = rd.SizeInBits();
1222 ubfm(rd, rn, (reg_size - shift) % reg_size, reg_size - shift - 1);
1226 void lsr(const Register& rd, const Register& rn, unsigned shift) {
1227 ASSERT(shift < rd.SizeInBits());
1228 ubfm(rd, rn, shift, rd.SizeInBits() - 1);
1232 void ubfiz(const Register& rd,
1238 ubfm(rd, rn, (rd.SizeInBits() - lsb) & (rd.SizeInBits() - 1), width - 1);
1242 void ubfx(const Register& rd,
1248 ubfm(rd, rn, lsb, lsb + width - 1);
1252 void uxtb(const Register& rd, const Register& rn) {
1253 ubfm(rd, rn, 0, 7);
1257 void uxth(const Register& rd, const Register& rn) {
1258 ubfm(rd, rn, 0, 15);
1262 void uxtw(const Register& rd, const Register& rn) {
1263 ubfm(rd, rn, 0, 31);
1267 void extr(const Register& rd,
1272 // Conditional select: rd = cond ? rn : rm.
1273 void csel(const Register& rd,
1278 // Conditional select increment: rd = cond ? rn : rm + 1.
1279 void csinc(const Register& rd,
1284 // Conditional select inversion: rd = cond ? rn : ~rm.
1285 void csinv(const Register& rd,
1290 // Conditional select negation: rd = cond ? rn : -rm.
1291 void csneg(const Register& rd,
1296 // Conditional set: rd = cond ? 1 : 0.
1297 void cset(const Register& rd, Condition cond);
1299 // Conditional set minus: rd = cond ? -1 : 0.
1300 void csetm(const Register& rd, Condition cond);
1302 // Conditional increment: rd = cond ? rn + 1 : rn.
1303 void cinc(const Register& rd, const Register& rn, Condition cond);
1305 // Conditional invert: rd = cond ? ~rn : rn.
1306 void cinv(const Register& rd, const Register& rn, Condition cond);
1308 // Conditional negate: rd = cond ? -rn : rn.
1309 void cneg(const Register& rd, const Register& rn, Condition cond);
1312 void ror(const Register& rd, const Register& rs, unsigned shift) {
1313 extr(rd, rs, rs, shift);
1331 void mul(const Register& rd, const Register& rn, const Register& rm);
1334 void madd(const Register& rd,
1340 void mneg(const Register& rd, const Register& rn, const Register& rm);
1343 void msub(const Register& rd,
1349 void smull(const Register& rd, const Register& rn, const Register& rm);
1352 void smulh(const Register& rd, const Register& rn, const Register& rm);
1355 void smaddl(const Register& rd,
1361 void umaddl(const Register& rd,
1367 void smsubl(const Register& rd,
1373 void umsubl(const Register& rd,
1379 void sdiv(const Register& rd, const Register& rn, const Register& rm);
1382 void udiv(const Register& rd, const Register& rn, const Register& rm);
1385 void rbit(const Register& rd, const Register& rn);
1386 void rev16(const Register& rd, const Register& rn);
1387 void rev32(const Register& rd, const Register& rn);
1388 void rev(const Register& rd, const Register& rn);
1389 void clz(const Register& rd, const Register& rn);
1390 void cls(const Register& rd, const Register& rn);
1457 void movk(const Register& rd, uint64_t imm, int shift = -1) {
1458 MoveWide(rd, imm, shift, MOVK);
1462 void movn(const Register& rd, uint64_t imm, int shift = -1) {
1463 MoveWide(rd, imm, shift, MOVN);
1467 void movz(const Register& rd, uint64_t imm, int shift = -1) {
1468 MoveWide(rd, imm, shift, MOVZ);
1479 void mov(const Register& rd, const Register& rn);
1482 void mvn(const Register& rd, const Operand& operand);
1527 void fmov(Register rd, FPRegister fn);
1623 void FPConvertToInt(const Register& rd,
1631 void fcvtau(const Register& rd, const FPRegister& fn);
1634 void fcvtas(const Register& rd, const FPRegister& fn);
1637 void fcvtmu(const Register& rd, const FPRegister& fn);
1640 void fcvtms(const Register& rd, const FPRegister& fn);
1643 void fcvtnu(const Register& rd, const FPRegister& fn);
1646 void fcvtns(const Register& rd, const FPRegister& fn);
1649 void fcvtzu(const Register& rd, const FPRegister& fn);
1652 void fcvtzs(const Register& rd, const FPRegister& fn);
1709 static Instr Rd(CPURegister rd) {
1710 ASSERT(rd.code() != kSPRegInternalCode);
1711 return rd.code() << Rd_offset;
1741 static Instr RdSP(Register rd) {
1742 ASSERT(!rd.IsZero());
1743 return (rd.code() & kRegCodeMask) << Rd_offset;
1766 inline static Instr SF(Register rd);
1886 void Logical(const Register& rd,
1890 void LogicalImmediate(const Register& rd,
1904 void AddSubWithCarry(const Register& rd,
1912 void EmitShift(const Register& rd,
1916 void EmitExtendShift(const Register& rd,
1921 void AddSub(const Register& rd,
1954 void MoveWide(const Register& rd,
1958 void DataProcShiftedRegister(const Register& rd,
1963 void DataProcExtendedRegister(const Register& rd,
1976 void ConditionalSelect(const Register& rd,
1981 void DataProcessing1Source(const Register& rd,
1984 void DataProcessing3Source(const Register& rd,
2238 void MovInt64(const Register& rd, int64_t imm);