Lines Matching refs:dst
649 sljit_s32 dst, sljit_sw dstw,
655 sljit_s32 dst, sljit_sw dstw,
660 sljit_s32 dst, sljit_sw dstw,
663 #define EMIT_MOV(compiler, dst, dstw, src, srcw) \ argument
664 FAIL_IF(emit_mov(compiler, dst, dstw, src, srcw));
667 sljit_s32 single, sljit_s32 dst, sljit_sw dstw, sljit_s32 src);
670 sljit_s32 single, sljit_s32 dst, sljit_s32 src, sljit_sw srcw);
679 sljit_s32 dst, sljit_sw dstw, in emit_mov() argument
684 SLJIT_ASSERT(dst != SLJIT_UNUSED); in emit_mov()
687 inst = emit_x86_instruction(compiler, 1, src, 0, dst, dstw); in emit_mov()
693 if (FAST_IS_REG(dst)) { in emit_mov()
695 return emit_do_imm(compiler, MOV_r_i32 + reg_map[dst], srcw); in emit_mov()
699 return emit_load_imm64(compiler, dst, srcw); in emit_mov()
702 … return emit_do_imm32(compiler, (reg_map[dst] >= 8) ? REX_B : 0, MOV_r_i32 + reg_lmap[dst], srcw); in emit_mov()
710 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw); in emit_mov()
716 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, dstw); in emit_mov()
721 if (FAST_IS_REG(dst)) { in emit_mov()
722 inst = emit_x86_instruction(compiler, 1, dst, 0, src, srcw); in emit_mov()
733 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw); in emit_mov()
889 sljit_s32 dst, sljit_sw dstw, in emit_mov_byte() argument
903 if (FAST_IS_REG(dst)) { in emit_mov_byte()
905 return emit_do_imm(compiler, MOV_r_i32 + reg_map[dst], srcw); in emit_mov_byte()
907 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, 0); in emit_mov_byte()
913 …inst = emit_x86_instruction(compiler, 1 | EX86_BYTE_ARG | EX86_NO_REXW, SLJIT_IMM, srcw, dst, dstw… in emit_mov_byte()
919 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_mov_byte()
921 if ((dst & SLJIT_MEM) && FAST_IS_REG(src)) { in emit_mov_byte()
935 SLJIT_ASSERT(SLOW_IS_REG(dst)); in emit_mov_byte()
936 if (reg_map[dst] < 4) { in emit_mov_byte()
937 if (dst != src) in emit_mov_byte()
938 EMIT_MOV(compiler, dst, 0, src, 0); in emit_mov_byte()
939 inst = emit_x86_instruction(compiler, 2, dst, 0, dst, 0); in emit_mov_byte()
945 if (dst != src) in emit_mov_byte()
946 EMIT_MOV(compiler, dst, 0, src, 0); in emit_mov_byte()
949 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_IMM, 24, dst, 0); in emit_mov_byte()
953 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_IMM, 24, dst, 0); in emit_mov_byte()
958 inst = emit_x86_instruction(compiler, 1 | EX86_BIN_INS, SLJIT_IMM, 0xff, dst, 0); in emit_mov_byte()
974 if (dst & SLJIT_MEM) { in emit_mov_byte()
978 if ((dst & REG_MASK) == SLJIT_R0) { in emit_mov_byte()
979 if ((dst & OFFS_REG_MASK) == TO_OFFS_REG(SLJIT_R1)) in emit_mov_byte()
985 if ((dst & OFFS_REG_MASK) != TO_OFFS_REG(SLJIT_R0)) in emit_mov_byte()
987 else if ((dst & REG_MASK) == SLJIT_R1) in emit_mov_byte()
1002 inst = emit_x86_instruction(compiler, 1, work_r, 0, dst, dstw); in emit_mov_byte()
1016 inst = emit_x86_instruction(compiler, 1, dst_r, 0, dst, dstw); in emit_mov_byte()
1021 inst = emit_x86_instruction(compiler, 1 | EX86_REX | EX86_NO_REXW, dst_r, 0, dst, dstw); in emit_mov_byte()
1055 sljit_s32 dst, sljit_sw dstw, in emit_mov_half() argument
1066 if (FAST_IS_REG(dst)) { in emit_mov_half()
1068 return emit_do_imm(compiler, MOV_r_i32 + reg_map[dst], srcw); in emit_mov_half()
1070 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, 0); in emit_mov_half()
1076 …instruction(compiler, 1 | EX86_HALF_ARG | EX86_NO_REXW | EX86_PREF_66, SLJIT_IMM, srcw, dst, dstw); in emit_mov_half()
1082 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_mov_half()
1084 if ((dst & SLJIT_MEM) && FAST_IS_REG(src)) in emit_mov_half()
1093 if (dst & SLJIT_MEM) { in emit_mov_half()
1094 inst = emit_x86_instruction(compiler, 1 | EX86_NO_REXW | EX86_PREF_66, dst_r, 0, dst, dstw); in emit_mov_half()
1103 sljit_s32 dst, sljit_sw dstw, in emit_unary() argument
1108 if (dst == src && dstw == srcw) { in emit_unary()
1110 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, dstw); in emit_unary()
1117 if (SLJIT_UNLIKELY(dst == SLJIT_UNUSED)) in emit_unary()
1118 dst = TMP_REG1; in emit_unary()
1120 if (FAST_IS_REG(dst)) { in emit_unary()
1121 EMIT_MOV(compiler, dst, 0, src, srcw); in emit_unary()
1122 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, 0); in emit_unary()
1134 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_unary()
1139 sljit_s32 dst, sljit_sw dstw, in emit_not_with_flags() argument
1144 if (dst == SLJIT_UNUSED) in emit_not_with_flags()
1145 dst = TMP_REG1; in emit_not_with_flags()
1147 if (FAST_IS_REG(dst)) { in emit_not_with_flags()
1148 EMIT_MOV(compiler, dst, 0, src, srcw); in emit_not_with_flags()
1149 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, 0); in emit_not_with_flags()
1153 inst = emit_x86_instruction(compiler, 1, dst, 0, dst, 0); in emit_not_with_flags()
1167 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_not_with_flags()
1176 sljit_s32 dst, sljit_sw dstw, in emit_clz() argument
1187 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_clz()
1229 if (dst & SLJIT_MEM) in emit_clz()
1230 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_clz()
1235 sljit_s32 dst, sljit_sw dstw, in sljit_emit_op1() argument
1244 CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); in sljit_emit_op1()
1245 ADJUST_LOCAL_OFFSET(dst, dstw); in sljit_emit_op1()
1248 CHECK_EXTRA_REGS(dst, dstw, dst_is_ereg = 1); in sljit_emit_op1()
1254 if (dst == SLJIT_UNUSED && !HAS_FLAGS(op)) { in sljit_emit_op1()
1267 if (FAST_IS_REG(src) && src == dst) { in sljit_emit_op1()
1310 return emit_mov(compiler, dst, dstw, src, srcw); in sljit_emit_op1()
1316 SLJIT_ASSERT(dst == SLJIT_MEM1(SLJIT_SP)); in sljit_emit_op1()
1317 dst = TMP_REG1; in sljit_emit_op1()
1328 FAIL_IF(emit_mov(compiler, dst, dstw, src, srcw)); in sljit_emit_op1()
1331 FAIL_IF(emit_mov_byte(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1334 FAIL_IF(emit_mov_byte(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1337 FAIL_IF(emit_mov_half(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1340 FAIL_IF(emit_mov_half(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1344 FAIL_IF(emit_mov_int(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1347 FAIL_IF(emit_mov_int(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1353 if (SLJIT_UNLIKELY(dst_is_ereg) && dst == TMP_REG1) in sljit_emit_op1()
1362 return emit_not_with_flags(compiler, dst, dstw, src, srcw); in sljit_emit_op1()
1363 return emit_unary(compiler, NOT_rm, dst, dstw, src, srcw); in sljit_emit_op1()
1366 return emit_unary(compiler, NEG_rm, dst, dstw, src, srcw); in sljit_emit_op1()
1369 return emit_clz(compiler, op_flags, dst, dstw, src, srcw); in sljit_emit_op1()
1407 sljit_s32 dst, sljit_sw dstw, argument
1417 if (dst == SLJIT_UNUSED) {
1430 if (dst == src1 && dstw == src1w) {
1433 …if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128) && (compiler->mode32 || IS_HALFWORD(src2w))…
1435 if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128)) {
1440 BINARY_IMM(op_imm, op_mr, src2w, dst, dstw);
1443 else if (FAST_IS_REG(dst)) {
1444 inst = emit_x86_instruction(compiler, 1, dst, dstw, src2, src2w);
1450 inst = emit_x86_instruction(compiler, 1, src2, src2w, dst, dstw);
1456 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1464 if (dst == src2 && dstw == src2w) {
1467 …if ((dst == SLJIT_R0) && (src1w > 127 || src1w < -128) && (compiler->mode32 || IS_HALFWORD(src1w))…
1469 if ((dst == SLJIT_R0) && (src1w > 127 || src1w < -128)) {
1474 BINARY_IMM(op_imm, op_mr, src1w, dst, dstw);
1477 else if (FAST_IS_REG(dst)) {
1478 inst = emit_x86_instruction(compiler, 1, dst, dstw, src1, src1w);
1483 inst = emit_x86_instruction(compiler, 1, src1, src1w, dst, dstw);
1489 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1497 if (FAST_IS_REG(dst)) {
1498 EMIT_MOV(compiler, dst, 0, src1, src1w);
1500 BINARY_IMM(op_imm, op_mr, src2w, dst, 0);
1503 inst = emit_x86_instruction(compiler, 1, dst, 0, src2, src2w);
1519 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
1527 sljit_s32 dst, sljit_sw dstw, argument
1537 if (dst == SLJIT_UNUSED) {
1550 if (dst == src1 && dstw == src1w) {
1553 …if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128) && (compiler->mode32 || IS_HALFWORD(src2w))…
1555 if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128)) {
1560 BINARY_IMM(op_imm, op_mr, src2w, dst, dstw);
1563 else if (FAST_IS_REG(dst)) {
1564 inst = emit_x86_instruction(compiler, 1, dst, dstw, src2, src2w);
1569 inst = emit_x86_instruction(compiler, 1, src2, src2w, dst, dstw);
1575 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
1583 if (FAST_IS_REG(dst) && dst != src2) {
1584 EMIT_MOV(compiler, dst, 0, src1, src1w);
1586 BINARY_IMM(op_imm, op_mr, src2w, dst, 0);
1589 inst = emit_x86_instruction(compiler, 1, dst, 0, src2, src2w);
1605 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
1612 sljit_s32 dst, sljit_sw dstw, argument
1619 dst_r = SLOW_IS_REG(dst) ? dst : TMP_REG1;
1735 if (dst & SLJIT_MEM)
1736 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
1742 sljit_s32 dst, sljit_sw dstw, argument
1750 if (dst == src1 && dstw == src1w)
1752 if (dst == src2 && dstw == src2w)
1755 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1;
1792 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
1961 sljit_s32 dst, sljit_sw dstw, argument
1968 if (dst == src1 && dstw == src1w) {
1969 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, dst, dstw);
1974 if (dst == SLJIT_UNUSED) {
1981 if (dst == SLJIT_PREF_SHIFT_REG && src2 == SLJIT_PREF_SHIFT_REG) {
1989 if (FAST_IS_REG(dst)) {
1990 EMIT_MOV(compiler, dst, 0, src1, src1w);
1991 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, dst, 0);
2001 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
2005 if (dst == SLJIT_PREF_SHIFT_REG) {
2013 else if (SLOW_IS_REG(dst) && dst != src2 && !ADDRESSING_DEPENDS_ON(src2, dst)) {
2014 if (src1 != dst)
2015 EMIT_MOV(compiler, dst, 0, src1, src1w);
2018 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_PREF_SHIFT_REG, 0, dst, 0);
2042 if (dst != SLJIT_UNUSED)
2043 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2051 sljit_s32 dst, sljit_sw dstw, argument
2059 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2062 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2065 return emit_mov(compiler, dst, dstw, src1, src1w);
2068 dst, dstw, src1, src1w, SLJIT_IMM, 0);
2072 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2074 if (!FAST_IS_REG(dst))
2077 FAIL_IF(emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w));
2079 if (FAST_IS_REG(dst))
2080 return emit_cmp_binary(compiler, (dst == SLJIT_UNUSED) ? TMP_REG1 : dst, dstw, SLJIT_IMM, 0);
2085 sljit_s32 dst, sljit_sw dstw, argument
2090 CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
2091 ADJUST_LOCAL_OFFSET(dst, dstw);
2095 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2102 if (dst == SLJIT_UNUSED && !HAS_FLAGS(op))
2108 if (emit_lea_binary(compiler, dst, dstw, src1, src1w, src2, src2w) != SLJIT_ERR_UNSUPPORTED)
2112 dst, dstw, src1, src1w, src2, src2w);
2115 dst, dstw, src1, src1w, src2, src2w);
2118 …if ((src2 & SLJIT_IMM) && emit_lea_binary(compiler, dst, dstw, src1, src1w, SLJIT_IMM, -src2w) != …
2122 if (dst == SLJIT_UNUSED)
2125 dst, dstw, src1, src1w, src2, src2w);
2128 dst, dstw, src1, src1w, src2, src2w);
2130 return emit_mul(compiler, dst, dstw, src1, src1w, src2, src2w);
2132 if (dst == SLJIT_UNUSED)
2135 dst, dstw, src1, src1w, src2, src2w);
2138 dst, dstw, src1, src1w, src2, src2w);
2141 dst, dstw, src1, src1w, src2, src2w);
2144 dst, dstw, src1, src1w, src2, src2w);
2147 dst, dstw, src1, src1w, src2, src2w);
2150 dst, dstw, src1, src1w, src2, src2w);
2239 sljit_s32 single, sljit_s32 dst, sljit_s32 src, sljit_sw srcw) argument
2241 return emit_sse2(compiler, MOVSD_x_xm, single, dst, src, srcw);
2245 sljit_s32 single, sljit_s32 dst, sljit_sw dstw, sljit_s32 src) argument
2247 return emit_sse2(compiler, MOVSD_xm_x, single, src, dst, dstw);
2251 sljit_s32 dst, sljit_sw dstw, argument
2254 sljit_s32 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1;
2267 if (dst & SLJIT_MEM)
2268 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2273 sljit_s32 dst, sljit_sw dstw, argument
2276 sljit_s32 dst_r = FAST_IS_REG(dst) ? dst : TMP_FREG;
2303 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2320 sljit_s32 dst, sljit_sw dstw, argument
2330 SELECT_FOP1_OPERATION_WITH_CHECKS(compiler, op, dst, dstw, src, srcw);
2333 if (FAST_IS_REG(dst))
2334 return emit_sse2_load(compiler, op & SLJIT_F32_OP, dst, src, srcw);
2336 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, src);
2338 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2342 dst_r = FAST_IS_REG(dst) ? dst : TMP_FREG;
2356 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2360 if (FAST_IS_REG(dst)) {
2361 dst_r = dst;
2362 if (dst != src)
2381 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2386 sljit_s32 dst, sljit_sw dstw, argument
2393 CHECK(check_sljit_emit_fop2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
2394 ADJUST_LOCAL_OFFSET(dst, dstw);
2402 if (FAST_IS_REG(dst)) {
2403 dst_r = dst;
2404 if (dst == src1)
2406 else if (dst == src2 && (op == SLJIT_ADD_F64 || op == SLJIT_MUL_F64)) {
2411 else if (dst != src2)
2442 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2546 sljit_s32 dst, sljit_sw dstw, argument
2555 sljit_s32 dst_save = dst;
2559 CHECK(check_sljit_emit_op_flags(compiler, op, dst, dstw, type));
2561 ADJUST_LOCAL_OFFSET(dst, dstw);
2562 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2569 if (GET_OPCODE(op) == SLJIT_OR && !GET_ALL_FLAGS(op) && FAST_IS_REG(dst)) {
2578 *inst++ = REX | (reg_map[TMP_REG1] <= 7 ? 0 : REX_R) | (reg_map[dst] <= 7 ? 0 : REX_B);
2580 *inst++ = MOD_REG | (reg_lmap[TMP_REG1] << 3) | reg_lmap[dst];
2584 reg = (GET_OPCODE(op) < SLJIT_ADD && FAST_IS_REG(dst)) ? dst : TMP_REG1;
2605 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2616 if (GET_OPCODE(op) < SLJIT_ADD && FAST_IS_REG(dst)) {
2617 if (reg_map[dst] <= 4) {
2625 *inst++ = MOD_REG | reg_map[dst];
2629 *inst = MOD_REG | (reg_map[dst] << 3) | reg_map[dst];
2640 EMIT_MOV(compiler, dst, 0, SLJIT_IMM, 0);
2649 *inst++ = MOD_REG | (reg_map[dst] << 3) | reg_map[TMP_REG1];
2664 *inst++ = MOD_REG | (reg_map[dst] << 3) | 0 /* eax */;
2669 if (GET_OPCODE(op) == SLJIT_OR && !GET_ALL_FLAGS(op) && FAST_IS_REG(dst) && reg_map[dst] <= 4) {
2672 if (dst != SLJIT_R0) {
2682 *inst++ = MOD_REG | (0 /* eax */ << 3) | reg_map[dst];
2720 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2770 … sljit_s32 sljit_get_local_base(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, slj… argument
2773 CHECK(check_sljit_get_local_base(compiler, dst, dstw, offset));
2774 ADJUST_LOCAL_OFFSET(dst, dstw);
2776 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2788 …SLJIT_ASSERT(emit_lea_binary(compiler, dst, dstw, SLJIT_SP, 0, TMP_REG1, 0) != SLJIT_ERR_UNSUPPORT…
2791 return emit_lea_binary(compiler, dst, dstw, SLJIT_SP, 0, TMP_REG1, 0);
2797 return emit_lea_binary(compiler, dst, dstw, SLJIT_SP, 0, SLJIT_IMM, offset);
2798 return emit_mov(compiler, dst, dstw, SLJIT_SP, 0);
2801 …t sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, slj… argument
2810 CHECK_PTR(check_sljit_emit_const(compiler, dst, dstw, init_value));
2811 ADJUST_LOCAL_OFFSET(dst, dstw);
2813 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2821 reg = FAST_IS_REG(dst) ? dst : TMP_REG1;
2826 if (emit_mov(compiler, dst, dstw, SLJIT_IMM, init_value))
2837 if (dst & SLJIT_MEM)
2838 if (emit_mov(compiler, dst, dstw, TMP_REG1, 0))