Lines Matching refs:flags

159 	if (jump->flags & SLJIT_REWRITABLE_JUMP) {  in detect_jump_type()
160 jump->flags |= PATCH_ABS64; in detect_jump_type()
164 if (jump->flags & JUMP_ADDR) in detect_jump_type()
167 SLJIT_ASSERT(jump->flags & JUMP_LABEL); in detect_jump_type()
173 if (jump->flags & IS_COND) { in detect_jump_type()
176 code_ptr[-5] ^= (jump->flags & IS_CBZ) ? (0x1 << 24) : 0x1; in detect_jump_type()
178 jump->flags |= PATCH_COND; in detect_jump_type()
185 jump->flags |= PATCH_B; in detect_jump_type()
190 if (jump->flags & IS_COND) in detect_jump_type()
197 if (jump->flags & IS_COND) in detect_jump_type()
199 jump->flags |= PATCH_ABS48; in detect_jump_type()
204 jump->flags |= PATCH_ABS64; in detect_jump_type()
211 put_label->flags = 0; in put_label_get_length()
216 put_label->flags = 1; in put_label_get_length()
220 put_label->flags = 2; in put_label_get_length()
316 addr = (jump->flags & JUMP_LABEL) ? jump->u.label->addr : jump->u.target; in sljit_generate_code()
319 if (jump->flags & PATCH_B) { in sljit_generate_code()
322 buf_ptr[0] = ((jump->flags & IS_BL) ? BL : B) | (addr & 0x3ffffff); in sljit_generate_code()
323 if (jump->flags & IS_COND) in sljit_generate_code()
327 if (jump->flags & PATCH_COND) { in sljit_generate_code()
334 SLJIT_ASSERT((jump->flags & (PATCH_ABS48 | PATCH_ABS64)) || addr <= 0xffffffffl); in sljit_generate_code()
335 SLJIT_ASSERT((jump->flags & PATCH_ABS64) || addr <= 0xffffffffffffl); in sljit_generate_code()
340 if (jump->flags & (PATCH_ABS48 | PATCH_ABS64)) in sljit_generate_code()
342 if (jump->flags & PATCH_ABS64) in sljit_generate_code()
356 if (put_label->flags >= 1) in sljit_generate_code()
359 if (put_label->flags >= 2) in sljit_generate_code()
593 if (flags & SET_FLAGS) { \
595 if (flags & UNUSED_RETURN) \
599 static sljit_s32 emit_op_imm(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 dst, sljit… in emit_op_imm() argument
604 sljit_ins inv_bits = (flags & INT_OP) ? W_OP : 0; in emit_op_imm()
606 sljit_s32 op = (flags & 0xffff); in emit_op_imm()
610 if (SLJIT_UNLIKELY((flags & (ARG1_IMM | ARG2_IMM)) == (ARG1_IMM | ARG2_IMM))) { in emit_op_imm()
612 flags &= ~ARG1_IMM; in emit_op_imm()
621 if (flags & (ARG1_IMM | ARG2_IMM)) { in emit_op_imm()
622 reg = (flags & ARG2_IMM) ? arg1 : arg2; in emit_op_imm()
623 imm = (flags & ARG2_IMM) ? arg2 : arg1; in emit_op_imm()
635 SLJIT_ASSERT(!(flags & SET_FLAGS) && (flags & ARG2_IMM) && arg1 == TMP_REG1); in emit_op_imm()
638 SLJIT_ASSERT(flags & ARG2_IMM); in emit_op_imm()
639 FAIL_IF(load_immediate(compiler, dst, (flags & INT_OP) ? (~imm & 0xffffffff) : ~imm)); in emit_op_imm()
642 if (flags & ARG1_IMM) in emit_op_imm()
669 if (imm > 0 && imm <= 0xffffff && !(flags & SET_FLAGS)) { in emit_op_imm()
673 if (nimm > 0 && nimm <= 0xffffff && !(flags & SET_FLAGS)) { in emit_op_imm()
679 inst_bits = logical_imm(imm, LOGICAL_IMM_CHECK | ((flags & INT_OP) ? 16 : 32)); in emit_op_imm()
686 inst_bits = logical_imm(imm, LOGICAL_IMM_CHECK | ((flags & INT_OP) ? 16 : 32)); in emit_op_imm()
696 if (flags & ARG1_IMM) in emit_op_imm()
698 if (flags & INT_OP) { in emit_op_imm()
709 if (flags & ARG1_IMM) in emit_op_imm()
713 if (flags & INT_OP) { in emit_op_imm()
727 if (flags & ARG2_IMM) { in emit_op_imm()
749 SLJIT_ASSERT(!(flags & SET_FLAGS) && arg1 == TMP_REG1); in emit_op_imm()
754 SLJIT_ASSERT(!(flags & SET_FLAGS) && arg1 == TMP_REG1); in emit_op_imm()
757 SLJIT_ASSERT(!(flags & SET_FLAGS) && arg1 == TMP_REG1); in emit_op_imm()
758 if (!(flags & INT_OP)) 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()
771 if ((flags & INT_OP) && dst == arg2) in emit_op_imm()
775 SLJIT_ASSERT(!(flags & SET_FLAGS) && arg1 == TMP_REG1); in emit_op_imm()
776 if ((flags & INT_OP) && dst == arg2) in emit_op_imm()
786 if (flags & SET_FLAGS) in emit_op_imm()
808 if (!(flags & SET_FLAGS)) in emit_op_imm()
810 if (flags & INT_OP) { in emit_op_imm()
842 if (flags & SET_FLAGS) in emit_op_imm()
855 #define MEM_SIZE_SHIFT(flags) ((flags) & 0x3) argument
857 static sljit_s32 emit_op_mem(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, in emit_op_mem() argument
860 sljit_u32 shift = MEM_SIZE_SHIFT(flags); in emit_op_mem()
863 if (!(flags & STORE)) in emit_op_mem()
864 type |= (flags & SIGNED) ? 0x00800000 : 0x00400000; in emit_op_mem()
1166 sljit_s32 dst_r, flags, mem_flags; in sljit_emit_op1() local
1235 flags = HAS_FLAGS(op_flags) ? SET_FLAGS : 0; in sljit_emit_op1()
1239 flags |= INT_OP; in sljit_emit_op1()
1244 flags |= UNUSED_RETURN; in sljit_emit_op1()
1251 emit_op_imm(compiler, flags | op, dst_r, TMP_REG1, src); in sljit_emit_op1()
1263 sljit_s32 dst_r, flags, mem_flags; in sljit_emit_op2() local
1275 flags = HAS_FLAGS(op) ? SET_FLAGS : 0; in sljit_emit_op2()
1279 flags |= INT_OP; in sljit_emit_op2()
1284 flags |= UNUSED_RETURN; in sljit_emit_op2()
1297 flags |= ARG1_IMM; in sljit_emit_op2()
1302 flags |= ARG2_IMM; in sljit_emit_op2()
1306 emit_op_imm(compiler, flags | GET_OPCODE(op), dst_r, src1w, src2w); in sljit_emit_op2()
1378 static sljit_s32 emit_fop_mem(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, slji… in emit_fop_mem() argument
1380 sljit_u32 shift = MEM_SIZE_SHIFT(flags); in emit_fop_mem()
1385 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()