Lines Matching defs:imm11_0

232 static inline u32 rv_i_insn(u16 imm11_0, u8 rs1, u8 funct3, u8 rd, u8 opcode)
234 return (imm11_0 << 20) | (rs1 << 15) | (funct3 << 12) | (rd << 7) |
238 static inline u32 rv_s_insn(u16 imm11_0, u8 rs2, u8 rs1, u8 funct3, u8 opcode)
240 u8 imm11_5 = imm11_0 >> 5, imm4_0 = imm11_0 & 0x1f;
333 static inline u32 rv_addi(u8 rd, u8 rs1, u16 imm11_0)
335 return rv_i_insn(imm11_0, rs1, 0, rd, 0x13);
338 static inline u32 rv_andi(u8 rd, u8 rs1, u16 imm11_0)
340 return rv_i_insn(imm11_0, rs1, 7, rd, 0x13);
343 static inline u32 rv_ori(u8 rd, u8 rs1, u16 imm11_0)
345 return rv_i_insn(imm11_0, rs1, 6, rd, 0x13);
348 static inline u32 rv_xori(u8 rd, u8 rs1, u16 imm11_0)
350 return rv_i_insn(imm11_0, rs1, 4, rd, 0x13);
353 static inline u32 rv_slli(u8 rd, u8 rs1, u16 imm11_0)
355 return rv_i_insn(imm11_0, rs1, 1, rd, 0x13);
358 static inline u32 rv_srli(u8 rd, u8 rs1, u16 imm11_0)
360 return rv_i_insn(imm11_0, rs1, 5, rd, 0x13);
363 static inline u32 rv_srai(u8 rd, u8 rs1, u16 imm11_0)
365 return rv_i_insn(0x400 | imm11_0, rs1, 5, rd, 0x13);
448 static inline u32 rv_jalr(u8 rd, u8 rs1, u16 imm11_0)
450 return rv_i_insn(imm11_0, rs1, 0, rd, 0x67);
503 static inline u32 rv_lw(u8 rd, u16 imm11_0, u8 rs1)
505 return rv_i_insn(imm11_0, rs1, 2, rd, 0x03);
508 static inline u32 rv_lbu(u8 rd, u16 imm11_0, u8 rs1)
510 return rv_i_insn(imm11_0, rs1, 4, rd, 0x03);
513 static inline u32 rv_lhu(u8 rd, u16 imm11_0, u8 rs1)
515 return rv_i_insn(imm11_0, rs1, 5, rd, 0x03);
518 static inline u32 rv_sb(u8 rs1, u16 imm11_0, u8 rs2)
520 return rv_s_insn(imm11_0, rs2, rs1, 0, 0x23);
523 static inline u32 rv_sh(u8 rs1, u16 imm11_0, u8 rs2)
525 return rv_s_insn(imm11_0, rs2, rs1, 1, 0x23);
528 static inline u32 rv_sw(u8 rs1, u16 imm11_0, u8 rs2)
530 return rv_s_insn(imm11_0, rs2, rs1, 2, 0x23);
676 static inline u32 rv_addiw(u8 rd, u8 rs1, u16 imm11_0)
678 return rv_i_insn(imm11_0, rs1, 0, rd, 0x1b);
681 static inline u32 rv_slliw(u8 rd, u8 rs1, u16 imm11_0)
683 return rv_i_insn(imm11_0, rs1, 1, rd, 0x1b);
686 static inline u32 rv_srliw(u8 rd, u8 rs1, u16 imm11_0)
688 return rv_i_insn(imm11_0, rs1, 5, rd, 0x1b);
691 static inline u32 rv_sraiw(u8 rd, u8 rs1, u16 imm11_0)
693 return rv_i_insn(0x400 | imm11_0, rs1, 5, rd, 0x1b);
736 static inline u32 rv_ld(u8 rd, u16 imm11_0, u8 rs1)
738 return rv_i_insn(imm11_0, rs1, 3, rd, 0x03);
741 static inline u32 rv_lwu(u8 rd, u16 imm11_0, u8 rs1)
743 return rv_i_insn(imm11_0, rs1, 6, rd, 0x03);
746 static inline u32 rv_sd(u8 rs1, u16 imm11_0, u8 rs2)
748 return rv_s_insn(imm11_0, rs2, rs1, 3, 0x23);