Lines Matching refs:rj
76 enum loongarch_gpr rd, enum loongarch_gpr rj, int imm)
81 insn->reg2i12_format.rj = rj;
85 enum loongarch_gpr rd, enum loongarch_gpr rj, int imm)
90 insn->reg2i12_format.rj = rj;
94 enum loongarch_gpr rd, enum loongarch_gpr rj, int imm)
99 insn->reg2i12_format.rj = rj;
103 enum loongarch_gpr rd, enum loongarch_gpr rj, int imm)
108 insn->reg2i12_format.rj = rj;
112 enum loongarch_gpr rd, enum loongarch_gpr rj, int imm)
117 insn->reg2i12_format.rj = rj;
121 enum loongarch_gpr rd, enum loongarch_gpr rj, int imm)
126 insn->reg2i12_format.rj = rj;
130 enum loongarch_gpr rd, enum loongarch_gpr rj, int imm)
135 insn->reg2i12_format.rj = rj;
139 enum loongarch_gpr rd, enum loongarch_gpr rj, int imm)
144 insn->reg2i12_format.rj = rj;
148 enum loongarch_gpr rj, enum loongarch_gpr rk)
152 insn->reg3_format.rj = rj;
157 enum loongarch_gpr rj, enum loongarch_gpr rk)
161 insn->reg3_format.rj = rj;
166 enum loongarch_gpr rj, enum loongarch_gpr rk)
170 insn->reg3_format.rj = rj;
175 enum loongarch_gpr rj, enum loongarch_gpr rk)
179 insn->reg3_format.rj = rj;
184 enum loongarch_gpr rj, enum loongarch_gpr rk)
188 insn->reg3_format.rj = rj;
193 enum loongarch_gpr rj, enum loongarch_gpr rk)
197 insn->reg3_format.rj = rj;
202 enum loongarch_gpr rj, enum loongarch_gpr rk)
206 insn->reg3_format.rj = rj;
211 enum loongarch_gpr rj, enum loongarch_gpr rk)
215 insn->reg3_format.rj = rj;
220 enum loongarch_gpr rk, enum loongarch_gpr rj)
225 insn->reg3_format.rj = rj;
229 enum loongarch_gpr rk, enum loongarch_gpr rj)
234 insn->reg3_format.rj = rj;
238 enum loongarch_gpr rj, enum loongarch_gpr rk)
242 insn->reg3_format.rj = rj;
247 enum loongarch_gpr rd, enum loongarch_gpr rj, int imm)
252 insn->reg2i12_format.rj = rj;
256 enum loongarch_gpr rd, enum loongarch_gpr rj, int imm)
261 insn->reg2i12_format.rj = rj;
265 enum loongarch_gpr rj, enum loongarch_gpr rk)
269 insn->reg3_format.rj = rj;
274 enum loongarch_gpr rj, enum loongarch_gpr rk)
278 insn->reg3_format.rj = rj;
283 enum loongarch_gpr rj, enum loongarch_gpr rk)
287 insn->reg3_format.rj = rj;
292 enum loongarch_gpr rj, enum loongarch_gpr rk)
296 insn->reg3_format.rj = rj;
301 enum loongarch_gpr rj, enum loongarch_gpr rk)
305 insn->reg3_format.rj = rj;
310 enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm)
315 insn->reg2ui12_format.rj = rj;
319 enum loongarch_gpr rj, enum loongarch_gpr rk)
323 insn->reg3_format.rj = rj;
328 enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm)
333 insn->reg2ui12_format.rj = rj;
337 enum loongarch_gpr rj, enum loongarch_gpr rk)
341 insn->reg3_format.rj = rj;
346 enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm)
351 insn->reg2ui12_format.rj = rj;
371 enum loongarch_gpr rd, enum loongarch_gpr rj, int imm)
376 insn->reg2i12_format.rj = rj;
380 enum loongarch_gpr rj, enum loongarch_gpr rk)
384 insn->reg3_format.rj = rj;
389 enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm)
394 insn->reg2ui5_format.rj = rj;
398 enum loongarch_gpr rj, enum loongarch_gpr rk)
402 insn->reg3_format.rj = rj;
407 enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm)
412 insn->reg2ui6_format.rj = rj;
416 enum loongarch_gpr rj, enum loongarch_gpr rk)
420 insn->reg3_format.rj = rj;
425 enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm)
430 insn->reg2ui5_format.rj = rj;
434 enum loongarch_gpr rj, enum loongarch_gpr rk)
438 insn->reg3_format.rj = rj;
443 enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm)
448 insn->reg2ui6_format.rj = rj;
452 enum loongarch_gpr rj, enum loongarch_gpr rk)
456 insn->reg3_format.rj = rj;
461 enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm)
466 insn->reg2ui5_format.rj = rj;
470 enum loongarch_gpr rj, enum loongarch_gpr rk)
474 insn->reg3_format.rj = rj;
479 enum loongarch_gpr rd, enum loongarch_gpr rj, u32 imm)
484 insn->reg2ui6_format.rj = rj;
488 enum loongarch_gpr rj, enum loongarch_gpr rd, int offset)
492 insn->reg2i16_format.rj = rj;
497 enum loongarch_gpr rj, enum loongarch_gpr rd, int offset)
501 insn->reg2i16_format.rj = rj;
506 enum loongarch_gpr rj, enum loongarch_gpr rd, int offset)
510 insn->reg2i16_format.rj = rj;
515 enum loongarch_gpr rj, enum loongarch_gpr rd, int offset)
519 insn->reg2i16_format.rj = rj;
524 enum loongarch_gpr rj, enum loongarch_gpr rd, int offset)
528 insn->reg2i16_format.rj = rj;
533 enum loongarch_gpr rj, enum loongarch_gpr rd, int offset)
537 insn->reg2i16_format.rj = rj;
555 enum loongarch_gpr rd, enum loongarch_gpr rj, int offset)
560 insn->reg2i16_format.rj = rj;
572 enum loongarch_gpr rd, enum loongarch_gpr rj)
576 insn->reg2_format.rj = rj;
580 enum loongarch_gpr rd, enum loongarch_gpr rj)
584 insn->reg2_format.rj = rj;
588 enum loongarch_gpr rd, enum loongarch_gpr rj)
592 insn->reg2_format.rj = rj;
679 enum loongarch_gpr rj)
681 emit_insn(ctx, or, rd, rj, LOONGARCH_GPR_ZERO);
712 static inline void cond_jump_offs16(struct jit_ctx *ctx, u8 cond, enum loongarch_gpr rj,
717 /* PC += jmp_offset if rj == rd */
718 emit_insn(ctx, beq, rj, rd, jmp_offset);
722 /* PC += jmp_offset if rj != rd */
723 emit_insn(ctx, bne, rj, rd, jmp_offset);
726 /* PC += jmp_offset if rj > rd (unsigned) */
727 emit_insn(ctx, bltu, rd, rj, jmp_offset);
730 /* PC += jmp_offset if rj < rd (unsigned) */
731 emit_insn(ctx, bltu, rj, rd, jmp_offset);
734 /* PC += jmp_offset if rj >= rd (unsigned) */
735 emit_insn(ctx, bgeu, rj, rd, jmp_offset);
738 /* PC += jmp_offset if rj <= rd (unsigned) */
739 emit_insn(ctx, bgeu, rd, rj, jmp_offset);
742 /* PC += jmp_offset if rj > rd (signed) */
743 emit_insn(ctx, blt, rd, rj, jmp_offset);
746 /* PC += jmp_offset if rj < rd (signed) */
747 emit_insn(ctx, blt, rj, rd, jmp_offset);
750 /* PC += jmp_offset if rj >= rd (signed) */
751 emit_insn(ctx, bge, rj, rd, jmp_offset);
754 /* PC += jmp_offset if rj <= rd (signed) */
755 emit_insn(ctx, bge, rd, rj, jmp_offset);
760 static inline void cond_jump_offs26(struct jit_ctx *ctx, u8 cond, enum loongarch_gpr rj,
764 cond_jump_offs16(ctx, cond, rj, rd, 2);
768 static inline void cond_jump_offs32(struct jit_ctx *ctx, u8 cond, enum loongarch_gpr rj,
777 cond_jump_offs16(ctx, cond, rj, rd, 3);
814 static inline void emit_cond_jump(struct jit_ctx *ctx, u8 cond, enum loongarch_gpr rj,
818 cond_jump_offs16(ctx, cond, rj, rd, jmp_offset);
820 cond_jump_offs26(ctx, cond, rj, rd, jmp_offset);
822 cond_jump_offs32(ctx, cond, rj, rd, jmp_offset);
833 static inline void emit_tailcall_jump(struct jit_ctx *ctx, u8 cond, enum loongarch_gpr rj,
837 cond_jump_offs16(ctx, cond, rj, rd, jmp_offset);
839 cond_jump_offs26(ctx, cond, rj, rd, jmp_offset - 1);
841 cond_jump_offs32(ctx, cond, rj, rd, jmp_offset - 2);