Re: [PATCH 15/56] disas/riscv: Drop explicit zero of rv_opcode_data fields

Alistair <[email protected]>
Newsgroups org.nongnu.qemu-riscv,org.nongnu.qemu-devel
Message-ID <[email protected]>
On Sun, 2026-08-09 at 15:35 -0700, Richard Henderson wrote:
> Mechanical
> 
> s/, NULL, 0, 0, 0 }/ }/
> s/, 0, 0, 0 }/ }/
> s/, NULL, 0, 0 }/ }/
> s/, NULL, 0 }/ }/
> 
> Signed-off-by: Richard Henderson <[email protected]>

Reviewed-by: Alistair Francis <[email protected]>

Alistair

> ---
>  disas/riscv-xlrbr.c    |   18 +-
>  disas/riscv-xthead.c   |  210 ++---
>  disas/riscv-xventana.c |    6 +-
>  disas/riscv.c          | 1826 ++++++++++++++++++++------------------
> --
>  4 files changed, 1030 insertions(+), 1030 deletions(-)
> 
> diff --git a/disas/riscv-xlrbr.c b/disas/riscv-xlrbr.c
> index f61028fce9..d0092e9edd 100644
> --- a/disas/riscv-xlrbr.c
> +++ b/disas/riscv-xlrbr.c
> @@ -25,15 +25,15 @@ typedef enum {
>  } rv_xlrbr_op;
>  
>  static const rv_opcode_data xlrbr_opcode_data[] = {
> -    { "illegal", rv_codec_illegal, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "crc32.b", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "crc32.h", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "crc32.w", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "crc32.d", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "crc32c.b", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "crc32c.h", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "crc32c.w", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "crc32c.d", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> +    { "illegal", rv_codec_illegal, rv_fmt_none },
> +    { "crc32.b", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "crc32.h", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "crc32.w", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "crc32.d", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "crc32c.b", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "crc32c.h", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "crc32c.w", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "crc32c.d", rv_codec_r, rv_fmt_rd_rs1 },
>  };
>  
>  void decode_xlrbr(rv_decode *dec, rv_isa isa)
> diff --git a/disas/riscv-xthead.c b/disas/riscv-xthead.c
> index 96f80bc8e5..757d6ff39f 100644
> --- a/disas/riscv-xthead.c
> +++ b/disas/riscv-xthead.c
> @@ -128,122 +128,122 @@ typedef enum {
>  } rv_xthead_op;
>  
>  static const rv_opcode_data xthead_opcode_data[] = {
> -    { "th.illegal", rv_codec_illegal, rv_fmt_none, NULL, 0, 0, 0 },
> +    { "th.illegal", rv_codec_illegal, rv_fmt_none },
>      /* XTheadBa */
> -    { "th.addsl", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0,
> 0, 0 },
> +    { "th.addsl", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
>      /* XTheadBb */
> -    { "th.srri", rv_codec_r2_imm6, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0
> },
> -    { "th.srriw", rv_codec_r2_imm5, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0
> },
> -    { "th.ext", rv_codec_r2_immhl, rv_fmt_rd_rs1_immh_imml, NULL, 0,
> 0, 0 },
> -    { "th.extu", rv_codec_r2_immhl, rv_fmt_rd_rs1_immh_imml, NULL,
> 0, 0, 0 },
> -    { "th.ff0", rv_codec_r2, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "th.ff1", rv_codec_r2, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "th.rev", rv_codec_r2, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "th.revw", rv_codec_r2, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "th.tstnbz", rv_codec_r2, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> +    { "th.srri", rv_codec_r2_imm6, rv_fmt_rd_rs1_imm },
> +    { "th.srriw", rv_codec_r2_imm5, rv_fmt_rd_rs1_imm },
> +    { "th.ext", rv_codec_r2_immhl, rv_fmt_rd_rs1_immh_imml },
> +    { "th.extu", rv_codec_r2_immhl, rv_fmt_rd_rs1_immh_imml },
> +    { "th.ff0", rv_codec_r2, rv_fmt_rd_rs1 },
> +    { "th.ff1", rv_codec_r2, rv_fmt_rd_rs1 },
> +    { "th.rev", rv_codec_r2, rv_fmt_rd_rs1 },
> +    { "th.revw", rv_codec_r2, rv_fmt_rd_rs1 },
> +    { "th.tstnbz", rv_codec_r2, rv_fmt_rd_rs1 },
>      /* XTheadBs */
> -    { "th.tst", rv_codec_r2_imm6, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0
> },
> +    { "th.tst", rv_codec_r2_imm6, rv_fmt_rd_rs1_imm },
>      /* XTheadCmo */
> -    { "th.dcache.call", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "th.dcache.ciall", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0
> },
> -    { "th.dcache.iall", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "th.dcache.cpa", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "th.dcache.cipa", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "th.dcache.ipa", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "th.dcache.cva", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "th.dcache.civa", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "th.dcache.iva", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "th.dcache.csw", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "th.dcache.cisw", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "th.dcache.isw", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "th.dcache.cpal1", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "th.dcache.cval1", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "th.icache.iall", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "th.icache.ialls", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0
> },
> -    { "th.icache.ipa", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "th.icache.iva", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "th.l2cache.call", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0
> },
> -    { "th.l2cache.ciall", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0
> },
> -    { "th.l2cache.iall", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0
> },
> +    { "th.dcache.call", rv_codec_none, rv_fmt_none },
> +    { "th.dcache.ciall", rv_codec_none, rv_fmt_none },
> +    { "th.dcache.iall", rv_codec_none, rv_fmt_none },
> +    { "th.dcache.cpa", rv_codec_r, rv_fmt_rs1 },
> +    { "th.dcache.cipa", rv_codec_r, rv_fmt_rs1 },
> +    { "th.dcache.ipa", rv_codec_r, rv_fmt_rs1 },
> +    { "th.dcache.cva", rv_codec_r, rv_fmt_rs1 },
> +    { "th.dcache.civa", rv_codec_r, rv_fmt_rs1 },
> +    { "th.dcache.iva", rv_codec_r, rv_fmt_rs1 },
> +    { "th.dcache.csw", rv_codec_r, rv_fmt_rs1 },
> +    { "th.dcache.cisw", rv_codec_r, rv_fmt_rs1 },
> +    { "th.dcache.isw", rv_codec_r, rv_fmt_rs1 },
> +    { "th.dcache.cpal1", rv_codec_r, rv_fmt_rs1 },
> +    { "th.dcache.cval1", rv_codec_r, rv_fmt_rs1 },
> +    { "th.icache.iall", rv_codec_none, rv_fmt_none },
> +    { "th.icache.ialls", rv_codec_none, rv_fmt_none },
> +    { "th.icache.ipa", rv_codec_r, rv_fmt_rs1 },
> +    { "th.icache.iva", rv_codec_r, rv_fmt_rs1 },
> +    { "th.l2cache.call", rv_codec_none, rv_fmt_none },
> +    { "th.l2cache.ciall", rv_codec_none, rv_fmt_none },
> +    { "th.l2cache.iall", rv_codec_none, rv_fmt_none },
>      /* XTheadCondMov */
> -    { "th.mveqz", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "th.mvnez", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> +    { "th.mveqz", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "th.mvnez", rv_codec_r, rv_fmt_rd_rs1_rs2 },
>      /* XTheadFMemIdx */
> -    { "th.flrd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0,
> 0, 0 },
> -    { "th.flrw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0,
> 0, 0 },
> -    { "th.flurd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0,
> 0, 0 },
> -    { "th.flurw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0,
> 0, 0 },
> -    { "th.fsrd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0,
> 0, 0 },
> -    { "th.fsrw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0,
> 0, 0 },
> -    { "th.fsurd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0,
> 0, 0 },
> -    { "th.fsurw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0,
> 0, 0 },
> +    { "th.flrd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
> +    { "th.flrw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
> +    { "th.flurd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
> +    { "th.flurw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
> +    { "th.fsrd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
> +    { "th.fsrw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
> +    { "th.fsurd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
> +    { "th.fsurw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
>      /* XTheadFmv */
> -    { "th.fmv.hw.x", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
> -    { "th.fmv.x.hw", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
> +    { "th.fmv.hw.x", rv_codec_r, rv_fmt_rd_frs1 },
> +    { "th.fmv.x.hw", rv_codec_r, rv_fmt_rd_frs1 },
>      /* XTheadMac */
> -    { "th.mula", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "th.mulaw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "th.mulah", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "th.muls", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "th.mulsw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "th.mulsh", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> +    { "th.mula", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "th.mulaw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "th.mulah", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "th.muls", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "th.mulsw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "th.mulsh", rv_codec_r, rv_fmt_rd_rs1_rs2 },
>      /* XTheadMemIdx */
> -    { "th.lbia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.lbib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml,
> NULL, 0, 0, 0 },
> -    { "th.lbuia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.lbuib", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.lhia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.lhib", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.lhuia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.lhuib", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.lwia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.lwib", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.lwuia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.lwuib", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.ldia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.ldib", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.sbia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.sbib", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.shia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.shib", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.swia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.swib", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.sdia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.sdib", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
> -    { "th.lrb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.lrbu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.lrh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.lrhu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.lrw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.lrwu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.lrd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.srb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.srh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.srw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.srd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.lurb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.lurbu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0,
> 0, 0 },
> -    { "th.lurh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.lurhu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0,
> 0, 0 },
> -    { "th.lurw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.lurwu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0,
> 0, 0 },
> -    { "th.lurd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.surb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.surh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.surw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> -    { "th.surd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0,
> 0 },
> +    { "th.lbia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.lbib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml },
> +    { "th.lbuia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr },
> +    { "th.lbuib", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr },
> +    { "th.lhia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.lhib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.lhuia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr },
> +    { "th.lhuib", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr },
> +    { "th.lwia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.lwib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.lwuia", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr },
> +    { "th.lwuib", rv_codec_r2_imm2_imm5,
> rv_fmt_rd_rs1_immh_imml_addr },
> +    { "th.ldia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.ldib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.sbia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.sbib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.shia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.shib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.swia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.swib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.sdia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.sdib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr
> },
> +    { "th.lrb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.lrbu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.lrh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.lrhu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.lrw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.lrwu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.lrd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.srb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.srh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.srw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.srd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.lurb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.lurbu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.lurh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.lurhu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.lurw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.lurwu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.lurd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.surb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.surh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.surw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
> +    { "th.surd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
>      /* XTheadMemPair */
> -    { "th.ldd", rv_codec_r_imm2, rv_fmt_rd2_imm, NULL, 0, 0, 0 },
> -    { "th.lwd", rv_codec_r_imm2, rv_fmt_rd2_imm, NULL, 0, 0, 0 },
> -    { "th.lwud", rv_codec_r_imm2, rv_fmt_rd2_imm, NULL, 0, 0, 0 },
> -    { "th.sdd", rv_codec_r_imm2, rv_fmt_rd2_imm, NULL, 0, 0, 0 },
> -    { "th.swd", rv_codec_r_imm2, rv_fmt_rd2_imm, NULL, 0, 0, 0 },
> +    { "th.ldd", rv_codec_r_imm2, rv_fmt_rd2_imm },
> +    { "th.lwd", rv_codec_r_imm2, rv_fmt_rd2_imm },
> +    { "th.lwud", rv_codec_r_imm2, rv_fmt_rd2_imm },
> +    { "th.sdd", rv_codec_r_imm2, rv_fmt_rd2_imm },
> +    { "th.swd", rv_codec_r_imm2, rv_fmt_rd2_imm },
>      /* XTheadSync */
> -    { "th.sfence.vmas", rv_codec_r, rv_fmt_rs1_rs2, NULL, 0, 0, 0 },
> -    { "th.sync", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "th.sync.i", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "th.sync.is", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "th.sync.s", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> +    { "th.sfence.vmas", rv_codec_r, rv_fmt_rs1_rs2 },
> +    { "th.sync", rv_codec_none, rv_fmt_none },
> +    { "th.sync.i", rv_codec_none, rv_fmt_none },
> +    { "th.sync.is", rv_codec_none, rv_fmt_none },
> +    { "th.sync.s", rv_codec_none, rv_fmt_none },
>  };
>  
>  void decode_xtheadba(rv_decode *dec, rv_isa isa)
> diff --git a/disas/riscv-xventana.c b/disas/riscv-xventana.c
> index 4539173d95..4fb9a29d0b 100644
> --- a/disas/riscv-xventana.c
> +++ b/disas/riscv-xventana.c
> @@ -15,9 +15,9 @@ typedef enum {
>  } rv_ventana_op;
>  
>  static const rv_opcode_data ventana_opcode_data[] = {
> -    { "vt.illegal", rv_codec_illegal, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "vt.maskc", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "vt.maskcn", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> +    { "vt.illegal", rv_codec_illegal, rv_fmt_none },
> +    { "vt.maskc", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "vt.maskcn", rv_codec_r, rv_fmt_rd_rs1_rs2 },
>  };
>  
>  void decode_xventanacondops(rv_decode *dec, rv_isa isa)
> diff --git a/disas/riscv.c b/disas/riscv.c
> index eb6d132a2c..ec40abb618 100644
> --- a/disas/riscv.c
> +++ b/disas/riscv.c
> @@ -1657,233 +1657,233 @@ static uint32_t operand_lpl(rv_inst inst)
>  /* instruction metadata */
>  
>  static const rv_opcode_data rvi_opcode_data[] = {
> -    { "illegal", rv_codec_illegal, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "lui", rv_codec_u, rv_fmt_rd_uimm, NULL, 0, 0, 0 },
> -    { "auipc", rv_codec_u, rv_fmt_rd_uoffset, NULL, 0, 0, 0 },
> -    { "jal", rv_codec_uj, rv_fmt_rd_offset, rvcp_jal, 0, 0, 0 },
> -    { "jalr", rv_codec_i, rv_fmt_rd_rs1_offset, rvcp_jalr, 0, 0, 0
> },
> -    { "beq", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_beq, 0, 0, 0
> },
> -    { "bne", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bne, 0, 0, 0
> },
> -    { "blt", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_blt, 0, 0, 0
> },
> -    { "bge", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bge, 0, 0, 0
> },
> -    { "bltu", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bltu, 0, 0, 0
> },
> -    { "bgeu", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bgeu, 0, 0, 0
> },
> -    { "lb", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
> -    { "lh", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
> -    { "lw", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
> -    { "lbu", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
> -    { "lhu", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
> -    { "sb", rv_codec_s, rv_fmt_rs2_offset_rs1, NULL, 0, 0, 0 },
> -    { "sh", rv_codec_s, rv_fmt_rs2_offset_rs1, NULL, 0, 0, 0 },
> -    { "sw", rv_codec_s, rv_fmt_rs2_offset_rs1, NULL, 0, 0, 0 },
> -    { "addi", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_addi, 0, 0, 0 },
> -    { "slti", rv_codec_i, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "sltiu", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_sltiu, 0, 0, 0 },
> -    { "xori", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_xori, 0, 0, 0 },
> -    { "ori", rv_codec_i, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "andi", rv_codec_i, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "slli", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "srli", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "srai", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "add", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sub", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_sub, 0, 0, 0 },
> -    { "sll", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "slt", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_slt, 0, 0, 0 },
> -    { "sltu", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_sltu, 0, 0, 0 },
> -    { "xor", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "srl", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sra", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "or", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "and", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "fence", rv_codec_r_f, rv_fmt_pred_succ, NULL, 0, 0, 0 },
> -    { "fence.i", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "lwu", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
> -    { "ld", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
> -    { "sd", rv_codec_s, rv_fmt_rs2_offset_rs1, NULL, 0, 0, 0 },
> -    { "addiw", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_addiw, 0, 0, 0 },
> -    { "slliw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "srliw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "sraiw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "addw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "subw", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_subw, 0, 0, 0 },
> -    { "sllw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "srlw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sraw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "ldu", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
> -    { "lq", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
> -    { "sq", rv_codec_s, rv_fmt_rs2_offset_rs1, NULL, 0, 0, 0 },
> -    { "addid", rv_codec_i, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "sllid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "srlid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "sraid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "addd", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "subd", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "slld", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "srld", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "srad", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "mul", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "mulh", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "mulhsu", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "mulhu", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "div", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "divu", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "rem", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "remu", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "mulw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "divw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "divuw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "remw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "remuw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "muld", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "divd", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "divud", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "remd", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "remud", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "lr.w", rv_codec_r_l, rv_fmt_aqrl_rd_rs1, NULL, 0, 0, 0 },
> -    { "sc.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
> -    { "amoswap.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoadd.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoxor.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoor.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0
> },
> -    { "amoand.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomin.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomax.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amominu.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomaxu.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "lr.d", rv_codec_r_l, rv_fmt_aqrl_rd_rs1, NULL, 0, 0, 0 },
> -    { "sc.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
> -    { "amoswap.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoadd.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoxor.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoor.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0
> },
> -    { "amoand.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomin.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomax.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amominu.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomaxu.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "lr.q", rv_codec_r_l, rv_fmt_aqrl_rd_rs1, NULL, 0, 0, 0 },
> -    { "sc.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
> -    { "amoswap.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoadd.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoxor.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoor.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0
> },
> -    { "amoand.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomin.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomax.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amominu.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomaxu.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "ecall", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "ebreak", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "uret", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "sret", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "hret", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "mret", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "dret", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "sfence.vm", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "sfence.vma", rv_codec_r, rv_fmt_rs1_rs2, NULL, 0, 0, 0 },
> -    { "wfi", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "csrrw", rv_codec_i_csr, rv_fmt_rd_csr_rs1, rvcp_csrrw, 0, 0,
> 0 },
> -    { "csrrs", rv_codec_i_csr, rv_fmt_rd_csr_rs1, rvcp_csrrs, 0, 0,
> 0 },
> -    { "csrrc", rv_codec_i_csr, rv_fmt_rd_csr_rs1, NULL, 0, 0, 0 },
> -    { "csrrwi", rv_codec_i_csr, rv_fmt_rd_csr_zimm, rvcp_csrrwi, 0,
> 0, 0 },
> -    { "csrrsi", rv_codec_i_csr, rv_fmt_rd_csr_zimm, NULL, 0, 0, 0 },
> -    { "csrrci", rv_codec_i_csr, rv_fmt_rd_csr_zimm, NULL, 0, 0, 0 },
> -    { "flw", rv_codec_i, rv_fmt_frd_offset_rs1, NULL, 0, 0, 0 },
> -    { "fsw", rv_codec_s, rv_fmt_frs2_offset_rs1, NULL, 0, 0, 0 },
> -    { "fmadd.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL,
> 0, 0, 0 },
> -    { "fmsub.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL,
> 0, 0, 0 },
> -    { "fnmsub.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL,
> 0, 0, 0 },
> -    { "fnmadd.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL,
> 0, 0, 0 },
> -    { "fadd.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0
> },
> -    { "fsub.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0
> },
> -    { "fmul.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0
> },
> -    { "fdiv.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0
> },
> -    { "fsgnj.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_s, 0,
> 0, 0 },
> -    { "fsgnjn.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_s,
> 0, 0, 0 },
> -    { "fsgnjx.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_s,
> 0, 0, 0 },
> -    { "fmin.s", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fmax.s", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fsqrt.s", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
> -    { "fle.s", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "flt.s", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "feq.s", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fcvt.w.s", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.wu.s", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.s.w", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
> -    { "fcvt.s.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
> -    { "fmv.x.s", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
> -    { "fclass.s", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
> -    { "fmv.s.x", rv_codec_r, rv_fmt_frd_rs1, NULL, 0, 0, 0 },
> -    { "fcvt.l.s", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.lu.s", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.s.l", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
> -    { "fcvt.s.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
> -    { "fld", rv_codec_i, rv_fmt_frd_offset_rs1, NULL, 0, 0, 0 },
> -    { "fsd", rv_codec_s, rv_fmt_frs2_offset_rs1, NULL, 0, 0, 0 },
> -    { "fmadd.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL,
> 0, 0, 0 },
> -    { "fmsub.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL,
> 0, 0, 0 },
> -    { "fnmsub.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL,
> 0, 0, 0 },
> -    { "fnmadd.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL,
> 0, 0, 0 },
> -    { "fadd.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0
> },
> -    { "fsub.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0
> },
> -    { "fmul.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0
> },
> -    { "fdiv.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0
> },
> -    { "fsgnj.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_d, 0,
> 0, 0 },
> -    { "fsgnjn.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_d,
> 0, 0, 0 },
> -    { "fsgnjx.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_d,
> 0, 0, 0 },
> -    { "fmin.d", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fmax.d", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fcvt.s.d", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.d.s", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
> -    { "fsqrt.d", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
> -    { "fle.d", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "flt.d", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "feq.d", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fcvt.w.d", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.wu.d", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.d.w", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
> -    { "fcvt.d.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
> -    { "fclass.d", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.l.d", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.lu.d", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
> -    { "fmv.x.d", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.d.l", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
> -    { "fcvt.d.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
> -    { "fmv.d.x", rv_codec_r, rv_fmt_frd_rs1, NULL, 0, 0, 0 },
> -    { "flq", rv_codec_i, rv_fmt_frd_offset_rs1, NULL, 0, 0, 0 },
> -    { "fsq", rv_codec_s, rv_fmt_frs2_offset_rs1, NULL, 0, 0, 0 },
> -    { "fmadd.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL,
> 0, 0, 0 },
> -    { "fmsub.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL,
> 0, 0, 0 },
> -    { "fnmsub.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL,
> 0, 0, 0 },
> -    { "fnmadd.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL,
> 0, 0, 0 },
> -    { "fadd.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0
> },
> -    { "fsub.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0
> },
> -    { "fmul.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0
> },
> -    { "fdiv.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0
> },
> -    { "fsgnj.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_q, 0,
> 0, 0 },
> -    { "fsgnjn.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_q,
> 0, 0, 0 },
> -    { "fsgnjx.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_q,
> 0, 0, 0 },
> -    { "fmin.q", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fmax.q", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fcvt.s.q", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.q.s", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.d.q", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.q.d", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
> -    { "fsqrt.q", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
> -    { "fle.q", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "flt.q", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "feq.q", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fcvt.w.q", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.wu.q", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.q.w", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
> -    { "fcvt.q.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
> -    { "fclass.q", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.l.q", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.lu.q", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
> -    { "fcvt.q.l", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
> -    { "fcvt.q.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
> -    { "fmv.x.q", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
> -    { "fmv.q.x", rv_codec_r, rv_fmt_frd_rs1, NULL, 0, 0, 0 },
> +    { "illegal", rv_codec_illegal, rv_fmt_none },
> +    { "lui", rv_codec_u, rv_fmt_rd_uimm },
> +    { "auipc", rv_codec_u, rv_fmt_rd_uoffset },
> +    { "jal", rv_codec_uj, rv_fmt_rd_offset, rvcp_jal },
> +    { "jalr", rv_codec_i, rv_fmt_rd_rs1_offset, rvcp_jalr },
> +    { "beq", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_beq },
> +    { "bne", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bne },
> +    { "blt", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_blt },
> +    { "bge", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bge },
> +    { "bltu", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bltu },
> +    { "bgeu", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bgeu },
> +    { "lb", rv_codec_i, rv_fmt_rd_offset_rs1 },
> +    { "lh", rv_codec_i, rv_fmt_rd_offset_rs1 },
> +    { "lw", rv_codec_i, rv_fmt_rd_offset_rs1 },
> +    { "lbu", rv_codec_i, rv_fmt_rd_offset_rs1 },
> +    { "lhu", rv_codec_i, rv_fmt_rd_offset_rs1 },
> +    { "sb", rv_codec_s, rv_fmt_rs2_offset_rs1 },
> +    { "sh", rv_codec_s, rv_fmt_rs2_offset_rs1 },
> +    { "sw", rv_codec_s, rv_fmt_rs2_offset_rs1 },
> +    { "addi", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_addi },
> +    { "slti", rv_codec_i, rv_fmt_rd_rs1_imm },
> +    { "sltiu", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_sltiu },
> +    { "xori", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_xori },
> +    { "ori", rv_codec_i, rv_fmt_rd_rs1_imm },
> +    { "andi", rv_codec_i, rv_fmt_rd_rs1_imm },
> +    { "slli", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
> +    { "srli", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
> +    { "srai", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
> +    { "add", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sub", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_sub },
> +    { "sll", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "slt", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_slt },
> +    { "sltu", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_sltu },
> +    { "xor", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "srl", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sra", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "or", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "and", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "fence", rv_codec_r_f, rv_fmt_pred_succ },
> +    { "fence.i", rv_codec_none, rv_fmt_none },
> +    { "lwu", rv_codec_i, rv_fmt_rd_offset_rs1 },
> +    { "ld", rv_codec_i, rv_fmt_rd_offset_rs1 },
> +    { "sd", rv_codec_s, rv_fmt_rs2_offset_rs1 },
> +    { "addiw", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_addiw },
> +    { "slliw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm },
> +    { "srliw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm },
> +    { "sraiw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm },
> +    { "addw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "subw", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_subw },
> +    { "sllw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "srlw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sraw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "ldu", rv_codec_i, rv_fmt_rd_offset_rs1 },
> +    { "lq", rv_codec_i, rv_fmt_rd_offset_rs1 },
> +    { "sq", rv_codec_s, rv_fmt_rs2_offset_rs1 },
> +    { "addid", rv_codec_i, rv_fmt_rd_rs1_imm },
> +    { "sllid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm },
> +    { "srlid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm },
> +    { "sraid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm },
> +    { "addd", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "subd", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "slld", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "srld", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "srad", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "mul", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "mulh", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "mulhsu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "mulhu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "div", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "divu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "rem", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "remu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "mulw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "divw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "divuw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "remw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "remuw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "muld", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "divd", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "divud", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "remd", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "remud", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "lr.w", rv_codec_r_l, rv_fmt_aqrl_rd_rs1 },
> +    { "sc.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoswap.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoadd.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoxor.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoor.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoand.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomin.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomax.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amominu.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomaxu.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "lr.d", rv_codec_r_l, rv_fmt_aqrl_rd_rs1 },
> +    { "sc.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoswap.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoadd.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoxor.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoor.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoand.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomin.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomax.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amominu.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomaxu.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "lr.q", rv_codec_r_l, rv_fmt_aqrl_rd_rs1 },
> +    { "sc.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoswap.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoadd.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoxor.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoor.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoand.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomin.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomax.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amominu.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomaxu.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "ecall", rv_codec_none, rv_fmt_none },
> +    { "ebreak", rv_codec_none, rv_fmt_none },
> +    { "uret", rv_codec_none, rv_fmt_none },
> +    { "sret", rv_codec_none, rv_fmt_none },
> +    { "hret", rv_codec_none, rv_fmt_none },
> +    { "mret", rv_codec_none, rv_fmt_none },
> +    { "dret", rv_codec_none, rv_fmt_none },
> +    { "sfence.vm", rv_codec_r, rv_fmt_rs1 },
> +    { "sfence.vma", rv_codec_r, rv_fmt_rs1_rs2 },
> +    { "wfi", rv_codec_none, rv_fmt_none },
> +    { "csrrw", rv_codec_i_csr, rv_fmt_rd_csr_rs1, rvcp_csrrw },
> +    { "csrrs", rv_codec_i_csr, rv_fmt_rd_csr_rs1, rvcp_csrrs },
> +    { "csrrc", rv_codec_i_csr, rv_fmt_rd_csr_rs1 },
> +    { "csrrwi", rv_codec_i_csr, rv_fmt_rd_csr_zimm, rvcp_csrrwi },
> +    { "csrrsi", rv_codec_i_csr, rv_fmt_rd_csr_zimm },
> +    { "csrrci", rv_codec_i_csr, rv_fmt_rd_csr_zimm },
> +    { "flw", rv_codec_i, rv_fmt_frd_offset_rs1 },
> +    { "fsw", rv_codec_s, rv_fmt_frs2_offset_rs1 },
> +    { "fmadd.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
> +    { "fmsub.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
> +    { "fnmsub.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
> +    { "fnmadd.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
> +    { "fadd.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
> +    { "fsub.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
> +    { "fmul.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
> +    { "fdiv.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
> +    { "fsgnj.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_s },
> +    { "fsgnjn.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_s },
> +    { "fsgnjx.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_s },
> +    { "fmin.s", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fmax.s", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fsqrt.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fle.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "flt.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "feq.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "fcvt.w.s", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
> +    { "fcvt.wu.s", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
> +    { "fcvt.s.w", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
> +    { "fcvt.s.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
> +    { "fmv.x.s", rv_codec_r, rv_fmt_rd_frs1 },
> +    { "fclass.s", rv_codec_r, rv_fmt_rd_frs1 },
> +    { "fmv.s.x", rv_codec_r, rv_fmt_frd_rs1 },
> +    { "fcvt.l.s", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
> +    { "fcvt.lu.s", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
> +    { "fcvt.s.l", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
> +    { "fcvt.s.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
> +    { "fld", rv_codec_i, rv_fmt_frd_offset_rs1 },
> +    { "fsd", rv_codec_s, rv_fmt_frs2_offset_rs1 },
> +    { "fmadd.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
> +    { "fmsub.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
> +    { "fnmsub.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
> +    { "fnmadd.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
> +    { "fadd.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
> +    { "fsub.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
> +    { "fmul.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
> +    { "fdiv.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
> +    { "fsgnj.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_d },
> +    { "fsgnjn.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_d },
> +    { "fsgnjx.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_d },
> +    { "fmin.d", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fmax.d", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fcvt.s.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fcvt.d.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fsqrt.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fle.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "flt.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "feq.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "fcvt.w.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
> +    { "fcvt.wu.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
> +    { "fcvt.d.w", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
> +    { "fcvt.d.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
> +    { "fclass.d", rv_codec_r, rv_fmt_rd_frs1 },
> +    { "fcvt.l.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
> +    { "fcvt.lu.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
> +    { "fmv.x.d", rv_codec_r, rv_fmt_rd_frs1 },
> +    { "fcvt.d.l", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
> +    { "fcvt.d.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
> +    { "fmv.d.x", rv_codec_r, rv_fmt_frd_rs1 },
> +    { "flq", rv_codec_i, rv_fmt_frd_offset_rs1 },
> +    { "fsq", rv_codec_s, rv_fmt_frs2_offset_rs1 },
> +    { "fmadd.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
> +    { "fmsub.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
> +    { "fnmsub.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
> +    { "fnmadd.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
> +    { "fadd.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
> +    { "fsub.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
> +    { "fmul.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
> +    { "fdiv.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
> +    { "fsgnj.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_q },
> +    { "fsgnjn.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_q },
> +    { "fsgnjx.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_q },
> +    { "fmin.q", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fmax.q", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fcvt.s.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fcvt.q.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fcvt.d.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fcvt.q.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fsqrt.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fle.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "flt.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "feq.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "fcvt.w.q", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
> +    { "fcvt.wu.q", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
> +    { "fcvt.q.w", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
> +    { "fcvt.q.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
> +    { "fclass.q", rv_codec_r, rv_fmt_rd_frs1 },
> +    { "fcvt.l.q", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
> +    { "fcvt.lu.q", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
> +    { "fcvt.q.l", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
> +    { "fcvt.q.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
> +    { "fmv.x.q", rv_codec_r, rv_fmt_rd_frs1 },
> +    { "fmv.q.x", rv_codec_r, rv_fmt_frd_rs1 },
>      { "c.addi4spn", rv_codec_ciw_4spn, rv_fmt_rd_rs1_imm, NULL,
> rv_op_addi,
>        rv_op_addi, rv_op_addi, rvcd_imm_nz },
>      { "c.fld", rv_codec_cl_ld, rv_fmt_frd_offset_rs1, NULL,
> rv_op_fld,
> @@ -1970,696 +1970,696 @@ static const rv_opcode_data
> rvi_opcode_data[] = {
>      { "c.lqsp", rv_codec_ci_lqsp, rv_fmt_rd_offset_rs1, NULL, 0, 0,
> rv_op_lq },
>      { "c.sqsp", rv_codec_css_sqsp, rv_fmt_rs2_offset_rs1, NULL, 0,
> 0,
>        rv_op_sq },
> -    { "nop", rv_codec_i, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "mv", rv_codec_i, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "not", rv_codec_i, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "neg", rv_codec_r, rv_fmt_rd_rs2, NULL, 0, 0, 0 },
> -    { "negw", rv_codec_r, rv_fmt_rd_rs2, NULL, 0, 0, 0 },
> -    { "sext.w", rv_codec_i, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "seqz", rv_codec_i, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "snez", rv_codec_r, rv_fmt_rd_rs2, NULL, 0, 0, 0 },
> -    { "sltz", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "sgtz", rv_codec_r, rv_fmt_rd_rs2, NULL, 0, 0, 0 },
> -    { "fmv.s", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
> -    { "fabs.s", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
> -    { "fneg.s", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
> -    { "fmv.d", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
> -    { "fabs.d", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
> -    { "fneg.d", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
> -    { "fmv.q", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
> -    { "fabs.q", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
> -    { "fneg.q", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
> -    { "beqz", rv_codec_sb, rv_fmt_rs1_offset, NULL, 0, 0, 0 },
> -    { "bnez", rv_codec_sb, rv_fmt_rs1_offset, NULL, 0, 0, 0 },
> -    { "blez", rv_codec_sb, rv_fmt_rs2_offset, NULL, 0, 0, 0 },
> -    { "bgez", rv_codec_sb, rv_fmt_rs1_offset, NULL, 0, 0, 0 },
> -    { "bltz", rv_codec_sb, rv_fmt_rs1_offset, NULL, 0, 0, 0 },
> -    { "bgtz", rv_codec_sb, rv_fmt_rs2_offset, NULL, 0, 0, 0 },
> -    { "ble", rv_codec_sb, rv_fmt_rs2_rs1_offset, NULL, 0, 0, 0 },
> -    { "bleu", rv_codec_sb, rv_fmt_rs2_rs1_offset, NULL, 0, 0, 0 },
> -    { "bgt", rv_codec_sb, rv_fmt_rs2_rs1_offset, NULL, 0, 0, 0 },
> -    { "bgtu", rv_codec_sb, rv_fmt_rs2_rs1_offset, NULL, 0, 0, 0 },
> -    { "j", rv_codec_uj, rv_fmt_offset, NULL, 0, 0, 0 },
> -    { "ret", rv_codec_i, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "jr", rv_codec_i, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "rdcycle", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
> -    { "rdtime", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
> -    { "rdinstret", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
> -    { "rdcycleh", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
> -    { "rdtimeh", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
> -    { "rdinstreth", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
> -    { "frcsr", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
> -    { "frrm", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
> -    { "frflags", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
> -    { "fscsr", rv_codec_i_csr, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "fsrm", rv_codec_i_csr, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "fsflags", rv_codec_i_csr, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "fsrmi", rv_codec_i_csr, rv_fmt_rd_zimm, NULL, 0, 0, 0 },
> -    { "fsflagsi", rv_codec_i_csr, rv_fmt_rd_zimm, NULL, 0, 0, 0 },
> -    { "bseti", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "bclri", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "binvi", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "bexti", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "rori", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "clz", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "ctz", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "cpop", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "sext.h", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "sext.b", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "xnor", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "orn", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "andn", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "rol", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "ror", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sh1add", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sh2add", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sh3add", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sh1add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sh2add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sh3add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "clmul", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "clmulr", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "clmulh", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "min", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "minu", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "max", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "maxu", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "clzw", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "ctzw", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "cpopw", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "slli.uw", rv_codec_i_sh6, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "rolw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "rorw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "rev8", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "zext.h", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "roriw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
> -    { "orc.b", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "bset", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "bclr", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "binv", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "bext", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "aes32esmi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs, NULL, 0, 0, 0
> },
> -    { "aes32esi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs, NULL, 0, 0, 0 },
> -    { "aes32dsmi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs, NULL, 0, 0, 0
> },
> -    { "aes32dsi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs, NULL, 0, 0, 0 },
> -    { "aes64ks1i", rv_codec_k_rnum, rv_fmt_rd_rs1_rnum, NULL, 0, 0,
> 0 },
> -    { "aes64ks2", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "aes64im", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "aes64esm", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "aes64es", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "aes64dsm", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "aes64ds", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sha256sig0", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "sha256sig1", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "sha256sum0", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "sha256sum1", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "sha512sig0", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sha512sig1", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sha512sum0", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sha512sum1", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sha512sum0r", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sha512sum1r", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sha512sig0l", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sha512sig0h", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sha512sig1l", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sha512sig1h", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "sm3p0", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "sm3p1", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "sm4ed", rv_codec_k_bs, rv_fmt_rs1_rs2_bs, NULL, 0, 0, 0 },
> -    { "sm4ks", rv_codec_k_bs, rv_fmt_rs1_rs2_bs, NULL, 0, 0, 0 },
> -    { "brev8", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "pack", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "packh", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "packw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "unzip", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "zip", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "xperm4", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "xperm8", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
> -    { "vle8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vle16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vle32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vle64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vse8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vse16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vse32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vse64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vlm.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vsm.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vlse8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0,
> 0, 0 },
> -    { "vlse16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0,
> 0, 0 },
> -    { "vlse32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0,
> 0, 0 },
> -    { "vlse64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0,
> 0, 0 },
> -    { "vsse8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0,
> 0, 0 },
> -    { "vsse16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0,
> 0, 0 },
> -    { "vsse32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0,
> 0, 0 },
> -    { "vsse64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0,
> 0, 0 },
> -    { "vluxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "vluxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL,
> 0, 0, 0 },
> -    { "vluxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL,
> 0, 0, 0 },
> -    { "vluxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL,
> 0, 0, 0 },
> -    { "vloxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "vloxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL,
> 0, 0, 0 },
> -    { "vloxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL,
> 0, 0, 0 },
> -    { "vloxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL,
> 0, 0, 0 },
> -    { "vsuxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "vsuxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL,
> 0, 0, 0 },
> -    { "vsuxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL,
> 0, 0, 0 },
> -    { "vsuxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL,
> 0, 0, 0 },
> -    { "vsoxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "vsoxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL,
> 0, 0, 0 },
> -    { "vsoxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL,
> 0, 0, 0 },
> -    { "vsoxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL,
> 0, 0, 0 },
> -    { "vle8ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vle16ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vle32ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vle64ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl1re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl1re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl1re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl1re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl2re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl2re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl2re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl2re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl4re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl4re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl4re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl4re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl8re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl8re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl8re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vl8re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vs1r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vs2r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vs4r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vs8r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vadd.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0
> },
> -    { "vsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vrsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vrsub.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0
> },
> -    { "vwaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vwaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vwadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vwadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vwsubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vwsubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vwsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vwsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vwaddu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vwaddu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vwadd.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vwadd.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vwsubu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vwsubu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vwsub.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vwsub.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vadc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl, NULL, 0, 0, 0
> },
> -    { "vadc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl, NULL, 0, 0, 0
> },
> -    { "vadc.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl, NULL, 0, 0, 0
> },
> -    { "vmadc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl, NULL, 0, 0, 0
> },
> -    { "vmadc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl, NULL, 0, 0, 0
> },
> -    { "vmadc.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl, NULL, 0, 0, 0
> },
> -    { "vsbc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl, NULL, 0, 0, 0
> },
> -    { "vsbc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl, NULL, 0, 0, 0
> },
> -    { "vmsbc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl, NULL, 0, 0, 0
> },
> -    { "vmsbc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl, NULL, 0, 0, 0
> },
> -    { "vand.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vand.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vand.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0
> },
> -    { "vor.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
> -    { "vor.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
> -    { "vor.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
> -    { "vxor.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vxor.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vxor.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0
> },
> -    { "vsll.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vsll.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vsll.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0,
> 0 },
> -    { "vsrl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vsrl.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vsrl.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0,
> 0 },
> -    { "vsra.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vsra.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vsra.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0,
> 0 },
> -    { "vnsrl.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vnsrl.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vnsrl.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0,
> 0 },
> -    { "vnsra.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vnsra.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vnsra.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0,
> 0 },
> -    { "vmseq.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmseq.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmseq.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0
> },
> -    { "vmsne.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmsne.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmsne.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0
> },
> -    { "vmsltu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmsltu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmslt.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmslt.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmsleu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmsleu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmsleu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0
> },
> -    { "vmsle.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmsle.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmsle.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0
> },
> -    { "vmsgtu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmsgtu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0
> },
> -    { "vmsgt.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmsgt.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0
> },
> -    { "vminu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vminu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmin.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmin.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmaxu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmaxu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmax.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmax.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmulh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmulh.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmulhu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmulhu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmulhsu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vmulhsu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vdivu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vdivu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vdiv.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vdiv.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vremu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vremu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vrem.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vrem.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vwmulu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vwmulu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vwmulsu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vwmulsu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vwmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vwmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vmacc.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vnmsac.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vmadd.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vnmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vnmsub.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vwmaccu.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vwmaccu.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vwmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vwmacc.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vwmaccsu.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vwmaccsu.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vwmaccus.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vmv.v.v", rv_codec_v_r, rv_fmt_vd_vs1, NULL, 0, 0, 0 },
> -    { "vmv.v.x", rv_codec_v_r, rv_fmt_vd_rs1, NULL, 0, 0, 0 },
> -    { "vmv.v.i", rv_codec_v_i, rv_fmt_vd_imm, NULL, 0, 0, 0 },
> -    { "vmerge.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl, NULL, 0, 0,
> 0 },
> -    { "vmerge.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl, NULL, 0, 0,
> 0 },
> -    { "vmerge.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl, NULL, 0, 0,
> 0 },
> -    { "vsaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vsaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vsaddu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0
> },
> -    { "vsadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vsadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vsadd.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0
> },
> -    { "vssubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vssubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vssub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vssub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vaadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vaadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vaaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vaaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vasub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vasub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vasubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vasubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vsmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vsmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vssrl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vssrl.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vssrl.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0,
> 0 },
> -    { "vssra.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vssra.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vssra.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0,
> 0 },
> -    { "vnclipu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vnclipu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vnclipu.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0,
> 0, 0 },
> -    { "vnclip.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vnclip.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vnclip.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0,
> 0, 0 },
> -    { "vfadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vfadd.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vfsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfrsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfwadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vfwadd.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfwadd.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vfwadd.wf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfwsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vfwsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfwsub.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vfwsub.wf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vfmul.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfdiv.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vfdiv.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfrdiv.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfwmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vfwmul.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfnmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfnmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfnmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfmadd.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfnmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfnmadd.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfmsub.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfnmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfnmsub.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfwmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfwmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfwnmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfwnmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfwmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfwmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfwnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfwnmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfsqrt.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vfrsqrt7.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vfrec7.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vfmin.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vfmin.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfmax.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vfmax.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfsgnj.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vfsgnj.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfsgnjn.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vfsgnjn.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0,
> 0 },
> -    { "vfsgnjx.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vfsgnjx.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0,
> 0 },
> -    { "vfslide1up.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0,
> 0, 0 },
> -    { "vfslide1down.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL,
> 0, 0, 0 },
> -    { "vmfeq.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmfeq.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vmfne.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmfne.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vmflt.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmflt.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vmfle.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmfle.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vmfgt.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vmfge.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0
> },
> -    { "vfclass.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vfmerge.vfm", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vl, NULL, 0, 0,
> 0 },
> -    { "vfmv.v.f", rv_codec_v_r, rv_fmt_vd_fs1, NULL, 0, 0, 0 },
> -    { "vfcvt.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfcvt.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfcvt.f.xu.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfcvt.f.x.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfcvt.rtz.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "vfcvt.rtz.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0,
> 0 },
> -    { "vfwcvt.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfwcvt.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfwcvt.f.xu.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfwcvt.f.x.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfwcvt.f.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfwcvt.rtz.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "vfwcvt.rtz.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "vfncvt.xu.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfncvt.x.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfncvt.f.xu.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfncvt.f.x.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfncvt.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0
> },
> -    { "vfncvt.rod.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "vfncvt.rtz.xu.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "vfncvt.rtz.x.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "vredsum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vredand.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vredor.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vredxor.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vredminu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vredmin.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vredmaxu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vredmax.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vwredsumu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0,
> 0, 0 },
> -    { "vwredsum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vfredusum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0,
> 0, 0 },
> -    { "vfredosum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0,
> 0, 0 },
> -    { "vfredmin.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vfredmax.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vfwredusum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0,
> 0, 0 },
> -    { "vfwredosum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0,
> 0, 0 },
> -    { "vmand.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmnand.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmandn.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmxor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmnor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmorn.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vmxnor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vcpop.m", rv_codec_v_r, rv_fmt_rd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vfirst.m", rv_codec_v_r, rv_fmt_rd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vmsbf.m", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vmsif.m", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vmsof.m", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "viota.m", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vid.v", rv_codec_v_r, rv_fmt_vd_vm, NULL, 0, 0, 0 },
> -    { "vmv.x.s", rv_codec_v_r, rv_fmt_rd_vs2, NULL, 0, 0, 0 },
> -    { "vmv.s.x", rv_codec_v_r, rv_fmt_vd_rs1, NULL, 0, 0, 0 },
> -    { "vfmv.f.s", rv_codec_v_r, rv_fmt_fd_vs2, NULL, 0, 0, 0 },
> -    { "vfmv.s.f", rv_codec_v_r, rv_fmt_vd_fs1, NULL, 0, 0, 0 },
> -    { "vslideup.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vslideup.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0,
> 0, 0 },
> -    { "vslide1up.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vslidedown.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vslidedown.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL,
> 0, 0, 0 },
> -    { "vslide1down.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0,
> 0, 0 },
> -    { "vrgather.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vrgatherei16.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL,
> 0, 0, 0 },
> -    { "vrgather.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vrgather.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0,
> 0, 0 },
> -    { "vcompress.vm", rv_codec_v_r, rv_fmt_vd_vs2_vs1, NULL, 0, 0, 0
> },
> -    { "vmv1r.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vmv2r.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vmv4r.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vmv8r.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vzext.vf2", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vzext.vf4", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vzext.vf8", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vsext.vf2", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vsext.vf4", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vsext.vf8", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vsetvli", rv_codec_vsetvli, rv_fmt_vsetvli, NULL, 0, 0, 0 },
> -    { "vsetivli", rv_codec_vsetivli, rv_fmt_vsetivli, NULL, 0, 0, 0
> },
> -    { "vsetvl", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "c.zext.b", rv_codec_zcb_ext, rv_fmt_rd, NULL, 0 },
> -    { "c.sext.b", rv_codec_zcb_ext, rv_fmt_rd, NULL, 0 },
> -    { "c.zext.h", rv_codec_zcb_ext, rv_fmt_rd, NULL, 0 },
> -    { "c.sext.h", rv_codec_zcb_ext, rv_fmt_rd, NULL, 0 },
> -    { "c.zext.w", rv_codec_zcb_ext, rv_fmt_rd, NULL, 0 },
> -    { "c.not", rv_codec_zcb_ext, rv_fmt_rd, NULL, 0 },
> -    { "c.mul", rv_codec_zcb_mul, rv_fmt_rd_rs2, NULL, 0, 0 },
> -    { "c.lbu", rv_codec_zcb_lb, rv_fmt_rs1_rs2_zce_ldst, NULL, 0, 0,
> 0 },
> -    { "c.lhu", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst, NULL, 0, 0,
> 0 },
> -    { "c.lh", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst, NULL, 0, 0,
> 0 },
> -    { "c.sb", rv_codec_zcb_lb, rv_fmt_rs1_rs2_zce_ldst, NULL, 0, 0,
> 0 },
> -    { "c.sh", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst, NULL, 0, 0,
> 0 },
> -    { "cm.push", rv_codec_zcmp_cm_pushpop, rv_fmt_push_rlist, NULL,
> 0, 0 },
> -    { "cm.pop", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist, NULL, 0,
> 0 },
> -    { "cm.popret", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist, NULL,
> 0, 0, 0 },
> -    { "cm.popretz", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist,
> NULL, 0, 0 },
> -    { "cm.mva01s", rv_codec_zcmp_cm_mv, rv_fmt_rd_rs2, NULL, 0, 0, 0
> },
> -    { "cm.mvsa01", rv_codec_zcmp_cm_mv, rv_fmt_rd_rs2, NULL, 0, 0, 0
> },
> -    { "cm.jt", rv_codec_zcmt_jt, rv_fmt_zcmt_index, NULL, 0 },
> -    { "cm.jalt", rv_codec_zcmt_jt, rv_fmt_zcmt_index, NULL, 0 },
> -    { "czero.eqz", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "czero.nez", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "fcvt.bf16.s", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0
> },
> -    { "fcvt.s.bf16", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0
> },
> -    { "vfncvtbf16.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "vfwcvtbf16.f.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "vfwmaccbf16.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "vfwmaccbf16.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0,
> 0, 0 },
> -    { "flh", rv_codec_i, rv_fmt_frd_offset_rs1, NULL, 0, 0, 0 },
> -    { "fsh", rv_codec_s, rv_fmt_frs2_offset_rs1, NULL, 0, 0, 0 },
> -    { "fmv.h.x", rv_codec_r, rv_fmt_frd_rs1, NULL, 0, 0, 0 },
> -    { "fmv.x.h", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
> -    { "fli.s", rv_codec_fli, rv_fmt_fli, NULL, 0, 0, 0 },
> -    { "fli.d", rv_codec_fli, rv_fmt_fli, NULL, 0, 0, 0 },
> -    { "fli.q", rv_codec_fli, rv_fmt_fli, NULL, 0, 0, 0 },
> -    { "fli.h", rv_codec_fli, rv_fmt_fli, NULL, 0, 0, 0 },
> -    { "fminm.s", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fmaxm.s", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fminm.d", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fmaxm.d", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fminm.q", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fmaxm.q", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fminm.h", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fmaxm.h", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fround.s", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
> -    { "froundnx.s", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0
> },
> -    { "fround.d", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
> -    { "froundnx.d", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0
> },
> -    { "fround.q", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
> -    { "froundnx.q", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0
> },
> -    { "fround.h", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
> -    { "froundnx.h", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0
> },
> -    { "fcvtmod.w.d", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0
> },
> -    { "fmvh.x.d", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
> -    { "fmvp.d.x", rv_codec_r, rv_fmt_frd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "fmvh.x.q", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
> -    { "fmvp.q.x", rv_codec_r, rv_fmt_frd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "fleq.s", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fltq.s", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fleq.d", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fltq.d", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fleq.q", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fltq.q", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fleq.h", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "fltq.h", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
> -    { "vaesdf.vv", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vaesdf.vs", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vaesdm.vv", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vaesdm.vs", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vaesef.vv", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vaesef.vs", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vaesem.vv", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vaesem.vs", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vaeskf1.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm, NULL, 0, 0,
> 0 },
> -    { "vaeskf2.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm, NULL, 0, 0,
> 0 },
> -    { "vaesz.vs", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vandn.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vandn.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vbrev.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vbrev8.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vclmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vclmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vclmulh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0,
> 0 },
> -    { "vclmulh.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0,
> 0 },
> -    { "vclz.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vcpop.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vctz.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vghsh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1, NULL, 0, 0, 0 },
> -    { "vgmul.vv", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vrev8.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
> -    { "vrol.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vrol.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vror.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vror.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vror.vi", rv_codec_vror_vi, rv_fmt_vd_vs2_uimm_vm, NULL, 0,
> 0, 0 },
> -    { "vsha2ch.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1, NULL, 0, 0, 0
> },
> -    { "vsha2cl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1, NULL, 0, 0, 0
> },
> -    { "vsha2ms.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1, NULL, 0, 0, 0
> },
> -    { "vsm3c.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm, NULL, 0, 0, 0
> },
> -    { "vsm3me.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1, NULL, 0, 0, 0 },
> -    { "vsm4k.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm, NULL, 0, 0, 0
> },
> -    { "vsm4r.vv", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vsm4r.vs", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
> -    { "vwsll.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0
> },
> -    { "vwsll.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0
> },
> -    { "vwsll.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0,
> 0 },
> -    { "amocas.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amocas.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amocas.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "mop.r.0", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.1", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.2", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.3", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.4", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.5", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.6", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.7", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.8", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.9", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.10", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.11", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.12", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.13", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.14", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.15", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.16", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.17", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.18", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.19", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.20", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.21", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.22", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.23", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.24", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.25", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.26", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.27", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.28", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.29", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.30", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.r.31", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
> -    { "mop.rr.0", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "mop.rr.1", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "mop.rr.2", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "mop.rr.3", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "mop.rr.4", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "mop.rr.5", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "mop.rr.6", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "mop.rr.7", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
> -    { "c.mop.1", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "c.mop.3", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "c.mop.5", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "c.mop.7", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "c.mop.9", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "c.mop.11", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "c.mop.13", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "c.mop.15", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "amoswap.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoadd.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoxor.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoor.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0
> },
> -    { "amoand.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomin.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomax.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amominu.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomaxu.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoswap.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoadd.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoxor.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amoor.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0
> },
> -    { "amoand.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomin.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomax.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amominu.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amomaxu.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amocas.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "amocas.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0,
> 0 },
> -    { "wrs.sto", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "wrs.nto", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> -    { "lpad", rv_codec_lp, rv_fmt_imm, NULL, 0, 0, 0 },
> -    { "sspush", rv_codec_r, rv_fmt_rs2, NULL, 0, 0, 0 },
> -    { "sspopchk", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -    { "ssrdp", rv_codec_r, rv_fmt_rd, NULL, 0, 0, 0 },
> -    { "ssamoswap.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0,
> 0, 0 },
> -    { "ssamoswap.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0,
> 0, 0 },
> +    { "nop", rv_codec_i, rv_fmt_none },
> +    { "mv", rv_codec_i, rv_fmt_rd_rs1 },
> +    { "not", rv_codec_i, rv_fmt_rd_rs1 },
> +    { "neg", rv_codec_r, rv_fmt_rd_rs2 },
> +    { "negw", rv_codec_r, rv_fmt_rd_rs2 },
> +    { "sext.w", rv_codec_i, rv_fmt_rd_rs1 },
> +    { "seqz", rv_codec_i, rv_fmt_rd_rs1 },
> +    { "snez", rv_codec_r, rv_fmt_rd_rs2 },
> +    { "sltz", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "sgtz", rv_codec_r, rv_fmt_rd_rs2 },
> +    { "fmv.s", rv_codec_r, rv_fmt_frd_frs1 },
> +    { "fabs.s", rv_codec_r, rv_fmt_frd_frs1 },
> +    { "fneg.s", rv_codec_r, rv_fmt_frd_frs1 },
> +    { "fmv.d", rv_codec_r, rv_fmt_frd_frs1 },
> +    { "fabs.d", rv_codec_r, rv_fmt_frd_frs1 },
> +    { "fneg.d", rv_codec_r, rv_fmt_frd_frs1 },
> +    { "fmv.q", rv_codec_r, rv_fmt_frd_frs1 },
> +    { "fabs.q", rv_codec_r, rv_fmt_frd_frs1 },
> +    { "fneg.q", rv_codec_r, rv_fmt_frd_frs1 },
> +    { "beqz", rv_codec_sb, rv_fmt_rs1_offset },
> +    { "bnez", rv_codec_sb, rv_fmt_rs1_offset },
> +    { "blez", rv_codec_sb, rv_fmt_rs2_offset },
> +    { "bgez", rv_codec_sb, rv_fmt_rs1_offset },
> +    { "bltz", rv_codec_sb, rv_fmt_rs1_offset },
> +    { "bgtz", rv_codec_sb, rv_fmt_rs2_offset },
> +    { "ble", rv_codec_sb, rv_fmt_rs2_rs1_offset },
> +    { "bleu", rv_codec_sb, rv_fmt_rs2_rs1_offset },
> +    { "bgt", rv_codec_sb, rv_fmt_rs2_rs1_offset },
> +    { "bgtu", rv_codec_sb, rv_fmt_rs2_rs1_offset },
> +    { "j", rv_codec_uj, rv_fmt_offset },
> +    { "ret", rv_codec_i, rv_fmt_none },
> +    { "jr", rv_codec_i, rv_fmt_rs1 },
> +    { "rdcycle", rv_codec_i_csr, rv_fmt_rd },
> +    { "rdtime", rv_codec_i_csr, rv_fmt_rd },
> +    { "rdinstret", rv_codec_i_csr, rv_fmt_rd },
> +    { "rdcycleh", rv_codec_i_csr, rv_fmt_rd },
> +    { "rdtimeh", rv_codec_i_csr, rv_fmt_rd },
> +    { "rdinstreth", rv_codec_i_csr, rv_fmt_rd },
> +    { "frcsr", rv_codec_i_csr, rv_fmt_rd },
> +    { "frrm", rv_codec_i_csr, rv_fmt_rd },
> +    { "frflags", rv_codec_i_csr, rv_fmt_rd },
> +    { "fscsr", rv_codec_i_csr, rv_fmt_rd_rs1 },
> +    { "fsrm", rv_codec_i_csr, rv_fmt_rd_rs1 },
> +    { "fsflags", rv_codec_i_csr, rv_fmt_rd_rs1 },
> +    { "fsrmi", rv_codec_i_csr, rv_fmt_rd_zimm },
> +    { "fsflagsi", rv_codec_i_csr, rv_fmt_rd_zimm },
> +    { "bseti", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
> +    { "bclri", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
> +    { "binvi", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
> +    { "bexti", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
> +    { "rori", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
> +    { "clz", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "ctz", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "cpop", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "sext.h", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "sext.b", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "xnor", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "orn", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "andn", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "rol", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "ror", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sh1add", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sh2add", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sh3add", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sh1add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sh2add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sh3add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "clmul", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "clmulr", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "clmulh", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "min", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "minu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "max", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "maxu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "clzw", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "ctzw", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "cpopw", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "slli.uw", rv_codec_i_sh6, rv_fmt_rd_rs1_imm },
> +    { "add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "rolw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "rorw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "rev8", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "zext.h", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "roriw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm },
> +    { "orc.b", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "bset", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "bclr", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "binv", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "bext", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "aes32esmi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
> +    { "aes32esi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
> +    { "aes32dsmi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
> +    { "aes32dsi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
> +    { "aes64ks1i", rv_codec_k_rnum, rv_fmt_rd_rs1_rnum },
> +    { "aes64ks2", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "aes64im", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "aes64esm", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "aes64es", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "aes64dsm", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "aes64ds", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sha256sig0", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "sha256sig1", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "sha256sum0", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "sha256sum1", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "sha512sig0", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sha512sig1", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sha512sum0", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sha512sum1", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sha512sum0r", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sha512sum1r", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sha512sig0l", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sha512sig0h", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sha512sig1l", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sha512sig1h", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "sm3p0", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "sm3p1", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "sm4ed", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
> +    { "sm4ks", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
> +    { "brev8", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "pack", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "packh", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "packw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "unzip", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "zip", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "xperm4", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "xperm8", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "vle8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vle16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vle32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vle64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vse8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vse16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vse32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vse64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vlm.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vsm.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vlse8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
> +    { "vlse16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
> +    { "vlse32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
> +    { "vlse64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
> +    { "vsse8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
> +    { "vsse16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
> +    { "vsse32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
> +    { "vsse64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
> +    { "vluxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vluxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vluxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vluxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vloxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vloxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vloxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vloxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vsuxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vsuxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vsuxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vsuxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vsoxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vsoxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vsoxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vsoxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
> +    { "vle8ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vle16ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vle32ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vle64ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl1re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl1re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl1re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl1re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl2re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl2re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl2re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl2re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl4re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl4re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl4re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl4re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl8re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl8re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl8re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vl8re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vs1r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vs2r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vs4r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vs8r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
> +    { "vadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vadd.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
> +    { "vsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vrsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vrsub.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
> +    { "vwaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vwadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vwsubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwsubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vwsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vwaddu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwaddu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vwadd.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwadd.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vwsubu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwsubu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vwsub.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwsub.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vadc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
> +    { "vadc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
> +    { "vadc.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl },
> +    { "vmadc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
> +    { "vmadc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
> +    { "vmadc.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl },
> +    { "vsbc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
> +    { "vsbc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
> +    { "vmsbc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
> +    { "vmsbc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
> +    { "vand.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vand.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vand.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
> +    { "vor.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vor.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vor.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
> +    { "vxor.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vxor.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vxor.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
> +    { "vsll.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vsll.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vsll.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
> +    { "vsrl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vsrl.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vsrl.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
> +    { "vsra.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vsra.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vsra.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
> +    { "vnsrl.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vnsrl.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vnsrl.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
> +    { "vnsra.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vnsra.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vnsra.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
> +    { "vmseq.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmseq.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmseq.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
> +    { "vmsne.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmsne.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmsne.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
> +    { "vmsltu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmsltu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmslt.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmslt.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmsleu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmsleu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmsleu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
> +    { "vmsle.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmsle.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmsle.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
> +    { "vmsgtu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmsgtu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
> +    { "vmsgt.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmsgt.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
> +    { "vminu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vminu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmin.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmin.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmaxu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmaxu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmax.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmax.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmulh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmulh.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmulhu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmulhu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmulhsu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmulhsu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vdivu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vdivu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vdiv.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vdiv.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vremu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vremu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vrem.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vrem.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vwmulu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwmulu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vwmulsu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwmulsu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vwmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vmacc.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
> +    { "vnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vnmsac.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
> +    { "vmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vmadd.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
> +    { "vnmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vnmsub.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
> +    { "vwmaccu.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vwmaccu.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
> +    { "vwmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vwmacc.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
> +    { "vwmaccsu.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vwmaccsu.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
> +    { "vwmaccus.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
> +    { "vmv.v.v", rv_codec_v_r, rv_fmt_vd_vs1 },
> +    { "vmv.v.x", rv_codec_v_r, rv_fmt_vd_rs1 },
> +    { "vmv.v.i", rv_codec_v_i, rv_fmt_vd_imm },
> +    { "vmerge.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
> +    { "vmerge.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
> +    { "vmerge.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl },
> +    { "vsaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vsaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vsaddu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
> +    { "vsadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vsadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vsadd.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
> +    { "vssubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vssubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vssub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vssub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vaadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vaadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vaaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vaaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vasub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vasub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vasubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vasubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vsmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vsmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vssrl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vssrl.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vssrl.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
> +    { "vssra.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vssra.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vssra.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
> +    { "vnclipu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vnclipu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vnclipu.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
> +    { "vnclip.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vnclip.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vnclip.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
> +    { "vfadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfadd.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfrsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfwadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfwadd.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfwadd.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfwadd.wf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfwsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfwsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfwsub.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfwsub.wf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfmul.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfdiv.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfdiv.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfrdiv.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfwmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfwmul.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vfmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
> +    { "vfnmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vfnmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
> +    { "vfmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vfmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
> +    { "vfnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vfnmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
> +    { "vfmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vfmadd.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
> +    { "vfnmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vfnmadd.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
> +    { "vfmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vfmsub.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
> +    { "vfnmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vfnmsub.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
> +    { "vfwmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vfwmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
> +    { "vfwnmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vfwnmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
> +    { "vfwmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vfwmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
> +    { "vfwnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vfwnmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
> +    { "vfsqrt.v", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vfrsqrt7.v", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vfrec7.v", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vfmin.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfmin.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfmax.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfmax.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfsgnj.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfsgnj.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfsgnjn.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfsgnjn.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfsgnjx.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfsgnjx.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfslide1up.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfslide1down.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vmfeq.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmfeq.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vmfne.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmfne.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vmflt.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmflt.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vmfle.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmfle.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vmfgt.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vmfge.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
> +    { "vfclass.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfmerge.vfm", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vl },
> +    { "vfmv.v.f", rv_codec_v_r, rv_fmt_vd_fs1 },
> +    { "vfcvt.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfcvt.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfcvt.f.xu.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfcvt.f.x.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfcvt.rtz.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfcvt.rtz.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfwcvt.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfwcvt.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfwcvt.f.xu.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfwcvt.f.x.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfwcvt.f.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfwcvt.rtz.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfwcvt.rtz.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfncvt.xu.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfncvt.x.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfncvt.f.xu.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfncvt.f.x.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfncvt.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfncvt.rod.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfncvt.rtz.xu.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfncvt.rtz.x.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vredsum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vredand.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vredor.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vredxor.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vredminu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vredmin.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vredmaxu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vredmax.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwredsumu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwredsum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfredusum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfredosum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfredmin.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfredmax.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfwredusum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vfwredosum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmand.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmnand.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmandn.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmxor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmnor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmorn.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vmxnor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vcpop.m", rv_codec_v_r, rv_fmt_rd_vs2_vm },
> +    { "vfirst.m", rv_codec_v_r, rv_fmt_rd_vs2_vm },
> +    { "vmsbf.m", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vmsif.m", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vmsof.m", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "viota.m", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vid.v", rv_codec_v_r, rv_fmt_vd_vm },
> +    { "vmv.x.s", rv_codec_v_r, rv_fmt_rd_vs2 },
> +    { "vmv.s.x", rv_codec_v_r, rv_fmt_vd_rs1 },
> +    { "vfmv.f.s", rv_codec_v_r, rv_fmt_fd_vs2 },
> +    { "vfmv.s.f", rv_codec_v_r, rv_fmt_vd_fs1 },
> +    { "vslideup.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vslideup.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
> +    { "vslide1up.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vslidedown.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vslidedown.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
> +    { "vslide1down.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vrgather.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vrgatherei16.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vrgather.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vrgather.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
> +    { "vcompress.vm", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
> +    { "vmv1r.v", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vmv2r.v", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vmv4r.v", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vmv8r.v", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vzext.vf2", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vzext.vf4", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vzext.vf8", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vsext.vf2", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vsext.vf4", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vsext.vf8", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vsetvli", rv_codec_vsetvli, rv_fmt_vsetvli },
> +    { "vsetivli", rv_codec_vsetivli, rv_fmt_vsetivli },
> +    { "vsetvl", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "c.zext.b", rv_codec_zcb_ext, rv_fmt_rd },
> +    { "c.sext.b", rv_codec_zcb_ext, rv_fmt_rd },
> +    { "c.zext.h", rv_codec_zcb_ext, rv_fmt_rd },
> +    { "c.sext.h", rv_codec_zcb_ext, rv_fmt_rd },
> +    { "c.zext.w", rv_codec_zcb_ext, rv_fmt_rd },
> +    { "c.not", rv_codec_zcb_ext, rv_fmt_rd },
> +    { "c.mul", rv_codec_zcb_mul, rv_fmt_rd_rs2 },
> +    { "c.lbu", rv_codec_zcb_lb, rv_fmt_rs1_rs2_zce_ldst },
> +    { "c.lhu", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst },
> +    { "c.lh", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst },
> +    { "c.sb", rv_codec_zcb_lb, rv_fmt_rs1_rs2_zce_ldst },
> +    { "c.sh", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst },
> +    { "cm.push", rv_codec_zcmp_cm_pushpop, rv_fmt_push_rlist },
> +    { "cm.pop", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist },
> +    { "cm.popret", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist },
> +    { "cm.popretz", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist },
> +    { "cm.mva01s", rv_codec_zcmp_cm_mv, rv_fmt_rd_rs2 },
> +    { "cm.mvsa01", rv_codec_zcmp_cm_mv, rv_fmt_rd_rs2 },
> +    { "cm.jt", rv_codec_zcmt_jt, rv_fmt_zcmt_index },
> +    { "cm.jalt", rv_codec_zcmt_jt, rv_fmt_zcmt_index },
> +    { "czero.eqz", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "czero.nez", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "fcvt.bf16.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fcvt.s.bf16", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "vfncvtbf16.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfwcvtbf16.f.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vfwmaccbf16.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
> +    { "vfwmaccbf16.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
> +    { "flh", rv_codec_i, rv_fmt_frd_offset_rs1 },
> +    { "fsh", rv_codec_s, rv_fmt_frs2_offset_rs1 },
> +    { "fmv.h.x", rv_codec_r, rv_fmt_frd_rs1 },
> +    { "fmv.x.h", rv_codec_r, rv_fmt_rd_frs1 },
> +    { "fli.s", rv_codec_fli, rv_fmt_fli },
> +    { "fli.d", rv_codec_fli, rv_fmt_fli },
> +    { "fli.q", rv_codec_fli, rv_fmt_fli },
> +    { "fli.h", rv_codec_fli, rv_fmt_fli },
> +    { "fminm.s", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fmaxm.s", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fminm.d", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fmaxm.d", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fminm.q", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fmaxm.q", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fminm.h", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fmaxm.h", rv_codec_r, rv_fmt_frd_frs1_frs2 },
> +    { "fround.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "froundnx.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fround.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "froundnx.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fround.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "froundnx.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fround.h", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "froundnx.h", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
> +    { "fcvtmod.w.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
> +    { "fmvh.x.d", rv_codec_r, rv_fmt_rd_frs1 },
> +    { "fmvp.d.x", rv_codec_r, rv_fmt_frd_rs1_rs2 },
> +    { "fmvh.x.q", rv_codec_r, rv_fmt_rd_frs1 },
> +    { "fmvp.q.x", rv_codec_r, rv_fmt_frd_rs1_rs2 },
> +    { "fleq.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "fltq.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "fleq.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "fltq.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "fleq.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "fltq.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "fleq.h", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "fltq.h", rv_codec_r, rv_fmt_rd_frs1_frs2 },
> +    { "vaesdf.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vaesdf.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vaesdm.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vaesdm.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vaesef.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vaesef.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vaesem.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vaesem.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vaeskf1.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm },
> +    { "vaeskf2.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm },
> +    { "vaesz.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vandn.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vandn.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vbrev.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vbrev8.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vclmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vclmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vclmulh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vclmulh.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vclz.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vcpop.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vctz.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vghsh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
> +    { "vgmul.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vrev8.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
> +    { "vrol.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vrol.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vror.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vror.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vror.vi", rv_codec_vror_vi, rv_fmt_vd_vs2_uimm_vm },
> +    { "vsha2ch.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
> +    { "vsha2cl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
> +    { "vsha2ms.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
> +    { "vsm3c.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm },
> +    { "vsm3me.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
> +    { "vsm4k.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm },
> +    { "vsm4r.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vsm4r.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
> +    { "vwsll.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
> +    { "vwsll.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
> +    { "vwsll.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
> +    { "amocas.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amocas.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amocas.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "mop.r.0", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.1", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.2", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.3", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.4", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.5", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.6", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.7", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.8", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.9", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.10", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.11", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.12", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.13", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.14", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.15", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.16", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.17", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.18", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.19", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.20", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.21", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.22", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.23", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.24", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.25", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.26", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.27", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.28", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.29", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.30", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.r.31", rv_codec_r, rv_fmt_rd_rs1 },
> +    { "mop.rr.0", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "mop.rr.1", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "mop.rr.2", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "mop.rr.3", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "mop.rr.4", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "mop.rr.5", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "mop.rr.6", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "mop.rr.7", rv_codec_r, rv_fmt_rd_rs1_rs2 },
> +    { "c.mop.1", rv_codec_ci_none, rv_fmt_none },
> +    { "c.mop.3", rv_codec_ci_none, rv_fmt_none },
> +    { "c.mop.5", rv_codec_ci_none, rv_fmt_none },
> +    { "c.mop.7", rv_codec_ci_none, rv_fmt_none },
> +    { "c.mop.9", rv_codec_ci_none, rv_fmt_none },
> +    { "c.mop.11", rv_codec_ci_none, rv_fmt_none },
> +    { "c.mop.13", rv_codec_ci_none, rv_fmt_none },
> +    { "c.mop.15", rv_codec_ci_none, rv_fmt_none },
> +    { "amoswap.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoadd.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoxor.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoor.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoand.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomin.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomax.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amominu.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomaxu.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoswap.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoadd.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoxor.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoor.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amoand.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomin.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomax.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amominu.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amomaxu.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amocas.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "amocas.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "wrs.sto", rv_codec_none, rv_fmt_none },
> +    { "wrs.nto", rv_codec_none, rv_fmt_none },
> +    { "lpad", rv_codec_lp, rv_fmt_imm },
> +    { "sspush", rv_codec_r, rv_fmt_rs2 },
> +    { "sspopchk", rv_codec_r, rv_fmt_rs1 },
> +    { "ssrdp", rv_codec_r, rv_fmt_rd },
> +    { "ssamoswap.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
> +    { "ssamoswap.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
>      { "c.sspush", rv_codec_cmop_ss, rv_fmt_rs2, NULL, rv_op_sspush,
>        rv_op_sspush, 0 },
>      { "c.sspopchk", rv_codec_cmop_ss, rv_fmt_rs1, NULL,
> rv_op_sspopchk,
>        rv_op_sspopchk, 0 },
> -   { "cbo.inval", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -   { "cbo.clean", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -   { "cbo.flush", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -   { "cbo.zero", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
> -   { "mnret", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
> +   { "cbo.inval", rv_codec_r, rv_fmt_rs1 },
> +   { "cbo.clean", rv_codec_r, rv_fmt_rs1 },
> +   { "cbo.flush", rv_codec_r, rv_fmt_rs1 },
> +   { "cbo.zero", rv_codec_r, rv_fmt_rs1 },
> +   { "mnret", rv_codec_none, rv_fmt_none },
>  };
>  
>  /* CSR names */
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.