H A D | bpf_jit.h | 234 static inline u32 rv_r_insn(u8 funct7, u8 rs2, u8 rs1, u8 funct3, u8 rd, argument 238 (rd << 7) | opcode; 241 static inline u32 rv_i_insn(u16 imm11_0, u8 rs1, u8 funct3, u8 rd, u8 opcode) argument 243 return (imm11_0 << 20) | (rs1 << 15) | (funct3 << 12) | (rd << 7) | 264 static inline u32 rv_u_insn(u32 imm31_12, u8 rd, u8 opcode) argument 266 return (imm31_12 << 12) | (rd << 7) | opcode; 269 static inline u32 rv_j_insn(u32 imm20_1, u8 rd, u8 opcode) argument 276 return (imm << 12) | (rd << 7) | opcode; 280 u8 funct3, u8 rd, u8 opcode) 284 return rv_r_insn(funct7, rs2, rs1, funct3, rd, opcod 279 rv_amo_insn(u8 funct5, u8 aq, u8 rl, u8 rs2, u8 rs1, u8 funct3, u8 rd, u8 opcode) argument 289 rv_cr_insn(u8 funct4, u8 rd, u8 rs2, u8 op) argument 294 rv_ci_insn(u8 funct3, u32 imm6, u8 rd, u8 op) argument 307 rv_ciw_insn(u8 funct3, u32 uimm, u8 rd, u8 op) argument 312 rv_cl_insn(u8 funct3, u32 imm_hi, u8 rs1, u32 imm_lo, u8 rd, u8 op) argument 326 rv_ca_insn(u8 funct6, u8 rd, u8 funct2, u8 rs2, u8 op) argument 332 rv_cb_insn(u8 funct3, u32 imm6, u8 funct2, u8 rd, u8 op) argument 342 rv_addi(u8 rd, u8 rs1, u16 imm11_0) argument 347 rv_andi(u8 rd, u8 rs1, u16 imm11_0) argument 352 rv_ori(u8 rd, u8 rs1, u16 imm11_0) argument 357 rv_xori(u8 rd, u8 rs1, u16 imm11_0) argument 362 rv_slli(u8 rd, u8 rs1, u16 imm11_0) argument 367 rv_srli(u8 rd, u8 rs1, u16 imm11_0) argument 372 rv_srai(u8 rd, u8 rs1, u16 imm11_0) argument 377 rv_lui(u8 rd, u32 imm31_12) argument 382 rv_auipc(u8 rd, u32 imm31_12) argument 387 rv_add(u8 rd, u8 rs1, u8 rs2) argument 392 rv_sub(u8 rd, u8 rs1, u8 rs2) argument 397 rv_sltu(u8 rd, u8 rs1, u8 rs2) argument 402 rv_and(u8 rd, u8 rs1, u8 rs2) argument 407 rv_or(u8 rd, u8 rs1, u8 rs2) argument 412 rv_xor(u8 rd, u8 rs1, u8 rs2) argument 417 rv_sll(u8 rd, u8 rs1, u8 rs2) argument 422 rv_srl(u8 rd, u8 rs1, u8 rs2) argument 427 rv_sra(u8 rd, u8 rs1, u8 rs2) argument 432 rv_mul(u8 rd, u8 rs1, u8 rs2) argument 437 rv_mulhu(u8 rd, u8 rs1, u8 rs2) argument 442 rv_div(u8 rd, u8 rs1, u8 rs2) argument 447 rv_divu(u8 rd, u8 rs1, u8 rs2) argument 452 rv_rem(u8 rd, u8 rs1, u8 rs2) argument 457 rv_remu(u8 rd, u8 rs1, u8 rs2) argument 462 rv_jal(u8 rd, u32 imm20_1) argument 467 rv_jalr(u8 rd, u8 rs1, u16 imm11_0) argument 522 rv_lb(u8 rd, u16 imm11_0, u8 rs1) argument 527 rv_lh(u8 rd, u16 imm11_0, u8 rs1) argument 532 rv_lw(u8 rd, u16 imm11_0, u8 rs1) argument 537 rv_lbu(u8 rd, u16 imm11_0, u8 rs1) argument 542 rv_lhu(u8 rd, u16 imm11_0, u8 rs1) argument 562 rv_amoadd_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 567 rv_amoand_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 572 rv_amoor_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 577 rv_amoxor_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 582 rv_amoswap_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 587 rv_lr_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 592 rv_sc_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 611 rvc_addi4spn(u8 rd, u32 imm10) argument 620 rvc_lw(u8 rd, u32 imm7, u8 rs1) argument 638 rvc_addi(u8 rd, u32 imm6) argument 643 rvc_li(u8 rd, u32 imm6) argument 657 rvc_lui(u8 rd, u32 imm6) argument 662 rvc_srli(u8 rd, u32 imm6) argument 667 rvc_srai(u8 rd, u32 imm6) argument 672 rvc_andi(u8 rd, u32 imm6) argument 677 rvc_sub(u8 rd, u8 rs) argument 682 rvc_xor(u8 rd, u8 rs) argument 687 rvc_or(u8 rd, u8 rs) argument 692 rvc_and(u8 rd, u8 rs) argument 697 rvc_slli(u8 rd, u32 imm6) argument 702 rvc_lwsp(u8 rd, u32 imm8) argument 715 rvc_mv(u8 rd, u8 rs) argument 725 rvc_add(u8 rd, u8 rs) argument 739 rvzbb_sextb(u8 rd, u8 rs1) argument 744 rvzbb_sexth(u8 rd, u8 rs1) argument 749 rvzbb_zexth(u8 rd, u8 rs) argument 757 rvzbb_rev8(u8 rd, u8 rs) argument 774 rv_addiw(u8 rd, u8 rs1, u16 imm11_0) argument 779 rv_slliw(u8 rd, u8 rs1, u16 imm11_0) argument 784 rv_srliw(u8 rd, u8 rs1, u16 imm11_0) argument 789 rv_sraiw(u8 rd, u8 rs1, u16 imm11_0) argument 794 rv_addw(u8 rd, u8 rs1, u8 rs2) argument 799 rv_subw(u8 rd, u8 rs1, u8 rs2) argument 804 rv_sllw(u8 rd, u8 rs1, u8 rs2) argument 809 rv_srlw(u8 rd, u8 rs1, u8 rs2) argument 814 rv_sraw(u8 rd, u8 rs1, u8 rs2) argument 819 rv_mulw(u8 rd, u8 rs1, u8 rs2) argument 824 rv_divw(u8 rd, u8 rs1, u8 rs2) argument 829 rv_divuw(u8 rd, u8 rs1, u8 rs2) argument 834 rv_remw(u8 rd, u8 rs1, u8 rs2) argument 839 rv_remuw(u8 rd, u8 rs1, u8 rs2) argument 844 rv_ld(u8 rd, u16 imm11_0, u8 rs1) argument 849 rv_lwu(u8 rd, u16 imm11_0, u8 rs1) argument 859 rv_amoadd_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 864 rv_amoand_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 869 rv_amoor_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 874 rv_amoxor_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 879 rv_amoswap_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 884 rv_lr_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 889 rv_sc_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) argument 896 rvc_ld(u8 rd, u32 imm8, u8 rs1) argument 914 rvc_subw(u8 rd, u8 rs) argument 919 rvc_addiw(u8 rd, u32 imm6) argument 924 rvc_ldsp(u8 rd, u32 imm9) argument 944 emit_jalr(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 954 emit_mv(u8 rd, u8 rs, struct rv_jit_context *ctx) argument 962 emit_add(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) argument 970 emit_addi(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 983 emit_li(u8 rd, s32 imm, struct rv_jit_context *ctx) argument 991 emit_lui(u8 rd, s32 imm, struct rv_jit_context *ctx) argument 999 emit_slli(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 1007 emit_andi(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 1015 emit_srli(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 1023 emit_srai(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 1031 emit_sub(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) argument 1039 emit_or(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) argument 1047 emit_and(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) argument 1055 emit_xor(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) argument 1063 emit_lw(u8 rd, s32 off, u8 rs1, struct rv_jit_context *ctx) argument 1086 emit_addiw(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 1094 emit_ld(u8 rd, s32 off, u8 rs1, struct rv_jit_context *ctx) argument 1114 emit_subw(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) argument 1122 emit_sextb(u8 rd, u8 rs, struct rv_jit_context *ctx) argument 1133 emit_sexth(u8 rd, u8 rs, struct rv_jit_context *ctx) argument 1144 emit_sextw(u8 rd, u8 rs, struct rv_jit_context *ctx) argument 1149 emit_zexth(u8 rd, u8 rs, struct rv_jit_context *ctx) argument 1160 emit_zextw(u8 rd, u8 rs, struct rv_jit_context *ctx) argument 1166 emit_bswap(u8 rd, s32 imm, struct rv_jit_context *ctx) argument [all...] |