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()
594 static sljit_s32 getput_arg_fast(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, s… in getput_arg_fast() argument
601 if (SLJIT_UNLIKELY(flags & ARG_TEST)) in getput_arg_fast()
603 FAIL_IF(push_inst(compiler, data_transfer_insts[flags & MEM_MASK] in getput_arg_fast()
604 | ((flags & MEM_MASK) <= GPR_REG ? D(reg) : FD(reg)) in getput_arg_fast()
606 ((flags & MEM_MASK) <= GPR_REG && (flags & LOAD_DATA)) ? DR(reg) : MOVABLE_INS)); in getput_arg_fast()
635 static sljit_s32 getput_arg(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, sljit_… in getput_arg() argument
659 …else if ((flags & LOAD_DATA) && ((flags & MEM_MASK) <= GPR_REG) && reg != base && reg != OFFS_REG(… in getput_arg()
680 else if ((flags & LOAD_DATA) && ((flags & MEM_MASK) <= GPR_REG) && reg != base) in getput_arg()
688 dest = ((flags & MEM_MASK) <= GPR_REG ? D(reg) : FD(reg)); in getput_arg()
689 delay_slot = ((flags & MEM_MASK) <= GPR_REG && (flags & LOAD_DATA)) ? DR(reg) : MOVABLE_INS; in getput_arg()
691 …return push_inst(compiler, data_transfer_insts[flags & MEM_MASK] | dest | S1(arg2) | IMM(0), delay… in getput_arg()
692 …return push_inst(compiler, data_transfer_insts[flags & MEM_MASK] | dest | S1(base) | S2(arg2), del… in getput_arg()
695 static SLJIT_INLINE sljit_s32 emit_op_mem(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s… in emit_op_mem() argument
697 if (getput_arg_fast(compiler, flags, reg, arg, argw)) in emit_op_mem()
701 return getput_arg(compiler, flags, reg, arg, argw, 0, 0); in emit_op_mem()
704 static SLJIT_INLINE sljit_s32 emit_op_mem2(struct sljit_compiler *compiler, sljit_s32 flags, sljit_… in emit_op_mem2() argument
706 if (getput_arg_fast(compiler, flags, reg, arg1, arg1w)) in emit_op_mem2()
708 return getput_arg(compiler, flags, reg, arg1, arg1w, arg2, arg2w); in emit_op_mem2()
711 static sljit_s32 emit_op(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 flags, in emit_op() argument
725 if (!(flags & ALT_KEEP_CACHE)) { in emit_op()
733 flags |= REG_DEST; in emit_op()
737 else if ((dst & SLJIT_MEM) && !getput_arg_fast(compiler, flags | ARG_TEST, TMP_REG1, dst, dstw)) in emit_op()
738 flags |= SLOW_DEST; in emit_op()
741 if (flags & IMM_OP) { in emit_op()
744 flags |= SRC2_IMM; in emit_op()
748 if (!(flags & SRC2_IMM) && (flags & CUMULATIVE_OP) && (src1 & SLJIT_IMM) && src1w) { in emit_op()
750 flags |= SRC2_IMM; in emit_op()
774 if (getput_arg_fast(compiler, flags | LOAD_DATA, TMP_REG1, src1, src1w)) in emit_op()
777 flags |= SLOW_SRC1; in emit_op()
784 flags |= REG2_SOURCE; in emit_op()
785 if (!(flags & REG_DEST) && op >= SLJIT_MOV && op <= SLJIT_MOV_P) in emit_op()
789 if (!(flags & SRC2_IMM)) { in emit_op()
802 if (getput_arg_fast(compiler, flags | LOAD_DATA, sugg_src2_r, src2, src2w)) in emit_op()
805 flags |= SLOW_SRC2; in emit_op()
809 if ((flags & (SLOW_SRC1 | SLOW_SRC2)) == (SLOW_SRC1 | SLOW_SRC2)) { in emit_op()
812 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG2, src2, src2w, src1, src1w)); in emit_op()
813 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1, src1, src1w, dst, dstw)); in emit_op()
816 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1, src1, src1w, src2, src2w)); in emit_op()
817 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG2, src2, src2w, dst, dstw)); in emit_op()
820 else if (flags & SLOW_SRC1) in emit_op()
821 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1, src1, src1w, dst, dstw)); in emit_op()
822 else if (flags & SLOW_SRC2) in emit_op()
823 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, sugg_src2_r, src2, src2w, dst, dstw)); in emit_op()
825 FAIL_IF(emit_single_op(compiler, op, flags, dst_r, src1_r, src2_r)); in emit_op()
828 if (!(flags & SLOW_DEST)) { in emit_op()
829 getput_arg_fast(compiler, flags, dst_r, dst, dstw); in emit_op()
832 return getput_arg(compiler, flags, dst_r, dst, dstw, 0, 0); in emit_op()
891 sljit_s32 flags = HAS_FLAGS(op) ? SET_FLAGS : 0; in sljit_emit_op1() local
902 return emit_op(compiler, SLJIT_MOV, flags | WORD_DATA, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
905 return emit_op(compiler, SLJIT_MOV_U32, flags | INT_DATA, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
908 …return emit_op(compiler, SLJIT_MOV_S32, flags | INT_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, sr… in sljit_emit_op1()
911 …return emit_op(compiler, SLJIT_MOV_U8, flags | BYTE_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJI… in sljit_emit_op1()
914 …return emit_op(compiler, SLJIT_MOV_S8, flags | BYTE_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, sr… in sljit_emit_op1()
917 …return emit_op(compiler, SLJIT_MOV_U16, flags | HALF_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJ… in sljit_emit_op1()
920 …return emit_op(compiler, SLJIT_MOV_S16, flags | HALF_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, s… in sljit_emit_op1()
924 return emit_op(compiler, op, flags, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
927 return emit_op(compiler, SLJIT_SUB, flags | IMM_OP, dst, dstw, SLJIT_IMM, 0, src, srcw); in sljit_emit_op1()
938 sljit_s32 flags = HAS_FLAGS(op) ? SET_FLAGS : 0; in sljit_emit_op2() local
957 return emit_op(compiler, op, flags | CUMULATIVE_OP | IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
961 return emit_op(compiler, op, flags | IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
972 return emit_op(compiler, op, flags | IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
1162 sljit_s32 dst_r, flags = 0; in sljit_emit_fop2() local
1180 flags |= SLOW_SRC1; in sljit_emit_fop2()
1188 flags |= SLOW_SRC2; in sljit_emit_fop2()
1191 if ((flags & (SLOW_SRC1 | SLOW_SRC2)) == (SLOW_SRC1 | SLOW_SRC2)) { in sljit_emit_fop2()
1201 else if (flags & SLOW_SRC1) in sljit_emit_fop2()
1203 else if (flags & SLOW_SRC2) in sljit_emit_fop2()
1206 if (flags & SLOW_SRC1) in sljit_emit_fop2()
1208 if (flags & SLOW_SRC2) in sljit_emit_fop2()
1350 jump->flags |= IS_COND; in sljit_emit_jump()
1352 jump->flags |= IS_MOVABLE; in sljit_emit_jump()
1360 jump->flags |= IS_COND; in sljit_emit_jump()
1362 jump->flags |= IS_MOVABLE; in sljit_emit_jump()
1371 jump->flags |= IS_MOVABLE; in sljit_emit_jump()
1373 jump->flags |= IS_CALL; in sljit_emit_jump()
1418 jump->flags |= IS_MOVABLE; in sljit_emit_ijump()
1420 jump->flags |= IS_CALL; in sljit_emit_ijump()
1463 sljit_s32 reg, flags = HAS_FLAGS(op) ? SET_FLAGS : 0; in sljit_emit_op_flags() local
1489 flags |= CUMULATIVE_OP | IMM_OP | ALT_KEEP_CACHE; in sljit_emit_op_flags()
1491 return emit_op(compiler, op, flags, dst, dstw, TMP_REG1, 0, TMP_REG2, 0); in sljit_emit_op_flags()
1492 return emit_op(compiler, op, flags, dst, 0, dst, 0, TMP_REG2, 0); in sljit_emit_op_flags()