Lines Matching refs:dst
687 sljit_s32 dst, sljit_sw dstw,
693 sljit_s32 dst, sljit_sw dstw,
698 sljit_s32 dst, sljit_sw dstw,
701 #define EMIT_MOV(compiler, dst, dstw, src, srcw) \ argument
702 FAIL_IF(emit_mov(compiler, dst, dstw, src, srcw));
705 sljit_s32 single, sljit_s32 dst, sljit_sw dstw, sljit_s32 src);
708 sljit_s32 single, sljit_s32 dst, sljit_s32 src, sljit_sw srcw);
877 sljit_s32 dst, sljit_sw dstw, in emit_mov() argument
882 SLJIT_ASSERT(dst != SLJIT_UNUSED); in emit_mov()
885 inst = emit_x86_instruction(compiler, 1, src, 0, dst, dstw); in emit_mov()
891 if (FAST_IS_REG(dst)) { in emit_mov()
893 return emit_do_imm(compiler, MOV_r_i32 + reg_map[dst], srcw); in emit_mov()
897 return emit_load_imm64(compiler, dst, srcw); in emit_mov()
900 … return emit_do_imm32(compiler, (reg_map[dst] >= 8) ? REX_B : 0, MOV_r_i32 + reg_lmap[dst], srcw); in emit_mov()
908 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw); in emit_mov()
914 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, dstw); in emit_mov()
919 if (FAST_IS_REG(dst)) { in emit_mov()
920 inst = emit_x86_instruction(compiler, 1, dst, 0, src, srcw); in emit_mov()
931 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw); in emit_mov()
1091 sljit_s32 dst, sljit_sw dstw, in emit_mov_byte() argument
1105 if (FAST_IS_REG(dst)) { in emit_mov_byte()
1107 return emit_do_imm(compiler, MOV_r_i32 + reg_map[dst], srcw); in emit_mov_byte()
1109 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, 0); in emit_mov_byte()
1115 …inst = emit_x86_instruction(compiler, 1 | EX86_BYTE_ARG | EX86_NO_REXW, SLJIT_IMM, srcw, dst, dstw… in emit_mov_byte()
1121 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_mov_byte()
1123 if ((dst & SLJIT_MEM) && FAST_IS_REG(src)) { in emit_mov_byte()
1137 SLJIT_ASSERT(SLOW_IS_REG(dst)); in emit_mov_byte()
1138 if (reg_map[dst] < 4) { in emit_mov_byte()
1139 if (dst != src) in emit_mov_byte()
1140 EMIT_MOV(compiler, dst, 0, src, 0); in emit_mov_byte()
1141 inst = emit_x86_instruction(compiler, 2, dst, 0, dst, 0); in emit_mov_byte()
1147 if (dst != src) in emit_mov_byte()
1148 EMIT_MOV(compiler, dst, 0, src, 0); in emit_mov_byte()
1151 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_IMM, 24, dst, 0); in emit_mov_byte()
1155 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_IMM, 24, dst, 0); in emit_mov_byte()
1160 inst = emit_x86_instruction(compiler, 1 | EX86_BIN_INS, SLJIT_IMM, 0xff, dst, 0); in emit_mov_byte()
1176 if (dst & SLJIT_MEM) { in emit_mov_byte()
1180 if ((dst & REG_MASK) == SLJIT_R0) { in emit_mov_byte()
1181 if ((dst & OFFS_REG_MASK) == TO_OFFS_REG(SLJIT_R1)) in emit_mov_byte()
1187 if ((dst & OFFS_REG_MASK) != TO_OFFS_REG(SLJIT_R0)) in emit_mov_byte()
1189 else if ((dst & REG_MASK) == SLJIT_R1) in emit_mov_byte()
1204 inst = emit_x86_instruction(compiler, 1, work_r, 0, dst, dstw); in emit_mov_byte()
1218 inst = emit_x86_instruction(compiler, 1, dst_r, 0, dst, dstw); in emit_mov_byte()
1223 inst = emit_x86_instruction(compiler, 1 | EX86_REX | EX86_NO_REXW, dst_r, 0, dst, dstw); in emit_mov_byte()
1257 sljit_s32 dst, sljit_sw dstw, in emit_mov_half() argument
1268 if (FAST_IS_REG(dst)) { in emit_mov_half()
1270 return emit_do_imm(compiler, MOV_r_i32 + reg_map[dst], srcw); in emit_mov_half()
1272 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, 0); in emit_mov_half()
1278 …instruction(compiler, 1 | EX86_HALF_ARG | EX86_NO_REXW | EX86_PREF_66, SLJIT_IMM, srcw, dst, dstw); in emit_mov_half()
1284 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_mov_half()
1286 if ((dst & SLJIT_MEM) && FAST_IS_REG(src)) in emit_mov_half()
1295 if (dst & SLJIT_MEM) { in emit_mov_half()
1296 inst = emit_x86_instruction(compiler, 1 | EX86_NO_REXW | EX86_PREF_66, dst_r, 0, dst, dstw); in emit_mov_half()
1305 sljit_s32 dst, sljit_sw dstw, in emit_unary() argument
1310 if (dst == src && dstw == srcw) { in emit_unary()
1312 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, dstw); in emit_unary()
1319 if (SLJIT_UNLIKELY(dst == SLJIT_UNUSED)) in emit_unary()
1320 dst = TMP_REG1; in emit_unary()
1322 if (FAST_IS_REG(dst)) { in emit_unary()
1323 EMIT_MOV(compiler, dst, 0, src, srcw); in emit_unary()
1324 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, 0); in emit_unary()
1336 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_unary()
1341 sljit_s32 dst, sljit_sw dstw, in emit_not_with_flags() argument
1346 if (dst == SLJIT_UNUSED) in emit_not_with_flags()
1347 dst = TMP_REG1; in emit_not_with_flags()
1349 if (FAST_IS_REG(dst)) { in emit_not_with_flags()
1350 EMIT_MOV(compiler, dst, 0, src, srcw); in emit_not_with_flags()
1351 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, 0); in emit_not_with_flags()
1355 inst = emit_x86_instruction(compiler, 1, dst, 0, dst, 0); in emit_not_with_flags()
1369 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_not_with_flags()
1378 sljit_s32 dst, sljit_sw dstw, in emit_clz() argument
1389 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_clz()
1431 if (dst & SLJIT_MEM) in emit_clz()
1432 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_clz()
1437 sljit_s32 dst, sljit_sw dstw, in sljit_emit_op1() argument
1446 CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); in sljit_emit_op1()
1447 ADJUST_LOCAL_OFFSET(dst, dstw); in sljit_emit_op1()
1450 CHECK_EXTRA_REGS(dst, dstw, dst_is_ereg = 1); in sljit_emit_op1()
1463 if (FAST_IS_REG(src) && src == dst) { in sljit_emit_op1()
1506 return emit_mov(compiler, dst, dstw, src, srcw); in sljit_emit_op1()
1512 SLJIT_ASSERT(dst == SLJIT_MEM1(SLJIT_SP)); in sljit_emit_op1()
1513 dst = TMP_REG1; in sljit_emit_op1()
1524 FAIL_IF(emit_mov(compiler, dst, dstw, src, srcw)); in sljit_emit_op1()
1527 FAIL_IF(emit_mov_byte(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1530 FAIL_IF(emit_mov_byte(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1533 FAIL_IF(emit_mov_half(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1536 FAIL_IF(emit_mov_half(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1540 FAIL_IF(emit_mov_int(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1543 FAIL_IF(emit_mov_int(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1549 if (SLJIT_UNLIKELY(dst_is_ereg) && dst == TMP_REG1) in sljit_emit_op1()
1558 return emit_not_with_flags(compiler, dst, dstw, src, srcw); in sljit_emit_op1()
1559 return emit_unary(compiler, NOT_rm, dst, dstw, src, srcw); in sljit_emit_op1()
1562 return emit_unary(compiler, NEG_rm, dst, dstw, src, srcw); in sljit_emit_op1()
1565 return emit_clz(compiler, op_flags, dst, dstw, src, srcw); in sljit_emit_op1()
1603 sljit_s32 dst, sljit_sw dstw, argument
1613 if (dst == SLJIT_UNUSED) {
1626 if (dst == src1 && dstw == src1w) {
1629 …if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128) && (compiler->mode32 || IS_HALFWORD(src2w))…
1631 if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128)) {
1636 BINARY_IMM(op_imm, op_mr, src2w, dst, dstw);
1639 else if (FAST_IS_REG(dst)) {
1640 inst = emit_x86_instruction(compiler, 1, dst, dstw, src2, src2w);
1646 inst = emit_x86_instruction(compiler, 1, src2, src2w, dst, dstw);
1652 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1660 if (dst == src2 && dstw == src2w) {
1663 …if ((dst == SLJIT_R0) && (src1w > 127 || src1w < -128) && (compiler->mode32 || IS_HALFWORD(src1w))…
1665 if ((dst == SLJIT_R0) && (src1w > 127 || src1w < -128)) {
1670 BINARY_IMM(op_imm, op_mr, src1w, dst, dstw);
1673 else if (FAST_IS_REG(dst)) {
1674 inst = emit_x86_instruction(compiler, 1, dst, dstw, src1, src1w);
1679 inst = emit_x86_instruction(compiler, 1, src1, src1w, dst, dstw);
1685 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1693 if (FAST_IS_REG(dst)) {
1694 EMIT_MOV(compiler, dst, 0, src1, src1w);
1696 BINARY_IMM(op_imm, op_mr, src2w, dst, 0);
1699 inst = emit_x86_instruction(compiler, 1, dst, 0, src2, src2w);
1715 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
1723 sljit_s32 dst, sljit_sw dstw, argument
1733 if (dst == SLJIT_UNUSED) {
1746 if (dst == src1 && dstw == src1w) {
1749 …if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128) && (compiler->mode32 || IS_HALFWORD(src2w))…
1751 if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128)) {
1756 BINARY_IMM(op_imm, op_mr, src2w, dst, dstw);
1759 else if (FAST_IS_REG(dst)) {
1760 inst = emit_x86_instruction(compiler, 1, dst, dstw, src2, src2w);
1765 inst = emit_x86_instruction(compiler, 1, src2, src2w, dst, dstw);
1771 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1779 if (FAST_IS_REG(dst) && dst != src2) {
1780 EMIT_MOV(compiler, dst, 0, src1, src1w);
1782 BINARY_IMM(op_imm, op_mr, src2w, dst, 0);
1785 inst = emit_x86_instruction(compiler, 1, dst, 0, src2, src2w);
1801 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
1808 sljit_s32 dst, sljit_sw dstw, argument
1815 dst_r = SLOW_IS_REG(dst) ? dst : TMP_REG1;
1931 if (dst & SLJIT_MEM)
1932 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
1938 sljit_s32 dst, sljit_sw dstw, argument
1946 if (dst == src1 && dstw == src1w)
1948 if (dst == src2 && dstw == src2w)
1951 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1;
1988 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2157 sljit_s32 dst, sljit_sw dstw, argument
2164 if (dst == src1 && dstw == src1w) {
2165 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, dst, dstw);
2170 if (dst == SLJIT_UNUSED) {
2177 if (dst == SLJIT_PREF_SHIFT_REG && src2 == SLJIT_PREF_SHIFT_REG) {
2185 if (FAST_IS_REG(dst)) {
2186 EMIT_MOV(compiler, dst, 0, src1, src1w);
2187 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, dst, 0);
2197 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
2201 if (dst == SLJIT_PREF_SHIFT_REG) {
2209 else if (SLOW_IS_REG(dst) && dst != src2 && !ADDRESSING_DEPENDS_ON(src2, dst)) {
2210 if (src1 != dst)
2211 EMIT_MOV(compiler, dst, 0, src1, src1w);
2214 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_PREF_SHIFT_REG, 0, dst, 0);
2238 if (dst != SLJIT_UNUSED)
2239 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2247 sljit_s32 dst, sljit_sw dstw, argument
2255 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2258 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2261 return emit_mov(compiler, dst, dstw, src1, src1w);
2264 dst, dstw, src1, src1w, SLJIT_IMM, 0);
2268 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2270 if (!FAST_IS_REG(dst))
2273 FAIL_IF(emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w));
2275 if (FAST_IS_REG(dst))
2276 return emit_cmp_binary(compiler, (dst == SLJIT_UNUSED) ? TMP_REG1 : dst, dstw, SLJIT_IMM, 0);
2281 sljit_s32 dst, sljit_sw dstw, argument
2286 CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
2287 ADJUST_LOCAL_OFFSET(dst, dstw);
2291 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2298 if (dst == SLJIT_UNUSED && !HAS_FLAGS(op))
2304 if (emit_lea_binary(compiler, dst, dstw, src1, src1w, src2, src2w) != SLJIT_ERR_UNSUPPORTED)
2308 dst, dstw, src1, src1w, src2, src2w);
2311 dst, dstw, src1, src1w, src2, src2w);
2314 …if ((src2 & SLJIT_IMM) && emit_lea_binary(compiler, dst, dstw, src1, src1w, SLJIT_IMM, -src2w) != …
2316 if (SLOW_IS_REG(dst) && src2 == dst) {
2317 FAIL_IF(emit_non_cum_binary(compiler, BINARY_OPCODE(SUB), dst, 0, dst, 0, src1, src1w));
2318 return emit_unary(compiler, NEG_rm, dst, 0, dst, 0);
2322 if (dst == SLJIT_UNUSED)
2325 dst, dstw, src1, src1w, src2, src2w);
2328 dst, dstw, src1, src1w, src2, src2w);
2330 return emit_mul(compiler, dst, dstw, src1, src1w, src2, src2w);
2332 if (dst == SLJIT_UNUSED)
2335 dst, dstw, src1, src1w, src2, src2w);
2338 dst, dstw, src1, src1w, src2, src2w);
2341 dst, dstw, src1, src1w, src2, src2w);
2344 dst, dstw, src1, src1w, src2, src2w);
2347 dst, dstw, src1, src1w, src2, src2w);
2350 dst, dstw, src1, src1w, src2, src2w);
2466 sljit_s32 single, sljit_s32 dst, sljit_s32 src, sljit_sw srcw) argument
2468 return emit_sse2(compiler, MOVSD_x_xm, single, dst, src, srcw);
2472 sljit_s32 single, sljit_s32 dst, sljit_sw dstw, sljit_s32 src) argument
2474 return emit_sse2(compiler, MOVSD_xm_x, single, src, dst, dstw);
2478 sljit_s32 dst, sljit_sw dstw, argument
2481 sljit_s32 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1;
2494 if (dst & SLJIT_MEM)
2495 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2500 sljit_s32 dst, sljit_sw dstw, argument
2503 sljit_s32 dst_r = FAST_IS_REG(dst) ? dst : TMP_FREG;
2530 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2547 sljit_s32 dst, sljit_sw dstw, argument
2557 SELECT_FOP1_OPERATION_WITH_CHECKS(compiler, op, dst, dstw, src, srcw);
2560 if (FAST_IS_REG(dst))
2561 return emit_sse2_load(compiler, op & SLJIT_F32_OP, dst, src, srcw);
2563 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, src);
2565 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2569 dst_r = FAST_IS_REG(dst) ? dst : TMP_FREG;
2583 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2587 if (FAST_IS_REG(dst)) {
2588 dst_r = dst;
2589 if (dst != src)
2608 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2613 sljit_s32 dst, sljit_sw dstw, argument
2620 CHECK(check_sljit_emit_fop2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
2621 ADJUST_LOCAL_OFFSET(dst, dstw);
2629 if (FAST_IS_REG(dst)) {
2630 dst_r = dst;
2631 if (dst == src1)
2633 else if (dst == src2 && (op == SLJIT_ADD_F64 || op == SLJIT_MUL_F64)) {
2638 else if (dst != src2)
2669 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2773 sljit_s32 dst, sljit_sw dstw, argument
2782 sljit_s32 dst_save = dst;
2786 CHECK(check_sljit_emit_op_flags(compiler, op, dst, dstw, type));
2788 ADJUST_LOCAL_OFFSET(dst, dstw);
2789 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2796 if (GET_OPCODE(op) == SLJIT_OR && !GET_ALL_FLAGS(op) && FAST_IS_REG(dst)) {
2805 *inst++ = REX | (reg_map[TMP_REG1] <= 7 ? 0 : REX_R) | (reg_map[dst] <= 7 ? 0 : REX_B);
2807 *inst++ = MOD_REG | (reg_lmap[TMP_REG1] << 3) | reg_lmap[dst];
2811 reg = (GET_OPCODE(op) < SLJIT_ADD && FAST_IS_REG(dst)) ? dst : TMP_REG1;
2832 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2843 if (GET_OPCODE(op) < SLJIT_ADD && FAST_IS_REG(dst)) {
2844 if (reg_map[dst] <= 4) {
2852 *inst++ = MOD_REG | reg_map[dst];
2856 *inst = MOD_REG | (reg_map[dst] << 3) | reg_map[dst];
2867 EMIT_MOV(compiler, dst, 0, SLJIT_IMM, 0);
2876 *inst++ = MOD_REG | (reg_map[dst] << 3) | reg_map[TMP_REG1];
2891 *inst++ = MOD_REG | (reg_map[dst] << 3) | 0 /* eax */;
2896 if (GET_OPCODE(op) == SLJIT_OR && !GET_ALL_FLAGS(op) && FAST_IS_REG(dst) && reg_map[dst] <= 4) {
2899 if (dst != SLJIT_R0) {
2909 *inst++ = MOD_REG | (0 /* eax */ << 3) | reg_map[dst];
2947 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2997 … sljit_s32 sljit_get_local_base(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, slj… argument
3000 CHECK(check_sljit_get_local_base(compiler, dst, dstw, offset));
3001 ADJUST_LOCAL_OFFSET(dst, dstw);
3003 CHECK_EXTRA_REGS(dst, dstw, (void)0);
3015 …SLJIT_ASSERT(emit_lea_binary(compiler, dst, dstw, SLJIT_SP, 0, TMP_REG1, 0) != SLJIT_ERR_UNSUPPORT…
3018 return emit_lea_binary(compiler, dst, dstw, SLJIT_SP, 0, TMP_REG1, 0);
3024 return emit_lea_binary(compiler, dst, dstw, SLJIT_SP, 0, SLJIT_IMM, offset);
3025 return emit_mov(compiler, dst, dstw, SLJIT_SP, 0);
3028 …t sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, slj… argument
3037 CHECK_PTR(check_sljit_emit_const(compiler, dst, dstw, init_value));
3038 ADJUST_LOCAL_OFFSET(dst, dstw);
3040 CHECK_EXTRA_REGS(dst, dstw, (void)0);
3048 reg = FAST_IS_REG(dst) ? dst : TMP_REG1;
3053 if (emit_mov(compiler, dst, dstw, SLJIT_IMM, init_value))
3064 if (dst & SLJIT_MEM)
3065 if (emit_mov(compiler, dst, dstw, TMP_REG1, 0))
3072 …ljit_put_label* sljit_emit_put_label(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw) argument
3082 CHECK_PTR(check_sljit_emit_put_label(compiler, dst, dstw));
3083 ADJUST_LOCAL_OFFSET(dst, dstw);
3085 CHECK_EXTRA_REGS(dst, dstw, (void)0);
3093 reg = FAST_IS_REG(dst) ? dst : TMP_REG1;
3098 if (emit_mov(compiler, dst, dstw, SLJIT_IMM, 0))
3103 if (dst & SLJIT_MEM) {
3105 if (emit_mov(compiler, dst, dstw, TMP_REG1, 0))