Lines Matching refs:funct3

224 static inline u32 rv_r_insn(u8 funct7, u8 rs2, u8 rs1, u8 funct3, u8 rd,  in rv_r_insn()  argument
227 return (funct7 << 25) | (rs2 << 20) | (rs1 << 15) | (funct3 << 12) | in rv_r_insn()
231 static inline u32 rv_i_insn(u16 imm11_0, u8 rs1, u8 funct3, u8 rd, u8 opcode) in rv_i_insn() argument
233 return (imm11_0 << 20) | (rs1 << 15) | (funct3 << 12) | (rd << 7) | in rv_i_insn()
237 static inline u32 rv_s_insn(u16 imm11_0, u8 rs2, u8 rs1, u8 funct3, u8 opcode) in rv_s_insn() argument
241 return (imm11_5 << 25) | (rs2 << 20) | (rs1 << 15) | (funct3 << 12) | in rv_s_insn()
245 static inline u32 rv_b_insn(u16 imm12_1, u8 rs2, u8 rs1, u8 funct3, u8 opcode) in rv_b_insn() argument
250 return (imm12 << 25) | (rs2 << 20) | (rs1 << 15) | (funct3 << 12) | in rv_b_insn()
270 u8 funct3, u8 rd, u8 opcode) in rv_amo_insn() argument
274 return rv_r_insn(funct7, rs2, rs1, funct3, rd, opcode); in rv_amo_insn()
284 static inline u16 rv_ci_insn(u8 funct3, u32 imm6, u8 rd, u8 op) in rv_ci_insn() argument
289 return (funct3 << 13) | (rd << 7) | op | imm; in rv_ci_insn()
292 static inline u16 rv_css_insn(u8 funct3, u32 uimm, u8 rs2, u8 op) in rv_css_insn() argument
294 return (funct3 << 13) | (uimm << 7) | (rs2 << 2) | op; in rv_css_insn()
297 static inline u16 rv_ciw_insn(u8 funct3, u32 uimm, u8 rd, u8 op) in rv_ciw_insn() argument
299 return (funct3 << 13) | (uimm << 5) | ((rd & 0x7) << 2) | op; in rv_ciw_insn()
302 static inline u16 rv_cl_insn(u8 funct3, u32 imm_hi, u8 rs1, u32 imm_lo, u8 rd, in rv_cl_insn() argument
305 return (funct3 << 13) | (imm_hi << 10) | ((rs1 & 0x7) << 7) | in rv_cl_insn()
309 static inline u16 rv_cs_insn(u8 funct3, u32 imm_hi, u8 rs1, u32 imm_lo, u8 rs2, in rv_cs_insn() argument
312 return (funct3 << 13) | (imm_hi << 10) | ((rs1 & 0x7) << 7) | in rv_cs_insn()
322 static inline u16 rv_cb_insn(u8 funct3, u32 imm6, u8 funct2, u8 rd, u8 op) in rv_cb_insn() argument
327 return (funct3 << 13) | (funct2 << 10) | ((rd & 0x7) << 7) | op | imm; in rv_cb_insn()