Lines Matching full:emit
100 /* Emit a 4-byte riscv instruction. */
101 static inline void emit(const u32 insn, struct rv_jit_context *ctx) in emit() function
111 /* Emit a 2-byte riscv compressed instruction. */
670 * ensure that the RV32 JIT doesn't emit any of these instructions.
803 /* Helper functions that emit RVC instructions when possible. */
812 emit(rv_jalr(rd, rs, imm), ctx); in emit_jalr()
820 emit(rv_addi(rd, rs, 0), ctx); in emit_mv()
828 emit(rv_add(rd, rs1, rs2), ctx); in emit_add()
841 emit(rv_addi(rd, rs, imm), ctx); in emit_addi()
849 emit(rv_addi(rd, RV_REG_ZERO, imm), ctx); in emit_li()
857 emit(rv_lui(rd, imm), ctx); in emit_lui()
865 emit(rv_slli(rd, rs, imm), ctx); in emit_slli()
873 emit(rv_andi(rd, rs, imm), ctx); in emit_andi()
881 emit(rv_srli(rd, rs, imm), ctx); in emit_srli()
889 emit(rv_srai(rd, rs, imm), ctx); in emit_srai()
897 emit(rv_sub(rd, rs1, rs2), ctx); in emit_sub()
905 emit(rv_or(rd, rs1, rs2), ctx); in emit_or()
913 emit(rv_and(rd, rs1, rs2), ctx); in emit_and()
921 emit(rv_xor(rd, rs1, rs2), ctx); in emit_xor()
931 emit(rv_lw(rd, off, rs1), ctx); in emit_lw()
941 emit(rv_sw(rs1, off, rs2), ctx); in emit_sw()
952 emit(rv_addiw(rd, rs, imm), ctx); in emit_addiw()
962 emit(rv_ld(rd, off, rs1), ctx); in emit_ld()
972 emit(rv_sd(rs1, off, rs2), ctx); in emit_sd()
980 emit(rv_subw(rd, rs1, rs2), ctx); in emit_subw()