Home | History | Annotate | Download | only in arm64

Lines Matching refs:rd

45 void MacroAssembler::And(const Register& rd,
49 ASSERT(!rd.IsZero());
50 LogicalMacro(rd, rn, operand, AND);
54 void MacroAssembler::Ands(const Register& rd,
58 ASSERT(!rd.IsZero());
59 LogicalMacro(rd, rn, operand, ANDS);
70 void MacroAssembler::Bic(const Register& rd,
74 ASSERT(!rd.IsZero());
75 LogicalMacro(rd, rn, operand, BIC);
79 void MacroAssembler::Bics(const Register& rd,
83 ASSERT(!rd.IsZero());
84 LogicalMacro(rd, rn, operand, BICS);
88 void MacroAssembler::Orr(const Register& rd,
92 ASSERT(!rd.IsZero());
93 LogicalMacro(rd, rn, operand, ORR);
97 void MacroAssembler::Orn(const Register& rd,
101 ASSERT(!rd.IsZero());
102 LogicalMacro(rd, rn, operand, ORN);
106 void MacroAssembler::Eor(const Register& rd,
110 ASSERT(!rd.IsZero());
111 LogicalMacro(rd, rn, operand, EOR);
115 void MacroAssembler::Eon(const Register& rd,
119 ASSERT(!rd.IsZero());
120 LogicalMacro(rd, rn, operand, EON);
150 void MacroAssembler::Add(const Register& rd,
155 AddSubMacro(rd, rn, -operand.ImmediateValue(), LeaveFlags, SUB);
157 AddSubMacro(rd, rn, operand, LeaveFlags, ADD);
161 void MacroAssembler::Adds(const Register& rd,
166 AddSubMacro(rd, rn, -operand.ImmediateValue(), SetFlags, SUB);
168 AddSubMacro(rd, rn, operand, SetFlags, ADD);
173 void MacroAssembler::Sub(const Register& rd,
178 AddSubMacro(rd, rn, -operand.ImmediateValue(), LeaveFlags, ADD);
180 AddSubMacro(rd, rn, operand, LeaveFlags, SUB);
185 void MacroAssembler::Subs(const Register& rd,
190 AddSubMacro(rd, rn, -operand.ImmediateValue(), SetFlags, ADD);
192 AddSubMacro(rd, rn, operand, SetFlags, SUB);
209 void MacroAssembler::Neg(const Register& rd,
212 ASSERT(!rd.IsZero());
214 Mov(rd, -operand.ImmediateValue());
216 Sub(rd, AppropriateZeroRegFor(rd), operand);
221 void MacroAssembler::Negs(const Register& rd,
224 Subs(rd, AppropriateZeroRegFor(rd), operand);
228 void MacroAssembler::Adc(const Register& rd,
232 ASSERT(!rd.IsZero());
233 AddSubWithCarryMacro(rd, rn, operand, LeaveFlags, ADC);
237 void MacroAssembler::Adcs(const Register& rd,
241 ASSERT(!rd.IsZero());
242 AddSubWithCarryMacro(rd, rn, operand, SetFlags, ADC);
246 void MacroAssembler::Sbc(const Register& rd,
250 ASSERT(!rd.IsZero());
251 AddSubWithCarryMacro(rd, rn, operand, LeaveFlags, SBC);
255 void MacroAssembler::Sbcs(const Register& rd,
259 ASSERT(!rd.IsZero());
260 AddSubWithCarryMacro(rd, rn, operand, SetFlags, SBC);
264 void MacroAssembler::Ngc(const Register& rd,
267 ASSERT(!rd.IsZero());
268 Register zr = AppropriateZeroRegFor(rd);
269 Sbc(rd, zr, operand);
273 void MacroAssembler::Ngcs(const Register& rd,
276 ASSERT(!rd.IsZero());
277 Register zr = AppropriateZeroRegFor(rd);
278 Sbcs(rd, zr, operand);
282 void MacroAssembler::Mvn(const Register& rd, uint64_t imm) {
284 ASSERT(!rd.IsZero());
285 Mov(rd, ~imm);
298 void MacroAssembler::Asr(const Register& rd,
302 ASSERT(!rd.IsZero());
303 asr(rd, rn, shift);
307 void MacroAssembler::Asr(const Register& rd,
311 ASSERT(!rd.IsZero());
312 asrv(rd, rn, rm);
328 void MacroAssembler::Bfi(const Register& rd,
333 ASSERT(!rd.IsZero());
334 bfi(rd, rn, lsb, width);
338 void MacroAssembler::Bfxil(const Register& rd,
343 ASSERT(!rd.IsZero());
344 bfxil(rd, rn, lsb, width);
380 void MacroAssembler::Cinc(const Register& rd,
384 ASSERT(!rd.IsZero());
386 cinc(rd, rn, cond);
390 void MacroAssembler::Cinv(const Register& rd,
394 ASSERT(!rd.IsZero());
396 cinv(rd, rn, cond);
400 void MacroAssembler::Cls(const Register& rd, const Register& rn) {
402 ASSERT(!rd.IsZero());
403 cls(rd, rn);
407 void MacroAssembler::Clz(const Register& rd, const Register& rn) {
409 ASSERT(!rd.IsZero());
410 clz(rd, rn);
414 void MacroAssembler::Cneg(const Register& rd,
418 ASSERT(!rd.IsZero());
420 cneg(rd, rn, cond);
426 void MacroAssembler::CzeroX(const Register& rd,
429 ASSERT(!rd.IsSP() && rd.Is64Bits());
431 csel(rd, xzr, rd, cond);
437 void MacroAssembler::CmovX(const Register& rd,
441 ASSERT(!rd.IsSP());
442 ASSERT(rd.Is64Bits() && rn.Is64Bits());
444 if (!rd.is(rn)) {
445 csel(rd, rn, rd, cond);
450 void MacroAssembler::Cset(const Register& rd, Condition cond) {
452 ASSERT(!rd.IsZero());
454 cset(rd, cond);
458 void MacroAssembler::Csetm(const Register& rd, Condition cond) {
460 ASSERT(!rd.IsZero());
462 csetm(rd, cond);
466 void MacroAssembler::Csinc(const Register& rd,
471 ASSERT(!rd.IsZero());
473 csinc(rd, rn, rm, cond);
477 void MacroAssembler::Csinv(const Register& rd,
482 ASSERT(!rd.IsZero());
484 csinv(rd, rn, rm, cond);
488 void MacroAssembler::Csneg(const Register& rd,
493 ASSERT(!rd.IsZero());
495 csneg(rd, rn, rm, cond);
517 void MacroAssembler::Extr(const Register& rd,
522 ASSERT(!rd.IsZero());
523 extr(rd, rn, rm, lsb);
586 void MacroAssembler::Fcvtas(const Register& rd, const FPRegister& fn) {
588 ASSERT(!rd.IsZero());
589 fcvtas(rd, fn);
593 void MacroAssembler::Fcvtau(const Register& rd, const FPRegister& fn) {
595 ASSERT(!rd.IsZero());
596 fcvtau(rd, fn);
600 void MacroAssembler::Fcvtms(const Register& rd, const FPRegister& fn) {
602 ASSERT(!rd.IsZero());
603 fcvtms(rd, fn);
607 void MacroAssembler::Fcvtmu(const Register& rd, const FPRegister& fn) {
609 ASSERT(!rd.IsZero());
610 fcvtmu(rd, fn);
614 void MacroAssembler::Fcvtns(const Register& rd, const FPRegister& fn) {
616 rd.IsZero());
617 fcvtns(rd, fn);
621 void MacroAssembler::Fcvtnu(const Register& rd, const FPRegister& fn) {
623 ASSERT(!rd.IsZero());
624 fcvtnu(rd, fn);
628 void MacroAssembler::Fcvtzs(const Register& rd, const FPRegister& fn) {
630 ASSERT(!rd.IsZero());
631 fcvtzs(rd, fn);
633 void MacroAssembler::Fcvtzu(const Register& rd, const FPRegister& fn) {
635 ASSERT(!rd.IsZero());
636 fcvtzu(rd, fn);
747 void MacroAssembler::Fmov(Register rd, FPRegister fn) {
749 ASSERT(!rd.IsZero());
750 fmov(rd, fn);
892 void MacroAssembler::Lsl(const Register& rd,
896 ASSERT(!rd.IsZero());
897 lsl(rd, rn, shift);
901 void MacroAssembler::Lsl(const Register& rd,
905 ASSERT(!rd.IsZero());
906 lslv(rd, rn, rm);
910 void MacroAssembler::Lsr(const Register& rd,
914 ASSERT(!rd.IsZero());
915 lsr(rd, rn, shift);
919 void MacroAssembler::Lsr(const Register& rd,
923 ASSERT(!rd.IsZero());
924 lsrv(rd, rn, rm);
928 void MacroAssembler::Madd(const Register& rd,
933 ASSERT(!rd.IsZero());
934 madd(rd, rn, rm, ra);
938 void MacroAssembler::Mneg(const Register& rd,
942 ASSERT(!rd.IsZero());
943 mneg(rd, rn, rm);
947 void MacroAssembler::Mov(const Register& rd, const Register& rn) {
949 ASSERT(!rd.IsZero());
953 if (!rd.Is(rn) || !rd.Is64Bits()) {
954 Assembler::mov(rd, rn);
959 void MacroAssembler::Movk(const Register& rd, uint64_t imm, int shift) {
961 ASSERT(!rd.IsZero());
962 movk(rd, imm, shift);
979 void MacroAssembler::Msub(const Register& rd,
984 ASSERT(!rd.IsZero());
985 msub(rd, rn, rm, ra);
989 void MacroAssembler::Mul(const Register& rd,
993 ASSERT(!rd.IsZero());
994 mul(rd, rn, rm);
998 void MacroAssembler::Rbit(const Register& rd, const Register& rn) {
1000 ASSERT(!rd.IsZero());
1001 rbit(rd, rn);
1013 void MacroAssembler::Rev(const Register& rd, const Register& rn) {
1015 ASSERT(!rd.IsZero());
1016 rev(rd, rn);
1020 void MacroAssembler::Rev16(const Register& rd, const Register& rn) {
1022 ASSERT(!rd.IsZero());
1023 rev16(rd, rn);
1027 void MacroAssembler::Rev32(const Register& rd, const Register& rn) {
1029 ASSERT(!rd.IsZero());
1030 rev32(rd, rn);
1034 void MacroAssembler::Ror(const Register& rd,
1038 ASSERT(!rd.IsZero());
1039 ror(rd, rs, shift);
1043 void MacroAssembler::Ror(const Register& rd,
1047 ASSERT(!rd.IsZero());
1048 rorv(rd, rn, rm);
1052 void MacroAssembler::Sbfiz(const Register& rd,
1057 ASSERT(!rd.IsZero());
1058 sbfiz(rd, rn, lsb, width);
1062 void MacroAssembler::Sbfx(const Register& rd,
1067 ASSERT(!rd.IsZero());
1068 sbfx(rd, rn, lsb, width);
1080 void MacroAssembler::Sdiv(const Register& rd,
1084 ASSERT(!rd.IsZero());
1085 sdiv(rd, rn, rm);
1089 void MacroAssembler::Smaddl(const Register& rd,
1094 ASSERT(!rd.IsZero());
1095 smaddl(rd, rn, rm, ra);
1099 void MacroAssembler::Smsubl(const Register& rd,
1104 ASSERT(!rd.IsZero());
1105 smsubl(rd, rn, rm, ra);
1109 void MacroAssembler::Smull(const Register& rd,
1113 ASSERT(!rd.IsZero());
1114 smull(rd, rn, rm);
1118 void MacroAssembler::Smulh(const Register& rd,
1122 ASSERT(!rd.IsZero());
1123 smulh(rd, rn, rm);
1143 void MacroAssembler::Sxtb(const Register& rd, const Register& rn) {
1145 ASSERT(!rd.IsZero());
1146 sxtb(rd, rn);
1150 void MacroAssembler::Sxth(const Register& rd, const Register& rn) {
1152 ASSERT(!rd.IsZero());
1153 sxth(rd, rn);
1157 void MacroAssembler::Sxtw(const Register& rd, const Register& rn) {
1159 ASSERT(!rd.IsZero());
1160 sxtw(rd, rn);
1164 void MacroAssembler::Ubfiz(const Register& rd,
1169 ASSERT(!rd.IsZero());
1170 ubfiz(rd, rn, lsb, width);
1174 void MacroAssembler::Ubfx(const Register& rd,
1179 ASSERT(!rd.IsZero());
1180 ubfx(rd, rn, lsb, width);
1192 void MacroAssembler::Udiv(const Register& rd,
1196 ASSERT(!rd.IsZero());
1197 udiv(rd, rn, rm);
1201 void MacroAssembler::Umaddl(const Register& rd,
1206 ASSERT(!rd.IsZero());
1207 umaddl(rd, rn, rm, ra);
1211 void MacroAssembler::Umsubl(const Register& rd,
1216 ASSERT(!rd.IsZero());
1217 umsubl(rd, rn, rm, ra);
1221 void MacroAssembler::Uxtb(const Register& rd, const Register& rn) {
1223 ASSERT(!rd.IsZero());
1224 uxtb(rd, rn);
1228 void MacroAssembler::Uxth(const Register& rd, const Register& rn) {
1230 ASSERT(!rd.IsZero());
1231 uxth(rd, rn);
1235 void MacroAssembler::Uxtw(const Register& rd, const Register& rn) {
1237 ASSERT(!rd.IsZero());
1238 uxtw(rd, rn);