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()
1275 …FAIL_IF(push_inst(compiler, (op == SLJIT_LUDIV ? DIVWU : DIVW) | D(SLJIT_R0) | A(TMP_REG1) | B(SLJ… in sljit_emit_op0()
1278 …FAIL_IF(push_inst(compiler, (op == SLJIT_LUDIV ? DIVDU : DIVD) | D(SLJIT_R0) | A(TMP_REG1) | B(SLJ… in sljit_emit_op0()
1283 …FAIL_IF(push_inst(compiler, (op == SLJIT_LUDIV ? DIVWU : DIVW) | D(SLJIT_R0) | A(TMP_REG1) | B(SLJ… in sljit_emit_op0()
1295 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op1(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_op1() argument
1299 sljit_si flags = GET_FLAGS(op) ? ALT_SET_FLAGS : 0; in sljit_emit_op1()
1300 sljit_si op_flags = GET_ALL_FLAGS(op); in sljit_emit_op1()
1303 CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); in sljit_emit_op1()
1307 op = GET_OPCODE(op); in sljit_emit_op1()
1315 if (op < SLJIT_NOT) { in sljit_emit_op1()
1317 if (!TYPE_CAST_NEEDED(op)) in sljit_emit_op1()
1321 if (op == SLJIT_MOV_SI && (src & SLJIT_MEM)) in sljit_emit_op1()
1322 op = SLJIT_MOV_UI; in sljit_emit_op1()
1323 if (op == SLJIT_MOVU_SI && (src & SLJIT_MEM)) in sljit_emit_op1()
1324 op = SLJIT_MOVU_UI; in sljit_emit_op1()
1325 if (op == SLJIT_MOV_UI && (src & SLJIT_IMM)) in sljit_emit_op1()
1326 op = SLJIT_MOV_SI; in sljit_emit_op1()
1327 if (op == SLJIT_MOVU_UI && (src & SLJIT_IMM)) in sljit_emit_op1()
1328 op = SLJIT_MOVU_SI; in sljit_emit_op1()
1341 switch (op) { in sljit_emit_op1()
1450 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op2(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_op2() argument
1455 sljit_si flags = GET_FLAGS(op) ? ALT_SET_FLAGS : 0; in sljit_emit_op2()
1458 CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w)); in sljit_emit_op2()
1469 if (op & SLJIT_INT_OP) { in sljit_emit_op2()
1476 if (GET_FLAGS(op)) in sljit_emit_op2()
1480 if (op & SLJIT_SET_O) in sljit_emit_op2()
1485 switch (GET_OPCODE(op)) { in sljit_emit_op2()
1487 if (!GET_FLAGS(op) && ((src1 | src2) & SLJIT_IMM)) { in sljit_emit_op2()
1514 if (!(GET_FLAGS(op) & (SLJIT_SET_E | SLJIT_SET_O))) { in sljit_emit_op2()
1527 …return emit_op(compiler, SLJIT_ADDC, flags | (!(op & SLJIT_KEEP_FLAGS) ? 0 : ALT_FORM1), dst, dstw… in sljit_emit_op2()
1530 if (!GET_FLAGS(op) && ((src1 | src2) & SLJIT_IMM)) { in sljit_emit_op2()
1549 …if (dst == SLJIT_UNUSED && (op & (SLJIT_SET_E | SLJIT_SET_U | SLJIT_SET_S)) && !(op & (SLJIT_SET_O… in sljit_emit_op2()
1550 if (!(op & SLJIT_SET_U)) { in sljit_emit_op2()
1556 if (GET_FLAGS(op) == SLJIT_SET_E && TEST_SL_IMM(src1, src1w)) { in sljit_emit_op2()
1561 if (!(op & (SLJIT_SET_E | SLJIT_SET_S))) { in sljit_emit_op2()
1573 …return emit_op(compiler, SLJIT_SUB, flags | ((op & SLJIT_SET_U) ? ALT_FORM4 : 0) | ((op & (SLJIT_S… in sljit_emit_op2()
1575 if (!(op & (SLJIT_SET_E | SLJIT_SET_U | SLJIT_SET_S | SLJIT_SET_O))) { in sljit_emit_op2()
1582 …return emit_op(compiler, SLJIT_SUB, flags | (!(op & SLJIT_SET_U) ? 0 : ALT_FORM6), dst, dstw, src1… in sljit_emit_op2()
1585 …return emit_op(compiler, SLJIT_SUBC, flags | (!(op & SLJIT_KEEP_FLAGS) ? 0 : ALT_FORM1), dst, dstw… in sljit_emit_op2()
1589 if (op & SLJIT_INT_OP) in sljit_emit_op2()
1592 if (!GET_FLAGS(op)) { in sljit_emit_op2()
1608 if (!GET_FLAGS(op) || GET_OPCODE(op) == SLJIT_AND) { in sljit_emit_op2()
1611 … return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM1, dst, dstw, src1, src1w, TMP_REG2, 0); in sljit_emit_op2()
1615 … return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM1, dst, dstw, src2, src2w, TMP_REG2, 0); in sljit_emit_op2()
1619 … return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM2, dst, dstw, src1, src1w, TMP_REG2, 0); in sljit_emit_op2()
1623 … return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM2, dst, dstw, src2, src2w, TMP_REG2, 0); in sljit_emit_op2()
1626 if (!GET_FLAGS(op) && GET_OPCODE(op) != SLJIT_AND) { in sljit_emit_op2()
1629 … return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM3, dst, dstw, src1, src1w, TMP_REG2, 0); in sljit_emit_op2()
1633 … return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM3, dst, dstw, src2, src2w, TMP_REG2, 0); in sljit_emit_op2()
1636 return emit_op(compiler, GET_OPCODE(op), flags, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
1639 if (op & SLJIT_KEEP_FLAGS) in sljit_emit_op2()
1645 if (op & SLJIT_INT_OP) in sljit_emit_op2()
1650 return emit_op(compiler, GET_OPCODE(op), flags | ALT_FORM1, dst, dstw, src1, src1w, TMP_REG2, 0); in sljit_emit_op2()
1652 return emit_op(compiler, GET_OPCODE(op), flags, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
1693 #define FLOAT_DATA(op) (DOUBLE_DATA | ((op & SLJIT_SINGLE_OP) >> 6)) argument
1694 #define SELECT_FOP(op, single, double) ((op & SLJIT_SINGLE_OP) ? single : double) argument
1711 …tic SLJIT_INLINE sljit_si sljit_emit_fop1_convw_fromd(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop1_convw_fromd() argument
1717 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src, srcw, dst, dstw)); in sljit_emit_fop1_convw_fromd()
1722 op = GET_OPCODE(op); in sljit_emit_fop1_convw_fromd()
1723 …FAIL_IF(push_inst(compiler, (op == SLJIT_CONVI_FROMD ? FCTIWZ : FCTIDZ) | FD(TMP_FREG1) | FB(src))… in sljit_emit_fop1_convw_fromd()
1728 if (op == SLJIT_CONVW_FROMD) { in sljit_emit_fop1_convw_fromd()
1779 …tic SLJIT_INLINE sljit_si sljit_emit_fop1_convd_fromw(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop1_convd_fromw() argument
1788 if (GET_OPCODE(op) == SLJIT_CONVD_FROMI) in sljit_emit_fop1_convd_fromw()
1793 else if (GET_OPCODE(op) == SLJIT_CONVD_FROMI) { in sljit_emit_fop1_convd_fromw()
1811 return emit_op_mem2(compiler, FLOAT_DATA(op), TMP_FREG1, dst, dstw, 0, 0); in sljit_emit_fop1_convd_fromw()
1812 if (op & SLJIT_SINGLE_OP) in sljit_emit_fop1_convd_fromw()
1849 return emit_op_mem2(compiler, FLOAT_DATA(op), TMP_FREG1, dst, dstw, 0, 0); in sljit_emit_fop1_convd_fromw()
1850 if (op & SLJIT_SINGLE_OP) in sljit_emit_fop1_convd_fromw()
1857 static SLJIT_INLINE sljit_si sljit_emit_fop1_cmp(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop1_cmp() argument
1862 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w, src2, src2w)); in sljit_emit_fop1_cmp()
1867 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w, 0, 0)); in sljit_emit_fop1_cmp()
1874 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_fop1(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop1() argument
1885 SELECT_FOP1_OPERATION_WITH_CHECKS(compiler, op, dst, dstw, src, srcw); in sljit_emit_fop1()
1887 if (GET_OPCODE(op) == SLJIT_CONVD_FROMS) in sljit_emit_fop1()
1888 op ^= SLJIT_SINGLE_OP; in sljit_emit_fop1()
1893 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op) | LOAD_DATA, dst_r, src, srcw, dst, dstw)); in sljit_emit_fop1()
1897 switch (GET_OPCODE(op)) { in sljit_emit_fop1()
1899 op ^= SLJIT_SINGLE_OP; in sljit_emit_fop1()
1900 if (op & SLJIT_SINGLE_OP) { in sljit_emit_fop1()
1922 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op), dst_r, dst, dstw, 0, 0)); in sljit_emit_fop1()
1926 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_fop2(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_fop2() argument
1934 CHECK(check_sljit_emit_fop2(compiler, op, dst, dstw, src1, src1w, src2, src2w)); in sljit_emit_fop2()
1945 if (getput_arg_fast(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w)) { in sljit_emit_fop2()
1953 if (getput_arg_fast(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w)) { in sljit_emit_fop2()
1962 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w, src1, src1w)); in sljit_emit_fop2()
1963 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w, dst, dstw)); in sljit_emit_fop2()
1966 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w, src2, src2w)); in sljit_emit_fop2()
1967 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w, dst, dstw)); in sljit_emit_fop2()
1971 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG1, src1, src1w, dst, dstw)); in sljit_emit_fop2()
1973 FAIL_IF(getput_arg(compiler, FLOAT_DATA(op) | LOAD_DATA, TMP_FREG2, src2, src2w, dst, dstw)); in sljit_emit_fop2()
1980 switch (GET_OPCODE(op)) { in sljit_emit_fop2()
1982 FAIL_IF(push_inst(compiler, SELECT_FOP(op, FADDS, FADD) | FD(dst_r) | FA(src1) | FB(src2))); in sljit_emit_fop2()
1986 FAIL_IF(push_inst(compiler, SELECT_FOP(op, FSUBS, FSUB) | FD(dst_r) | FA(src1) | FB(src2))); in sljit_emit_fop2()
1990 …FAIL_IF(push_inst(compiler, SELECT_FOP(op, FMULS, FMUL) | FD(dst_r) | FA(src1) | FC(src2) /* FMUL … in sljit_emit_fop2()
1994 FAIL_IF(push_inst(compiler, SELECT_FOP(op, FDIVS, FDIV) | FD(dst_r) | FA(src1) | FB(src2))); in sljit_emit_fop2()
1999 FAIL_IF(emit_op_mem2(compiler, FLOAT_DATA(op), TMP_FREG2, dst, dstw, 0, 0)); in sljit_emit_fop2()
2213 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_si op, in sljit_emit_op_flags() argument
2219 sljit_si flags = GET_ALL_FLAGS(op); in sljit_emit_op_flags()
2223 CHECK(check_sljit_emit_op_flags(compiler, op, dst, dstw, src, srcw, type)); in sljit_emit_op_flags()
2229 op = GET_OPCODE(op); in sljit_emit_op_flags()
2230 reg = (op < SLJIT_ADD && FAST_IS_REG(dst)) ? dst : TMP_REG2; in sljit_emit_op_flags()
2234 if (op >= SLJIT_ADD && (src & SLJIT_MEM)) { in sljit_emit_op_flags()
2330 if (op < SLJIT_ADD) { in sljit_emit_op_flags()
2332 if (op == SLJIT_MOV) in sljit_emit_op_flags()
2335 op = SLJIT_MOV_UI; in sljit_emit_op_flags()
2339 op = SLJIT_MOV; in sljit_emit_op_flags()
2344 return emit_op(compiler, op, input_flags, dst, dstw, TMP_REG1, 0, TMP_REG2, 0); in sljit_emit_op_flags()
2351 return sljit_emit_op2(compiler, op | flags, dst, original_dstw, src, srcw, TMP_REG2, 0); in sljit_emit_op_flags()