Lines Matching defs:dst
139 // Clobbers object, dst, value, and ra, if (ra_status == kRAHasBeenSaved)
1553 void TurboAssembler::li(Register dst, Handle<HeapObject> value,
1559 IndirectLoadConstant(dst, value);
1564 li(dst, Operand(index, rmode));
1567 li(dst, Operand(value.address(), rmode));
1571 void TurboAssembler::li(Register dst, ExternalReference value, LiFlags mode) {
1576 IndirectLoadExternalReference(dst, value);
1579 li(dst, Operand(value), mode);
1582 void TurboAssembler::li(Register dst, const StringConstantBase* string,
1584 li(dst, Operand::EmbeddedStringConstant(string), mode);
1886 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1887 tasm->fcvt_wu_d(dst, src, RTZ);
1893 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1894 tasm->fcvt_w_d(dst, src, RTZ);
1900 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1901 tasm->fcvt_wu_s(dst, src, RTZ);
1907 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1908 tasm->fcvt_w_s(dst, src, RTZ);
1914 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1915 tasm->fcvt_lu_d(dst, src, RTZ);
1921 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1922 tasm->fcvt_l_d(dst, src, RTZ);
1928 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1929 tasm->fcvt_lu_s(dst, src, RTZ);
1935 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1936 tasm->fcvt_l_s(dst, src, RTZ);
1942 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1943 tasm->fcvt_w_s(dst, src, RNE);
1949 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1950 tasm->fcvt_w_d(dst, src, RNE);
1956 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1957 tasm->fcvt_w_s(dst, src, RUP);
1963 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1964 tasm->fcvt_w_d(dst, src, RUP);
1970 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1971 tasm->fcvt_w_s(dst, src, RDN);
1977 rd, fs, result, [](TurboAssembler* tasm, Register dst, FPURegister src) {
1978 tasm->fcvt_w_d(dst, src, RDN);
1988 void TurboAssembler::RoundHelper(FPURegister dst, FPURegister src,
1995 // Need at least two FPRs, so check against dst == src == fpu_scratch
1996 DCHECK(!(dst == src && dst == fpu_scratch));
2021 if (dst != src) {
2023 fmv_d(dst, src);
2025 fmv_s(dst, src);
2038 // fmin_d will set dst to the canonical NaN.
2042 fmin_d(dst, src, src);
2046 fmin_s(dst, src, src);
2063 // old_src holds the original input, needed for the case of src == dst
2065 if (src == dst) {
2066 DCHECK(fpu_scratch != dst);
2080 fcvt_d_l(dst, scratch, frm);
2083 fcvt_s_w(dst, scratch, frm);
2094 fsgnj_d(dst, dst, old_src);
2096 fsgnj_s(dst, dst, old_src);
2108 void TurboAssembler::RoundHelper(VRegister dst, VRegister src, Register scratch,
2144 vmv_vv(dst, src);
2145 if (dst == src) {
2148 vfcvt_x_f_v(dst, src, MaskType::Mask);
2149 vfcvt_f_x_v(dst, dst, MaskType::Mask);
2155 if (dst == src) {
2156 vfsngj_vv(dst, dst, v_scratch);
2158 vfsngj_vv(dst, dst, src);
2202 void TurboAssembler::Floor_d_d(FPURegister dst, FPURegister src,
2204 RoundHelper<double>(dst, src, fpu_scratch, RDN);
2207 void TurboAssembler::Ceil_d_d(FPURegister dst, FPURegister src,
2209 RoundHelper<double>(dst, src, fpu_scratch, RUP);
2212 void TurboAssembler::Trunc_d_d(FPURegister dst, FPURegister src,
2214 RoundHelper<double>(dst, src, fpu_scratch, RTZ);
2217 void TurboAssembler::Round_d_d(FPURegister dst, FPURegister src,
2219 RoundHelper<double>(dst, src, fpu_scratch, RNE);
2222 void TurboAssembler::Floor_s_s(FPURegister dst, FPURegister src,
2224 RoundHelper<float>(dst, src, fpu_scratch, RDN);
2227 void TurboAssembler::Ceil_s_s(FPURegister dst, FPURegister src,
2229 RoundHelper<float>(dst, src, fpu_scratch, RUP);
2232 void TurboAssembler::Trunc_s_s(FPURegister dst, FPURegister src,
2234 RoundHelper<float>(dst, src, fpu_scratch, RTZ);
2237 void TurboAssembler::Round_s_s(FPURegister dst, FPURegister src,
2239 RoundHelper<float>(dst, src, fpu_scratch, RNE);
2384 void TurboAssembler::InsertHighWordF64(FPURegister dst, Register src_high) {
2392 fmv_x_d(scratch, dst);
2397 fmv_d_x(dst, scratch);
2400 void TurboAssembler::InsertLowWordF64(FPURegister dst, Register src_low) {
2407 fmv_x_d(scratch, dst);
2413 fmv_d_x(dst, scratch);
2416 void TurboAssembler::LoadFPRImmediate(FPURegister dst, uint32_t src) {
2419 if (dst != kDoubleRegZero) fmv_s(dst, kDoubleRegZero);
2421 Neg_s(dst, kDoubleRegZero);
2423 if (dst == kDoubleRegZero) {
2425 fmv_w_x(dst, zero_reg);
2432 fmv_w_x(dst, scratch);
2437 void TurboAssembler::LoadFPRImmediate(FPURegister dst, uint64_t src) {
2440 if (dst != kDoubleRegZero) fmv_d(dst, kDoubleRegZero);
2442 Neg_d(dst, kDoubleRegZero);
2444 if (dst == kDoubleRegZero) {
2446 fmv_d_x(dst, zero_reg);
2453 fmv_d_x(dst, scratch);
3535 void TurboAssembler::LoadAddress(Register dst, Label* target,
3543 auipc(dst, Hi20);
3544 addi(dst, dst, Lo12);
3547 li(dst, Operand(address, rmode), ADDRESS_LOAD);
3630 void TurboAssembler::FPUCanonicalizeNaN(const DoubleRegister dst,
3635 fsub_d(dst, src, kDoubleRegZero);
3638 void TurboAssembler::MovFromFloatResult(const DoubleRegister dst) {
3639 Move(dst, fa0); // Reg fa0 is FP return value.
3642 void TurboAssembler::MovFromFloatParameter(const DoubleRegister dst) {
3643 Move(dst, fa0); // Reg fa0 is FP first argument value.
3923 void TurboAssembler::WasmRvvEq(VRegister dst, VRegister lhs, VRegister rhs,
3928 vmv_vx(dst, zero_reg);
3929 vmerge_vx(dst, kScratchReg, dst);
3932 void TurboAssembler::WasmRvvNe(VRegister dst, VRegister lhs, VRegister rhs,
3937 vmv_vx(dst, zero_reg);
3938 vmerge_vx(dst, kScratchReg, dst);
3941 void TurboAssembler::WasmRvvGeS(VRegister dst, VRegister lhs, VRegister rhs,
3946 vmv_vx(dst, zero_reg);
3947 vmerge_vx(dst, kScratchReg, dst);
3950 void TurboAssembler::WasmRvvGeU(VRegister dst, VRegister lhs, VRegister rhs,
3955 vmv_vx(dst, zero_reg);
3956 vmerge_vx(dst, kScratchReg, dst);
3959 void TurboAssembler::WasmRvvGtS(VRegister dst, VRegister lhs, VRegister rhs,
3964 vmv_vx(dst, zero_reg);
3965 vmerge_vx(dst, kScratchReg, dst);
3968 void TurboAssembler::WasmRvvGtU(VRegister dst, VRegister lhs, VRegister rhs,
3973 vmv_vx(dst, zero_reg);
3974 vmerge_vx(dst, kScratchReg, dst);
3977 void TurboAssembler::WasmRvvS128const(VRegister dst, const uint8_t imms[16]) {
3984 vmerge_vx(dst, kScratchReg, dst);
3987 vmerge_vx(dst, kScratchReg, dst);
3990 void TurboAssembler::LoadLane(int ts, VRegister dst, uint8_t laneidx,
3998 vmerge_vx(dst, kScratchReg2, dst);
4004 vmerge_vx(dst, kScratchReg2, dst);
4010 vmerge_vx(dst, kScratchReg2, dst);
4016 vmerge_vx(dst, kScratchReg2, dst);
4023 MemOperand dst) {
4028 Sb(kScratchReg, dst);
4033 Sh(kScratchReg, dst);
4038 Sw(kScratchReg, dst);
4044 Sd(kScratchReg, dst);
4050 void TurboAssembler::AddOverflow64(Register dst, Register left,
4063 DCHECK(left != scratch2 && right_reg != scratch2 && dst != scratch2 &&
4066 if (dst == left || dst == right_reg) {
4071 Mv(dst, scratch2);
4073 add(dst, left, right_reg);
4074 xor_(overflow, dst, left);
4075 xor_(scratch, dst, right_reg);
4080 void TurboAssembler::SubOverflow64(Register dst, Register left,
4094 DCHECK(left != scratch2 && right_reg != scratch2 && dst != scratch2 &&
4098 if (dst == left || dst == right_reg) {
4103 Mv(dst, scratch2);
4105 sub(dst, left, right_reg);
4106 xor_(overflow, left, dst);
4112 void TurboAssembler::MulOverflow32(Register dst, Register left,
4127 DCHECK(left != scratch2 && right_reg != scratch2 && dst != scratch2 &&
4134 sext_w(dst, overflow);
4135 xor_(overflow, overflow, dst);
4309 void MacroAssembler::LoadNativeContextSlot(Register dst, int index) {
4311 LoadMap(dst, cp);
4313 dst, FieldMemOperand(
4314 dst, Map::kConstructorOrBackPointerOrNativeContextOffset));
4315 LoadTaggedPointerField(dst, MemOperand(dst, Context::SlotOffset(index)));
4534 void TurboAssembler::SmiUntag(Register dst, const MemOperand& src) {
4537 Lw(dst, MemOperand(src.rm(), SmiWordOffset(src.offset())));
4541 Lw(dst, src);
4543 Ld(dst, src);
4545 SmiUntag(dst);
4709 void TurboAssembler::FloatMinMaxHelper(FPURegister dst, FPURegister src1,
4714 if (src1 == src2 && dst != src1) {
4716 fmv_s(dst, src1);
4718 fmv_d(dst, src1);
4740 fmax_s(dst, src1, src2);
4742 fmax_d(dst, src1, src2);
4746 fmin_s(dst, src1, src2);
4748 fmin_d(dst, src1, src2);
4756 fadd_s(dst, src1, src2);
4758 fadd_d(dst, src1, src2);
4764 void TurboAssembler::Float32Max(FPURegister dst, FPURegister src1,
4767 FloatMinMaxHelper<float>(dst, src1, src2, MaxMinKind::kMax);
4770 void TurboAssembler::Float32Min(FPURegister dst, FPURegister src1,
4773 FloatMinMaxHelper<float>(dst, src1, src2, MaxMinKind::kMin);
4776 void TurboAssembler::Float64Max(FPURegister dst, FPURegister src1,
4779 FloatMinMaxHelper<double>(dst, src1, src2, MaxMinKind::kMax);
4782 void TurboAssembler::Float64Min(FPURegister dst, FPURegister src1,
4785 FloatMinMaxHelper<double>(dst, src1, src2, MaxMinKind::kMin);
4967 void TurboAssembler::ComputeCodeStartAddress(Register dst) {
4975 li(dst, Operand(pc));
4976 Sub64(dst, ra, dst);
5082 void TurboAssembler::SmiUntagField(Register dst, const MemOperand& src) {
5083 SmiUntag(dst, src);