Lines Matching refs:op

940 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compiler, sljit_s32 op)  in sljit_emit_op0()  argument
948 CHECK(check_sljit_emit_op0(compiler, op)); in sljit_emit_op0()
950 switch (GET_OPCODE(op)) { in sljit_emit_op0()
981 compiler->mode32 = op & SLJIT_I32_OP; in sljit_emit_op0()
985 op = GET_OPCODE(op); in sljit_emit_op0()
986 if ((op | 0x2) == SLJIT_DIV_UW) { in sljit_emit_op0()
997 if ((op | 0x2) == SLJIT_DIV_SW) { in sljit_emit_op0()
1028 *inst = MOD_REG | ((op >= SLJIT_DIVMOD_UW) ? reg_map[TMP_REG1] : reg_map[SLJIT_R1]); in sljit_emit_op0()
1031 size = (!compiler->mode32 || op >= SLJIT_DIVMOD_UW) ? 3 : 2; in sljit_emit_op0()
1040 *inst++ = REX_W | ((op >= SLJIT_DIVMOD_UW) ? REX_B : 0); in sljit_emit_op0()
1041 else if (op >= SLJIT_DIVMOD_UW) in sljit_emit_op0()
1044 *inst = MOD_REG | ((op >= SLJIT_DIVMOD_UW) ? reg_lmap[TMP_REG1] : reg_lmap[SLJIT_R1]); in sljit_emit_op0()
1052 switch (op) { in sljit_emit_op0()
1069 if (op <= SLJIT_DIVMOD_SW) in sljit_emit_op0()
1072 if (op >= SLJIT_DIV_UW) in sljit_emit_op0()
1235 static sljit_s32 emit_prefetch(struct sljit_compiler *compiler, sljit_s32 op, in emit_prefetch() argument
1249 if (op == SLJIT_PREFETCH_L1) in emit_prefetch()
1251 else if (op == SLJIT_PREFETCH_L2) in emit_prefetch()
1253 else if (op == SLJIT_PREFETCH_L3) in emit_prefetch()
1439 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compiler, sljit_s32 op, in sljit_emit_op1() argument
1443 sljit_s32 op_flags = GET_ALL_FLAGS(op); in sljit_emit_op1()
1449 CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); in sljit_emit_op1()
1459 op = GET_OPCODE(op); in sljit_emit_op1()
1461 if (op >= SLJIT_MOV && op <= SLJIT_MOV_P) { in sljit_emit_op1()
1467 if (!TYPE_CAST_NEEDED(op)) in sljit_emit_op1()
1474 if (op == SLJIT_MOV_S32) in sljit_emit_op1()
1475 op = SLJIT_MOV_U32; in sljit_emit_op1()
1478 if (op == SLJIT_MOV_U32) in sljit_emit_op1()
1479 op = SLJIT_MOV_S32; in sljit_emit_op1()
1485 switch (op) { in sljit_emit_op1()
1514 …if (SLJIT_UNLIKELY(dst_is_ereg) && (!(op == SLJIT_MOV || op == SLJIT_MOV_U32 || op == SLJIT_MOV_S3… in sljit_emit_op1()
1520 switch (op) { in sljit_emit_op1()
1558 switch (op) { in sljit_emit_op1()
2283 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compiler, sljit_s32 op, argument
2289 CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
2298 compiler->mode32 = op & SLJIT_I32_OP;
2301 if (dst == SLJIT_UNUSED && !HAS_FLAGS(op))
2304 switch (GET_OPCODE(op)) {
2306 if (!HAS_FLAGS(op)) {
2316 if (!HAS_FLAGS(op)) {
2346 return emit_shift_with_flags(compiler, SHL, HAS_FLAGS(op),
2349 return emit_shift_with_flags(compiler, SHR, HAS_FLAGS(op),
2352 return emit_shift_with_flags(compiler, SAR, HAS_FLAGS(op),
2359 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, argument
2363 CHECK(check_sljit_emit_op_src(compiler, op, src, srcw));
2368 switch (op) {
2380 return emit_prefetch(compiler, op, src, srcw);
2480 …IT_INLINE sljit_s32 sljit_emit_fop1_conv_sw_from_f64(struct sljit_compiler *compiler, sljit_s32 op, argument
2488 if (GET_OPCODE(op) == SLJIT_CONV_SW_FROM_F64)
2492 …inst = emit_x86_instruction(compiler, 2 | ((op & SLJIT_F32_OP) ? EX86_PREF_F3 : EX86_PREF_F2) | EX…
2502 …IT_INLINE sljit_s32 sljit_emit_fop1_conv_f64_from_sw(struct sljit_compiler *compiler, sljit_s32 op, argument
2510 if (GET_OPCODE(op) == SLJIT_CONV_F64_FROM_SW)
2516 if (GET_OPCODE(op) == SLJIT_CONV_F64_FROM_S32)
2524 …inst = emit_x86_instruction(compiler, 2 | ((op & SLJIT_F32_OP) ? EX86_PREF_F3 : EX86_PREF_F2) | EX…
2533 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2537 static SLJIT_INLINE sljit_s32 sljit_emit_fop1_cmp(struct sljit_compiler *compiler, sljit_s32 op, argument
2542 FAIL_IF(emit_sse2_load(compiler, op & SLJIT_F32_OP, TMP_FREG, src1, src1w));
2546 return emit_sse2_logic(compiler, UCOMISD_x_xm, !(op & SLJIT_F32_OP), src1, src2, src2w);
2549 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler *compiler, sljit_s32 op, argument
2560 SELECT_FOP1_OPERATION_WITH_CHECKS(compiler, op, dst, dstw, src, srcw);
2562 if (GET_OPCODE(op) == SLJIT_MOV_F64) {
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);
2567 FAIL_IF(emit_sse2_load(compiler, op & SLJIT_F32_OP, TMP_FREG, src, srcw));
2568 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2571 if (GET_OPCODE(op) == SLJIT_CONV_F64_FROM_F32) {
2577 FAIL_IF(emit_sse2_logic(compiler, UNPCKLPD_x_xm, op & SLJIT_F32_OP, src, src, 0));
2580 FAIL_IF(emit_sse2_load(compiler, !(op & SLJIT_F32_OP), TMP_FREG, src, srcw));
2584 FAIL_IF(emit_sse2_logic(compiler, CVTPD2PS_x_xm, op & SLJIT_F32_OP, dst_r, src, 0));
2586 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2593 FAIL_IF(emit_sse2_load(compiler, op & SLJIT_F32_OP, dst_r, src, srcw));
2597 FAIL_IF(emit_sse2_load(compiler, op & SLJIT_F32_OP, dst_r, src, srcw));
2600 switch (GET_OPCODE(op)) {
2602 …FAIL_IF(emit_sse2_logic(compiler, XORPD_x_xm, 1, dst_r, SLJIT_MEM0(), (sljit_sw)(op & SLJIT_F32_OP…
2606 …FAIL_IF(emit_sse2_logic(compiler, ANDPD_x_xm, 1, dst_r, SLJIT_MEM0(), (sljit_sw)(op & SLJIT_F32_OP…
2611 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2615 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler *compiler, sljit_s32 op, argument
2623 CHECK(check_sljit_emit_fop2(compiler, op, dst, dstw, src1, src1w, src2, src2w));
2636 else if (dst == src2 && (op == SLJIT_ADD_F64 || op == SLJIT_MUL_F64)) {
2642 FAIL_IF(emit_sse2_load(compiler, op & SLJIT_F32_OP, dst_r, src1, src1w));
2645 FAIL_IF(emit_sse2_load(compiler, op & SLJIT_F32_OP, TMP_FREG, src1, src1w));
2650 FAIL_IF(emit_sse2_load(compiler, op & SLJIT_F32_OP, TMP_FREG, src1, src1w));
2653 switch (GET_OPCODE(op)) {
2655 FAIL_IF(emit_sse2(compiler, ADDSD_x_xm, op & SLJIT_F32_OP, dst_r, src2, src2w));
2659 FAIL_IF(emit_sse2(compiler, SUBSD_x_xm, op & SLJIT_F32_OP, dst_r, src2, src2w));
2663 FAIL_IF(emit_sse2(compiler, MULSD_x_xm, op & SLJIT_F32_OP, dst_r, src2, src2w));
2667 FAIL_IF(emit_sse2(compiler, DIVSD_x_xm, op & SLJIT_F32_OP, dst_r, src2, src2w));
2672 return emit_sse2_store(compiler, op & SLJIT_F32_OP, dst, dstw, TMP_FREG);
2775 …JIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_s32 op, argument
2789 CHECK(check_sljit_emit_op_flags(compiler, op, dst, dstw, type));
2799 if (GET_OPCODE(op) == SLJIT_OR && !GET_ALL_FLAGS(op) && FAST_IS_REG(dst)) {
2814 reg = (GET_OPCODE(op) < SLJIT_ADD && FAST_IS_REG(dst)) ? dst : TMP_REG1;
2833 if (GET_OPCODE(op) < SLJIT_ADD) {
2834 compiler->mode32 = GET_OPCODE(op) != SLJIT_MOV;
2842 return sljit_emit_op2(compiler, op, dst_save, dstw_save, dst_save, dstw_save, TMP_REG1, 0);
2846 if (GET_OPCODE(op) < SLJIT_ADD && FAST_IS_REG(dst)) {
2899 if (GET_OPCODE(op) == SLJIT_OR && !GET_ALL_FLAGS(op) && FAST_IS_REG(dst) && reg_map[dst] <= 4) {
2949 if (GET_OPCODE(op) < SLJIT_ADD)
2956 return sljit_emit_op2(compiler, op, dst_save, dstw_save, dst_save, dstw_save, TMP_REG1, 0);