Lines Matching refs:compiler

29 static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s32 dst_ar, sljit_sw imm)  in load_immediate()  argument
38 return push_inst(compiler, ORI | SA(0) | TA(dst_ar) | IMM(imm), dst_ar); in load_immediate()
41 return push_inst(compiler, ADDIU | SA(0) | TA(dst_ar) | IMM(imm), dst_ar); in load_immediate()
44 FAIL_IF(push_inst(compiler, LUI | TA(dst_ar) | IMM(imm >> 16), dst_ar)); in load_immediate()
45 …return (imm & 0xffff) ? push_inst(compiler, ORI | SA(dst_ar) | TA(dst_ar) | IMM(imm), dst_ar) : SL… in load_immediate()
79 FAIL_IF(push_inst(compiler, LUI | TA(dst_ar) | IMM(uimm >> 48), dst_ar)); in load_immediate()
81 FAIL_IF(push_inst(compiler, ORI | SA(dst_ar) | TA(dst_ar) | IMM(uimm >> 32), dst_ar)); in load_immediate()
88 FAIL_IF(push_inst(compiler, ins | TA(dst_ar) | DA(dst_ar), dst_ar)); in load_immediate()
89 …return !(imm & 0xffff) ? SLJIT_SUCCESS : push_inst(compiler, ORI | SA(dst_ar) | TA(dst_ar) | IMM(i… in load_immediate()
113 FAIL_IF(push_inst(compiler, DSLL | TA(dst_ar) | DA(dst_ar) | SH_IMM(shift - shift2), dst_ar)); in load_immediate()
114 FAIL_IF(push_inst(compiler, ORI | SA(dst_ar) | TA(dst_ar) | IMM(uimm >> 48), dst_ar)); in load_immediate()
115 FAIL_IF(push_inst(compiler, DSLL | TA(dst_ar) | DA(dst_ar) | SH_IMM(shift2), dst_ar)); in load_immediate()
118 …return !(imm & 0xffff) ? SLJIT_SUCCESS : push_inst(compiler, ORI | SA(dst_ar) | TA(dst_ar) | IMM(i… in load_immediate()
121 static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw i… in emit_const() argument
123 FAIL_IF(push_inst(compiler, LUI | T(dst) | IMM(init_value >> 48), DR(dst))); in emit_const()
124 FAIL_IF(push_inst(compiler, ORI | S(dst) | T(dst) | IMM(init_value >> 32), DR(dst))); in emit_const()
125 FAIL_IF(push_inst(compiler, DSLL | T(dst) | D(dst) | SH_IMM(16), DR(dst))); in emit_const()
126 FAIL_IF(push_inst(compiler, ORI | S(dst) | T(dst) | IMM(init_value >> 16), DR(dst))); in emit_const()
127 FAIL_IF(push_inst(compiler, DSLL | T(dst) | D(dst) | SH_IMM(16), DR(dst))); in emit_const()
128 return push_inst(compiler, ORI | S(dst) | T(dst) | IMM(init_value), DR(dst)); in emit_const()
151 static sljit_s32 call_with_args(struct sljit_compiler *compiler, sljit_s32 arg_types, sljit_ins *in… in call_with_args() argument
212 FAIL_IF(push_inst(compiler, prev_ins, MOVABLE_INS)); in call_with_args()
225 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_… in sljit_emit_call() argument
232 CHECK_PTR(check_sljit_emit_call(compiler, type, arg_types)); in sljit_emit_call()
234 jump = (struct sljit_jump*)ensure_abuf(compiler, sizeof(struct sljit_jump)); in sljit_emit_call()
236 set_jump(jump, compiler, type & SLJIT_REWRITABLE_JUMP); in sljit_emit_call()
239 PTR_FAIL_IF(emit_stack_frame_release(compiler, 0, &ins)); in sljit_emit_call()
242 PTR_FAIL_IF(call_with_args(compiler, arg_types, &ins)); in sljit_emit_call()
246 if (ins == NOP && compiler->delay_slot != UNMOVABLE_INS) in sljit_emit_call()
255 PTR_FAIL_IF(push_inst(compiler, JALR | S(PIC_ADDR_REG) | DA(RETURN_ADDR_REG), UNMOVABLE_INS)); in sljit_emit_call()
257 PTR_FAIL_IF(push_inst(compiler, JR | S(PIC_ADDR_REG), UNMOVABLE_INS)); in sljit_emit_call()
259 jump->addr = compiler->size; in sljit_emit_call()
260 PTR_FAIL_IF(push_inst(compiler, ins, UNMOVABLE_INS)); in sljit_emit_call()
263 compiler->size += 6; in sljit_emit_call()
267 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compiler *compiler, sljit_s32 type, in sljit_emit_icall() argument
274 CHECK(check_sljit_emit_icall(compiler, type, arg_types, src, srcw)); in sljit_emit_icall()
278 FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, DR(PIC_ADDR_REG), src, srcw)); in sljit_emit_icall()
285 …if (src >= SLJIT_FIRST_SAVED_REG && src <= (SLJIT_S0 - SLJIT_KEPT_SAVEDS_COUNT(compiler->options))… in sljit_emit_icall()
286 FAIL_IF(push_inst(compiler, DADDU | S(src) | TA(0) | D(PIC_ADDR_REG), DR(PIC_ADDR_REG))); in sljit_emit_icall()
291 FAIL_IF(emit_stack_frame_release(compiler, 0, &ins)); in sljit_emit_icall()
294 FAIL_IF(push_inst(compiler, ins, MOVABLE_INS)); in sljit_emit_icall()
297 SLJIT_SKIP_CHECKS(compiler); in sljit_emit_icall()
298 return sljit_emit_ijump(compiler, type, src, srcw); in sljit_emit_icall()
304 FAIL_IF(load_immediate(compiler, DR(PIC_ADDR_REG), srcw)); in sljit_emit_icall()
306 FAIL_IF(push_inst(compiler, DADDU | S(src) | TA(0) | D(PIC_ADDR_REG), DR(PIC_ADDR_REG))); in sljit_emit_icall()
309 FAIL_IF(emit_stack_frame_release(compiler, 0, &ins)); in sljit_emit_icall()
311 FAIL_IF(call_with_args(compiler, arg_types, &ins)); in sljit_emit_icall()
315 FAIL_IF(push_inst(compiler, JALR | S(PIC_ADDR_REG) | DA(RETURN_ADDR_REG), UNMOVABLE_INS)); in sljit_emit_icall()
317 FAIL_IF(push_inst(compiler, JR | S(PIC_ADDR_REG), UNMOVABLE_INS)); in sljit_emit_icall()
318 return push_inst(compiler, ins, UNMOVABLE_INS); in sljit_emit_icall()