Lines Matching refs:op

651 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_return(struct sljit_compiler *compiler, sljit_si op, s…  in sljit_emit_return()  argument
656 CHECK(check_sljit_emit_return(compiler, op, src, srcw)); in sljit_emit_return()
658 FAIL_IF(emit_mov_before_return(compiler, op, src, srcw)); in sljit_emit_return()
1117 static sljit_si emit_op(struct sljit_compiler *compiler, sljit_si op, sljit_si input_flags, in emit_op() argument
1139 if (op >= SLJIT_MOV && op <= SLJIT_MOVU_SI && !(src2 & SLJIT_MEM)) in emit_op()
1146 if (op >= SLJIT_MOV && op <= SLJIT_MOVU_SI) in emit_op()
1181 if (!(flags & REG_DEST) && op >= SLJIT_MOV && op <= SLJIT_MOVU_SI) in emit_op()
1235 FAIL_IF(emit_single_op(compiler, op, flags, dst_r, src1_r, src2_r)); in emit_op()
1246 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op0(struct sljit_compiler *compiler, sljit_si op) in sljit_emit_op0() argument
1249 sljit_si int_op = op & SLJIT_INT_OP; in sljit_emit_op0()
1253 CHECK(check_sljit_emit_op0(compiler, op)); in sljit_emit_op0()
1255 op = GET_OPCODE(op); in sljit_emit_op0()
1256 switch (op) { in sljit_emit_op0()
1265 …return push_inst(compiler, (op == SLJIT_LUMUL ? MULHDU : MULHD) | D(SLJIT_R1) | A(TMP_REG1) | B(SL… in sljit_emit_op0()
1268 …return push_inst(compiler, (op == SLJIT_LUMUL ? MULHWU : MULHW) | D(SLJIT_R1) | A(TMP_REG1) | B(SL… in sljit_emit_op0()
1274 …FAIL_IF(push_inst(compiler, (int_op ? (op == SLJIT_UDIVMOD ? DIVWU : DIVW) : (op == SLJIT_UDIVMOD … in sljit_emit_op0()
1277 …FAIL_IF(push_inst(compiler, (op == SLJIT_UDIVMOD ? DIVWU : DIVW) | D(SLJIT_R0) | A(SLJIT_R0) | B(S… in sljit_emit_op0()
1284 …return push_inst(compiler, (int_op ? (op == SLJIT_UDIVI ? DIVWU : DIVW) : (op == SLJIT_UDIVI ? DIV… in sljit_emit_op0()
1286 …return push_inst(compiler, (op == SLJIT_UDIVI ? DIVWU : DIVW) | D(SLJIT_R0) | A(SLJIT_R0) | B(SLJI… in sljit_emit_op0()
1296 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op1(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_op1() argument
1300 sljit_si flags = GET_FLAGS(op) ? ALT_SET_FLAGS : 0; in sljit_emit_op1()
1301 sljit_si op_flags = GET_ALL_FLAGS(op); in sljit_emit_op1()
1304 CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); in sljit_emit_op1()
1308 op = GET_OPCODE(op); in sljit_emit_op1()
1316 if (op < SLJIT_NOT) { in sljit_emit_op1()
1318 if (!TYPE_CAST_NEEDED(op)) in sljit_emit_op1()
1322 if (op == SLJIT_MOV_SI && (src & SLJIT_MEM)) in sljit_emit_op1()
1323 op = SLJIT_MOV_UI; in sljit_emit_op1()
1324 if (op == SLJIT_MOVU_SI && (src & SLJIT_MEM)) in sljit_emit_op1()
1325 op = SLJIT_MOVU_UI; in sljit_emit_op1()
1326 if (op == SLJIT_MOV_UI && (src & SLJIT_IMM)) in sljit_emit_op1()
1327 op = SLJIT_MOV_SI; in sljit_emit_op1()
1328 if (op == SLJIT_MOVU_UI && (src & SLJIT_IMM)) in sljit_emit_op1()
1329 op = SLJIT_MOVU_SI; in sljit_emit_op1()
1342 switch (op) { in sljit_emit_op1()
1451 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op2(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_op2() argument
1456 sljit_si flags = GET_FLAGS(op) ? ALT_SET_FLAGS : 0; in sljit_emit_op2()
1459 CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w)); in sljit_emit_op2()
1470 if (op & SLJIT_INT_OP) { in sljit_emit_op2()
1477 if (GET_FLAGS(op)) in sljit_emit_op2()
1481 if (op & SLJIT_SET_O) in sljit_emit_op2()
1486 switch (GET_OPCODE(op)) { in sljit_emit_op2()
1488 if (!GET_FLAGS(op) && ((src1 | src2) & SLJIT_IMM)) { in sljit_emit_op2()
1515 if (!(GET_FLAGS(op) & (SLJIT_SET_E | SLJIT_SET_O))) { in sljit_emit_op2()
1528 …return emit_op(compiler, SLJIT_ADDC, flags | (!(op & SLJIT_KEEP_FLAGS) ? 0 : ALT_FORM1), dst, dstw… in sljit_emit_op2()
1531 if (!GET_FLAGS(op) && ((src1 | src2) & SLJIT_IMM)) { in sljit_emit_op2()
1550 …if (dst == SLJIT_UNUSED && (op & (SLJIT_SET_E | SLJIT_SET_U | SLJIT_SET_S)) && !(op & (SLJIT_SET_O… in sljit_emit_op2()
1551 if (!(op & SLJIT_SET_U)) { in sljit_emit_op2()
1557 if (GET_FLAGS(op) == SLJIT_SET_E && TEST_SL_IMM(src1, src1w)) { in sljit_emit_op2()
1562 if (!(op & (SLJIT_SET_E | SLJIT_SET_S))) { in sljit_emit_op2()
1574 …return emit_op(compiler, SLJIT_SUB, flags | ((op & SLJIT_SET_U) ? ALT_FORM4 : 0) | ((op & (SLJIT_S… in sljit_emit_op2()
1576 if (!(op & (SLJIT_SET_E | SLJIT_SET_U | SLJIT_SET_S | SLJIT_SET_O))) { in sljit_emit_op2()
1583 …return emit_op(compiler, SLJIT_SUB, flags | (!(op & SLJIT_SET_U) ? 0 : ALT_FORM6), dst, dstw, src1… in sljit_emit_op2()
1586 …return emit_op(compiler, SLJIT_SUBC, flags | (!(op & SLJIT_KEEP_FLAGS) ? 0 : ALT_FORM1), dst, dstw… in sljit_emit_op2()
1590 if (op & SLJIT_INT_OP) in sljit_emit_op2()
1593 if (!GET_FLAGS(op)) { in sljit_emit_op2()
1609 if (!GET_FLAGS(op) || GET_OPCODE(op) == SLJIT_AND) { in sljit_emit_op2()
1612 … return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM1, dst, dstw, src1, src1w, TMP_REG2, 0); in sljit_emit_op2()
1616 … return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM1, dst, dstw, src2, src2w, TMP_REG2, 0); in sljit_emit_op2()
1620 … return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM2, dst, dstw, src1, src1w, TMP_REG2, 0); in sljit_emit_op2()
1624 … return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM2, dst, dstw, src2, src2w, TMP_REG2, 0); in sljit_emit_op2()
1627 if (!GET_FLAGS(op) && GET_OPCODE(op) != SLJIT_AND) { in sljit_emit_op2()
1630 … return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM3, dst, dstw, src1, src1w, TMP_REG2, 0); in sljit_emit_op2()
1634 … return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM3, dst, dstw, src2, src2w, TMP_REG2, 0); in sljit_emit_op2()
1637 return emit_op(compiler, GET_OPCODE(op), flags, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
1640 if (op & SLJIT_KEEP_FLAGS) in sljit_emit_op2()
1646 if (op & SLJIT_INT_OP) in sljit_emit_op2()
1651 return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM1, dst, dstw, src1, src1w, TMP_REG2, 0); in sljit_emit_op2()
1653 return emit_op(compiler, GET_OPCODE(op), flags, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
1694 #define FLOAT_DATA(op) (DOUBLE_DATA | ((op & SLJIT_SINGLE_OP) >> 6)) argument
1695 #define SELECT_FOP(op, single, double) ((op & SLJIT_SINGLE_OP) ? single : double) argument
1712 …tic SLJIT_INLINE sljit_si sljit_emit_fop1_convw_fromd(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop1_convw_fromd() argument
1718 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src, srcw, dst, dstw)); in sljit_emit_fop1_convw_fromd()
1723 op = GET_OPCODE(op); in sljit_emit_fop1_convw_fromd()
1724 …FAIL_IF(push_inst(compiler, (op == SLJIT_CONVI_FROMD ? FCTIWZ : FCTIDZ) | FD(TMP_FREG1) | FB(src))… in sljit_emit_fop1_convw_fromd()
1729 if (op == SLJIT_CONVW_FROMD) { in sljit_emit_fop1_convw_fromd()
1780 …tic SLJIT_INLINE sljit_si sljit_emit_fop1_convd_fromw(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop1_convd_fromw() argument
1789 if (GET_OPCODE(op) == SLJIT_CONVD_FROMI) in sljit_emit_fop1_convd_fromw()
1794 else if (GET_OPCODE(op) == SLJIT_CONVD_FROMI) { in sljit_emit_fop1_convd_fromw()
1812 return emit_op_mem2(compiler, FLOAT_DATA(op), TMP_FREG1, dst, dstw, 0, 0); in sljit_emit_fop1_convd_fromw()
1813 if (op & SLJIT_SINGLE_OP) in sljit_emit_fop1_convd_fromw()
1850 return emit_op_mem2(compiler, FLOAT_DATA(op), TMP_FREG1, dst, dstw, 0, 0); in sljit_emit_fop1_convd_fromw()
1851 if (op & SLJIT_SINGLE_OP) in sljit_emit_fop1_convd_fromw()
1858 static SLJIT_INLINE sljit_si sljit_emit_fop1_cmp(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop1_cmp() argument
1863 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w, src2, src2w)); in sljit_emit_fop1_cmp()
1868 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w, 0, 0)); in sljit_emit_fop1_cmp()
1875 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_fop1(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop1() argument
1886 SELECT_FOP1_OPERATION_WITH_CHECKS(compiler, op, dst, dstw, src, srcw); in sljit_emit_fop1()
1888 if (GET_OPCODE(op) == SLJIT_CONVD_FROMS) in sljit_emit_fop1()
1889 op ^= SLJIT_SINGLE_OP; in sljit_emit_fop1()
1894 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op) | LOAD_DATA, dst_r, src, srcw, dst, dstw)); in sljit_emit_fop1()
1898 switch (GET_OPCODE(op)) { in sljit_emit_fop1()
1900 op ^= SLJIT_SINGLE_OP; in sljit_emit_fop1()
1901 if (op & SLJIT_SINGLE_OP) { in sljit_emit_fop1()
1923 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op), dst_r, dst, dstw, 0, 0)); in sljit_emit_fop1()
1927 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_fop2(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop2() argument
1935 CHECK(check_sljit_emit_fop2(compiler, op, dst, dstw, src1, src1w, src2, src2w)); in sljit_emit_fop2()
1946 if (getput_arg_fast(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w)) { in sljit_emit_fop2()
1954 if (getput_arg_fast(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w)) { in sljit_emit_fop2()
1963 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w, src1, src1w)); in sljit_emit_fop2()
1964 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w, dst, dstw)); in sljit_emit_fop2()
1967 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w, src2, src2w)); in sljit_emit_fop2()
1968 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w, dst, dstw)); in sljit_emit_fop2()
1972 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w, dst, dstw)); in sljit_emit_fop2()
1974 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w, dst, dstw)); in sljit_emit_fop2()
1981 switch (GET_OPCODE(op)) { in sljit_emit_fop2()
1983 FAIL_IF(push_inst(compiler, SELECT_FOP(op, FADDS, FADD) | FD(dst_r) | FA(src1) | FB(src2))); in sljit_emit_fop2()
1987 FAIL_IF(push_inst(compiler, SELECT_FOP(op, FSUBS, FSUB) | FD(dst_r) | FA(src1) | FB(src2))); in sljit_emit_fop2()
1991 …FAIL_IF(push_inst(compiler, SELECT_FOP(op, FMULS, FMUL) | FD(dst_r) | FA(src1) | FC(src2) /* FMUL … in sljit_emit_fop2()
1995 FAIL_IF(push_inst(compiler, SELECT_FOP(op, FDIVS, FDIV) | FD(dst_r) | FA(src1) | FB(src2))); in sljit_emit_fop2()
2000 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op), TMP_FREG2, dst, dstw, 0, 0)); in sljit_emit_fop2()
2214 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_op_flags() argument
2220 sljit_si flags = GET_ALL_FLAGS(op); in sljit_emit_op_flags()
2224 CHECK(check_sljit_emit_op_flags(compiler, op, dst, dstw, src, srcw, type)); in sljit_emit_op_flags()
2230 op = GET_OPCODE(op); in sljit_emit_op_flags()
2231 reg = (op < SLJIT_ADD && FAST_IS_REG(dst)) ? dst : TMP_REG2; in sljit_emit_op_flags()
2235 if (op >= SLJIT_ADD && (src & SLJIT_MEM)) { in sljit_emit_op_flags()
2331 if (op < SLJIT_ADD) { in sljit_emit_op_flags()
2333 if (op == SLJIT_MOV) in sljit_emit_op_flags()
2336 op = SLJIT_MOV_UI; in sljit_emit_op_flags()
2340 op = SLJIT_MOV; in sljit_emit_op_flags()
2345 return emit_op(compiler, op, input_flags, dst, dstw, TMP_REG1, 0, TMP_REG2, 0); in sljit_emit_op_flags()
2352 return sljit_emit_op2(compiler, op | flags, dst, original_dstw, src, srcw, TMP_REG2, 0); in sljit_emit_op_flags()