Lines Matching refs:rd
90 static inline void move_addr(struct jit_ctx *ctx, enum loongarch_gpr rd, u64 addr) in move_addr() argument
96 emit_insn(ctx, lu12iw, rd, imm_31_12); in move_addr()
100 emit_insn(ctx, ori, rd, rd, imm_11_0); in move_addr()
104 emit_insn(ctx, lu32id, rd, imm_51_32); in move_addr()
108 emit_insn(ctx, lu52id, rd, rd, imm_63_52); in move_addr()
111 static inline void move_imm(struct jit_ctx *ctx, enum loongarch_gpr rd, long imm, bool is32) in move_imm() argument
117 emit_insn(ctx, or, rd, LOONGARCH_GPR_ZERO, LOONGARCH_GPR_ZERO); in move_imm()
123 emit_insn(ctx, addiw, rd, LOONGARCH_GPR_ZERO, imm); in move_imm()
129 emit_insn(ctx, ori, rd, LOONGARCH_GPR_ZERO, imm); in move_imm()
137 emit_insn(ctx, lu52id, rd, LOONGARCH_GPR_ZERO, imm_63_52); in move_imm()
143 emit_insn(ctx, lu12iw, rd, imm_31_12); in move_imm()
148 emit_insn(ctx, ori, rd, rd, imm_11_0); in move_imm()
161 emit_insn(ctx, lu32id, rd, imm_51_32); in move_imm()
167 emit_insn(ctx, lu52id, rd, rd, imm_63_52); in move_imm()
171 emit_zext_32(ctx, rd, is32); in move_imm()
174 static inline void move_reg(struct jit_ctx *ctx, enum loongarch_gpr rd, in move_reg() argument
177 emit_insn(ctx, or, rd, rj, LOONGARCH_GPR_ZERO); in move_reg()
209 enum loongarch_gpr rd, int jmp_offset) in cond_jmp_offset() argument
214 emit_insn(ctx, beq, rj, rd, jmp_offset); in cond_jmp_offset()
219 emit_insn(ctx, bne, rj, rd, jmp_offset); in cond_jmp_offset()
223 emit_insn(ctx, bltu, rd, rj, jmp_offset); in cond_jmp_offset()
227 emit_insn(ctx, bltu, rj, rd, jmp_offset); in cond_jmp_offset()
231 emit_insn(ctx, bgeu, rj, rd, jmp_offset); in cond_jmp_offset()
235 emit_insn(ctx, bgeu, rd, rj, jmp_offset); in cond_jmp_offset()
239 emit_insn(ctx, blt, rd, rj, jmp_offset); in cond_jmp_offset()
243 emit_insn(ctx, blt, rj, rd, jmp_offset); in cond_jmp_offset()
247 emit_insn(ctx, bge, rj, rd, jmp_offset); in cond_jmp_offset()
251 emit_insn(ctx, bge, rd, rj, jmp_offset); in cond_jmp_offset()
257 enum loongarch_gpr rd, int jmp_offset) in cond_jmp_offs26() argument
260 cond_jmp_offset(ctx, cond, rj, rd, 2); in cond_jmp_offs26()
270 enum loongarch_gpr rd, int jmp_offset) in emit_cond_jmp() argument
284 cond_jmp_offs26(ctx, cond, rj, rd, jmp_offset); in emit_cond_jmp()
302 enum loongarch_gpr rd, int jmp_offset) in emit_tailcall_jmp() argument
305 cond_jmp_offset(ctx, cond, rj, rd, jmp_offset); in emit_tailcall_jmp()