Lines Matching refs:dst
568 sljit_si dst, sljit_sw dstw,
574 sljit_si dst, sljit_sw dstw,
579 sljit_si dst, sljit_sw dstw,
653 sljit_si dst, sljit_sw dstw, in emit_mov() argument
658 if (dst == SLJIT_UNUSED) { in emit_mov()
668 inst = emit_x86_instruction(compiler, 1, src, 0, dst, dstw); in emit_mov()
674 if (FAST_IS_REG(dst)) { in emit_mov()
676 return emit_do_imm(compiler, MOV_r_i32 + reg_map[dst], srcw); in emit_mov()
680 return emit_load_imm64(compiler, dst, srcw); in emit_mov()
683 … return emit_do_imm32(compiler, (reg_map[dst] >= 8) ? REX_B : 0, MOV_r_i32 + reg_lmap[dst], srcw); in emit_mov()
689 inst = emit_x86_instruction(compiler, 1, TMP_REG2, 0, dst, dstw); in emit_mov()
695 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, dstw); in emit_mov()
700 if (FAST_IS_REG(dst)) { in emit_mov()
701 inst = emit_x86_instruction(compiler, 1, dst, 0, src, srcw); in emit_mov()
711 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw); in emit_mov()
717 #define EMIT_MOV(compiler, dst, dstw, src, srcw) \ argument
718 FAIL_IF(emit_mov(compiler, dst, dstw, src, srcw));
864 sljit_si dst, sljit_sw dstw, in emit_mov_byte() argument
877 if (dst == SLJIT_UNUSED && !(src & SLJIT_MEM)) in emit_mov_byte()
881 if (FAST_IS_REG(dst)) { in emit_mov_byte()
883 return emit_do_imm(compiler, MOV_r_i32 + reg_map[dst], srcw); in emit_mov_byte()
885 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, 0); in emit_mov_byte()
891 …inst = emit_x86_instruction(compiler, 1 | EX86_BYTE_ARG | EX86_NO_REXW, SLJIT_IMM, srcw, dst, dstw… in emit_mov_byte()
897 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_mov_byte()
899 if ((dst & SLJIT_MEM) && FAST_IS_REG(src)) { in emit_mov_byte()
913 SLJIT_ASSERT(SLOW_IS_REG(dst)); in emit_mov_byte()
914 if (reg_map[dst] < 4) { in emit_mov_byte()
915 if (dst != src) in emit_mov_byte()
916 EMIT_MOV(compiler, dst, 0, src, 0); in emit_mov_byte()
917 inst = emit_x86_instruction(compiler, 2, dst, 0, dst, 0); in emit_mov_byte()
923 if (dst != src) in emit_mov_byte()
924 EMIT_MOV(compiler, dst, 0, src, 0); in emit_mov_byte()
927 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_IMM, 24, dst, 0); in emit_mov_byte()
931 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_IMM, 24, dst, 0); in emit_mov_byte()
936 inst = emit_x86_instruction(compiler, 1 | EX86_BIN_INS, SLJIT_IMM, 0xff, dst, 0); in emit_mov_byte()
952 if (dst & SLJIT_MEM) { in emit_mov_byte()
956 if ((dst & REG_MASK) == SLJIT_R0) { in emit_mov_byte()
957 if ((dst & OFFS_REG_MASK) == TO_OFFS_REG(SLJIT_R1)) in emit_mov_byte()
963 if ((dst & OFFS_REG_MASK) != TO_OFFS_REG(SLJIT_R0)) in emit_mov_byte()
965 else if ((dst & REG_MASK) == SLJIT_R1) in emit_mov_byte()
980 inst = emit_x86_instruction(compiler, 1, work_r, 0, dst, dstw); in emit_mov_byte()
994 inst = emit_x86_instruction(compiler, 1, dst_r, 0, dst, dstw); in emit_mov_byte()
999 inst = emit_x86_instruction(compiler, 1 | EX86_REX | EX86_NO_REXW, dst_r, 0, dst, dstw); in emit_mov_byte()
1009 sljit_si dst, sljit_sw dstw, in emit_mov_half() argument
1019 if (dst == SLJIT_UNUSED && !(src & SLJIT_MEM)) in emit_mov_half()
1023 if (FAST_IS_REG(dst)) { in emit_mov_half()
1025 return emit_do_imm(compiler, MOV_r_i32 + reg_map[dst], srcw); in emit_mov_half()
1027 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, 0); in emit_mov_half()
1033 …instruction(compiler, 1 | EX86_HALF_ARG | EX86_NO_REXW | EX86_PREF_66, SLJIT_IMM, srcw, dst, dstw); in emit_mov_half()
1039 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_mov_half()
1041 if ((dst & SLJIT_MEM) && FAST_IS_REG(src)) in emit_mov_half()
1050 if (dst & SLJIT_MEM) { in emit_mov_half()
1051 inst = emit_x86_instruction(compiler, 1 | EX86_NO_REXW | EX86_PREF_66, dst_r, 0, dst, dstw); in emit_mov_half()
1060 sljit_si dst, sljit_sw dstw, in emit_unary() argument
1065 if (dst == SLJIT_UNUSED) { in emit_unary()
1073 if (dst == src && dstw == srcw) { in emit_unary()
1075 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, dstw); in emit_unary()
1081 if (FAST_IS_REG(dst)) { in emit_unary()
1082 EMIT_MOV(compiler, dst, 0, src, srcw); in emit_unary()
1083 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, dstw); in emit_unary()
1094 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_unary()
1099 sljit_si dst, sljit_sw dstw, in emit_not_with_flags() argument
1104 if (dst == SLJIT_UNUSED) { in emit_not_with_flags()
1115 if (FAST_IS_REG(dst)) { in emit_not_with_flags()
1116 EMIT_MOV(compiler, dst, 0, src, srcw); in emit_not_with_flags()
1117 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, dstw); in emit_not_with_flags()
1121 inst = emit_x86_instruction(compiler, 1, dst, 0, dst, 0); in emit_not_with_flags()
1134 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_not_with_flags()
1139 sljit_si dst, sljit_sw dstw, in emit_clz() argument
1146 if (SLJIT_UNLIKELY(dst == SLJIT_UNUSED)) { in emit_clz()
1175 if (FAST_IS_REG(dst)) in emit_clz()
1176 dst_r = dst; in emit_clz()
1179 if ((dst & REG_MASK) != SLJIT_R0 && (dst & OFFS_REG_MASK) != TO_OFFS_REG(SLJIT_R0)) in emit_clz()
1181 else if ((dst & REG_MASK) != SLJIT_R1 && (dst & OFFS_REG_MASK) != TO_OFFS_REG(SLJIT_R1)) in emit_clz()
1185 EMIT_MOV(compiler, dst, dstw, dst_r, 0); in emit_clz()
1189 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG2; in emit_clz()
1235 if (dst & SLJIT_MEM) { in emit_clz()
1236 inst = emit_x86_instruction(compiler, 1, dst_r, 0, dst, dstw); in emit_clz()
1241 if (dst & SLJIT_MEM) in emit_clz()
1242 EMIT_MOV(compiler, dst, dstw, TMP_REG2, 0); in emit_clz()
1248 sljit_si dst, sljit_sw dstw, in sljit_emit_op1() argument
1262 CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); in sljit_emit_op1()
1263 ADJUST_LOCAL_OFFSET(dst, dstw); in sljit_emit_op1()
1266 CHECK_EXTRA_REGS(dst, dstw, dst_is_ereg = 1); in sljit_emit_op1()
1279 if (FAST_IS_REG(src) && src == dst) { in sljit_emit_op1()
1326 return emit_mov(compiler, dst, dstw, src, srcw); in sljit_emit_op1()
1340 SLJIT_ASSERT(dst == SLJIT_MEM1(SLJIT_SP)); in sljit_emit_op1()
1341 dst = TMP_REG1; in sljit_emit_op1()
1352 FAIL_IF(emit_mov(compiler, dst, dstw, src, srcw)); in sljit_emit_op1()
1355 FAIL_IF(emit_mov_byte(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1358 FAIL_IF(emit_mov_byte(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1361 FAIL_IF(emit_mov_half(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1364 FAIL_IF(emit_mov_half(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1368 FAIL_IF(emit_mov_int(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1371 FAIL_IF(emit_mov_int(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1377 if (SLJIT_UNLIKELY(dst_is_ereg) && dst == TMP_REG1) in sljit_emit_op1()
1381 …if (SLJIT_UNLIKELY(update) && (dst & SLJIT_MEM) && (dst & REG_MASK) && (dstw != 0 || (dst & OFFS_R… in sljit_emit_op1()
1382 inst = emit_x86_instruction(compiler, 1, dst & REG_MASK, 0, dst, dstw); in sljit_emit_op1()
1395 return emit_not_with_flags(compiler, dst, dstw, src, srcw); in sljit_emit_op1()
1396 return emit_unary(compiler, NOT_rm, dst, dstw, src, srcw); in sljit_emit_op1()
1401 return emit_unary(compiler, NEG_rm, dst, dstw, src, srcw); in sljit_emit_op1()
1406 return emit_clz(compiler, op_flags, dst, dstw, src, srcw); in sljit_emit_op1()
1448 sljit_si dst, sljit_sw dstw, argument
1454 if (dst == SLJIT_UNUSED) {
1467 if (dst == src1 && dstw == src1w) {
1470 …if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128) && (compiler->mode32 || IS_HALFWORD(src2w))…
1472 if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128)) {
1477 BINARY_IMM(op_imm, op_mr, src2w, dst, dstw);
1480 else if (FAST_IS_REG(dst)) {
1481 inst = emit_x86_instruction(compiler, 1, dst, dstw, src2, src2w);
1487 inst = emit_x86_instruction(compiler, 1, src2, src2w, dst, dstw);
1493 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1501 if (dst == src2 && dstw == src2w) {
1504 …if ((dst == SLJIT_R0) && (src1w > 127 || src1w < -128) && (compiler->mode32 || IS_HALFWORD(src1w))…
1506 if ((dst == SLJIT_R0) && (src1w > 127 || src1w < -128)) {
1511 BINARY_IMM(op_imm, op_mr, src1w, dst, dstw);
1514 else if (FAST_IS_REG(dst)) {
1515 inst = emit_x86_instruction(compiler, 1, dst, dstw, src1, src1w);
1520 inst = emit_x86_instruction(compiler, 1, src1, src1w, dst, dstw);
1526 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1534 if (FAST_IS_REG(dst)) {
1535 EMIT_MOV(compiler, dst, 0, src1, src1w);
1537 BINARY_IMM(op_imm, op_mr, src2w, dst, 0);
1540 inst = emit_x86_instruction(compiler, 1, dst, 0, src2, src2w);
1556 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
1564 sljit_si dst, sljit_sw dstw, argument
1570 if (dst == SLJIT_UNUSED) {
1583 if (dst == src1 && dstw == src1w) {
1586 …if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128) && (compiler->mode32 || IS_HALFWORD(src2w))…
1588 if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128)) {
1593 BINARY_IMM(op_imm, op_mr, src2w, dst, dstw);
1596 else if (FAST_IS_REG(dst)) {
1597 inst = emit_x86_instruction(compiler, 1, dst, dstw, src2, src2w);
1602 inst = emit_x86_instruction(compiler, 1, src2, src2w, dst, dstw);
1608 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1616 if (FAST_IS_REG(dst) && dst != src2) {
1617 EMIT_MOV(compiler, dst, 0, src1, src1w);
1619 BINARY_IMM(op_imm, op_mr, src2w, dst, 0);
1622 inst = emit_x86_instruction(compiler, 1, dst, 0, src2, src2w);
1638 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
1645 sljit_si dst, sljit_sw dstw, argument
1652 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1;
1769 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
1775 sljit_si dst, sljit_sw dstw, argument
1784 if (dst == src1 && dstw == src1w)
1786 if (dst == src2 && dstw == src2w)
1790 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1;
1827 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
1994 sljit_si dst, sljit_sw dstw, argument
2001 if (dst == src1 && dstw == src1w) {
2002 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, dst, dstw);
2007 if (dst == SLJIT_UNUSED) {
2014 if (dst == SLJIT_PREF_SHIFT_REG && src2 == SLJIT_PREF_SHIFT_REG) {
2022 if (FAST_IS_REG(dst)) {
2023 EMIT_MOV(compiler, dst, 0, src1, src1w);
2024 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, dst, 0);
2034 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
2038 if (dst == SLJIT_PREF_SHIFT_REG) {
2046 else if (FAST_IS_REG(dst) && dst != src2 && !ADDRESSING_DEPENDS_ON(src2, dst)) {
2047 if (src1 != dst)
2048 EMIT_MOV(compiler, dst, 0, src1, src1w);
2051 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_PREF_SHIFT_REG, 0, dst, 0);
2075 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
2083 sljit_si dst, sljit_sw dstw, argument
2091 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2094 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2097 return emit_mov(compiler, dst, dstw, src1, src1w);
2100 dst, dstw, src1, src1w, SLJIT_IMM, 0);
2104 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2106 if (!FAST_IS_REG(dst))
2109 FAIL_IF(emit_shift(compiler,mode, dst, dstw, src1, src1w, src2, src2w));
2111 if (FAST_IS_REG(dst))
2112 return emit_cmp_binary(compiler, dst, dstw, SLJIT_IMM, 0);
2117 sljit_si dst, sljit_sw dstw, argument
2122 CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
2123 ADJUST_LOCAL_OFFSET(dst, dstw);
2127 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2144 …if (emit_lea_binary(compiler, op & SLJIT_KEEP_FLAGS, dst, dstw, src1, src1w, src2, src2w) != SLJIT…
2152 dst, dstw, src1, src1w, src2, src2w);
2161 dst, dstw, src1, src1w, src2, src2w);
2164 …if ((src2 & SLJIT_IMM) && emit_lea_binary(compiler, op & SLJIT_KEEP_FLAGS, dst, dstw, src1, src1w,…
2171 if (dst == SLJIT_UNUSED)
2174 dst, dstw, src1, src1w, src2, src2w);
2183 dst, dstw, src1, src1w, src2, src2w);
2185 return emit_mul(compiler, dst, dstw, src1, src1w, src2, src2w);
2187 if (dst == SLJIT_UNUSED)
2190 dst, dstw, src1, src1w, src2, src2w);
2193 dst, dstw, src1, src1w, src2, src2w);
2196 dst, dstw, src1, src1w, src2, src2w);
2199 dst, dstw, src1, src1w, src2, src2w);
2202 dst, dstw, src1, src1w, src2, src2w);
2205 dst, dstw, src1, src1w, src2, src2w);
2301 sljit_si single, sljit_si dst, sljit_si src, sljit_sw srcw) argument
2303 return emit_sse2(compiler, MOVSD_x_xm, single, dst, src, srcw);
2307 sljit_si single, sljit_si dst, sljit_sw dstw, sljit_si src) argument
2309 return emit_sse2(compiler, MOVSD_xm_x, single, src, dst, dstw);
2313 sljit_si dst, sljit_sw dstw, argument
2316 sljit_si dst_r = SLOW_IS_REG(dst) ? dst : TMP_REG1;
2329 if (dst_r == TMP_REG1 && dst != SLJIT_UNUSED)
2330 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2335 sljit_si dst, sljit_sw dstw, argument
2338 sljit_si dst_r = FAST_IS_REG(dst) ? dst : TMP_FREG;
2365 return emit_sse2_store(compiler, op & SLJIT_SINGLE_OP, dst, dstw, TMP_FREG);
2382 sljit_si dst, sljit_sw dstw, argument
2392 SELECT_FOP1_OPERATION_WITH_CHECKS(compiler, op, dst, dstw, src, srcw);
2395 if (FAST_IS_REG(dst))
2396 return emit_sse2_load(compiler, op & SLJIT_SINGLE_OP, dst, src, srcw);
2398 return emit_sse2_store(compiler, op & SLJIT_SINGLE_OP, dst, dstw, src);
2400 return emit_sse2_store(compiler, op & SLJIT_SINGLE_OP, dst, dstw, TMP_FREG);
2404 dst_r = FAST_IS_REG(dst) ? dst : TMP_FREG;
2418 return emit_sse2_store(compiler, op & SLJIT_SINGLE_OP, dst, dstw, TMP_FREG);
2422 if (SLOW_IS_REG(dst)) {
2423 dst_r = dst;
2424 if (dst != src)
2443 return emit_sse2_store(compiler, op & SLJIT_SINGLE_OP, dst, dstw, TMP_FREG);
2448 sljit_si dst, sljit_sw dstw, argument
2455 CHECK(check_sljit_emit_fop2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
2456 ADJUST_LOCAL_OFFSET(dst, dstw);
2464 if (FAST_IS_REG(dst)) {
2465 dst_r = dst;
2466 if (dst == src1)
2468 else if (dst == src2 && (op == SLJIT_DADD || op == SLJIT_DMUL)) {
2473 else if (dst != src2)
2504 return emit_sse2_store(compiler, op & SLJIT_SINGLE_OP, dst, dstw, TMP_FREG);
2648 sljit_si dst, sljit_sw dstw, argument
2658 sljit_si dst_save = dst;
2663 CHECK(check_sljit_emit_op_flags(compiler, op, dst, dstw, src, srcw, type));
2666 if (dst == SLJIT_UNUSED)
2669 ADJUST_LOCAL_OFFSET(dst, dstw);
2670 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2679 if (GET_OPCODE(op) == SLJIT_OR && !GET_ALL_FLAGS(op) && FAST_IS_REG(dst) && dst == src) {
2688 *inst++ = REX | (reg_map[TMP_REG1] <= 7 ? 0 : REX_R) | (reg_map[dst] <= 7 ? 0 : REX_B);
2690 *inst++ = MOD_REG | (reg_lmap[TMP_REG1] << 3) | reg_lmap[dst];
2694 reg = (op == SLJIT_MOV && FAST_IS_REG(dst)) ? dst : TMP_REG1;
2714 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2720 return sljit_emit_op2(compiler, op, dst, dstw, dst, dstw, TMP_REG1, 0);
2722 if (GET_OPCODE(op) < SLJIT_ADD && FAST_IS_REG(dst)) {
2723 if (reg_map[dst] <= 4) {
2731 *inst++ = MOD_REG | reg_map[dst];
2735 *inst = MOD_REG | (reg_map[dst] << 3) | reg_map[dst];
2746 EMIT_MOV(compiler, dst, 0, SLJIT_IMM, 0);
2755 *inst++ = MOD_REG | (reg_map[dst] << 3) | reg_map[TMP_REG1];
2770 *inst++ = MOD_REG | (reg_map[dst] << 3) | 0 /* eax */;
2775 …OPCODE(op) == SLJIT_OR && !GET_ALL_FLAGS(op) && FAST_IS_REG(dst) && dst == src && reg_map[dst] <= …
2777 if (dst != SLJIT_R0) {
2787 *inst++ = MOD_REG | (0 /* eax */ << 3) | reg_map[dst];
2825 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2835 …TE sljit_si sljit_get_local_base(struct sljit_compiler *compiler, sljit_si dst, sljit_sw dstw, slj… argument
2838 CHECK(check_sljit_get_local_base(compiler, dst, dstw, offset));
2839 ADJUST_LOCAL_OFFSET(dst, dstw);
2841 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2853 …SLJIT_ASSERT(emit_lea_binary(compiler, SLJIT_KEEP_FLAGS, dst, dstw, SLJIT_SP, 0, TMP_REG1, 0) != S…
2856 return emit_lea_binary(compiler, SLJIT_KEEP_FLAGS, dst, dstw, SLJIT_SP, 0, TMP_REG1, 0);
2862 return emit_lea_binary(compiler, SLJIT_KEEP_FLAGS, dst, dstw, SLJIT_SP, 0, SLJIT_IMM, offset);
2863 return emit_mov(compiler, dst, dstw, SLJIT_SP, 0);
2866 …ct sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_si dst, sljit_sw dstw, slj… argument
2875 CHECK_PTR(check_sljit_emit_const(compiler, dst, dstw, init_value));
2876 ADJUST_LOCAL_OFFSET(dst, dstw);
2878 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2886 reg = SLOW_IS_REG(dst) ? dst : TMP_REG1;
2891 if (dst == SLJIT_UNUSED)
2892 dst = TMP_REG1;
2894 if (emit_mov(compiler, dst, dstw, SLJIT_IMM, init_value))
2905 if (dst & SLJIT_MEM)
2906 if (emit_mov(compiler, dst, dstw, TMP_REG1, 0))