Home | History | Annotate | Download | only in arm64

Lines Matching refs:rd

46 void MacroAssembler::And(const Register& rd,
50 DCHECK(!rd.IsZero());
51 LogicalMacro(rd, rn, operand, AND);
55 void MacroAssembler::Ands(const Register& rd,
59 DCHECK(!rd.IsZero());
60 LogicalMacro(rd, rn, operand, ANDS);
71 void MacroAssembler::Bic(const Register& rd,
75 DCHECK(!rd.IsZero());
76 LogicalMacro(rd, rn, operand, BIC);
80 void MacroAssembler::Bics(const Register& rd,
84 DCHECK(!rd.IsZero());
85 LogicalMacro(rd, rn, operand, BICS);
89 void MacroAssembler::Orr(const Register& rd,
93 DCHECK(!rd.IsZero());
94 LogicalMacro(rd, rn, operand, ORR);
98 void MacroAssembler::Orn(const Register& rd,
102 DCHECK(!rd.IsZero());
103 LogicalMacro(rd, rn, operand, ORN);
107 void MacroAssembler::Eor(const Register& rd,
111 DCHECK(!rd.IsZero());
112 LogicalMacro(rd, rn, operand, EOR);
116 void MacroAssembler::Eon(const Register& rd,
120 DCHECK(!rd.IsZero());
121 LogicalMacro(rd, rn, operand, EON);
151 void MacroAssembler::Add(const Register& rd,
157 AddSubMacro(rd, rn, -operand.ImmediateValue(), LeaveFlags, SUB);
159 AddSubMacro(rd, rn, operand, LeaveFlags, ADD);
163 void MacroAssembler::Adds(const Register& rd,
169 AddSubMacro(rd, rn, -operand.ImmediateValue(), SetFlags, SUB);
171 AddSubMacro(rd, rn, operand, SetFlags, ADD);
176 void MacroAssembler::Sub(const Register& rd,
182 AddSubMacro(rd, rn, -operand.ImmediateValue(), LeaveFlags, ADD);
184 AddSubMacro(rd, rn, operand, LeaveFlags, SUB);
189 void MacroAssembler::Subs(const Register& rd,
195 AddSubMacro(rd, rn, -operand.ImmediateValue(), SetFlags, ADD);
197 AddSubMacro(rd, rn, operand, SetFlags, SUB);
214 void MacroAssembler::Neg(const Register& rd,
217 DCHECK(!rd.IsZero());
219 Mov(rd, -operand.ImmediateValue());
221 Sub(rd, AppropriateZeroRegFor(rd), operand);
226 void MacroAssembler::Negs(const Register& rd,
229 Subs(rd, AppropriateZeroRegFor(rd), operand);
233 void MacroAssembler::Adc(const Register& rd,
237 DCHECK(!rd.IsZero());
238 AddSubWithCarryMacro(rd, rn, operand, LeaveFlags, ADC);
242 void MacroAssembler::Adcs(const Register& rd,
246 DCHECK(!rd.IsZero());
247 AddSubWithCarryMacro(rd, rn, operand, SetFlags, ADC);
251 void MacroAssembler::Sbc(const Register& rd,
255 DCHECK(!rd.IsZero());
256 AddSubWithCarryMacro(rd, rn, operand, LeaveFlags, SBC);
260 void MacroAssembler::Sbcs(const Register& rd,
264 DCHECK(!rd.IsZero());
265 AddSubWithCarryMacro(rd, rn, operand, SetFlags, SBC);
269 void MacroAssembler::Ngc(const Register& rd,
272 DCHECK(!rd.IsZero());
273 Register zr = AppropriateZeroRegFor(rd);
274 Sbc(rd, zr, operand);
278 void MacroAssembler::Ngcs(const Register& rd,
281 DCHECK(!rd.IsZero());
282 Register zr = AppropriateZeroRegFor(rd);
283 Sbcs(rd, zr, operand);
287 void MacroAssembler::Mvn(const Register& rd, uint64_t imm) {
289 DCHECK(!rd.IsZero());
290 Mov(rd, ~imm);
313 void MacroAssembler::Asr(const Register& rd,
317 DCHECK(!rd.IsZero());
318 asr(rd, rn, shift);
322 void MacroAssembler::Asr(const Register& rd,
326 DCHECK(!rd.IsZero());
327 asrv(rd, rn, rm);
343 void MacroAssembler::Bfi(const Register& rd,
348 DCHECK(!rd.IsZero());
349 bfi(rd, rn, lsb, width);
353 void MacroAssembler::Bfxil(const Register& rd,
358 DCHECK(!rd.IsZero());
359 bfxil(rd, rn, lsb, width);
395 void MacroAssembler::Cinc(const Register& rd,
399 DCHECK(!rd.IsZero());
401 cinc(rd, rn, cond);
405 void MacroAssembler::Cinv(const Register& rd,
409 DCHECK(!rd.IsZero());
411 cinv(rd, rn, cond);
415 void MacroAssembler::Cls(const Register& rd, const Register& rn) {
417 DCHECK(!rd.IsZero());
418 cls(rd, rn);
422 void MacroAssembler::Clz(const Register& rd, const Register& rn) {
424 DCHECK(!rd.IsZero());
425 clz(rd, rn);
429 void MacroAssembler::Cneg(const Register& rd,
433 DCHECK(!rd.IsZero());
435 cneg(rd, rn, cond);
441 void MacroAssembler::CzeroX(const Register& rd,
444 DCHECK(!rd.IsSP() && rd.Is64Bits());
446 csel(rd, xzr, rd, cond);
452 void MacroAssembler::CmovX(const Register& rd,
456 DCHECK(!rd.IsSP());
457 DCHECK(rd.Is64Bits() && rn.Is64Bits());
459 if (!rd.is(rn)) {
460 csel(rd, rn, rd, cond);
465 void MacroAssembler::Cset(const Register& rd, Condition cond) {
467 DCHECK(!rd.IsZero());
469 cset(rd, cond);
473 void MacroAssembler::Csetm(const Register& rd, Condition cond) {
475 DCHECK(!rd.IsZero());
477 csetm(rd, cond);
481 void MacroAssembler::Csinc(const Register& rd,
486 DCHECK(!rd.IsZero());
488 csinc(rd, rn, rm, cond);
492 void MacroAssembler::Csinv(const Register& rd,
497 DCHECK(!rd.IsZero());
499 csinv(rd, rn, rm, cond);
503 void MacroAssembler::Csneg(const Register& rd,
508 DCHECK(!rd.IsZero());
510 csneg(rd, rn, rm, cond);
532 void MacroAssembler::Extr(const Register& rd,
537 DCHECK(!rd.IsZero());
538 extr(rd, rn, rm, lsb);
601 void MacroAssembler::Fcvtas(const Register& rd, const FPRegister& fn) {
603 rd.IsZero());
604 fcvtas(rd, fn);
608 void MacroAssembler::Fcvtau(const Register& rd, const FPRegister& fn) {
610 DCHECK(!rd.IsZero());
611 fcvtau(rd, fn);
615 void MacroAssembler::Fcvtms(const Register& rd, const FPRegister& fn) {
617 DCHECK(!rd.IsZero());
618 fcvtms(rd, fn);
622 void MacroAssembler::Fcvtmu(const Register& rd, const FPRegister& fn) {
624 DCHECK(!rd.IsZero());
625 fcvtmu(rd, fn);
629 void MacroAssembler::Fcvtns(const Register& rd, const FPRegister& fn) {
631 DCHECK(!rd.IsZero());
632 fcvtns(rd, fn);
636 void MacroAssembler::Fcvtnu(const Register& rd, const FPRegister& fn) {
638 DCHECK(!rd.IsZero());
639 fcvtnu(rd, fn);
643 void MacroAssembler::Fcvtzs(const Register& rd, const FPRegister& fn) {
645 DCHECK(!rd.IsZero());
646 fcvtzs(rd, fn);
648 void MacroAssembler::Fcvtzu(const Register& rd, const FPRegister& fn) {
650 DCHECK(!rd.IsZero());
651 fcvtzu(rd, fn);
762 void MacroAssembler::Fmov(Register rd, FPRegister fn) {
764 DCHECK(!rd.IsZero());
765 fmov(rd, fn);
888 void MacroAssembler::Lsl(const Register& rd,
892 DCHECK(!rd.IsZero());
893 lsl(rd, rn, shift);
897 void MacroAssembler::Lsl(const Register& rd,
901 DCHECK(!rd.IsZero());
902 lslv(rd, rn, rm);
906 void MacroAssembler::Lsr(const Register& rd,
910 DCHECK(!rd.IsZero());
911 lsr(rd, rn, shift);
915 void MacroAssembler::Lsr(const Register& rd,
919 DCHECK(!rd.IsZero());
920 lsrv(rd, rn, rm);
924 void MacroAssembler::Madd(const Register& rd,
929 DCHECK(!rd.IsZero());
930 madd(rd, rn, rm, ra);
934 void MacroAssembler::Mneg(const Register& rd,
938 DCHECK(!rd.IsZero());
939 mneg(rd, rn, rm);
943 void MacroAssembler::Mov(const Register& rd, const Register& rn) {
945 DCHECK(!rd.IsZero());
949 if (!rd.Is(rn) || !rd.Is64Bits()) {
950 Assembler::mov(rd, rn);
955 void MacroAssembler::Movk(const Register& rd, uint64_t imm, int shift) {
957 DCHECK(!rd.IsZero());
958 movk(rd, imm, shift);
975 void MacroAssembler::Msub(const Register& rd,
980 DCHECK(!rd.IsZero());
981 msub(rd, rn, rm, ra);
985 void MacroAssembler::Mul(const Register& rd,
989 DCHECK(!rd.IsZero());
990 mul(rd, rn, rm);
994 void MacroAssembler::Rbit(const Register& rd, const Register& rn) {
996 DCHECK(!rd.IsZero());
997 rbit(rd, rn);
1009 void MacroAssembler::Rev(const Register& rd, const Register& rn) {
1011 DCHECK(!rd.IsZero());
1012 rev(rd, rn);
1016 void MacroAssembler::Rev16(const Register& rd, const Register& rn) {
1018 DCHECK(!rd.IsZero());
1019 rev16(rd, rn);
1023 void MacroAssembler::Rev32(const Register& rd, const Register& rn) {
1025 DCHECK(!rd.IsZero());
1026 rev32(rd, rn);
1030 void MacroAssembler::Ror(const Register& rd,
1034 DCHECK(!rd.IsZero());
1035 ror(rd, rs, shift);
1039 void MacroAssembler::Ror(const Register& rd,
1043 DCHECK(!rd.IsZero());
1044 rorv(rd, rn, rm);
1048 void MacroAssembler::Sbfiz(const Register& rd,
1053 DCHECK(!rd.IsZero());
1054 sbfiz(rd, rn, lsb, width);
1058 void MacroAssembler::Sbfx(const Register& rd,
1063 DCHECK(!rd.IsZero());
1064 sbfx(rd, rn, lsb, width);
1076 void MacroAssembler::Sdiv(const Register& rd,
1080 DCHECK(!rd.IsZero());
1081 sdiv(rd, rn, rm);
1085 void MacroAssembler::Smaddl(const Register& rd,
1090 DCHECK(!rd.IsZero());
1091 smaddl(rd, rn, rm, ra);
1095 void MacroAssembler::Smsubl(const Register& rd,
1100 DCHECK(!rd.IsZero());
1101 smsubl(rd, rn, rm, ra);
1105 void MacroAssembler::Smull(const Register& rd,
1109 DCHECK(!rd.IsZero());
1110 smull(rd, rn, rm);
1114 void MacroAssembler::Smulh(const Register& rd,
1118 DCHECK(!rd.IsZero());
1119 smulh(rd, rn, rm);
1131 void MacroAssembler::Sxtb(const Register& rd, const Register& rn) {
1133 DCHECK(!rd.IsZero());
1134 sxtb(rd, rn);
1138 void MacroAssembler::Sxth(const Register& rd, const Register& rn) {
1140 DCHECK(!rd.IsZero());
1141 sxth(rd, rn);
1145 void MacroAssembler::Sxtw(const Register& rd, const Register& rn) {
1147 DCHECK(!rd.IsZero());
1148 sxtw(rd, rn);
1152 void MacroAssembler::Ubfiz(const Register& rd,
1157 DCHECK(!rd.IsZero());
1158 ubfiz(rd, rn, lsb, width);
1162 void MacroAssembler::Ubfx(const Register& rd,
1167 DCHECK(!rd.IsZero());
1168 ubfx(rd, rn, lsb, width);
1180 void MacroAssembler::Udiv(const Register& rd,
1184 DCHECK(!rd.IsZero());
1185 udiv(rd, rn, rm);
1189 void MacroAssembler::Umaddl(const Register& rd,
1194 DCHECK(!rd.IsZero());
1195 umaddl(rd, rn, rm, ra);
1199 void MacroAssembler::Umsubl(const Register& rd,
1204 DCHECK(!rd.IsZero());
1205 umsubl(rd, rn, rm, ra);
1209 void MacroAssembler::Uxtb(const Register& rd, const Register& rn) {
1211 DCHECK(!rd.IsZero());
1212 uxtb(rd, rn);
1216 void MacroAssembler::Uxth(const Register& rd, const Register& rn) {
1218 DCHECK(!rd.IsZero());
1219 uxth(rd, rn);
1223 void MacroAssembler::Uxtw(const Register& rd, const Register& rn) {
1225 DCHECK(!rd.IsZero());
1226 uxtw(rd, rn);