Lines Matching refs:dst
685 sljit_s32 dst, sljit_sw dstw,
691 sljit_s32 dst, sljit_sw dstw,
696 sljit_s32 dst, sljit_sw dstw,
699 #define EMIT_MOV(compiler, dst, dstw, src, srcw) \ argument
700 FAIL_IF(emit_mov(compiler, dst, dstw, src, srcw));
703 sljit_s32 single, sljit_s32 dst, sljit_sw dstw, sljit_s32 src);
706 sljit_s32 single, sljit_s32 dst, sljit_s32 src, sljit_sw srcw);
880 sljit_s32 dst, sljit_sw dstw, in emit_mov() argument
885 SLJIT_ASSERT(dst != SLJIT_UNUSED); in emit_mov()
888 inst = emit_x86_instruction(compiler, 1, src, 0, dst, dstw); in emit_mov()
894 if (FAST_IS_REG(dst)) { in emit_mov()
896 return emit_do_imm(compiler, MOV_r_i32 + reg_map[dst], srcw); in emit_mov()
900 return emit_load_imm64(compiler, dst, srcw); in emit_mov()
903 … return emit_do_imm32(compiler, (reg_map[dst] >= 8) ? REX_B : 0, MOV_r_i32 + reg_lmap[dst], srcw); in emit_mov()
911 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw); in emit_mov()
917 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, dstw); in emit_mov()
922 if (FAST_IS_REG(dst)) { in emit_mov()
923 inst = emit_x86_instruction(compiler, 1, dst, 0, src, srcw); in emit_mov()
934 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw); in emit_mov()
1094 sljit_s32 dst, sljit_sw dstw, in emit_mov_byte() argument
1108 if (FAST_IS_REG(dst)) { in emit_mov_byte()
1110 return emit_do_imm(compiler, MOV_r_i32 + reg_map[dst], srcw); in emit_mov_byte()
1112 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, 0); in emit_mov_byte()
1118 …inst = emit_x86_instruction(compiler, 1 | EX86_BYTE_ARG | EX86_NO_REXW, SLJIT_IMM, srcw, dst, dstw… in emit_mov_byte()
1124 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_mov_byte()
1126 if ((dst & SLJIT_MEM) && FAST_IS_REG(src)) { in emit_mov_byte()
1140 SLJIT_ASSERT(SLOW_IS_REG(dst)); in emit_mov_byte()
1141 if (reg_map[dst] < 4) { in emit_mov_byte()
1142 if (dst != src) in emit_mov_byte()
1143 EMIT_MOV(compiler, dst, 0, src, 0); in emit_mov_byte()
1144 inst = emit_x86_instruction(compiler, 2, dst, 0, dst, 0); in emit_mov_byte()
1150 if (dst != src) in emit_mov_byte()
1151 EMIT_MOV(compiler, dst, 0, src, 0); in emit_mov_byte()
1154 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_IMM, 24, dst, 0); in emit_mov_byte()
1158 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_IMM, 24, dst, 0); in emit_mov_byte()
1163 inst = emit_x86_instruction(compiler, 1 | EX86_BIN_INS, SLJIT_IMM, 0xff, dst, 0); in emit_mov_byte()
1179 if (dst & SLJIT_MEM) { in emit_mov_byte()
1183 if ((dst & REG_MASK) == SLJIT_R0) { in emit_mov_byte()
1184 if ((dst & OFFS_REG_MASK) == TO_OFFS_REG(SLJIT_R1)) in emit_mov_byte()
1190 if ((dst & OFFS_REG_MASK) != TO_OFFS_REG(SLJIT_R0)) in emit_mov_byte()
1192 else if ((dst & REG_MASK) == SLJIT_R1) in emit_mov_byte()
1207 inst = emit_x86_instruction(compiler, 1, work_r, 0, dst, dstw); in emit_mov_byte()
1221 inst = emit_x86_instruction(compiler, 1, dst_r, 0, dst, dstw); in emit_mov_byte()
1226 inst = emit_x86_instruction(compiler, 1 | EX86_REX | EX86_NO_REXW, dst_r, 0, dst, dstw); in emit_mov_byte()
1260 sljit_s32 dst, sljit_sw dstw, in emit_mov_half() argument
1271 if (FAST_IS_REG(dst)) { in emit_mov_half()
1273 return emit_do_imm(compiler, MOV_r_i32 + reg_map[dst], srcw); in emit_mov_half()
1275 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, 0); in emit_mov_half()
1281 …instruction(compiler, 1 | EX86_HALF_ARG | EX86_NO_REXW | EX86_PREF_66, SLJIT_IMM, srcw, dst, dstw); in emit_mov_half()
1287 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_mov_half()
1289 if ((dst & SLJIT_MEM) && FAST_IS_REG(src)) in emit_mov_half()
1298 if (dst & SLJIT_MEM) { in emit_mov_half()
1299 inst = emit_x86_instruction(compiler, 1 | EX86_NO_REXW | EX86_PREF_66, dst_r, 0, dst, dstw); in emit_mov_half()
1308 sljit_s32 dst, sljit_sw dstw, in emit_unary() argument
1313 if (dst == src && dstw == srcw) { in emit_unary()
1315 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, dstw); in emit_unary()
1322 if (SLJIT_UNLIKELY(dst == SLJIT_UNUSED)) in emit_unary()
1323 dst = TMP_REG1; in emit_unary()
1325 if (FAST_IS_REG(dst)) { in emit_unary()
1326 EMIT_MOV(compiler, dst, 0, src, srcw); in emit_unary()
1327 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, 0); in emit_unary()
1339 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_unary()
1344 sljit_s32 dst, sljit_sw dstw, in emit_not_with_flags() argument
1349 if (dst == SLJIT_UNUSED) in emit_not_with_flags()
1350 dst = TMP_REG1; in emit_not_with_flags()
1352 if (FAST_IS_REG(dst)) { in emit_not_with_flags()
1353 EMIT_MOV(compiler, dst, 0, src, srcw); in emit_not_with_flags()
1354 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, 0); in emit_not_with_flags()
1358 inst = emit_x86_instruction(compiler, 1, dst, 0, dst, 0); in emit_not_with_flags()
1372 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_not_with_flags()
1381 sljit_s32 dst, sljit_sw dstw, in emit_clz() argument
1392 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_clz()
1434 if (dst & SLJIT_MEM) in emit_clz()
1435 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_clz()
1440 sljit_s32 dst, sljit_sw dstw, in sljit_emit_op1() argument
1449 CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); in sljit_emit_op1()
1450 ADJUST_LOCAL_OFFSET(dst, dstw); in sljit_emit_op1()
1453 CHECK_EXTRA_REGS(dst, dstw, dst_is_ereg = 1); in sljit_emit_op1()
1466 if (FAST_IS_REG(src) && src == dst) { in sljit_emit_op1()
1509 return emit_mov(compiler, dst, dstw, src, srcw); in sljit_emit_op1()
1515 SLJIT_ASSERT(dst == SLJIT_MEM1(SLJIT_SP)); in sljit_emit_op1()
1516 dst = TMP_REG1; in sljit_emit_op1()
1527 FAIL_IF(emit_mov(compiler, dst, dstw, src, srcw)); in sljit_emit_op1()
1530 FAIL_IF(emit_mov_byte(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1533 FAIL_IF(emit_mov_byte(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1536 FAIL_IF(emit_mov_half(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1539 FAIL_IF(emit_mov_half(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1543 FAIL_IF(emit_mov_int(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1546 FAIL_IF(emit_mov_int(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1552 if (SLJIT_UNLIKELY(dst_is_ereg) && dst == TMP_REG1) in sljit_emit_op1()
1561 return emit_not_with_flags(compiler, dst, dstw, src, srcw); in sljit_emit_op1()
1562 return emit_unary(compiler, NOT_rm, dst, dstw, src, srcw); in sljit_emit_op1()
1565 return emit_unary(compiler, NEG_rm, dst, dstw, src, srcw); in sljit_emit_op1()
1568 return emit_clz(compiler, op_flags, dst, dstw, src, srcw); in sljit_emit_op1()
1606 sljit_s32 dst, sljit_sw dstw, argument
1616 if (dst == SLJIT_UNUSED) {
1629 if (dst == src1 && dstw == src1w) {
1632 …if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128) && (compiler->mode32 || IS_HALFWORD(src2w))…
1634 if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128)) {
1639 BINARY_IMM(op_imm, op_mr, src2w, dst, dstw);
1642 else if (FAST_IS_REG(dst)) {
1643 inst = emit_x86_instruction(compiler, 1, dst, dstw, src2, src2w);
1649 inst = emit_x86_instruction(compiler, 1, src2, src2w, dst, dstw);
1655 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1663 if (dst == src2 && dstw == src2w) {
1666 …if ((dst == SLJIT_R0) && (src1w > 127 || src1w < -128) && (compiler->mode32 || IS_HALFWORD(src1w))…
1668 if ((dst == SLJIT_R0) && (src1w > 127 || src1w < -128)) {
1673 BINARY_IMM(op_imm, op_mr, src1w, dst, dstw);
1676 else if (FAST_IS_REG(dst)) {
1677 inst = emit_x86_instruction(compiler, 1, dst, dstw, src1, src1w);
1682 inst = emit_x86_instruction(compiler, 1, src1, src1w, dst, dstw);
1688 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1696 if (FAST_IS_REG(dst)) {
1697 EMIT_MOV(compiler, dst, 0, src1, src1w);
1699 BINARY_IMM(op_imm, op_mr, src2w, dst, 0);
1702 inst = emit_x86_instruction(compiler, 1, dst, 0, src2, src2w);
1718 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
1726 sljit_s32 dst, sljit_sw dstw, argument
1736 if (dst == SLJIT_UNUSED) {
1749 if (dst == src1 && dstw == src1w) {
1752 …if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128) && (compiler->mode32 || IS_HALFWORD(src2w))…
1754 if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128)) {
1759 BINARY_IMM(op_imm, op_mr, src2w, dst, dstw);
1762 else if (FAST_IS_REG(dst)) {
1763 inst = emit_x86_instruction(compiler, 1, dst, dstw, src2, src2w);
1768 inst = emit_x86_instruction(compiler, 1, src2, src2w, dst, dstw);
1774 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1782 if (FAST_IS_REG(dst) && dst != src2) {
1783 EMIT_MOV(compiler, dst, 0, src1, src1w);
1785 BINARY_IMM(op_imm, op_mr, src2w, dst, 0);
1788 inst = emit_x86_instruction(compiler, 1, dst, 0, src2, src2w);
1804 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
1811 sljit_s32 dst, sljit_sw dstw, argument
1818 dst_r = SLOW_IS_REG(dst) ? dst : TMP_REG1;
1934 if (dst & SLJIT_MEM)
1935 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
1941 sljit_s32 dst, sljit_sw dstw, argument
1949 if (dst == src1 && dstw == src1w)
1951 if (dst == src2 && dstw == src2w)
1954 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1;
1991 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2160 sljit_s32 dst, sljit_sw dstw, argument
2167 if (dst == src1 && dstw == src1w) {
2168 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, dst, dstw);
2173 if (dst == SLJIT_UNUSED) {
2180 if (dst == SLJIT_PREF_SHIFT_REG && src2 == SLJIT_PREF_SHIFT_REG) {
2188 if (FAST_IS_REG(dst)) {
2189 EMIT_MOV(compiler, dst, 0, src1, src1w);
2190 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, dst, 0);
2200 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
2204 if (dst == SLJIT_PREF_SHIFT_REG) {
2212 else if (SLOW_IS_REG(dst) && dst != src2 && !ADDRESSING_DEPENDS_ON(src2, dst)) {
2213 if (src1 != dst)
2214 EMIT_MOV(compiler, dst, 0, src1, src1w);
2217 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_PREF_SHIFT_REG, 0, dst, 0);
2241 if (dst != SLJIT_UNUSED)
2242 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2250 sljit_s32 dst, sljit_sw dstw, argument
2258 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2261 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2264 return emit_mov(compiler, dst, dstw, src1, src1w);
2267 dst, dstw, src1, src1w, SLJIT_IMM, 0);
2271 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2273 if (!FAST_IS_REG(dst))
2276 FAIL_IF(emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w));
2278 if (FAST_IS_REG(dst))
2279 return emit_cmp_binary(compiler, (dst == SLJIT_UNUSED) ? TMP_REG1 : dst, dstw, SLJIT_IMM, 0);
2284 sljit_s32 dst, sljit_sw dstw, argument
2289 CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
2290 ADJUST_LOCAL_OFFSET(dst, dstw);
2294 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2301 if (dst == SLJIT_UNUSED && !HAS_FLAGS(op))
2307 if (emit_lea_binary(compiler, dst, dstw, src1, src1w, src2, src2w) != SLJIT_ERR_UNSUPPORTED)
2311 dst, dstw, src1, src1w, src2, src2w);
2314 dst, dstw, src1, src1w, src2, src2w);
2317 …if ((src2 & SLJIT_IMM) && emit_lea_binary(compiler, dst, dstw, src1, src1w, SLJIT_IMM, -src2w) != …
2319 if (SLOW_IS_REG(dst) && src2 == dst) {
2320 FAIL_IF(emit_non_cum_binary(compiler, BINARY_OPCODE(SUB), dst, 0, dst, 0, src1, src1w));
2321 return emit_unary(compiler, NEG_rm, dst, 0, dst, 0);
2325 if (dst == SLJIT_UNUSED)
2328 dst, dstw, src1, src1w, src2, src2w);
2331 dst, dstw, src1, src1w, src2, src2w);
2333 return emit_mul(compiler, dst, dstw, src1, src1w, src2, src2w);
2335 if (dst == SLJIT_UNUSED)
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);
2353 dst, dstw, src1, src1w, src2, src2w);
2469 sljit_s32 single, sljit_s32 dst, sljit_s32 src, sljit_sw srcw) argument
2471 return emit_sse2(compiler, MOVSD_x_xm, single, dst, src, srcw);
2475 sljit_s32 single, sljit_s32 dst, sljit_sw dstw, sljit_s32 src) argument
2477 return emit_sse2(compiler, MOVSD_xm_x, single, src, dst, dstw);
2481 sljit_s32 dst, sljit_sw dstw, argument
2484 sljit_s32 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1;
2497 if (dst & SLJIT_MEM)
2498 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2503 sljit_s32 dst, sljit_sw dstw, argument
2506 sljit_s32 dst_r = FAST_IS_REG(dst) ? dst : TMP_FREG;
2533 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2550 sljit_s32 dst, sljit_sw dstw, argument
2560 SELECT_FOP1_OPERATION_WITH_CHECKS(compiler, op, dst, dstw, src, srcw);
2563 if (FAST_IS_REG(dst))
2564 return emit_sse2_load(compiler, op & SLJIT_F32_OP, dst, src, srcw);
2566 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, src);
2568 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2572 dst_r = FAST_IS_REG(dst) ? dst : TMP_FREG;
2586 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2590 if (FAST_IS_REG(dst)) {
2591 dst_r = dst;
2592 if (dst != src)
2611 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2616 sljit_s32 dst, sljit_sw dstw, argument
2623 CHECK(check_sljit_emit_fop2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
2624 ADJUST_LOCAL_OFFSET(dst, dstw);
2632 if (FAST_IS_REG(dst)) {
2633 dst_r = dst;
2634 if (dst == src1)
2636 else if (dst == src2 && (op == SLJIT_ADD_F64 || op == SLJIT_MUL_F64)) {
2641 else if (dst != src2)
2672 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2776 sljit_s32 dst, sljit_sw dstw, argument
2785 sljit_s32 dst_save = dst;
2789 CHECK(check_sljit_emit_op_flags(compiler, op, dst, dstw, type));
2791 ADJUST_LOCAL_OFFSET(dst, dstw);
2792 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2799 if (GET_OPCODE(op) == SLJIT_OR && !GET_ALL_FLAGS(op) && FAST_IS_REG(dst)) {
2808 *inst++ = REX | (reg_map[TMP_REG1] <= 7 ? 0 : REX_R) | (reg_map[dst] <= 7 ? 0 : REX_B);
2810 *inst++ = MOD_REG | (reg_lmap[TMP_REG1] << 3) | reg_lmap[dst];
2814 reg = (GET_OPCODE(op) < SLJIT_ADD && FAST_IS_REG(dst)) ? dst : TMP_REG1;
2835 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2846 if (GET_OPCODE(op) < SLJIT_ADD && FAST_IS_REG(dst)) {
2847 if (reg_map[dst] <= 4) {
2855 *inst++ = MOD_REG | reg_map[dst];
2859 *inst = MOD_REG | (reg_map[dst] << 3) | reg_map[dst];
2870 EMIT_MOV(compiler, dst, 0, SLJIT_IMM, 0);
2879 *inst++ = MOD_REG | (reg_map[dst] << 3) | reg_map[TMP_REG1];
2894 *inst++ = MOD_REG | (reg_map[dst] << 3) | 0 /* eax */;
2899 if (GET_OPCODE(op) == SLJIT_OR && !GET_ALL_FLAGS(op) && FAST_IS_REG(dst) && reg_map[dst] <= 4) {
2902 if (dst != SLJIT_R0) {
2912 *inst++ = MOD_REG | (0 /* eax */ << 3) | reg_map[dst];
2950 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
3000 … sljit_s32 sljit_get_local_base(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, slj… argument
3003 CHECK(check_sljit_get_local_base(compiler, dst, dstw, offset));
3004 ADJUST_LOCAL_OFFSET(dst, dstw);
3006 CHECK_EXTRA_REGS(dst, dstw, (void)0);
3018 …SLJIT_ASSERT(emit_lea_binary(compiler, dst, dstw, SLJIT_SP, 0, TMP_REG1, 0) != SLJIT_ERR_UNSUPPORT…
3021 return emit_lea_binary(compiler, dst, dstw, SLJIT_SP, 0, TMP_REG1, 0);
3027 return emit_lea_binary(compiler, dst, dstw, SLJIT_SP, 0, SLJIT_IMM, offset);
3028 return emit_mov(compiler, dst, dstw, SLJIT_SP, 0);
3031 …t sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, slj… argument
3040 CHECK_PTR(check_sljit_emit_const(compiler, dst, dstw, init_value));
3041 ADJUST_LOCAL_OFFSET(dst, dstw);
3043 CHECK_EXTRA_REGS(dst, dstw, (void)0);
3051 reg = FAST_IS_REG(dst) ? dst : TMP_REG1;
3056 if (emit_mov(compiler, dst, dstw, SLJIT_IMM, init_value))
3067 if (dst & SLJIT_MEM)
3068 if (emit_mov(compiler, dst, dstw, TMP_REG1, 0))
3075 …ljit_put_label* sljit_emit_put_label(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw) argument
3085 CHECK_PTR(check_sljit_emit_put_label(compiler, dst, dstw));
3086 ADJUST_LOCAL_OFFSET(dst, dstw);
3088 CHECK_EXTRA_REGS(dst, dstw, (void)0);
3096 reg = FAST_IS_REG(dst) ? dst : TMP_REG1;
3101 if (emit_mov(compiler, dst, dstw, SLJIT_IMM, 0))
3106 if (dst & SLJIT_MEM) {
3108 if (emit_mov(compiler, dst, dstw, TMP_REG1, 0))