Lines Matching refs:op

109 #define DOP(op)		((op) << 5)  argument
457 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_return(struct sljit_compiler *compiler, sljit_si op, s… in sljit_emit_return() argument
460 CHECK(check_sljit_emit_return(compiler, op, src, srcw)); in sljit_emit_return()
462 if (op != SLJIT_MOV || !FAST_IS_REG(src)) { in sljit_emit_return()
463 FAIL_IF(emit_mov_before_return(compiler, op, src, srcw)); in sljit_emit_return()
632 static sljit_si emit_op(struct sljit_compiler *compiler, sljit_si op, sljit_si flags, in emit_op() argument
652 if (op >= SLJIT_MOV && op <= SLJIT_MOVU_SI && !(src2 & SLJIT_MEM)) in emit_op()
658 if (op >= SLJIT_MOV && op <= SLJIT_MOVU_SI) in emit_op()
708 if (!(flags & REG_DEST) && op >= SLJIT_MOV && op <= SLJIT_MOVU_SI) in emit_op()
719 if ((op >= SLJIT_MOV && op <= SLJIT_MOVU_SI) && (dst & SLJIT_MEM)) in emit_op()
748 FAIL_IF(emit_single_op(compiler, op, flags, dst_r, src1_r, src2_r)); in emit_op()
761 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op0(struct sljit_compiler *compiler, sljit_si op) in sljit_emit_op0() argument
764 CHECK(check_sljit_emit_op0(compiler, op)); in sljit_emit_op0()
766 op = GET_OPCODE(op); in sljit_emit_op0()
767 switch (op) { in sljit_emit_op0()
775 …FAIL_IF(push_inst(compiler, (op == SLJIT_LUMUL ? UMUL : SMUL) | D(SLJIT_R0) | S1(SLJIT_R0) | S2(SL… in sljit_emit_op0()
786 if ((op | 0x2) == SLJIT_UDIVI) in sljit_emit_op0()
792 if (op <= SLJIT_SDIVMOD) in sljit_emit_op0()
794 …FAIL_IF(push_inst(compiler, ((op | 0x2) == SLJIT_UDIVI ? UDIV : SDIV) | D(SLJIT_R0) | S1(SLJIT_R0)… in sljit_emit_op0()
795 if (op >= SLJIT_UDIVI) in sljit_emit_op0()
807 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op1(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_op1() argument
811 sljit_si flags = GET_FLAGS(op) ? SET_FLAGS : 0; in sljit_emit_op1()
814 CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); in sljit_emit_op1()
818 op = GET_OPCODE(op); in sljit_emit_op1()
819 switch (op) { in sljit_emit_op1()
866 return emit_op(compiler, op, flags, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
875 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op2(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_op2() argument
880 sljit_si flags = GET_FLAGS(op) ? SET_FLAGS : 0; in sljit_emit_op2()
883 CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w)); in sljit_emit_op2()
888 op = GET_OPCODE(op); in sljit_emit_op2()
889 switch (op) { in sljit_emit_op2()
896 return emit_op(compiler, op, flags | CUMULATIVE_OP | IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
900 return emit_op(compiler, op, flags | IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
911 return emit_op(compiler, op, flags | IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
952 #define FLOAT_DATA(op) (DOUBLE_DATA | ((op & SLJIT_SINGLE_OP) >> 7)) argument
953 #define SELECT_FOP(op, single, double) ((op & SLJIT_SINGLE_OP) ? single : double) argument
956 …tic SLJIT_INLINE sljit_si sljit_emit_fop1_convw_fromd(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop1_convw_fromd() argument
961 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src, srcw, dst, dstw)); in sljit_emit_fop1_convw_fromd()
967 FAIL_IF(push_inst(compiler, SELECT_FOP(op, FSTOI, FDTOI) | DA(TMP_FREG1) | S2A(src), MOVABLE_INS)); in sljit_emit_fop1_convw_fromd()
981 …tic SLJIT_INLINE sljit_si sljit_emit_fop1_convd_fromw(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop1_convd_fromw() argument
989 if (GET_OPCODE(op) == SLJIT_CONVD_FROMI) in sljit_emit_fop1_convd_fromw()
1004 …FAIL_IF(push_inst(compiler, SELECT_FOP(op, FITOS, FITOD) | DA(dst_r) | S2A(TMP_FREG1), MOVABLE_INS… in sljit_emit_fop1_convd_fromw()
1007 return emit_op_mem2(compiler, FLOAT_DATA(op), TMP_FREG1, dst, dstw, 0, 0); in sljit_emit_fop1_convd_fromw()
1011 static SLJIT_INLINE sljit_si sljit_emit_fop1_cmp(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop1_cmp() argument
1016 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w, src2, src2w)); in sljit_emit_fop1_cmp()
1023 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w, 0, 0)); in sljit_emit_fop1_cmp()
1029 …return push_inst(compiler, SELECT_FOP(op, FCMPS, FCMPD) | S1A(src1) | S2A(src2), FCC_IS_SET | MOVA… in sljit_emit_fop1_cmp()
1032 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_fop1(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop1() argument
1043 SELECT_FOP1_OPERATION_WITH_CHECKS(compiler, op, dst, dstw, src, srcw); in sljit_emit_fop1()
1045 if (GET_OPCODE(op) == SLJIT_CONVD_FROMS) in sljit_emit_fop1()
1046 op ^= SLJIT_SINGLE_OP; in sljit_emit_fop1()
1051 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op) | LOAD_DATA, dst_r, src, srcw, dst, dstw)); in sljit_emit_fop1()
1057 switch (GET_OPCODE(op)) { in sljit_emit_fop1()
1062 if (!(op & SLJIT_SINGLE_OP)) in sljit_emit_fop1()
1071 if (dst_r != src && !(op & SLJIT_SINGLE_OP)) in sljit_emit_fop1()
1076 if (dst_r != src && !(op & SLJIT_SINGLE_OP)) in sljit_emit_fop1()
1080 FAIL_IF(push_inst(compiler, SELECT_FOP(op, FSTOD, FDTOS) | DA(dst_r) | S2A(src), MOVABLE_INS)); in sljit_emit_fop1()
1081 op ^= SLJIT_SINGLE_OP; in sljit_emit_fop1()
1086 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op), dst_r, dst, dstw, 0, 0)); in sljit_emit_fop1()
1090 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_fop2(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop2() argument
1098 CHECK(check_sljit_emit_fop2(compiler, op, dst, dstw, src1, src1w, src2, src2w)); in sljit_emit_fop2()
1109 if (getput_arg_fast(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w)) { in sljit_emit_fop2()
1119 if (getput_arg_fast(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w)) { in sljit_emit_fop2()
1130 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w, src1, src1w)); in sljit_emit_fop2()
1131 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w, dst, dstw)); in sljit_emit_fop2()
1134 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w, src2, src2w)); in sljit_emit_fop2()
1135 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w, dst, dstw)); in sljit_emit_fop2()
1139 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w, dst, dstw)); in sljit_emit_fop2()
1141 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w, dst, dstw)); in sljit_emit_fop2()
1148 switch (GET_OPCODE(op)) { in sljit_emit_fop2()
1150 …FAIL_IF(push_inst(compiler, SELECT_FOP(op, FADDS, FADDD) | DA(dst_r) | S1A(src1) | S2A(src2), MOVA… in sljit_emit_fop2()
1154 …FAIL_IF(push_inst(compiler, SELECT_FOP(op, FSUBS, FSUBD) | DA(dst_r) | S1A(src1) | S2A(src2), MOVA… in sljit_emit_fop2()
1158 …FAIL_IF(push_inst(compiler, SELECT_FOP(op, FMULS, FMULD) | DA(dst_r) | S1A(src1) | S2A(src2), MOVA… in sljit_emit_fop2()
1162 …FAIL_IF(push_inst(compiler, SELECT_FOP(op, FDIVS, FDIVD) | DA(dst_r) | S1A(src1) | S2A(src2), MOVA… in sljit_emit_fop2()
1167 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op), TMP_FREG2, dst, dstw, 0, 0)); in sljit_emit_fop2()
1370 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_op_flags() argument
1375 sljit_si reg, flags = (GET_FLAGS(op) ? SET_FLAGS : 0); in sljit_emit_op_flags()
1378 CHECK(check_sljit_emit_op_flags(compiler, op, dst, dstw, src, srcw, type)); in sljit_emit_op_flags()
1385 op = GET_OPCODE(op); in sljit_emit_op_flags()
1386 reg = (op < SLJIT_ADD && FAST_IS_REG(dst)) ? dst : TMP_REG2; in sljit_emit_op_flags()
1390 if (op >= SLJIT_ADD && (src & SLJIT_MEM)) { in sljit_emit_op_flags()
1406 if (op >= SLJIT_ADD) in sljit_emit_op_flags()
1407 …return emit_op(compiler, op, flags | CUMULATIVE_OP | IMM_OP | ALT_KEEP_CACHE, dst, dstw, src, srcw… in sljit_emit_op_flags()