Lines Matching refs:flags

169 	if (jump->flags & SLJIT_REWRITABLE_JUMP) {  in detect_jump_type()
170 jump->flags |= PATCH_ABS64; in detect_jump_type()
174 if (jump->flags & JUMP_ADDR) in detect_jump_type()
177 SLJIT_ASSERT(jump->flags & JUMP_LABEL); in detect_jump_type()
183 if (jump->flags & IS_COND) { in detect_jump_type()
186 code_ptr[-5] ^= (jump->flags & IS_CBZ) ? (0x1 << 24) : 0x1; in detect_jump_type()
188 jump->flags |= PATCH_COND; in detect_jump_type()
195 jump->flags |= PATCH_B; in detect_jump_type()
200 if (jump->flags & IS_COND) in detect_jump_type()
207 if (jump->flags & IS_COND) in detect_jump_type()
209 jump->flags |= PATCH_ABS48; in detect_jump_type()
214 jump->flags |= PATCH_ABS64; in detect_jump_type()
221 put_label->flags = 0; in put_label_get_length()
226 put_label->flags = 1; in put_label_get_length()
230 put_label->flags = 2; in put_label_get_length()
326 addr = (jump->flags & JUMP_LABEL) ? jump->u.label->addr : jump->u.target; in sljit_generate_code()
329 if (jump->flags & PATCH_B) { in sljit_generate_code()
332 buf_ptr[0] = ((jump->flags & IS_BL) ? BL : B) | (addr & 0x3ffffff); in sljit_generate_code()
333 if (jump->flags & IS_COND) in sljit_generate_code()
337 if (jump->flags & PATCH_COND) { in sljit_generate_code()
344 SLJIT_ASSERT((jump->flags & (PATCH_ABS48 | PATCH_ABS64)) || addr <= 0xffffffffl); in sljit_generate_code()
345 SLJIT_ASSERT((jump->flags & PATCH_ABS64) || addr <= 0xffffffffffffl); in sljit_generate_code()
350 if (jump->flags & (PATCH_ABS48 | PATCH_ABS64)) in sljit_generate_code()
352 if (jump->flags & PATCH_ABS64) in sljit_generate_code()
366 if (put_label->flags >= 1) in sljit_generate_code()
369 if (put_label->flags >= 2) in sljit_generate_code()
602 if (flags & SET_FLAGS) { \
604 if (flags & UNUSED_RETURN) \
608 static sljit_s32 emit_op_imm(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 dst, sljit… in emit_op_imm() argument
613 sljit_ins inv_bits = (flags & INT_OP) ? W_OP : 0; in emit_op_imm()
615 sljit_s32 op = (flags & 0xffff); in emit_op_imm()
619 if (SLJIT_UNLIKELY((flags & (ARG1_IMM | ARG2_IMM)) == (ARG1_IMM | ARG2_IMM))) { in emit_op_imm()
621 flags &= ~ARG1_IMM; in emit_op_imm()
630 if (flags & (ARG1_IMM | ARG2_IMM)) { in emit_op_imm()
631 reg = (flags & ARG2_IMM) ? arg1 : arg2; in emit_op_imm()
632 imm = (flags & ARG2_IMM) ? arg2 : arg1; in emit_op_imm()
644 SLJIT_ASSERT(!(flags & SET_FLAGS) && (flags & ARG2_IMM) && arg1 == TMP_REG1); in emit_op_imm()
647 SLJIT_ASSERT(flags & ARG2_IMM); in emit_op_imm()
648 FAIL_IF(load_immediate(compiler, dst, (flags & INT_OP) ? (~imm & 0xffffffff) : ~imm)); in emit_op_imm()
651 if (flags & ARG1_IMM) in emit_op_imm()
677 if (imm > 0 && imm <= 0xffffff && !(flags & SET_FLAGS)) { in emit_op_imm()
681 if (nimm > 0 && nimm <= 0xffffff && !(flags & SET_FLAGS)) { in emit_op_imm()
687 inst_bits = logical_imm(imm, LOGICAL_IMM_CHECK | ((flags & INT_OP) ? 16 : 32)); in emit_op_imm()
694 inst_bits = logical_imm(imm, LOGICAL_IMM_CHECK | ((flags & INT_OP) ? 16 : 32)); in emit_op_imm()
704 if (flags & ARG1_IMM) in emit_op_imm()
706 if (flags & INT_OP) { in emit_op_imm()
717 if (flags & ARG1_IMM) in emit_op_imm()
721 if (flags & INT_OP) { in emit_op_imm()
735 if (flags & ARG2_IMM) { in emit_op_imm()
757 SLJIT_ASSERT(!(flags & SET_FLAGS) && arg1 == TMP_REG1); in emit_op_imm()
762 SLJIT_ASSERT(!(flags & SET_FLAGS) && arg1 == TMP_REG1); in emit_op_imm()
765 SLJIT_ASSERT(!(flags & SET_FLAGS) && arg1 == TMP_REG1); in emit_op_imm()
766 if (!(flags & INT_OP)) in emit_op_imm()
770 SLJIT_ASSERT(!(flags & SET_FLAGS) && arg1 == TMP_REG1); in emit_op_imm()
773 SLJIT_ASSERT(!(flags & SET_FLAGS) && arg1 == TMP_REG1); in emit_op_imm()
774 if (!(flags & INT_OP)) in emit_op_imm()
778 SLJIT_ASSERT(!(flags & SET_FLAGS) && arg1 == TMP_REG1); in emit_op_imm()
779 if ((flags & INT_OP) && dst == arg2) in emit_op_imm()
783 SLJIT_ASSERT(!(flags & SET_FLAGS) && arg1 == TMP_REG1); in emit_op_imm()
784 if ((flags & INT_OP) && dst == arg2) in emit_op_imm()
793 if (flags & SET_FLAGS) in emit_op_imm()
812 if (!(flags & SET_FLAGS)) in emit_op_imm()
814 if (flags & INT_OP) { in emit_op_imm()
846 if (flags & SET_FLAGS) in emit_op_imm()
859 #define MEM_SIZE_SHIFT(flags) ((flags) & 0x3) argument
861 static sljit_s32 emit_op_mem(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, in emit_op_mem() argument
864 sljit_u32 shift = MEM_SIZE_SHIFT(flags); in emit_op_mem()
867 if (!(flags & STORE)) in emit_op_mem()
868 type |= (flags & SIGNED) ? 0x00800000 : 0x00400000; in emit_op_mem()
1170 sljit_s32 dst_r, flags, mem_flags; in sljit_emit_op1() local
1239 flags = HAS_FLAGS(op_flags) ? SET_FLAGS : 0; in sljit_emit_op1()
1243 flags |= INT_OP; in sljit_emit_op1()
1248 flags |= UNUSED_RETURN; in sljit_emit_op1()
1255 emit_op_imm(compiler, flags | op, dst_r, TMP_REG1, src); in sljit_emit_op1()
1267 sljit_s32 dst_r, flags, mem_flags; in sljit_emit_op2() local
1279 flags = HAS_FLAGS(op) ? SET_FLAGS : 0; in sljit_emit_op2()
1283 flags |= INT_OP; in sljit_emit_op2()
1288 flags |= UNUSED_RETURN; in sljit_emit_op2()
1301 flags |= ARG1_IMM; in sljit_emit_op2()
1306 flags |= ARG2_IMM; in sljit_emit_op2()
1310 emit_op_imm(compiler, flags | GET_OPCODE(op), dst_r, src1w, src2w); in sljit_emit_op2()
1382 static sljit_s32 emit_fop_mem(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, slji… in emit_fop_mem() argument
1384 sljit_u32 shift = MEM_SIZE_SHIFT(flags); in emit_fop_mem()
1389 if (!(flags & STORE)) in emit_fop_mem()
1696 jump->flags |= IS_COND; in sljit_emit_jump()
1700 jump->flags |= IS_BL; in sljit_emit_jump()
1735 jump->flags |= IS_CBZ | IS_COND; in emit_cmp_to0()
1804 sljit_s32 dst_r, src_r, flags, mem_flags; in sljit_emit_op_flags() local
1825 flags = HAS_FLAGS(op) ? SET_FLAGS : 0; in sljit_emit_op_flags()
1829 flags |= INT_OP; in sljit_emit_op_flags()
1841 emit_op_imm(compiler, flags | GET_OPCODE(op), dst_r, src_r, TMP_REG2); in sljit_emit_op_flags()