Lines Matching refs:dst
1103 sljit_s32 dst, sljit_sw dstw,
1106 #define EMIT_MOV(compiler, dst, dstw, src, srcw) \ argument
1107 FAIL_IF(emit_mov(compiler, dst, dstw, src, srcw));
1111 sljit_s32 dst, sljit_s32 src, sljit_sw srcw);
1115 sljit_s32 dst, sljit_s32 src, sljit_sw srcw);
1118 sljit_s32 single, sljit_s32 dst, sljit_sw dstw, sljit_s32 src);
1121 sljit_s32 single, sljit_s32 dst, sljit_s32 src, sljit_sw srcw);
1278 sljit_s32 dst, sljit_sw dstw, in emit_mov() argument
1284 inst = emit_x86_instruction(compiler, 1, src, 0, dst, dstw); in emit_mov()
1291 if (FAST_IS_REG(dst)) { in emit_mov()
1293 return emit_do_imm(compiler, MOV_r_i32 | reg_map[dst], srcw); in emit_mov()
1297 return emit_load_imm64(compiler, dst, srcw); in emit_mov()
1300 …return emit_do_imm32(compiler, (reg_map[dst] >= 8) ? REX_B : 0, U8(MOV_r_i32 | reg_lmap[dst]), src… in emit_mov()
1308 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw); in emit_mov()
1314 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, dstw); in emit_mov()
1319 if (FAST_IS_REG(dst)) { in emit_mov()
1320 inst = emit_x86_instruction(compiler, 1, dst, 0, src, srcw); in emit_mov()
1331 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw); in emit_mov()
1489 sljit_s32 dst, sljit_sw dstw, in emit_mov_byte() argument
1500 if (FAST_IS_REG(dst)) { in emit_mov_byte()
1502 return emit_do_imm(compiler, MOV_r_i32 | reg_map[dst], srcw); in emit_mov_byte()
1504 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, 0); in emit_mov_byte()
1510 …inst = emit_x86_instruction(compiler, 1 | EX86_BYTE_ARG | EX86_NO_REXW, SLJIT_IMM, srcw, dst, dstw… in emit_mov_byte()
1516 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_mov_byte()
1518 if ((dst & SLJIT_MEM) && FAST_IS_REG(src)) { in emit_mov_byte()
1532 SLJIT_ASSERT(FAST_IS_REG(dst)); in emit_mov_byte()
1534 if (src == dst && !sign) { in emit_mov_byte()
1535 inst = emit_x86_instruction(compiler, 1 | EX86_BIN_INS, SLJIT_IMM, 0xff, dst, 0); in emit_mov_byte()
1551 if (dst & SLJIT_MEM) { in emit_mov_byte()
1552 inst = emit_x86_instruction(compiler, 1 | EX86_REX | EX86_NO_REXW, dst_r, 0, dst, dstw); in emit_mov_byte()
1585 sljit_s32 dst, sljit_sw dstw, in emit_mov_half() argument
1596 if (FAST_IS_REG(dst)) { in emit_mov_half()
1598 return emit_do_imm(compiler, MOV_r_i32 | reg_map[dst], srcw); in emit_mov_half()
1600 inst = emit_x86_instruction(compiler, 1, SLJIT_IMM, srcw, dst, 0); in emit_mov_half()
1606 …instruction(compiler, 1 | EX86_HALF_ARG | EX86_NO_REXW | EX86_PREF_66, SLJIT_IMM, srcw, dst, dstw); in emit_mov_half()
1612 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_mov_half()
1614 if ((dst & SLJIT_MEM) && FAST_IS_REG(src)) in emit_mov_half()
1619 if (dst & SLJIT_MEM) { in emit_mov_half()
1620 inst = emit_x86_instruction(compiler, 1 | EX86_NO_REXW | EX86_PREF_66, dst_r, 0, dst, dstw); in emit_mov_half()
1629 sljit_s32 dst, sljit_sw dstw, in emit_unary() argument
1634 if (dst == src && dstw == srcw) { in emit_unary()
1636 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, dstw); in emit_unary()
1643 if (FAST_IS_REG(dst)) { in emit_unary()
1644 EMIT_MOV(compiler, dst, 0, src, srcw); in emit_unary()
1645 inst = emit_x86_instruction(compiler, 1, 0, 0, dst, 0); in emit_unary()
1657 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_unary()
1667 sljit_s32 dst, sljit_sw dstw, in emit_clz_ctz() argument
1676 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_clz_ctz()
1681 if (dst & SLJIT_MEM) in emit_clz_ctz()
1682 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_clz_ctz()
1730 if (dst & SLJIT_MEM) in emit_clz_ctz()
1731 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0); in emit_clz_ctz()
1737 sljit_s32 dst, sljit_sw dstw, in emit_bswap() argument
1741 sljit_s32 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1; in emit_bswap()
1806 if (dst & SLJIT_MEM) { in emit_bswap()
1812 return emit_mov_half(compiler, 0, dst, dstw, TMP_REG1, 0); in emit_bswap()
1814 return emit_mov(compiler, dst, dstw, TMP_REG1, 0); in emit_bswap()
1820 inst = emit_x86_instruction(compiler, 1, dst, 0, dst, 0); in emit_bswap()
1830 sljit_s32 dst, sljit_sw dstw, in sljit_emit_op1() argument
1840 CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); in sljit_emit_op1()
1841 ADJUST_LOCAL_OFFSET(dst, dstw); in sljit_emit_op1()
1844 CHECK_EXTRA_REGS(dst, dstw, dst_is_ereg = 1); in sljit_emit_op1()
1857 if (FAST_IS_REG(src) && src == dst) { in sljit_emit_op1()
1900 return emit_mov(compiler, dst, dstw, src, srcw); in sljit_emit_op1()
1906 SLJIT_ASSERT(dst == SLJIT_MEM1(SLJIT_SP)); in sljit_emit_op1()
1907 dst = TMP_REG1; in sljit_emit_op1()
1919 EMIT_MOV(compiler, dst, dstw, src, srcw); in sljit_emit_op1()
1922 FAIL_IF(emit_mov_byte(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1925 FAIL_IF(emit_mov_byte(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1928 FAIL_IF(emit_mov_half(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1931 FAIL_IF(emit_mov_half(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1935 FAIL_IF(emit_mov_int(compiler, 0, dst, dstw, src, srcw)); in sljit_emit_op1()
1938 FAIL_IF(emit_mov_int(compiler, 1, dst, dstw, src, srcw)); in sljit_emit_op1()
1942 EMIT_MOV(compiler, dst, dstw, src, srcw); in sljit_emit_op1()
1949 if (SLJIT_UNLIKELY(dst_is_ereg) && dst == TMP_REG1) in sljit_emit_op1()
1958 return emit_clz_ctz(compiler, (op == SLJIT_CLZ), dst, dstw, src, srcw); in sljit_emit_op1()
1968 return emit_bswap(compiler, op, dst, dstw, src, srcw); in sljit_emit_op1()
1976 sljit_s32 dst, sljit_sw dstw, argument
1986 if (dst == src1 && dstw == src1w) {
1989 …if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128) && (compiler->mode32 || IS_HALFWORD(src2w))…
1991 if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128)) {
1996 BINARY_IMM(op_imm, op_mr, src2w, dst, dstw);
1999 else if (FAST_IS_REG(dst)) {
2000 inst = emit_x86_instruction(compiler, 1, dst, dstw, src2, src2w);
2006 inst = emit_x86_instruction(compiler, 1, src2, src2w, dst, dstw);
2012 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
2020 if (dst == src2 && dstw == src2w) {
2023 …if ((dst == SLJIT_R0) && (src1w > 127 || src1w < -128) && (compiler->mode32 || IS_HALFWORD(src1w))…
2025 if ((dst == SLJIT_R0) && (src1w > 127 || src1w < -128)) {
2030 BINARY_IMM(op_imm, op_mr, src1w, dst, dstw);
2033 else if (FAST_IS_REG(dst)) {
2034 inst = emit_x86_instruction(compiler, 1, dst, dstw, src1, src1w);
2039 inst = emit_x86_instruction(compiler, 1, src1, src1w, dst, dstw);
2045 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
2053 if (FAST_IS_REG(dst)) {
2054 EMIT_MOV(compiler, dst, 0, src1, src1w);
2056 BINARY_IMM(op_imm, op_mr, src2w, dst, 0);
2059 inst = emit_x86_instruction(compiler, 1, dst, 0, src2, src2w);
2075 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
2083 sljit_s32 dst, sljit_sw dstw, argument
2093 if (dst == src1 && dstw == src1w) {
2096 …if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128) && (compiler->mode32 || IS_HALFWORD(src2w))…
2098 if ((dst == SLJIT_R0) && (src2w > 127 || src2w < -128)) {
2103 BINARY_IMM(op_imm, op_mr, src2w, dst, dstw);
2106 else if (FAST_IS_REG(dst)) {
2107 inst = emit_x86_instruction(compiler, 1, dst, dstw, src2, src2w);
2112 inst = emit_x86_instruction(compiler, 1, src2, src2w, dst, dstw);
2118 inst = emit_x86_instruction(compiler, 1, TMP_REG1, 0, dst, dstw);
2126 if (FAST_IS_REG(dst) && dst != src2) {
2127 EMIT_MOV(compiler, dst, 0, src1, src1w);
2129 BINARY_IMM(op_imm, op_mr, src2w, dst, 0);
2132 inst = emit_x86_instruction(compiler, 1, dst, 0, src2, src2w);
2148 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
2155 sljit_s32 dst, sljit_sw dstw, argument
2160 sljit_s32 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1;
2255 if (dst & SLJIT_MEM)
2256 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
2262 sljit_s32 dst, sljit_sw dstw, argument
2270 if (dst == src1 && dstw == src1w)
2272 if (dst == src2 && dstw == src2w)
2275 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1;
2312 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2480 sljit_s32 dst, sljit_sw dstw, argument
2490 if (dst == src1 && dstw == src1w) {
2491 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, dst, dstw);
2496 if (dst == SLJIT_PREF_SHIFT_REG && src2 == SLJIT_PREF_SHIFT_REG) {
2504 if (FAST_IS_REG(dst)) {
2505 EMIT_MOV(compiler, dst, 0, src1, src1w);
2506 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, src2, src2w, dst, 0);
2516 EMIT_MOV(compiler, dst, dstw, TMP_REG1, 0);
2520 if (dst == SLJIT_PREF_SHIFT_REG) {
2529 if (FAST_IS_REG(dst) && dst != src2 && dst != TMP_REG1 && !ADDRESSING_DEPENDS_ON(src2, dst)) {
2530 if (src1 != dst)
2531 EMIT_MOV(compiler, dst, 0, src1, src1w);
2541 inst = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_PREF_SHIFT_REG, 0, dst, 0);
2579 if (dst != TMP_REG1)
2580 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
2587 sljit_s32 dst, sljit_sw dstw, argument
2599 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2602 return emit_mov(compiler, dst, dstw, src1, src1w);
2605 dst, dstw, src1, src1w, SLJIT_IMM, 0);
2609 return emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w);
2611 if (!FAST_IS_REG(dst))
2614 FAIL_IF(emit_shift(compiler, mode, dst, dstw, src1, src1w, src2, src2w));
2616 if (FAST_IS_REG(dst))
2617 return emit_cmp_binary(compiler, dst, dstw, SLJIT_IMM, 0);
2622 sljit_s32 dst, sljit_sw dstw, argument
2627 CHECK(check_sljit_emit_op2(compiler, op, 0, dst, dstw, src1, src1w, src2, src2w));
2628 ADJUST_LOCAL_OFFSET(dst, dstw);
2632 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2642 if (emit_lea_binary(compiler, dst, dstw, src1, src1w, src2, src2w) != SLJIT_ERR_UNSUPPORTED)
2646 dst, dstw, src1, src1w, src2, src2w);
2649 dst, dstw, src1, src1w, src2, src2w);
2652 return emit_unary(compiler, NEG_rm, dst, dstw, src2, src2w);
2655 …if (src2 == SLJIT_IMM && emit_lea_binary(compiler, dst, dstw, src1, src1w, SLJIT_IMM, -src2w) != S…
2657 if (FAST_IS_REG(dst) && src2 == dst) {
2658 FAIL_IF(emit_non_cum_binary(compiler, BINARY_OPCODE(SUB), dst, 0, dst, 0, src1, src1w));
2659 return emit_unary(compiler, NEG_rm, dst, 0, dst, 0);
2664 dst, dstw, src1, src1w, src2, src2w);
2667 dst, dstw, src1, src1w, src2, src2w);
2669 return emit_mul(compiler, dst, dstw, src1, src1w, src2, src2w);
2672 dst, dstw, src1, src1w, src2, src2w);
2675 dst, dstw, src1, src1w, src2, src2w);
2679 return emit_unary(compiler, NOT_rm, dst, dstw, src1, src1w);
2681 return emit_unary(compiler, NOT_rm, dst, dstw, src2, src2w);
2685 dst, dstw, src1, src1w, src2, src2w);
2689 dst, dstw, src1, src1w, src2, src2w);
2693 dst, dstw, src1, src1w, src2, src2w);
2697 dst, dstw, src1, src1w, src2, src2w);
2700 dst, dstw, src1, src1w, src2, src2w);
2703 dst, dstw, src1, src1w, src2, src2w);
2989 sljit_s32 dst, sljit_sw dstw) argument
2992 CHECK(check_sljit_emit_op_dst(compiler, op, dst, dstw));
2993 ADJUST_LOCAL_OFFSET(dst, dstw);
2995 CHECK_EXTRA_REGS(dst, dstw, (void)0);
2999 return emit_fast_enter(compiler, dst, dstw);
3001 return sljit_emit_get_return_address(compiler, dst, dstw);
3067 sljit_s32 dst, sljit_s32 src, sljit_sw srcw) argument
3069 sljit_u8 *inst = emit_x86_instruction(compiler, 2 | (op & ~(sljit_uw)0xff), dst, 0, src, srcw);
3078 sljit_s32 dst, sljit_s32 src, sljit_sw srcw) argument
3084 …instruction(compiler, 3 | (op & ~((sljit_uw)0xff | VEX_OP_0F38 | VEX_OP_0F3A)), dst, 0, src, srcw);
3093 sljit_s32 single, sljit_s32 dst, sljit_s32 src, sljit_sw srcw) argument
3095 …return emit_groupf(compiler, MOVSD_x_xm | (single ? EX86_PREF_F3 : EX86_PREF_F2) | EX86_SSE2, dst,…
3099 sljit_s32 single, sljit_s32 dst, sljit_sw dstw, sljit_s32 src) argument
3101 …_groupf(compiler, MOVSD_xm_x | (single ? EX86_PREF_F3 : EX86_PREF_F2) | EX86_SSE2, src, dst, dstw);
3105 sljit_s32 dst, sljit_sw dstw, argument
3110 CHECK_EXTRA_REGS(dst, dstw, (void)0);
3111 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1;
3120 if (dst & SLJIT_MEM)
3121 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
3126 sljit_s32 dst, sljit_sw dstw, argument
3129 sljit_s32 dst_r = FAST_IS_REG(dst) ? dst : TMP_FREG;
3154 return emit_sse2_store(compiler, op & SLJIT_32, dst, dstw, TMP_FREG);
3196 sljit_s32 dst, sljit_sw dstw, argument
3207 SELECT_FOP1_OPERATION_WITH_CHECKS(compiler, op, dst, dstw, src, srcw);
3210 if (FAST_IS_REG(dst))
3211 return emit_sse2_load(compiler, op & SLJIT_32, dst, src, srcw);
3213 return emit_sse2_store(compiler, op & SLJIT_32, dst, dstw, src);
3215 return emit_sse2_store(compiler, op & SLJIT_32, dst, dstw, TMP_FREG);
3219 dst_r = FAST_IS_REG(dst) ? dst : TMP_FREG;
3232 return emit_sse2_store(compiler, op & SLJIT_32, dst, dstw, TMP_FREG);
3236 if (FAST_IS_REG(dst)) {
3237 dst_r = (dst == src) ? TMP_FREG : dst;
3259 …(compiler, (GET_OPCODE(op) == SLJIT_NEG_F64 ? XORPD_x_xm : ANDPD_x_xm) | EX86_SSE2, dst, dst_r, 0);
3274 return emit_sse2_store(compiler, op & SLJIT_32, dst, dstw, TMP_FREG);
3278 sljit_s32 dst, sljit_sw dstw, argument
3285 CHECK(check_sljit_emit_fop2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
3286 ADJUST_LOCAL_OFFSET(dst, dstw);
3294 if (FAST_IS_REG(dst)) {
3295 dst_r = dst;
3296 if (dst == src1)
3298 else if (dst == src2 && (GET_OPCODE(op) == SLJIT_ADD_F64 || GET_OPCODE(op) == SLJIT_MUL_F64)) {
3302 } else if (dst != src2)
3331 if (dst_r != dst)
3332 return emit_sse2_store(compiler, op & SLJIT_32, dst, dstw, TMP_FREG);
3462 sljit_s32 dst, sljit_sw dstw, argument
3471 sljit_s32 dst_save = dst;
3475 CHECK(check_sljit_emit_op_flags(compiler, op, dst, dstw, type));
3477 ADJUST_LOCAL_OFFSET(dst, dstw);
3478 CHECK_EXTRA_REGS(dst, dstw, (void)0);
3484 if (GET_OPCODE(op) == SLJIT_OR && !GET_ALL_FLAGS(op) && FAST_IS_REG(dst)) {
3493 inst[4] = U8(REX | (reg_map[TMP_REG1] <= 7 ? 0 : REX_R) | (reg_map[dst] <= 7 ? 0 : REX_B));
3495 inst[6] = U8(MOD_REG | (reg_lmap[TMP_REG1] << 3) | reg_lmap[dst]);
3499 reg = (GET_OPCODE(op) < SLJIT_ADD && FAST_IS_REG(dst)) ? dst : TMP_REG1;
3520 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
3530 if (GET_OPCODE(op) < SLJIT_ADD && FAST_IS_REG(dst) && reg_map[dst] <= 4) {
3538 inst[2] = U8(MOD_REG | reg_map[dst]);
3542 inst[5] = U8(MOD_REG | (reg_map[dst] << 3) | reg_map[dst]);
3546 if (GET_OPCODE(op) == SLJIT_OR && !GET_ALL_FLAGS(op) && FAST_IS_REG(dst) && reg_map[dst] <= 4) {
3557 inst[4] = U8(MOD_REG | (reg_map[TMP_REG1] << 3) | reg_map[dst]);
3574 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
4579 sljit_s32 dst, sljit_sw dstw) argument
4589 CHECK(check_sljit_emit_simd_sign(compiler, type, freg, dst, dstw));
4591 ADJUST_LOCAL_OFFSET(dst, dstw);
4593 CHECK_EXTRA_REGS(dst, dstw, (void)0);
4620 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1;
4639 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
4650 dst_r = FAST_IS_REG(dst) ? dst : TMP_REG1;
4672 return emit_mov(compiler, dst, dstw, TMP_REG1, 0);
4863 … sljit_s32 sljit_get_local_base(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, slj… argument
4866 CHECK(check_sljit_get_local_base(compiler, dst, dstw, offset));
4867 ADJUST_LOCAL_OFFSET(dst, dstw);
4869 CHECK_EXTRA_REGS(dst, dstw, (void)0);
4881 …SLJIT_ASSERT(emit_lea_binary(compiler, dst, dstw, SLJIT_SP, 0, TMP_REG1, 0) != SLJIT_ERR_UNSUPPORT…
4884 return emit_lea_binary(compiler, dst, dstw, SLJIT_SP, 0, TMP_REG1, 0);
4890 return emit_lea_binary(compiler, dst, dstw, SLJIT_SP, 0, SLJIT_IMM, offset);
4891 return emit_mov(compiler, dst, dstw, SLJIT_SP, 0);
4894 …t sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, slj… argument
4903 CHECK_PTR(check_sljit_emit_const(compiler, dst, dstw, init_value));
4904 ADJUST_LOCAL_OFFSET(dst, dstw);
4906 CHECK_EXTRA_REGS(dst, dstw, (void)0);
4914 reg = FAST_IS_REG(dst) ? dst : TMP_REG1;
4919 if (emit_mov(compiler, dst, dstw, SLJIT_IMM, init_value))
4929 if (dst & SLJIT_MEM)
4930 if (emit_mov(compiler, dst, dstw, TMP_REG1, 0))
4937 …ruct sljit_jump* sljit_emit_mov_addr(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw) argument
4946 CHECK_PTR(check_sljit_emit_mov_addr(compiler, dst, dstw));
4947 ADJUST_LOCAL_OFFSET(dst, dstw);
4949 CHECK_EXTRA_REGS(dst, dstw, (void)0);
4957 reg = FAST_IS_REG(dst) ? dst : TMP_REG1;
4965 PTR_FAIL_IF(emit_mov(compiler, dst, dstw, SLJIT_IMM, 0));
4974 if (dst & SLJIT_MEM)
4975 PTR_FAIL_IF(emit_mov(compiler, dst, dstw, TMP_REG1, 0));