Lines Matching refs:flags

225 	if (jump->flags & SLJIT_REWRITABLE_JUMP)  in detect_jump_type()
228 if (jump->flags & JUMP_ADDR) in detect_jump_type()
231 SLJIT_ASSERT(jump->flags & JUMP_LABEL); in detect_jump_type()
237 if (jump->flags & IS_CALL) { in detect_jump_type()
239 jump->flags |= PATCH_CALL; in detect_jump_type()
240 if (jump->flags & IS_MOVABLE) { in detect_jump_type()
255 if (jump->flags & IS_COND) in detect_jump_type()
260 if (jump->flags & IS_MOVABLE) { in detect_jump_type()
262 jump->flags |= PATCH_B; in detect_jump_type()
264 if (jump->flags & IS_COND) { in detect_jump_type()
280 jump->flags |= PATCH_B; in detect_jump_type()
281 if (jump->flags & IS_COND) in detect_jump_type()
389 addr = (jump->flags & JUMP_LABEL) ? jump->u.label->addr : jump->u.target; in sljit_generate_code()
392 if (jump->flags & PATCH_CALL) { in sljit_generate_code()
398 if (jump->flags & PATCH_B) { in sljit_generate_code()
593 static sljit_s32 getput_arg_fast(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, s… in getput_arg_fast() argument
600 if (SLJIT_UNLIKELY(flags & ARG_TEST)) in getput_arg_fast()
602 FAIL_IF(push_inst(compiler, data_transfer_insts[flags & MEM_MASK] in getput_arg_fast()
603 | ((flags & MEM_MASK) <= GPR_REG ? D(reg) : FD(reg)) in getput_arg_fast()
605 ((flags & MEM_MASK) <= GPR_REG && (flags & LOAD_DATA)) ? DR(reg) : MOVABLE_INS)); in getput_arg_fast()
634 static sljit_s32 getput_arg(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, sljit_… in getput_arg() argument
658 …else if ((flags & LOAD_DATA) && ((flags & MEM_MASK) <= GPR_REG) && reg != base && reg != OFFS_REG(… in getput_arg()
679 else if ((flags & LOAD_DATA) && ((flags & MEM_MASK) <= GPR_REG) && reg != base) in getput_arg()
687 dest = ((flags & MEM_MASK) <= GPR_REG ? D(reg) : FD(reg)); in getput_arg()
688 delay_slot = ((flags & MEM_MASK) <= GPR_REG && (flags & LOAD_DATA)) ? DR(reg) : MOVABLE_INS; in getput_arg()
690 …return push_inst(compiler, data_transfer_insts[flags & MEM_MASK] | dest | S1(arg2) | IMM(0), delay… in getput_arg()
691 …return push_inst(compiler, data_transfer_insts[flags & MEM_MASK] | dest | S1(base) | S2(arg2), del… in getput_arg()
694 static SLJIT_INLINE sljit_s32 emit_op_mem(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s… in emit_op_mem() argument
696 if (getput_arg_fast(compiler, flags, reg, arg, argw)) in emit_op_mem()
700 return getput_arg(compiler, flags, reg, arg, argw, 0, 0); in emit_op_mem()
703 static SLJIT_INLINE sljit_s32 emit_op_mem2(struct sljit_compiler *compiler, sljit_s32 flags, sljit_… in emit_op_mem2() argument
705 if (getput_arg_fast(compiler, flags, reg, arg1, arg1w)) in emit_op_mem2()
707 return getput_arg(compiler, flags, reg, arg1, arg1w, arg2, arg2w); in emit_op_mem2()
710 static sljit_s32 emit_op(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 flags, in emit_op() argument
724 if (!(flags & ALT_KEEP_CACHE)) { in emit_op()
732 flags |= REG_DEST; in emit_op()
736 else if ((dst & SLJIT_MEM) && !getput_arg_fast(compiler, flags | ARG_TEST, TMP_REG1, dst, dstw)) in emit_op()
737 flags |= SLOW_DEST; in emit_op()
740 if (flags & IMM_OP) { in emit_op()
743 flags |= SRC2_IMM; in emit_op()
747 if (!(flags & SRC2_IMM) && (flags & CUMULATIVE_OP) && (src1 & SLJIT_IMM) && src1w) { in emit_op()
749 flags |= SRC2_IMM; in emit_op()
773 if (getput_arg_fast(compiler, flags | LOAD_DATA, TMP_REG1, src1, src1w)) in emit_op()
776 flags |= SLOW_SRC1; in emit_op()
783 flags |= REG2_SOURCE; in emit_op()
784 if (!(flags & REG_DEST) && op >= SLJIT_MOV && op <= SLJIT_MOV_P) in emit_op()
788 if (!(flags & SRC2_IMM)) { in emit_op()
801 if (getput_arg_fast(compiler, flags | LOAD_DATA, sugg_src2_r, src2, src2w)) in emit_op()
804 flags |= SLOW_SRC2; in emit_op()
808 if ((flags & (SLOW_SRC1 | SLOW_SRC2)) == (SLOW_SRC1 | SLOW_SRC2)) { in emit_op()
811 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG2, src2, src2w, src1, src1w)); in emit_op()
812 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1, src1, src1w, dst, dstw)); in emit_op()
815 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1, src1, src1w, src2, src2w)); in emit_op()
816 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG2, src2, src2w, dst, dstw)); in emit_op()
819 else if (flags & SLOW_SRC1) in emit_op()
820 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1, src1, src1w, dst, dstw)); in emit_op()
821 else if (flags & SLOW_SRC2) in emit_op()
822 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, sugg_src2_r, src2, src2w, dst, dstw)); in emit_op()
824 FAIL_IF(emit_single_op(compiler, op, flags, dst_r, src1_r, src2_r)); in emit_op()
827 if (!(flags & SLOW_DEST)) { in emit_op()
828 getput_arg_fast(compiler, flags, dst_r, dst, dstw); in emit_op()
831 return getput_arg(compiler, flags, dst_r, dst, dstw, 0, 0); in emit_op()
890 sljit_s32 flags = HAS_FLAGS(op) ? SET_FLAGS : 0; in sljit_emit_op1() local
901 return emit_op(compiler, SLJIT_MOV, flags | WORD_DATA, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
904 return emit_op(compiler, SLJIT_MOV_U32, flags | INT_DATA, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
907 …return emit_op(compiler, SLJIT_MOV_S32, flags | INT_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, sr… in sljit_emit_op1()
910 …return emit_op(compiler, SLJIT_MOV_U8, flags | BYTE_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJI… in sljit_emit_op1()
913 …return emit_op(compiler, SLJIT_MOV_S8, flags | BYTE_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, sr… in sljit_emit_op1()
916 …return emit_op(compiler, SLJIT_MOV_U16, flags | HALF_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJ… in sljit_emit_op1()
919 …return emit_op(compiler, SLJIT_MOV_S16, flags | HALF_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, s… in sljit_emit_op1()
923 return emit_op(compiler, op, flags, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
926 return emit_op(compiler, SLJIT_SUB, flags | IMM_OP, dst, dstw, SLJIT_IMM, 0, src, srcw); in sljit_emit_op1()
937 sljit_s32 flags = HAS_FLAGS(op) ? SET_FLAGS : 0; in sljit_emit_op2() local
956 return emit_op(compiler, op, flags | CUMULATIVE_OP | IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
960 return emit_op(compiler, op, flags | IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
971 return emit_op(compiler, op, flags | IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
1161 sljit_s32 dst_r, flags = 0; in sljit_emit_fop2() local
1179 flags |= SLOW_SRC1; in sljit_emit_fop2()
1187 flags |= SLOW_SRC2; in sljit_emit_fop2()
1190 if ((flags & (SLOW_SRC1 | SLOW_SRC2)) == (SLOW_SRC1 | SLOW_SRC2)) { in sljit_emit_fop2()
1200 else if (flags & SLOW_SRC1) in sljit_emit_fop2()
1202 else if (flags & SLOW_SRC2) in sljit_emit_fop2()
1205 if (flags & SLOW_SRC1) in sljit_emit_fop2()
1207 if (flags & SLOW_SRC2) in sljit_emit_fop2()
1345 jump->flags |= IS_COND; in sljit_emit_jump()
1347 jump->flags |= IS_MOVABLE; in sljit_emit_jump()
1355 jump->flags |= IS_COND; in sljit_emit_jump()
1357 jump->flags |= IS_MOVABLE; in sljit_emit_jump()
1366 jump->flags |= IS_MOVABLE; in sljit_emit_jump()
1368 jump->flags |= IS_CALL; in sljit_emit_jump()
1413 jump->flags |= IS_MOVABLE; in sljit_emit_ijump()
1415 jump->flags |= IS_CALL; in sljit_emit_ijump()
1458 sljit_s32 reg, flags = HAS_FLAGS(op) ? SET_FLAGS : 0; in sljit_emit_op_flags() local
1484 flags |= CUMULATIVE_OP | IMM_OP | ALT_KEEP_CACHE; in sljit_emit_op_flags()
1486 return emit_op(compiler, op, flags, dst, dstw, TMP_REG1, 0, TMP_REG2, 0); in sljit_emit_op_flags()
1487 return emit_op(compiler, op, flags, dst, 0, dst, 0, TMP_REG2, 0); in sljit_emit_op_flags()