Lines Matching refs:dst
265 void TurboAssembler::SmiUntagField(Register dst, Operand src) {
266 SmiUntag(dst, src);
874 void TurboAssembler::Movq(XMMRegister dst, Register src) {
877 vmovq(dst, src);
879 movq(dst, src);
883 void TurboAssembler::Movq(Register dst, XMMRegister src) {
886 vmovq(dst, src);
888 movq(dst, src);
892 void TurboAssembler::Pextrq(Register dst, XMMRegister src, int8_t imm8) {
895 vpextrq(dst, src, imm8);
898 pextrq(dst, src, imm8);
902 void TurboAssembler::Cvtss2sd(XMMRegister dst, XMMRegister src) {
905 vcvtss2sd(dst, src, src);
907 cvtss2sd(dst, src);
911 void TurboAssembler::Cvtss2sd(XMMRegister dst, Operand src) {
914 vcvtss2sd(dst, dst, src);
916 cvtss2sd(dst, src);
920 void TurboAssembler::Cvtsd2ss(XMMRegister dst, XMMRegister src) {
923 vcvtsd2ss(dst, src, src);
925 cvtsd2ss(dst, src);
929 void TurboAssembler::Cvtsd2ss(XMMRegister dst, Operand src) {
932 vcvtsd2ss(dst, dst, src);
934 cvtsd2ss(dst, src);
938 void TurboAssembler::Cvtlsi2sd(XMMRegister dst, Register src) {
941 vcvtlsi2sd(dst, kScratchDoubleReg, src);
943 xorpd(dst, dst);
944 cvtlsi2sd(dst, src);
948 void TurboAssembler::Cvtlsi2sd(XMMRegister dst, Operand src) {
951 vcvtlsi2sd(dst, kScratchDoubleReg, src);
953 xorpd(dst, dst);
954 cvtlsi2sd(dst, src);
958 void TurboAssembler::Cvtlsi2ss(XMMRegister dst, Register src) {
961 vcvtlsi2ss(dst, kScratchDoubleReg, src);
963 xorps(dst, dst);
964 cvtlsi2ss(dst, src);
968 void TurboAssembler::Cvtlsi2ss(XMMRegister dst, Operand src) {
971 vcvtlsi2ss(dst, kScratchDoubleReg, src);
973 xorps(dst, dst);
974 cvtlsi2ss(dst, src);
978 void TurboAssembler::Cvtqsi2ss(XMMRegister dst, Register src) {
981 vcvtqsi2ss(dst, kScratchDoubleReg, src);
983 xorps(dst, dst);
984 cvtqsi2ss(dst, src);
988 void TurboAssembler::Cvtqsi2ss(XMMRegister dst, Operand src) {
991 vcvtqsi2ss(dst, kScratchDoubleReg, src);
993 xorps(dst, dst);
994 cvtqsi2ss(dst, src);
998 void TurboAssembler::Cvtqsi2sd(XMMRegister dst, Register src) {
1001 vcvtqsi2sd(dst, kScratchDoubleReg, src);
1003 xorpd(dst, dst);
1004 cvtqsi2sd(dst, src);
1008 void TurboAssembler::Cvtqsi2sd(XMMRegister dst, Operand src) {
1011 vcvtqsi2sd(dst, kScratchDoubleReg, src);
1013 xorpd(dst, dst);
1014 cvtqsi2sd(dst, src);
1018 void TurboAssembler::Cvtlui2ss(XMMRegister dst, Register src) {
1021 Cvtqsi2ss(dst, kScratchRegister);
1024 void TurboAssembler::Cvtlui2ss(XMMRegister dst, Operand src) {
1027 Cvtqsi2ss(dst, kScratchRegister);
1030 void TurboAssembler::Cvtlui2sd(XMMRegister dst, Register src) {
1033 Cvtqsi2sd(dst, kScratchRegister);
1036 void TurboAssembler::Cvtlui2sd(XMMRegister dst, Operand src) {
1039 Cvtqsi2sd(dst, kScratchRegister);
1042 void TurboAssembler::Cvtqui2ss(XMMRegister dst, Register src) {
1044 Cvtqsi2ss(dst, src);
1056 Cvtqsi2ss(dst, kScratchRegister);
1057 Addss(dst, dst);
1061 void TurboAssembler::Cvtqui2ss(XMMRegister dst, Operand src) {
1063 Cvtqui2ss(dst, kScratchRegister);
1066 void TurboAssembler::Cvtqui2sd(XMMRegister dst, Register src) {
1068 Cvtqsi2sd(dst, src);
1080 Cvtqsi2sd(dst, kScratchRegister);
1081 Addsd(dst, dst);
1085 void TurboAssembler::Cvtqui2sd(XMMRegister dst, Operand src) {
1087 Cvtqui2sd(dst, kScratchRegister);
1090 void TurboAssembler::Cvttss2si(Register dst, XMMRegister src) {
1093 vcvttss2si(dst, src);
1095 cvttss2si(dst, src);
1099 void TurboAssembler::Cvttss2si(Register dst, Operand src) {
1102 vcvttss2si(dst, src);
1104 cvttss2si(dst, src);
1108 void TurboAssembler::Cvttsd2si(Register dst, XMMRegister src) {
1111 vcvttsd2si(dst, src);
1113 cvttsd2si(dst, src);
1117 void TurboAssembler::Cvttsd2si(Register dst, Operand src) {
1120 vcvttsd2si(dst, src);
1122 cvttsd2si(dst, src);
1126 void TurboAssembler::Cvttss2siq(Register dst, XMMRegister src) {
1129 vcvttss2siq(dst, src);
1131 cvttss2siq(dst, src);
1135 void TurboAssembler::Cvttss2siq(Register dst, Operand src) {
1138 vcvttss2siq(dst, src);
1140 cvttss2siq(dst, src);
1144 void TurboAssembler::Cvttsd2siq(Register dst, XMMRegister src) {
1147 vcvttsd2siq(dst, src);
1149 cvttsd2siq(dst, src);
1153 void TurboAssembler::Cvttsd2siq(Register dst, Operand src) {
1156 vcvttsd2siq(dst, src);
1158 cvttsd2siq(dst, src);
1164 void ConvertFloatToUint64(TurboAssembler* tasm, Register dst,
1170 tasm->Cvttsd2siq(dst, src);
1172 tasm->Cvttss2siq(dst, src);
1175 tasm->testq(dst, dst);
1183 tasm->Cvttsd2siq(dst, kScratchDoubleReg);
1187 tasm->Cvttss2siq(dst, kScratchDoubleReg);
1189 tasm->testq(dst, dst);
1197 tasm->orq(dst, kScratchRegister);
1202 void TurboAssembler::Cvttsd2uiq(Register dst, Operand src, Label* fail) {
1203 ConvertFloatToUint64<Operand, true>(this, dst, src, fail);
1206 void TurboAssembler::Cvttsd2uiq(Register dst, XMMRegister src, Label* fail) {
1207 ConvertFloatToUint64<XMMRegister, true>(this, dst, src, fail);
1210 void TurboAssembler::Cvttss2uiq(Register dst, Operand src, Label* fail) {
1211 ConvertFloatToUint64<Operand, false>(this, dst, src, fail);
1214 void TurboAssembler::Cvttss2uiq(Register dst, XMMRegister src, Label* fail) {
1215 ConvertFloatToUint64<XMMRegister, false>(this, dst, src, fail);
1218 void TurboAssembler::Cmpeqss(XMMRegister dst, XMMRegister src) {
1221 vcmpeqss(dst, src);
1223 cmpeqss(dst, src);
1227 void TurboAssembler::Cmpeqsd(XMMRegister dst, XMMRegister src) {
1230 vcmpeqsd(dst, src);
1232 cmpeqsd(dst, src);
1244 void TurboAssembler::Cmp(Register dst, int32_t src) {
1246 testl(dst, dst);
1248 cmpl(dst, Immediate(src));
1262 void TurboAssembler::SmiTag(Register dst, Register src) {
1263 DCHECK(dst != src);
1265 movl(dst, src);
1267 movq(dst, src);
1269 SmiTag(dst);
1283 void TurboAssembler::SmiUntag(Register dst, Register src) {
1284 DCHECK(dst != src);
1286 movsxlq(dst, src);
1288 movq(dst, src);
1294 sarq(dst, Immediate(kSmiShift));
1297 void TurboAssembler::SmiUntag(Register dst, Operand src) {
1299 movl(dst, Operand(src, kSmiShift / kBitsPerByte));
1301 movsxlq(dst, dst);
1305 movsxlq(dst, src);
1307 movq(dst, src);
1309 sarq(dst, Immediate(kSmiShift));
1329 void TurboAssembler::SmiCompare(Register dst, Smi src) {
1330 AssertSmi(dst);
1331 Cmp(dst, src);
1334 void TurboAssembler::Cmp(Register dst, Smi src) {
1336 test_tagged(dst, dst);
1338 DCHECK_NE(dst, kScratchRegister);
1340 cmp_tagged(dst, constant_reg);
1344 void TurboAssembler::SmiCompare(Register dst, Operand src) {
1345 AssertSmi(dst);
1347 cmp_tagged(dst, src);
1350 void TurboAssembler::SmiCompare(Operand dst, Register src) {
1351 AssertSmi(dst);
1353 cmp_tagged(dst, src);
1356 void TurboAssembler::SmiCompare(Operand dst, Smi src) {
1357 AssertSmi(dst);
1359 cmpl(Operand(dst, kSmiShift / kBitsPerByte), Immediate(src.value()));
1362 cmpl(dst, Immediate(src));
1366 void TurboAssembler::Cmp(Operand dst, Smi src) {
1369 DCHECK(!dst.AddressUsesRegister(smi_reg));
1370 cmp_tagged(dst, smi_reg);
1403 void TurboAssembler::SmiAddConstant(Operand dst, Smi constant) {
1406 addl(Operand(dst, kSmiShift / kBitsPerByte), Immediate(constant.value()));
1411 movl(kScratchRegister, dst);
1414 movq(dst, kScratchRegister);
1417 addl(dst, Immediate(constant));
1423 SmiIndex TurboAssembler::SmiToIndex(Register dst, Register src, int shift) {
1428 if (dst != src) {
1429 movq(dst, src);
1432 sarq(dst, Immediate(kSmiShift - shift));
1434 shlq(dst, Immediate(shift - kSmiShift));
1436 return SmiIndex(dst, times_1);
1441 movsxlq(dst, src);
1443 sarq(dst, Immediate(kSmiShift - shift));
1446 return SmiIndex(dst, static_cast<ScaleFactor>(shift - kSmiShift));
1448 shlq(dst, Immediate(shift - kSmiShift));
1450 return SmiIndex(dst, times_1);
1475 void TurboAssembler::Move(Register dst, Smi source) {
1479 xorl(dst, dst);
1481 Move(dst, source.ptr(), RelocInfo::NO_INFO);
1484 Move(dst, uvalue);
1488 void TurboAssembler::Move(Operand dst, intptr_t x) {
1490 movq(dst, Immediate(static_cast<int32_t>(x)));
1493 movq(dst, kScratchRegister);
1497 void TurboAssembler::Move(Register dst, ExternalReference ext) {
1502 IndirectLoadExternalReference(dst, ext);
1505 movq(dst, Immediate64(ext.address(), RelocInfo::EXTERNAL_REFERENCE));
1508 void TurboAssembler::Move(Register dst, Register src) {
1509 if (dst != src) {
1510 movq(dst, src);
1514 void TurboAssembler::Move(Register dst, Operand src) { movq(dst, src); }
1515 void TurboAssembler::Move(Register dst, Immediate src) {
1517 Move(dst, src.value());
1519 movl(dst, src);
1523 void TurboAssembler::Move(XMMRegister dst, XMMRegister src) {
1524 if (dst != src) {
1525 Movaps(dst, src);
1548 void TurboAssembler::MoveNumber(Register dst, double value) {
1551 Move(dst, Smi::FromInt(smi));
1553 movq_heap_number(dst, value);
1557 void TurboAssembler::Move(XMMRegister dst, uint32_t src) {
1559 Xorps(dst, dst);
1566 Pcmpeqd(dst, dst);
1567 if (ntz) Pslld(dst, static_cast<byte>(ntz + nlz));
1568 if (nlz) Psrld(dst, static_cast<byte>(nlz));
1571 Movd(dst, kScratchRegister);
1576 void TurboAssembler::Move(XMMRegister dst, uint64_t src) {
1578 Xorpd(dst, dst);
1585 Pcmpeqd(dst, dst);
1586 if (ntz) Psllq(dst, static_cast<byte>(ntz + nlz));
1587 if (nlz) Psrlq(dst, static_cast<byte>(nlz));
1592 Move(dst, lower);
1595 Movq(dst, kScratchRegister);
1601 void TurboAssembler::Move(XMMRegister dst, uint64_t high, uint64_t low) {
1603 Move(dst, low);
1604 Punpcklqdq(dst, dst);
1608 Move(dst, low);
1610 Pinsrq(dst, dst, kScratchRegister, uint8_t{1});
1615 void MacroAssembler::Cmp(Register dst, Handle<Object> source) {
1617 Cmp(dst, Smi::cast(*source));
1620 cmp_tagged(dst, kScratchRegister);
1624 void MacroAssembler::Cmp(Operand dst, Handle<Object> source) {
1626 Cmp(dst, Smi::cast(*source));
1629 cmp_tagged(dst, kScratchRegister);
1701 void TurboAssembler::Move(Operand dst, Handle<HeapObject> object,
1704 movq(dst, kScratchRegister);
1801 void MacroAssembler::Pop(Register dst) { popq(dst); }
1803 void MacroAssembler::Pop(Operand dst) { popq(dst); }
1805 void MacroAssembler::PopQuad(Operand dst) { popq(dst); }
2068 void TurboAssembler::PextrdPreSse41(Register dst, XMMRegister src,
2071 Movd(dst, src);
2075 movq(dst, src);
2076 shrq(dst, Immediate(32));
2081 void PinsrdPreSse41Helper(TurboAssembler* tasm, XMMRegister dst, Op src,
2086 tasm->punpckldq(dst, kScratchDoubleReg);
2089 tasm->Movss(dst, kScratchDoubleReg);
2094 void TurboAssembler::PinsrdPreSse41(XMMRegister dst, Register src, uint8_t imm8,
2096 PinsrdPreSse41Helper(this, dst, src, imm8, load_pc_offset);
2099 void TurboAssembler::PinsrdPreSse41(XMMRegister dst, Operand src, uint8_t imm8,
2101 PinsrdPreSse41Helper(this, dst, src, imm8, load_pc_offset);
2104 void TurboAssembler::Pinsrq(XMMRegister dst, XMMRegister src1, Register src2,
2106 PinsrHelper(this, &Assembler::vpinsrq, &Assembler::pinsrq, dst, src1, src2,
2110 void TurboAssembler::Pinsrq(XMMRegister dst, XMMRegister src1, Operand src2,
2112 PinsrHelper(this, &Assembler::vpinsrq, &Assembler::pinsrq, dst, src1, src2,
2116 void TurboAssembler::Lzcntl(Register dst, Register src) {
2119 lzcntl(dst, src);
2123 bsrl(dst, src);
2125 Move(dst, 63); // 63^31 == 32
2127 xorl(dst, Immediate(31)); // for x in [0..31], 31^x == 31 - x
2130 void TurboAssembler::Lzcntl(Register dst, Operand src) {
2133 lzcntl(dst, src);
2137 bsrl(dst, src);
2139 Move(dst, 63); // 63^31 == 32
2141 xorl(dst, Immediate(31)); // for x in [0..31], 31^x == 31 - x
2144 void TurboAssembler::Lzcntq(Register dst, Register src) {
2147 lzcntq(dst, src);
2151 bsrq(dst, src);
2153 Move(dst, 127); // 127^63 == 64
2155 xorl(dst, Immediate(63)); // for x in [0..63], 63^x == 63 - x
2158 void TurboAssembler::Lzcntq(Register dst, Operand src) {
2161 lzcntq(dst, src);
2165 bsrq(dst, src);
2167 Move(dst, 127); // 127^63 == 64
2169 xorl(dst, Immediate(63)); // for x in [0..63], 63^x == 63 - x
2172 void TurboAssembler::Tzcntq(Register dst, Register src) {
2175 tzcntq(dst, src);
2179 bsfq(dst, src);
2182 Move(dst, 64);
2186 void TurboAssembler::Tzcntq(Register dst, Operand src) {
2189 tzcntq(dst, src);
2193 bsfq(dst, src);
2196 Move(dst, 64);
2200 void TurboAssembler::Tzcntl(Register dst, Register src) {
2203 tzcntl(dst, src);
2207 bsfl(dst, src);
2209 Move(dst, 32); // The result of tzcnt is 32 if src = 0.
2213 void TurboAssembler::Tzcntl(Register dst, Operand src) {
2216 tzcntl(dst, src);
2220 bsfl(dst, src);
2222 Move(dst, 32); // The result of tzcnt is 32 if src = 0.
2226 void TurboAssembler::Popcntl(Register dst, Register src) {
2229 popcntl(dst, src);
2235 void TurboAssembler::Popcntl(Register dst, Operand src) {
2238 popcntl(dst, src);
2244 void TurboAssembler::Popcntq(Register dst, Register src) {
2247 popcntq(dst, src);
2253 void TurboAssembler::Popcntq(Register dst, Operand src) {
2256 popcntq(dst, src);
2964 void MacroAssembler::LoadNativeContextSlot(Register dst, int index) {
2967 LoadMap(dst, rsi);
2969 dst,
2970 FieldOperand(dst, Map::kConstructorOrBackPointerOrNativeContextOffset));
2972 LoadTaggedPointerField(dst, Operand(dst, Context::SlotOffset(index)));
3111 void TurboAssembler::ComputeCodeStartAddress(Register dst) {
3116 leaq(dst, Operand(¤t, -pc));