Lines Matching defs:dst
546 void Assembler::pop(Register dst) {
549 EMIT(0x58 | dst.code());
552 void Assembler::pop(Operand dst) {
555 emit_operand(eax, dst);
563 void Assembler::mov_b(Register dst, Operand src) {
564 CHECK(dst.is_byte_register());
567 emit_operand(dst, src);
570 void Assembler::mov_b(Operand dst, const Immediate& src) {
573 emit_operand(eax, dst);
577 void Assembler::mov_b(Operand dst, Register src) {
581 emit_operand(src, dst);
584 void Assembler::mov_w(Register dst, Operand src) {
588 emit_operand(dst, src);
591 void Assembler::mov_w(Operand dst, Register src) {
595 emit_operand(src, dst);
598 void Assembler::mov_w(Operand dst, const Immediate& src) {
602 emit_operand(eax, dst);
607 void Assembler::mov(Register dst, int32_t imm32) {
609 EMIT(0xB8 | dst.code());
613 void Assembler::mov(Register dst, const Immediate& x) {
615 EMIT(0xB8 | dst.code());
619 void Assembler::mov(Register dst, Handle<HeapObject> handle) {
621 EMIT(0xB8 | dst.code());
625 void Assembler::mov(Register dst, Operand src) {
628 emit_operand(dst, src);
631 void Assembler::mov(Register dst, Register src) {
634 EMIT(0xC0 | src.code() << 3 | dst.code());
637 void Assembler::mov(Operand dst, const Immediate& x) {
640 emit_operand(eax, dst);
644 void Assembler::mov(Operand dst, Address src, RelocInfo::Mode rmode) {
647 emit_operand(eax, dst);
651 void Assembler::mov(Operand dst, Handle<HeapObject> handle) {
654 emit_operand(eax, dst);
658 void Assembler::mov(Operand dst, Register src) {
661 emit_operand(src, dst);
664 void Assembler::movsx_b(Register dst, Operand src) {
669 emit_operand(dst, src);
672 void Assembler::movsx_w(Register dst, Operand src) {
676 emit_operand(dst, src);
679 void Assembler::movzx_b(Register dst, Operand src) {
684 emit_operand(dst, src);
687 void Assembler::movzx_w(Register dst, Operand src) {
691 emit_operand(dst, src);
694 void Assembler::movq(XMMRegister dst, Operand src) {
699 emit_operand(dst, src);
702 void Assembler::movq(Operand dst, XMMRegister src) {
707 emit_operand(src, dst);
710 void Assembler::cmov(Condition cc, Register dst, Operand src) {
715 emit_operand(dst, src);
740 void Assembler::xadd(Operand dst, Register src) {
744 emit_operand(src, dst);
747 void Assembler::xadd_b(Operand dst, Register src) {
752 emit_operand(src, dst);
755 void Assembler::xadd_w(Operand dst, Register src) {
760 emit_operand(src, dst);
763 void Assembler::xchg(Register dst, Register src) {
765 if (src == eax || dst == eax) { // Single-byte encoding.
766 EMIT(0x90 | (src == eax ? dst.code() : src.code()));
769 EMIT(0xC0 | src.code() << 3 | dst.code());
773 void Assembler::xchg(Register dst, Operand src) {
776 emit_operand(dst, src);
798 void Assembler::cmpxchg(Operand dst, Register src) {
802 emit_operand(src, dst);
805 void Assembler::cmpxchg_b(Operand dst, Register src) {
810 emit_operand(src, dst);
813 void Assembler::cmpxchg_w(Operand dst, Register src) {
818 emit_operand(src, dst);
821 void Assembler::cmpxchg8b(Operand dst) {
825 emit_operand(ecx, dst);
848 void Assembler::adc(Register dst, int32_t imm32) {
850 emit_arith(2, Operand(dst), Immediate(imm32));
853 void Assembler::adc(Register dst, Operand src) {
856 emit_operand(dst, src);
859 void Assembler::add(Register dst, Operand src) {
862 emit_operand(dst, src);
865 void Assembler::add(Operand dst, Register src) {
868 emit_operand(src, dst);
871 void Assembler::add(Operand dst, const Immediate& x) {
874 emit_arith(0, dst, x);
877 void Assembler::and_(Register dst, int32_t imm32) {
878 and_(dst, Immediate(imm32));
881 void Assembler::and_(Register dst, const Immediate& x) {
883 emit_arith(4, Operand(dst), x);
886 void Assembler::and_(Register dst, Operand src) {
889 emit_operand(dst, src);
892 void Assembler::and_(Operand dst, const Immediate& x) {
894 emit_arith(4, dst, x);
897 void Assembler::and_(Operand dst, Register src) {
900 emit_operand(src, dst);
997 void Assembler::dec_b(Register dst) {
998 CHECK(dst.is_byte_register());
1001 EMIT(0xC8 | dst.code());
1004 void Assembler::dec_b(Operand dst) {
1007 emit_operand(ecx, dst);
1010 void Assembler::dec(Register dst) {
1012 EMIT(0x48 | dst.code());
1015 void Assembler::dec(Operand dst) {
1018 emit_operand(ecx, dst);
1044 void Assembler::imul(Register dst, Operand src) {
1048 emit_operand(dst, src);
1051 void Assembler::imul(Register dst, Register src, int32_t imm32) {
1052 imul(dst, Operand(src), imm32);
1055 void Assembler::imul(Register dst, Operand src, int32_t imm32) {
1059 emit_operand(dst, src);
1063 emit_operand(dst, src);
1068 void Assembler::inc(Register dst) {
1070 EMIT(0x40 | dst.code());
1073 void Assembler::inc(Operand dst) {
1076 emit_operand(eax, dst);
1079 void Assembler::lea(Register dst, Operand src) {
1082 emit_operand(dst, src);
1091 void Assembler::neg(Register dst) {
1094 EMIT(0xD8 | dst.code());
1097 void Assembler::neg(Operand dst) {
1100 emit_operand(ebx, dst);
1103 void Assembler::not_(Register dst) {
1106 EMIT(0xD0 | dst.code());
1109 void Assembler::not_(Operand dst) {
1112 emit_operand(edx, dst);
1115 void Assembler::or_(Register dst, int32_t imm32) {
1117 emit_arith(1, Operand(dst), Immediate(imm32));
1120 void Assembler::or_(Register dst, Operand src) {
1123 emit_operand(dst, src);
1126 void Assembler::or_(Operand dst, const Immediate& x) {
1128 emit_arith(1, dst, x);
1131 void Assembler::or_(Operand dst, Register src) {
1134 emit_operand(src, dst);
1137 void Assembler::rcl(Register dst, uint8_t imm8) {
1142 EMIT(0xD0 | dst.code());
1145 EMIT(0xD0 | dst.code());
1150 void Assembler::rcr(Register dst, uint8_t imm8) {
1155 EMIT(0xD8 | dst.code());
1158 EMIT(0xD8 | dst.code());
1163 void Assembler::rol(Operand dst, uint8_t imm8) {
1168 emit_operand(eax, dst);
1171 emit_operand(eax, dst);
1176 void Assembler::rol_cl(Operand dst) {
1179 emit_operand(eax, dst);
1182 void Assembler::ror(Operand dst, uint8_t imm8) {
1187 emit_operand(ecx, dst);
1190 emit_operand(ecx, dst);
1195 void Assembler::ror_cl(Operand dst) {
1198 emit_operand(ecx, dst);
1201 void Assembler::sar(Operand dst, uint8_t imm8) {
1206 emit_operand(edi, dst);
1209 emit_operand(edi, dst);
1214 void Assembler::sar_cl(Operand dst) {
1217 emit_operand(edi, dst);
1220 void Assembler::sbb(Register dst, Operand src) {
1223 emit_operand(dst, src);
1226 void Assembler::shld(Register dst, Register src, uint8_t shift) {
1231 emit_operand(src, Operand(dst));
1235 void Assembler::shld_cl(Register dst, Register src) {
1239 emit_operand(src, Operand(dst));
1242 void Assembler::shl(Operand dst, uint8_t imm8) {
1247 emit_operand(esp, dst);
1250 emit_operand(esp, dst);
1255 void Assembler::shl_cl(Operand dst) {
1258 emit_operand(esp, dst);
1261 void Assembler::shr(Operand dst, uint8_t imm8) {
1266 emit_operand(ebp, dst);
1269 emit_operand(ebp, dst);
1274 void Assembler::shr_cl(Operand dst) {
1277 emit_operand(ebp, dst);
1280 void Assembler::shrd(Register dst, Register src, uint8_t shift) {
1285 emit_operand(src, Operand(dst));
1289 void Assembler::shrd_cl(Operand dst, Register src) {
1293 emit_operand(src, dst);
1296 void Assembler::sub(Operand dst, const Immediate& x) {
1298 emit_arith(5, dst, x);
1301 void Assembler::sub(Register dst, Operand src) {
1304 emit_operand(dst, src);
1307 void Assembler::sub(Operand dst, Register src) {
1310 emit_operand(src, dst);
1429 void Assembler::xor_(Register dst, int32_t imm32) {
1431 emit_arith(6, Operand(dst), Immediate(imm32));
1434 void Assembler::xor_(Register dst, Operand src) {
1437 emit_operand(dst, src);
1440 void Assembler::xor_(Operand dst, Register src) {
1443 emit_operand(src, dst);
1446 void Assembler::xor_(Operand dst, const Immediate& x) {
1448 emit_arith(6, dst, x);
1451 void Assembler::bswap(Register dst) {
1454 EMIT(0xC8 + dst.code());
1457 void Assembler::bt(Operand dst, Register src) {
1461 emit_operand(src, dst);
1464 void Assembler::bts(Operand dst, Register src) {
1468 emit_operand(src, dst);
1471 void Assembler::bsr(Register dst, Operand src) {
1475 emit_operand(dst, src);
1478 void Assembler::bsf(Register dst, Operand src) {
1482 emit_operand(dst, src);
2148 void Assembler::cvttss2si(Register dst, Operand src) {
2155 emit_operand(dst, src);
2158 void Assembler::cvttsd2si(Register dst, Operand src) {
2165 emit_operand(dst, src);
2168 void Assembler::cvtsd2si(Register dst, XMMRegister src) {
2173 emit_sse_operand(dst, src);
2176 void Assembler::cvtsi2ss(XMMRegister dst, Operand src) {
2181 emit_sse_operand(dst, src);
2184 void Assembler::cvtsi2sd(XMMRegister dst, Operand src) {
2189 emit_sse_operand(dst, src);
2192 void Assembler::cvtss2sd(XMMRegister dst, Operand src) {
2197 emit_sse_operand(dst, src);
2200 void Assembler::cvtdq2pd(XMMRegister dst, XMMRegister src) {
2205 emit_sse_operand(dst, src);
2208 void Assembler::cvtpd2ps(XMMRegister dst, XMMRegister src) {
2213 emit_sse_operand(dst, src);
2216 void Assembler::cvttps2dq(XMMRegister dst, Operand src) {
2221 emit_sse_operand(dst, src);
2224 void Assembler::cvttpd2dq(XMMRegister dst, XMMRegister src) {
2229 emit_sse_operand(dst, src);
2232 void Assembler::cmpps(XMMRegister dst, Operand src, uint8_t cmp) {
2236 emit_sse_operand(dst, src);
2240 void Assembler::cmppd(XMMRegister dst, Operand src, uint8_t cmp) {
2245 emit_sse_operand(dst, src);
2249 void Assembler::haddps(XMMRegister dst, Operand src) {
2255 emit_sse_operand(dst, src);
2258 void Assembler::ucomisd(XMMRegister dst, Operand src) {
2263 emit_sse_operand(dst, src);
2266 void Assembler::roundps(XMMRegister dst, XMMRegister src, RoundingMode mode) {
2273 emit_sse_operand(dst, src);
2278 void Assembler::roundpd(XMMRegister dst, XMMRegister src, RoundingMode mode) {
2285 emit_sse_operand(dst, src);
2290 void Assembler::roundss(XMMRegister dst, XMMRegister src, RoundingMode mode) {
2297 emit_sse_operand(dst, src);
2302 void Assembler::roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode) {
2309 emit_sse_operand(dst, src);
2314 void Assembler::movmskpd(Register dst, XMMRegister src) {
2319 emit_sse_operand(dst, src);
2322 void Assembler::movmskps(Register dst, XMMRegister src) {
2326 emit_sse_operand(dst, src);
2329 void Assembler::pmovmskb(Register dst, XMMRegister src) {
2334 emit_sse_operand(dst, src);
2337 void Assembler::cmpltsd(XMMRegister dst, XMMRegister src) {
2342 emit_sse_operand(dst, src);
2346 void Assembler::movaps(XMMRegister dst, Operand src) {
2350 emit_sse_operand(dst, src);
2353 void Assembler::movups(XMMRegister dst, Operand src) {
2357 emit_sse_operand(dst, src);
2360 void Assembler::movups(Operand dst, XMMRegister src) {
2364 emit_sse_operand(src, dst);
2367 void Assembler::movddup(XMMRegister dst, Operand src) {
2373 emit_sse_operand(dst, src);
2376 void Assembler::movshdup(XMMRegister dst, XMMRegister src) {
2382 emit_sse_operand(dst, src);
2385 void Assembler::shufps(XMMRegister dst, XMMRegister src, byte imm8) {
2390 emit_sse_operand(dst, src);
2394 void Assembler::shufpd(XMMRegister dst, XMMRegister src, byte imm8) {
2400 emit_sse_operand(dst, src);
2404 void Assembler::movhlps(XMMRegister dst, XMMRegister src) {
2408 emit_sse_operand(dst, src);
2411 void Assembler::movlhps(XMMRegister dst, XMMRegister src) {
2415 emit_sse_operand(dst, src);
2418 void Assembler::movlps(XMMRegister dst, Operand src) {
2422 emit_sse_operand(dst, src);
2425 void Assembler::movlps(Operand dst, XMMRegister src) {
2429 emit_sse_operand(src, dst);
2432 void Assembler::movhps(XMMRegister dst, Operand src) {
2436 emit_sse_operand(dst, src);
2439 void Assembler::movhps(Operand dst, XMMRegister src) {
2443 emit_sse_operand(src, dst);
2446 void Assembler::movdqa(Operand dst, XMMRegister src) {
2451 emit_sse_operand(src, dst);
2454 void Assembler::movdqa(XMMRegister dst, Operand src) {
2459 emit_sse_operand(dst, src);
2462 void Assembler::movdqa(XMMRegister dst, XMMRegister src) {
2467 emit_sse_operand(dst, src);
2470 void Assembler::movdqu(Operand dst, XMMRegister src) {
2475 emit_sse_operand(src, dst);
2478 void Assembler::movdqu(XMMRegister dst, Operand src) {
2483 emit_sse_operand(dst, src);
2486 void Assembler::movdqu(XMMRegister dst, XMMRegister src) {
2491 emit_sse_operand(src, dst);
2504 void Assembler::movsd(Operand dst, XMMRegister src) {
2509 emit_sse_operand(src, dst);
2512 void Assembler::movsd(XMMRegister dst, Operand src) {
2517 emit_sse_operand(dst, src);
2520 void Assembler::movss(Operand dst, XMMRegister src) {
2525 emit_sse_operand(src, dst);
2528 void Assembler::movss(XMMRegister dst, Operand src) {
2533 emit_sse_operand(dst, src);
2536 void Assembler::movd(XMMRegister dst, Operand src) {
2541 emit_sse_operand(dst, src);
2544 void Assembler::movd(Operand dst, XMMRegister src) {
2549 emit_sse_operand(src, dst);
2552 void Assembler::extractps(Operand dst, XMMRegister src, byte imm8) {
2560 emit_sse_operand(src, dst);
2564 void Assembler::extractps(Register dst, XMMRegister src, byte imm8) {
2572 emit_sse_operand(src, dst);
2576 void Assembler::pcmpgtq(XMMRegister dst, XMMRegister src) {
2583 emit_sse_operand(dst, src);
2658 void Assembler::pshufhw(XMMRegister dst, Operand src, uint8_t shuffle) {
2663 emit_sse_operand(dst, src);
2667 void Assembler::pshuflw(XMMRegister dst, Operand src, uint8_t shuffle) {
2672 emit_sse_operand(dst, src);
2676 void Assembler::pshufd(XMMRegister dst, Operand src, uint8_t shuffle) {
2681 emit_sse_operand(dst, src);
2685 void Assembler::pblendw(XMMRegister dst, Operand src, uint8_t mask) {
2692 emit_sse_operand(dst, src);
2696 void Assembler::palignr(XMMRegister dst, Operand src, uint8_t mask) {
2703 emit_sse_operand(dst, src);
2707 void Assembler::pextrb(Operand dst, XMMRegister src, uint8_t offset) {
2714 emit_sse_operand(src, dst);
2718 void Assembler::pextrw(Operand dst, XMMRegister src, uint8_t offset) {
2725 emit_sse_operand(src, dst);
2729 void Assembler::pextrd(Operand dst, XMMRegister src, uint8_t offset) {
2736 emit_sse_operand(src, dst);
2740 void Assembler::insertps(XMMRegister dst, Operand src, uint8_t offset) {
2747 emit_sse_operand(dst, src);
2751 void Assembler::pinsrb(XMMRegister dst, Operand src, uint8_t offset) {
2758 emit_sse_operand(dst, src);
2762 void Assembler::pinsrw(XMMRegister dst, Operand src, uint8_t offset) {
2768 emit_sse_operand(dst, src);
2772 void Assembler::pinsrd(XMMRegister dst, Operand src, uint8_t offset) {
2779 emit_sse_operand(dst, src);
2783 void Assembler::addss(XMMRegister dst, Operand src) {
2788 emit_sse_operand(dst, src);
2791 void Assembler::subss(XMMRegister dst, Operand src) {
2796 emit_sse_operand(dst, src);
2799 void Assembler::mulss(XMMRegister dst, Operand src) {
2804 emit_sse_operand(dst, src);
2807 void Assembler::divss(XMMRegister dst, Operand src) {
2812 emit_sse_operand(dst, src);
2815 void Assembler::sqrtss(XMMRegister dst, Operand src) {
2820 emit_sse_operand(dst, src);
2823 void Assembler::ucomiss(XMMRegister dst, Operand src) {
2827 emit_sse_operand(dst, src);
2830 void Assembler::maxss(XMMRegister dst, Operand src) {
2835 emit_sse_operand(dst, src);
2838 void Assembler::minss(XMMRegister dst, Operand src) {
2843 emit_sse_operand(dst, src);
2847 void Assembler::ps(byte opcode, XMMRegister dst, Operand src) {
2851 emit_sse_operand(dst, src);
2855 void Assembler::pd(byte opcode, XMMRegister dst, Operand src) {
2860 emit_sse_operand(dst, src);
2865 void Assembler::vss(byte op, XMMRegister dst, XMMRegister src1, Operand src2) {
2866 vinstr(op, dst, src1, src2, kF3, k0F, kWIG);
2869 void Assembler::vps(byte op, XMMRegister dst, XMMRegister src1, Operand src2) {
2870 vinstr(op, dst, src1, src2, kNoPrefix, k0F, kWIG);
2873 void Assembler::vpd(byte op, XMMRegister dst, XMMRegister src1, Operand src2) {
2874 vinstr(op, dst, src1, src2, k66, k0F, kWIG);
2877 void Assembler::vshufpd(XMMRegister dst, XMMRegister src1, Operand src2,
2880 vpd(0xC6, dst, src1, src2);
2884 void Assembler::vmovhlps(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
2885 vinstr(0x12, dst, src1, src2, kNoPrefix, k0F, kWIG);
2888 void Assembler::vmovlhps(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
2889 vinstr(0x16, dst, src1, src2, kNoPrefix, k0F, kWIG);
2892 void Assembler::vmovlps(XMMRegister dst, XMMRegister src1, Operand src2) {
2893 vinstr(0x12, dst, src1, src2, kNoPrefix, k0F, kWIG);
2896 void Assembler::vmovlps(Operand dst, XMMRegister src) {
2897 vinstr(0x13, src, xmm0, dst, kNoPrefix, k0F, kWIG);
2900 void Assembler::vmovhps(XMMRegister dst, XMMRegister src1, Operand src2) {
2901 vinstr(0x16, dst, src1, src2, kNoPrefix, k0F, kWIG);
2904 void Assembler::vmovhps(Operand dst, XMMRegister src) {
2905 vinstr(0x17, src, xmm0, dst, kNoPrefix, k0F, kWIG);
2908 void Assembler::vcmpps(XMMRegister dst, XMMRegister src1, Operand src2,
2910 vps(0xC2, dst, src1, src2);
2914 void Assembler::vcmppd(XMMRegister dst, XMMRegister src1, Operand src2,
2916 vpd(0xC2, dst, src1, src2);
2920 void Assembler::vshufps(XMMRegister dst, XMMRegister src1, Operand src2,
2923 vps(0xC6, dst, src1, src2);
2927 void Assembler::vpsllw(XMMRegister dst, XMMRegister src, uint8_t imm8) {
2929 vinstr(0x71, iop, dst, Operand(src), k66, k0F, kWIG);
2933 void Assembler::vpslld(XMMRegister dst, XMMRegister src, uint8_t imm8) {
2935 vinstr(0x72, iop, dst, Operand(src), k66, k0F, kWIG);
2939 void Assembler::vpsllq(XMMRegister dst, XMMRegister src, uint8_t imm8) {
2941 vinstr(0x73, iop, dst, Operand(src), k66, k0F, kWIG);
2945 void Assembler::vpsrlw(XMMRegister dst, XMMRegister src, uint8_t imm8) {
2947 vinstr(0x71, iop, dst, Operand(src), k66, k0F, kWIG);
2951 void Assembler::vpsrld(XMMRegister dst, XMMRegister src, uint8_t imm8) {
2953 vinstr(0x72, iop, dst, Operand(src), k66, k0F, kWIG);
2957 void Assembler::vpsrlq(XMMRegister dst, XMMRegister src, uint8_t imm8) {
2959 vinstr(0x73, iop, dst, Operand(src), k66, k0F, kWIG);
2963 void Assembler::vpsraw(XMMRegister dst, XMMRegister src, uint8_t imm8) {
2965 vinstr(0x71, iop, dst, Operand(src), k66, k0F, kWIG);
2969 void Assembler::vpsrad(XMMRegister dst, XMMRegister src, uint8_t imm8) {
2971 vinstr(0x72, iop, dst, Operand(src), k66, k0F, kWIG);
2975 void Assembler::vpshufhw(XMMRegister dst, Operand src, uint8_t shuffle) {
2976 vinstr(0x70, dst, xmm0, src, kF3, k0F, kWIG);
2980 void Assembler::vpshuflw(XMMRegister dst, Operand src, uint8_t shuffle) {
2981 vinstr(0x70, dst, xmm0, src, kF2, k0F, kWIG);
2985 void Assembler::vpshufd(XMMRegister dst, Operand src, uint8_t shuffle) {
2986 vinstr(0x70, dst, xmm0, src, k66, k0F, kWIG);
2990 void Assembler::vblendvps(XMMRegister dst, XMMRegister src1, XMMRegister src2,
2992 vinstr(0x4A, dst, src1, src2, k66, k0F3A, kW0);
2996 void Assembler::vblendvpd(XMMRegister dst, XMMRegister src1, XMMRegister src2,
2998 vinstr(0x4B, dst, src1, src2, k66, k0F3A, kW0);
3002 void Assembler::vpblendvb(XMMRegister dst, XMMRegister src1, XMMRegister src2,
3004 vinstr(0x4C, dst, src1, src2, k66, k0F3A, kW0);
3008 void Assembler::vpblendw(XMMRegister dst, XMMRegister src1, Operand src2,
3010 vinstr(0x0E, dst, src1, src2, k66, k0F3A, kWIG);
3014 void Assembler::vpalignr(XMMRegister dst, XMMRegister src1, Operand src2,
3016 vinstr(0x0F, dst, src1, src2, k66, k0F3A, kWIG);
3020 void Assembler::vpextrb(Operand dst, XMMRegister src, uint8_t offset) {
3021 vinstr(0x14, src, xmm0, dst, k66, k0F3A, kWIG);
3025 void Assembler::vpextrw(Operand dst, XMMRegister src, uint8_t offset) {
3026 vinstr(0x15, src, xmm0, dst, k66, k0F3A, kWIG);
3030 void Assembler::vpextrd(Operand dst, XMMRegister src, uint8_t offset) {
3031 vinstr(0x16, src, xmm0, dst, k66, k0F3A, kWIG);
3035 void Assembler::vinsertps(XMMRegister dst, XMMRegister src1, Operand src2,
3037 vinstr(0x21, dst, src1, src2, k66, k0F3A, kWIG);
3041 void Assembler::vpinsrb(XMMRegister dst, XMMRegister src1, Operand src2,
3043 vinstr(0x20, dst, src1, src2, k66, k0F3A, kWIG);
3047 void Assembler::vpinsrw(XMMRegister dst, XMMRegister src1, Operand src2,
3049 vinstr(0xC4, dst, src1, src2, k66, k0F, kWIG);
3053 void Assembler::vpinsrd(XMMRegister dst, XMMRegister src1, Operand src2,
3055 vinstr(0x22, dst, src1, src2, k66, k0F3A, kWIG);
3059 void Assembler::vroundsd(XMMRegister dst, XMMRegister src1, XMMRegister src2,
3061 vinstr(0x0b, dst, src1, src2, k66, k0F3A, kWIG);
3064 void Assembler::vroundss(XMMRegister dst, XMMRegister src1, XMMRegister src2,
3066 vinstr(0x0a, dst, src1, src2, k66, k0F3A, kWIG);
3069 void Assembler::vroundps(XMMRegister dst, XMMRegister src, RoundingMode mode) {
3070 vinstr(0x08, dst, xmm0, Operand(src), k66, k0F3A, kWIG);
3073 void Assembler::vroundpd(XMMRegister dst, XMMRegister src, RoundingMode mode) {
3074 vinstr(0x09, dst, xmm0, Operand(src), k66, k0F3A, kWIG);
3078 void Assembler::vmovmskpd(Register dst, XMMRegister src) {
3083 emit_sse_operand(dst, src);
3086 void Assembler::vmovmskps(Register dst, XMMRegister src) {
3091 emit_sse_operand(dst, src);
3094 void Assembler::vpmovmskb(Register dst, XMMRegister src) {
3099 emit_sse_operand(dst, src);
3102 void Assembler::vextractps(Operand dst, XMMRegister src, byte imm8) {
3103 vinstr(0x17, src, xmm0, dst, k66, k0F3A, VexW::kWIG);
3107 void Assembler::vpcmpgtq(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
3108 vinstr(0x37, dst, src1, src2, k66, k0F38, VexW::kWIG);
3119 void Assembler::tzcnt(Register dst, Operand src) {
3125 emit_operand(dst, src);
3128 void Assembler::lzcnt(Register dst, Operand src) {
3134 emit_operand(dst, src);
3137 void Assembler::popcnt(Register dst, Operand src) {
3143 emit_operand(dst, src);
3155 void Assembler::rorx(Register dst, Operand src, byte imm8) {
3162 emit_operand(dst, src);
3166 void Assembler::sse_instr(XMMRegister dst, Operand src, byte escape,
3171 emit_sse_operand(dst, src);
3174 void Assembler::sse2_instr(XMMRegister dst, Operand src, byte prefix,
3180 emit_sse_operand(dst, src);
3183 void Assembler::ssse3_instr(XMMRegister dst, Operand src, byte prefix,
3191 emit_sse_operand(dst, src);
3194 void Assembler::sse4_instr(XMMRegister dst, Operand src, byte prefix,
3202 emit_sse_operand(dst, src);
3205 void Assembler::vinstr(byte op, XMMRegister dst, XMMRegister src1,
3208 vinstr(op, dst, src1, src2, kL128, pp, m, w, feature);
3211 void Assembler::vinstr(byte op, XMMRegister dst, XMMRegister src1, Operand src2,
3214 vinstr(op, dst, src1, src2, kL128, pp, m, w, feature);
3217 void Assembler::vinstr(byte op, XMMRegister dst, XMMRegister src1,
3224 emit_sse_operand(dst, src2);
3227 void Assembler::vinstr(byte op, XMMRegister dst, XMMRegister src1, Operand src2,
3234 emit_sse_operand(dst, src2);
3242 void Assembler::emit_sse_operand(XMMRegister dst, XMMRegister src) {
3243 EMIT(0xC0 | dst.code() << 3 | src.code());
3246 void Assembler::emit_sse_operand(Register dst, XMMRegister src) {
3247 EMIT(0xC0 | dst.code() << 3 | src.code());
3250 void Assembler::emit_sse_operand(XMMRegister dst, Register src) {
3251 EMIT(0xC0 | (dst.code() << 3) | src.code());
3327 void Assembler::emit_arith_b(int op1, int op2, Register dst, int imm8) {
3332 EMIT(op2 | dst.code());
3336 void Assembler::emit_arith(int sel, Operand dst, const Immediate& x) {
3341 emit_operand(ireg, dst);
3343 } else if (dst.is_reg(eax)) {
3348 emit_operand(ireg, dst);