diff options
author | Pu Lehui <[email protected]> | 2023-08-24 09:49:56 +0000 |
---|---|---|
committer | Alexei Starovoitov <[email protected]> | 2023-08-24 09:13:08 -0700 |
commit | 3d06d8163f98594dfb950c3aeae9f798e4fb45c7 (patch) | |
tree | cab418b9baa3ffe33dc94de3d6b2483a6a46ad58 /arch/riscv/net/bpf_jit.h | |
parent | 469fb2c3c1bbaa092f541e3a8d3b3554042aa6a5 (diff) |
riscv, bpf: Support sign-extension load insns
Add Support sign-extension load instructions for RV64.
Signed-off-by: Pu Lehui <[email protected]>
Acked-by: Björn Töpel <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Alexei Starovoitov <[email protected]>
Diffstat (limited to 'arch/riscv/net/bpf_jit.h')
-rw-r--r-- | arch/riscv/net/bpf_jit.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/riscv/net/bpf_jit.h b/arch/riscv/net/bpf_jit.h index 2717f5490428..a52a3dda18c3 100644 --- a/arch/riscv/net/bpf_jit.h +++ b/arch/riscv/net/bpf_jit.h @@ -501,6 +501,16 @@ static inline u32 rv_ble(u8 rs1, u8 rs2, u16 imm12_1) return rv_bge(rs2, rs1, imm12_1); } +static inline u32 rv_lb(u8 rd, u16 imm11_0, u8 rs1) +{ + return rv_i_insn(imm11_0, rs1, 0, rd, 0x03); +} + +static inline u32 rv_lh(u8 rd, u16 imm11_0, u8 rs1) +{ + return rv_i_insn(imm11_0, rs1, 1, rd, 0x03); +} + static inline u32 rv_lw(u8 rd, u16 imm11_0, u8 rs1) { return rv_i_insn(imm11_0, rs1, 2, rd, 0x03); |