Lines Matching refs:imm6
289 static inline u16 rv_ci_insn(u8 funct3, u32 imm6, u8 rd, u8 op)
293 imm = ((imm6 & 0x20) << 7) | ((imm6 & 0x1f) << 2);
327 static inline u16 rv_cb_insn(u8 funct3, u32 imm6, u8 funct2, u8 rd, u8 op)
331 imm = ((imm6 & 0x20) << 7) | ((imm6 & 0x1f) << 2);
633 static inline u16 rvc_addi(u8 rd, u32 imm6)
635 return rv_ci_insn(0, imm6, rd, 0x1);
638 static inline u16 rvc_li(u8 rd, u32 imm6)
640 return rv_ci_insn(0x2, imm6, rd, 0x1);
652 static inline u16 rvc_lui(u8 rd, u32 imm6)
654 return rv_ci_insn(0x3, imm6, rd, 0x1);
657 static inline u16 rvc_srli(u8 rd, u32 imm6)
659 return rv_cb_insn(0x4, imm6, 0, rd, 0x1);
662 static inline u16 rvc_srai(u8 rd, u32 imm6)
664 return rv_cb_insn(0x4, imm6, 0x1, rd, 0x1);
667 static inline u16 rvc_andi(u8 rd, u32 imm6)
669 return rv_cb_insn(0x4, imm6, 0x2, rd, 0x1);
692 static inline u16 rvc_slli(u8 rd, u32 imm6)
694 return rv_ci_insn(0, imm6, rd, 0x2);
887 static inline u16 rvc_addiw(u8 rd, u32 imm6)
889 return rv_ci_insn(0x1, imm6, rd, 0x1);