@samitouri / QOSamiQemu / commits / a722ea32fa

disas/riscv: Split out riscv-op.c.inc

Move rvi_opcode_data to riscv-op.c.inc and massage the lines into OP() form. Unlike other files, keep the enumeration and the table intact for now, but build them both from the same source. Adjust the names of rv_*mop to include _op_ to match the general pattern. Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-ID: <20260812223142.349142-46-richard.henderson@linaro.org> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

Richard Henderson committed Aug 12, 2026 at 15:31 UTC a722ea32faf045f93a4dbc79f0e8f0bc0ef4b043
2 files changed +967 -1922
disas/riscv-op.c.inc new
+958
@@ -0,0 +1,958 @@
1 +OP(illegal, "illegal", rv_codec_none, rv_fmt_none)
2 +OP(lui, "lui", rv_codec_u, rv_fmt_rd_uimm)
3 +OP(auipc, "auipc", rv_codec_u, rv_fmt_rd_uoffset)
4 +OP(jal, "jal", rv_codec_uj, rv_fmt_rd_offset, rvcp_jal)
5 +OP(jalr, "jalr", rv_codec_i, rv_fmt_rd_rs1_offset, rvcp_jalr)
6 +OP(beq, "beq", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_beq)
7 +OP(bne, "bne", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bne)
8 +OP(blt, "blt", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_blt)
9 +OP(bge, "bge", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bge)
10 +OP(bltu, "bltu", rv_codec_sb, rv_fmt_rs1_rs2_offset)
11 +OP(bgeu, "bgeu", rv_codec_sb, rv_fmt_rs1_rs2_offset)
12 +OP(lb, "lb", rv_codec_i, rv_fmt_rd_offset_rs1)
13 +OP(lh, "lh", rv_codec_i, rv_fmt_rd_offset_rs1)
14 +OP(lw, "lw", rv_codec_i, rv_fmt_rd_offset_rs1)
15 +OP(lbu, "lbu", rv_codec_i, rv_fmt_rd_offset_rs1)
16 +OP(lhu, "lhu", rv_codec_i, rv_fmt_rd_offset_rs1)
17 +OP(sb, "sb", rv_codec_s, rv_fmt_rs2_offset_rs1)
18 +OP(sh, "sh", rv_codec_s, rv_fmt_rs2_offset_rs1)
19 +OP(sw, "sw", rv_codec_s, rv_fmt_rs2_offset_rs1)
20 +OP(addi, "addi", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_addi)
21 +OP(slti, "slti", rv_codec_i, rv_fmt_rd_rs1_imm)
22 +OP(sltiu, "sltiu", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_sltiu)
23 +OP(xori, "xori", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_xori)
24 +OP(ori, "ori", rv_codec_i, rv_fmt_rd_rs1_imm)
25 +OP(andi, "andi", rv_codec_i, rv_fmt_rd_rs1_imm)
26 +OP(slli, "slli", rv_codec_i_sh7, rv_fmt_rd_rs1_imm)
27 +OP(srli, "srli", rv_codec_i_sh7, rv_fmt_rd_rs1_imm)
28 +OP(srai, "srai", rv_codec_i_sh7, rv_fmt_rd_rs1_imm)
29 +OP(add, "add", rv_codec_r, rv_fmt_rd_rs1_rs2)
30 +OP(sub, "sub", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_sub)
31 +OP(sll, "sll", rv_codec_r, rv_fmt_rd_rs1_rs2)
32 +OP(slt, "slt", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_slt)
33 +OP(sltu, "sltu", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_sltu)
34 +OP(xor, "xor", rv_codec_r, rv_fmt_rd_rs1_rs2)
35 +OP(srl, "srl", rv_codec_r, rv_fmt_rd_rs1_rs2)
36 +OP(sra, "sra", rv_codec_r, rv_fmt_rd_rs1_rs2)
37 +OP(or, "or", rv_codec_r, rv_fmt_rd_rs1_rs2)
38 +OP(and, "and", rv_codec_r, rv_fmt_rd_rs1_rs2)
39 +OP(fence, "fence", rv_codec_r_f, rv_fmt_pred_succ)
40 +OP(fence_i, "fence.i", rv_codec_none, rv_fmt_none)
41 +OP(lwu, "lwu", rv_codec_i, rv_fmt_rd_offset_rs1)
42 +OP(ld, "ld", rv_codec_i, rv_fmt_rd_offset_rs1)
43 +OP(sd, "sd", rv_codec_s, rv_fmt_rs2_offset_rs1)
44 +OP(addiw, "addiw", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_addiw)
45 +OP(slliw, "slliw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm)
46 +OP(srliw, "srliw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm)
47 +OP(sraiw, "sraiw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm)
48 +OP(addw, "addw", rv_codec_r, rv_fmt_rd_rs1_rs2)
49 +OP(subw, "subw", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_subw)
50 +OP(sllw, "sllw", rv_codec_r, rv_fmt_rd_rs1_rs2)
51 +OP(srlw, "srlw", rv_codec_r, rv_fmt_rd_rs1_rs2)
52 +OP(sraw, "sraw", rv_codec_r, rv_fmt_rd_rs1_rs2)
53 +OP(ldu, "ldu", rv_codec_i, rv_fmt_rd_offset_rs1)
54 +OP(lq, "lq", rv_codec_i, rv_fmt_rd_offset_rs1)
55 +OP(sq, "sq", rv_codec_s, rv_fmt_rs2_offset_rs1)
56 +OP(addid, "addid", rv_codec_i, rv_fmt_rd_rs1_imm)
57 +OP(sllid, "sllid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm)
58 +OP(srlid, "srlid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm)
59 +OP(sraid, "sraid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm)
60 +OP(addd, "addd", rv_codec_r, rv_fmt_rd_rs1_rs2)
61 +OP(subd, "subd", rv_codec_r, rv_fmt_rd_rs1_rs2)
62 +OP(slld, "slld", rv_codec_r, rv_fmt_rd_rs1_rs2)
63 +OP(srld, "srld", rv_codec_r, rv_fmt_rd_rs1_rs2)
64 +OP(srad, "srad", rv_codec_r, rv_fmt_rd_rs1_rs2)
65 +OP(mul, "mul", rv_codec_r, rv_fmt_rd_rs1_rs2)
66 +OP(mulh, "mulh", rv_codec_r, rv_fmt_rd_rs1_rs2)
67 +OP(mulhsu, "mulhsu", rv_codec_r, rv_fmt_rd_rs1_rs2)
68 +OP(mulhu, "mulhu", rv_codec_r, rv_fmt_rd_rs1_rs2)
69 +OP(div, "div", rv_codec_r, rv_fmt_rd_rs1_rs2)
70 +OP(divu, "divu", rv_codec_r, rv_fmt_rd_rs1_rs2)
71 +OP(rem, "rem", rv_codec_r, rv_fmt_rd_rs1_rs2)
72 +OP(remu, "remu", rv_codec_r, rv_fmt_rd_rs1_rs2)
73 +OP(mulw, "mulw", rv_codec_r, rv_fmt_rd_rs1_rs2)
74 +OP(divw, "divw", rv_codec_r, rv_fmt_rd_rs1_rs2)
75 +OP(divuw, "divuw", rv_codec_r, rv_fmt_rd_rs1_rs2)
76 +OP(remw, "remw", rv_codec_r, rv_fmt_rd_rs1_rs2)
77 +OP(remuw, "remuw", rv_codec_r, rv_fmt_rd_rs1_rs2)
78 +OP(muld, "muld", rv_codec_r, rv_fmt_rd_rs1_rs2)
79 +OP(divd, "divd", rv_codec_r, rv_fmt_rd_rs1_rs2)
80 +OP(divud, "divud", rv_codec_r, rv_fmt_rd_rs1_rs2)
81 +OP(remd, "remd", rv_codec_r, rv_fmt_rd_rs1_rs2)
82 +OP(remud, "remud", rv_codec_r, rv_fmt_rd_rs1_rs2)
83 +OP(lr_w, "lr.w", rv_codec_r_l, rv_fmt_aqrl_rd_rs1)
84 +OP(sc_w, "sc.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
85 +OP(amoswap_w, "amoswap.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
86 +OP(amoadd_w, "amoadd.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
87 +OP(amoxor_w, "amoxor.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
88 +OP(amoor_w, "amoor.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
89 +OP(amoand_w, "amoand.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
90 +OP(amomin_w, "amomin.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
91 +OP(amomax_w, "amomax.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
92 +OP(amominu_w, "amominu.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
93 +OP(amomaxu_w, "amomaxu.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
94 +OP(lr_d, "lr.d", rv_codec_r_l, rv_fmt_aqrl_rd_rs1)
95 +OP(sc_d, "sc.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
96 +OP(amoswap_d, "amoswap.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
97 +OP(amoadd_d, "amoadd.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
98 +OP(amoxor_d, "amoxor.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
99 +OP(amoor_d, "amoor.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
100 +OP(amoand_d, "amoand.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
101 +OP(amomin_d, "amomin.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
102 +OP(amomax_d, "amomax.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
103 +OP(amominu_d, "amominu.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
104 +OP(amomaxu_d, "amomaxu.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
105 +OP(lr_q, "lr.q", rv_codec_r_l, rv_fmt_aqrl_rd_rs1)
106 +OP(sc_q, "sc.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
107 +OP(amoswap_q, "amoswap.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
108 +OP(amoadd_q, "amoadd.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
109 +OP(amoxor_q, "amoxor.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
110 +OP(amoor_q, "amoor.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
111 +OP(amoand_q, "amoand.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
112 +OP(amomin_q, "amomin.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
113 +OP(amomax_q, "amomax.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
114 +OP(amominu_q, "amominu.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
115 +OP(amomaxu_q, "amomaxu.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
116 +OP(ecall, "ecall", rv_codec_none, rv_fmt_none)
117 +OP(ebreak, "ebreak", rv_codec_none, rv_fmt_none)
118 +OP(uret, "uret", rv_codec_none, rv_fmt_none)
119 +OP(sret, "sret", rv_codec_none, rv_fmt_none)
120 +OP(hret, "hret", rv_codec_none, rv_fmt_none)
121 +OP(mret, "mret", rv_codec_none, rv_fmt_none)
122 +OP(dret, "dret", rv_codec_none, rv_fmt_none)
123 +OP(sfence_vm, "sfence.vm", rv_codec_r, rv_fmt_rs1)
124 +OP(sfence_vma, "sfence.vma", rv_codec_r, rv_fmt_rs1_rs2)
125 +OP(wfi, "wfi", rv_codec_none, rv_fmt_none)
126 +OP(csrrw, "csrrw", rv_codec_i_csr, rv_fmt_rd_csr_rs1)
127 +OP(csrrs, "csrrs", rv_codec_i_csr, rv_fmt_rd_csr_rs1)
128 +OP(csrrc, "csrrc", rv_codec_i_csr, rv_fmt_rd_csr_rs1)
129 +OP(csrrwi, "csrrwi", rv_codec_i_csr, rv_fmt_rd_csr_zimm)
130 +OP(csrrsi, "csrrsi", rv_codec_i_csr, rv_fmt_rd_csr_zimm)
131 +OP(csrrci, "csrrci", rv_codec_i_csr, rv_fmt_rd_csr_zimm)
132 +OP(flw, "flw", rv_codec_i, rv_fmt_frd_offset_rs1)
133 +OP(fsw, "fsw", rv_codec_s, rv_fmt_frs2_offset_rs1)
134 +OP(fmadd_s, "fmadd.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3)
135 +OP(fmsub_s, "fmsub.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3)
136 +OP(fnmsub_s, "fnmsub.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3)
137 +OP(fnmadd_s, "fnmadd.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3)
138 +OP(fadd_s, "fadd.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2)
139 +OP(fsub_s, "fsub.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2)
140 +OP(fmul_s, "fmul.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2)
141 +OP(fdiv_s, "fdiv.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2)
142 +OP(fsgnj_s, "fsgnj.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_s)
143 +OP(fsgnjn_s, "fsgnjn.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_s)
144 +OP(fsgnjx_s, "fsgnjx.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_s)
145 +OP(fmin_s, "fmin.s", rv_codec_r, rv_fmt_frd_frs1_frs2)
146 +OP(fmax_s, "fmax.s", rv_codec_r, rv_fmt_frd_frs1_frs2)
147 +OP(fsqrt_s, "fsqrt.s", rv_codec_r_m, rv_fmt_rm_frd_frs1)
148 +OP(fle_s, "fle.s", rv_codec_r, rv_fmt_rd_frs1_frs2)
149 +OP(flt_s, "flt.s", rv_codec_r, rv_fmt_rd_frs1_frs2)
150 +OP(feq_s, "feq.s", rv_codec_r, rv_fmt_rd_frs1_frs2)
151 +OP(fcvt_w_s, "fcvt.w.s", rv_codec_r_m, rv_fmt_rm_rd_frs1)
152 +OP(fcvt_wu_s, "fcvt.wu.s", rv_codec_r_m, rv_fmt_rm_rd_frs1)
153 +OP(fcvt_s_w, "fcvt.s.w", rv_codec_r_m, rv_fmt_rm_frd_rs1)
154 +OP(fcvt_s_wu, "fcvt.s.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1)
155 +OP(fmv_x_s, "fmv.x.s", rv_codec_r, rv_fmt_rd_frs1)
156 +OP(fclass_s, "fclass.s", rv_codec_r, rv_fmt_rd_frs1)
157 +OP(fmv_s_x, "fmv.s.x", rv_codec_r, rv_fmt_frd_rs1)
158 +OP(fcvt_l_s, "fcvt.l.s", rv_codec_r_m, rv_fmt_rm_rd_frs1)
159 +OP(fcvt_lu_s, "fcvt.lu.s", rv_codec_r_m, rv_fmt_rm_rd_frs1)
160 +OP(fcvt_s_l, "fcvt.s.l", rv_codec_r_m, rv_fmt_rm_frd_rs1)
161 +OP(fcvt_s_lu, "fcvt.s.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1)
162 +OP(fld, "fld", rv_codec_i, rv_fmt_frd_offset_rs1)
163 +OP(fsd, "fsd", rv_codec_s, rv_fmt_frs2_offset_rs1)
164 +OP(fmadd_d, "fmadd.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3)
165 +OP(fmsub_d, "fmsub.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3)
166 +OP(fnmsub_d, "fnmsub.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3)
167 +OP(fnmadd_d, "fnmadd.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3)
168 +OP(fadd_d, "fadd.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2)
169 +OP(fsub_d, "fsub.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2)
170 +OP(fmul_d, "fmul.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2)
171 +OP(fdiv_d, "fdiv.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2)
172 +OP(fsgnj_d, "fsgnj.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_d)
173 +OP(fsgnjn_d, "fsgnjn.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_d)
174 +OP(fsgnjx_d, "fsgnjx.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_d)
175 +OP(fmin_d, "fmin.d", rv_codec_r, rv_fmt_frd_frs1_frs2)
176 +OP(fmax_d, "fmax.d", rv_codec_r, rv_fmt_frd_frs1_frs2)
177 +OP(fcvt_s_d, "fcvt.s.d", rv_codec_r_m, rv_fmt_rm_frd_frs1)
178 +OP(fcvt_d_s, "fcvt.d.s", rv_codec_r_m, rv_fmt_rm_frd_frs1)
179 +OP(fsqrt_d, "fsqrt.d", rv_codec_r_m, rv_fmt_rm_frd_frs1)
180 +OP(fle_d, "fle.d", rv_codec_r, rv_fmt_rd_frs1_frs2)
181 +OP(flt_d, "flt.d", rv_codec_r, rv_fmt_rd_frs1_frs2)
182 +OP(feq_d, "feq.d", rv_codec_r, rv_fmt_rd_frs1_frs2)
183 +OP(fcvt_w_d, "fcvt.w.d", rv_codec_r_m, rv_fmt_rm_rd_frs1)
184 +OP(fcvt_wu_d, "fcvt.wu.d", rv_codec_r_m, rv_fmt_rm_rd_frs1)
185 +OP(fcvt_d_w, "fcvt.d.w", rv_codec_r_m, rv_fmt_rm_frd_rs1)
186 +OP(fcvt_d_wu, "fcvt.d.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1)
187 +OP(fclass_d, "fclass.d", rv_codec_r, rv_fmt_rd_frs1)
188 +OP(fcvt_l_d, "fcvt.l.d", rv_codec_r_m, rv_fmt_rm_rd_frs1)
189 +OP(fcvt_lu_d, "fcvt.lu.d", rv_codec_r_m, rv_fmt_rm_rd_frs1)
190 +OP(fmv_x_d, "fmv.x.d", rv_codec_r, rv_fmt_rd_frs1)
191 +OP(fcvt_d_l, "fcvt.d.l", rv_codec_r_m, rv_fmt_rm_frd_rs1)
192 +OP(fcvt_d_lu, "fcvt.d.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1)
193 +OP(fmv_d_x, "fmv.d.x", rv_codec_r, rv_fmt_frd_rs1)
194 +OP(flq, "flq", rv_codec_i, rv_fmt_frd_offset_rs1)
195 +OP(fsq, "fsq", rv_codec_s, rv_fmt_frs2_offset_rs1)
196 +OP(fmadd_q, "fmadd.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3)
197 +OP(fmsub_q, "fmsub.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3)
198 +OP(fnmsub_q, "fnmsub.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3)
199 +OP(fnmadd_q, "fnmadd.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3)
200 +OP(fadd_q, "fadd.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2)
201 +OP(fsub_q, "fsub.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2)
202 +OP(fmul_q, "fmul.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2)
203 +OP(fdiv_q, "fdiv.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2)
204 +OP(fsgnj_q, "fsgnj.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_q)
205 +OP(fsgnjn_q, "fsgnjn.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_q)
206 +OP(fsgnjx_q, "fsgnjx.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_q)
207 +OP(fmin_q, "fmin.q", rv_codec_r, rv_fmt_frd_frs1_frs2)
208 +OP(fmax_q, "fmax.q", rv_codec_r, rv_fmt_frd_frs1_frs2)
209 +OP(fcvt_s_q, "fcvt.s.q", rv_codec_r_m, rv_fmt_rm_frd_frs1)
210 +OP(fcvt_q_s, "fcvt.q.s", rv_codec_r_m, rv_fmt_rm_frd_frs1)
211 +OP(fcvt_d_q, "fcvt.d.q", rv_codec_r_m, rv_fmt_rm_frd_frs1)
212 +OP(fcvt_q_d, "fcvt.q.d", rv_codec_r_m, rv_fmt_rm_frd_frs1)
213 +OP(fsqrt_q, "fsqrt.q", rv_codec_r_m, rv_fmt_rm_frd_frs1)
214 +OP(fle_q, "fle.q", rv_codec_r, rv_fmt_rd_frs1_frs2)
215 +OP(flt_q, "flt.q", rv_codec_r, rv_fmt_rd_frs1_frs2)
216 +OP(feq_q, "feq.q", rv_codec_r, rv_fmt_rd_frs1_frs2)
217 +OP(fcvt_w_q, "fcvt.w.q", rv_codec_r_m, rv_fmt_rm_rd_frs1)
218 +OP(fcvt_wu_q, "fcvt.wu.q", rv_codec_r_m, rv_fmt_rm_rd_frs1)
219 +OP(fcvt_q_w, "fcvt.q.w", rv_codec_r_m, rv_fmt_rm_frd_rs1)
220 +OP(fcvt_q_wu, "fcvt.q.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1)
221 +OP(fclass_q, "fclass.q", rv_codec_r, rv_fmt_rd_frs1)
222 +OP(fcvt_l_q, "fcvt.l.q", rv_codec_r_m, rv_fmt_rm_rd_frs1)
223 +OP(fcvt_lu_q, "fcvt.lu.q", rv_codec_r_m, rv_fmt_rm_rd_frs1)
224 +OP(fcvt_q_l, "fcvt.q.l", rv_codec_r_m, rv_fmt_rm_frd_rs1)
225 +OP(fcvt_q_lu, "fcvt.q.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1)
226 +OP(fmv_x_q, "fmv.x.q", rv_codec_r, rv_fmt_rd_frs1)
227 +OP(fmv_q_x, "fmv.q.x", rv_codec_r, rv_fmt_frd_rs1)
228 +OP(c_addi4spn, "c.addi4spn", rv_codec_ciw_4spn, NULL, DECOMP(rv_op_addi))
229 +OP(c_fld, "c.fld", rv_codec_cl_ld, NULL, DECOMP(rv_op_fld))
230 +OP(c_lw, "c.lw", rv_codec_cl_lw, NULL, DECOMP(rv_op_lw))
231 +OP(c_flw, "c.flw", rv_codec_cl_lw, NULL, DECOMP(rv_op_flw))
232 +OP(c_fsd, "c.fsd", rv_codec_cs_sd, NULL, DECOMP(rv_op_fsd))
233 +OP(c_sw, "c.sw", rv_codec_cs_sw, NULL, DECOMP(rv_op_sw))
234 +OP(c_fsw, "c.fsw", rv_codec_cs_sw, NULL, DECOMP(rv_op_fsw))
235 +OP(c_addi, "c.addi", rv_codec_ci, NULL, DECOMP(rv_op_addi))
236 +OP(c_jal, "c.jal", rv_codec_cj_jal, NULL, DECOMP(rv_op_jal))
237 +OP(c_li, "c.li", rv_codec_ci_li, NULL, DECOMP(rv_op_addi))
238 +OP(c_addi16sp, "c.addi16sp", rv_codec_ci_16sp, NULL, DECOMP(rv_op_addi))
239 +OP(c_lui, "c.lui", rv_codec_ci_lui, NULL, DECOMP(rv_op_lui))
240 +OP(c_srli, "c.srli", rv_codec_cb_sh6, NULL, DECOMP(rv_op_srli))
241 +OP(c_srai, "c.srai", rv_codec_cb_sh6, NULL, DECOMP(rv_op_srai))
242 +OP(c_andi, "c.andi", rv_codec_cb_imm, NULL, DECOMP(rv_op_andi))
243 +OP(c_sub, "c.sub", rv_codec_cs, NULL, DECOMP(rv_op_sub))
244 +OP(c_xor, "c.xor", rv_codec_cs, NULL, DECOMP(rv_op_xor))
245 +OP(c_or, "c.or", rv_codec_cs, NULL, DECOMP(rv_op_or))
246 +OP(c_and, "c.and", rv_codec_cs, NULL, DECOMP(rv_op_and))
247 +OP(c_subw, "c.subw", rv_codec_cs, NULL, DECOMP(rv_op_subw))
248 +OP(c_addw, "c.addw", rv_codec_cs, NULL, DECOMP(rv_op_addw))
249 +OP(c_j, "c.j", rv_codec_cj, NULL, DECOMP(rv_op_j))
250 +OP(c_beqz, "c.beqz", rv_codec_cb, NULL, DECOMP(rv_op_beqz))
251 +OP(c_bnez, "c.bnez", rv_codec_cb, NULL, DECOMP(rv_op_bnez))
252 +OP(c_slli, "c.slli", rv_codec_ci_sh6, NULL, DECOMP(rv_op_slli))
253 +OP(c_fldsp, "c.fldsp", rv_codec_ci_ldsp, NULL, DECOMP(rv_op_fld))
254 +OP(c_lwsp, "c.lwsp", rv_codec_ci_lwsp, NULL, DECOMP(rv_op_lw))
255 +OP(c_flwsp, "c.flwsp", rv_codec_ci_lwsp, NULL, DECOMP(rv_op_flw))
256 +OP(c_jr, "c.jr", rv_codec_cr_jr, NULL, DECOMP(rv_op_jr))
257 +OP(c_mv, "c.mv", rv_codec_cr_mv, NULL, DECOMP(rv_op_mv))
258 +OP(c_ebreak, "c.ebreak", rv_codec_ci_none, NULL, DECOMP(rv_op_ebreak))
259 +OP(c_jalr, "c.jalr", rv_codec_cr_jalr, NULL, DECOMP(rv_op_jalr))
260 +OP(c_add, "c.add", rv_codec_cr, NULL, DECOMP(rv_op_add))
261 +OP(c_fsdsp, "c.fsdsp", rv_codec_css_sdsp, NULL, DECOMP(rv_op_fsd))
262 +OP(c_swsp, "c.swsp", rv_codec_css_swsp, NULL, DECOMP(rv_op_sw))
263 +OP(c_fswsp, "c.fswsp", rv_codec_css_swsp, NULL, DECOMP(rv_op_fsw))
264 +OP(c_ld, "c.ld", rv_codec_cl_ld, NULL, DECOMP(rv_op_ld))
265 +OP(c_sd, "c.sd", rv_codec_cs_sd, NULL, DECOMP(rv_op_sd))
266 +OP(c_addiw, "c.addiw", rv_codec_ci, NULL, DECOMP(rv_op_addiw))
267 +OP(c_ldsp, "c.ldsp", rv_codec_ci_ldsp, NULL, DECOMP(rv_op_ld))
268 +OP(c_sdsp, "c.sdsp", rv_codec_css_sdsp, NULL, DECOMP(rv_op_sd))
269 +OP(c_lq, "c.lq", rv_codec_cl_lq, NULL, DECOMP(rv_op_lq))
270 +OP(c_sq, "c.sq", rv_codec_cs_sq, NULL, DECOMP(rv_op_sq))
271 +OP(c_lqsp, "c.lqsp", rv_codec_ci_lqsp, NULL, DECOMP(rv_op_lq))
272 +OP(c_sqsp, "c.sqsp", rv_codec_css_sqsp, NULL, DECOMP(rv_op_sq))
273 +OP(nop, "nop", rv_codec_illegal, rv_fmt_none)
274 +OP(mv, "mv", rv_codec_illegal, rv_fmt_rd_rs1, rvcp_mv)
275 +OP(not, "not", rv_codec_illegal, rv_fmt_rd_rs1)
276 +OP(neg, "neg", rv_codec_illegal, rv_fmt_rd_rs2)
277 +OP(negw, "negw", rv_codec_illegal, rv_fmt_rd_rs2)
278 +OP(sext_w, "sext.w", rv_codec_illegal, rv_fmt_rd_rs1)
279 +OP(seqz, "seqz", rv_codec_illegal, rv_fmt_rd_rs1)
280 +OP(snez, "snez", rv_codec_illegal, rv_fmt_rd_rs2)
281 +OP(sltz, "sltz", rv_codec_illegal, rv_fmt_rd_rs1)
282 +OP(sgtz, "sgtz", rv_codec_illegal, rv_fmt_rd_rs2)
283 +OP(fmv_s, "fmv.s", rv_codec_illegal, rv_fmt_frd_frs1)
284 +OP(fabs_s, "fabs.s", rv_codec_illegal, rv_fmt_frd_frs1)
285 +OP(fneg_s, "fneg.s", rv_codec_illegal, rv_fmt_frd_frs1)
286 +OP(fmv_d, "fmv.d", rv_codec_illegal, rv_fmt_frd_frs1)
287 +OP(fabs_d, "fabs.d", rv_codec_illegal, rv_fmt_frd_frs1)
288 +OP(fneg_d, "fneg.d", rv_codec_illegal, rv_fmt_frd_frs1)
289 +OP(fmv_q, "fmv.q", rv_codec_illegal, rv_fmt_frd_frs1)
290 +OP(fabs_q, "fabs.q", rv_codec_illegal, rv_fmt_frd_frs1)
291 +OP(fneg_q, "fneg.q", rv_codec_illegal, rv_fmt_frd_frs1)
292 +OP(beqz, "beqz", rv_codec_illegal, rv_fmt_rs1_offset)
293 +OP(bnez, "bnez", rv_codec_illegal, rv_fmt_rs1_offset)
294 +OP(blez, "blez", rv_codec_illegal, rv_fmt_rs2_offset)
295 +OP(bgez, "bgez", rv_codec_illegal, rv_fmt_rs1_offset)
296 +OP(bltz, "bltz", rv_codec_illegal, rv_fmt_rs1_offset)
297 +OP(bgtz, "bgtz", rv_codec_illegal, rv_fmt_rs2_offset)
298 +OP(jal_ra, "jal", rv_codec_illegal, rv_fmt_offset)
299 +OP(jalr_ra, "jalr", rv_codec_illegal, rv_fmt_rs1)
300 +OP(j, "j", rv_codec_illegal, rv_fmt_offset)
301 +OP(ret, "ret", rv_codec_illegal, rv_fmt_none)
302 +OP(jr, "jr", rv_codec_illegal, rv_fmt_rs1, rvcp_jr)
303 +OP(rdcycle, "rdcycle", rv_codec_i_csr, rv_fmt_rd)
304 +OP(rdtime, "rdtime", rv_codec_i_csr, rv_fmt_rd)
305 +OP(rdinstret, "rdinstret", rv_codec_i_csr, rv_fmt_rd)
306 +OP(rdcycleh, "rdcycleh", rv_codec_i_csr, rv_fmt_rd)
307 +OP(rdtimeh, "rdtimeh", rv_codec_i_csr, rv_fmt_rd)
308 +OP(rdinstreth, "rdinstreth", rv_codec_i_csr, rv_fmt_rd)
309 +OP(frcsr, "frcsr", rv_codec_i_csr, rv_fmt_rd)
310 +OP(frrm, "frrm", rv_codec_i_csr, rv_fmt_rd)
311 +OP(frflags, "frflags", rv_codec_i_csr, rv_fmt_rd)
312 +OP(fscsr, "fscsr", rv_codec_i_csr, rv_fmt_rd_rs1)
313 +OP(fsrm, "fsrm", rv_codec_i_csr, rv_fmt_rd_rs1)
314 +OP(fsflags, "fsflags", rv_codec_i_csr, rv_fmt_rd_rs1)
315 +OP(fsrmi, "fsrmi", rv_codec_i_csr, rv_fmt_rd_zimm)
316 +OP(fsflagsi, "fsflagsi", rv_codec_i_csr, rv_fmt_rd_zimm)
317 +OP(bseti, "bseti", rv_codec_i_sh7, rv_fmt_rd_rs1_imm)
318 +OP(bclri, "bclri", rv_codec_i_sh7, rv_fmt_rd_rs1_imm)
319 +OP(binvi, "binvi", rv_codec_i_sh7, rv_fmt_rd_rs1_imm)
320 +OP(bexti, "bexti", rv_codec_i_sh7, rv_fmt_rd_rs1_imm)
321 +OP(rori, "rori", rv_codec_i_sh7, rv_fmt_rd_rs1_imm)
322 +OP(clz, "clz", rv_codec_r, rv_fmt_rd_rs1)
323 +OP(ctz, "ctz", rv_codec_r, rv_fmt_rd_rs1)
324 +OP(cpop, "cpop", rv_codec_r, rv_fmt_rd_rs1)
325 +OP(sext_h, "sext.h", rv_codec_r, rv_fmt_rd_rs1)
326 +OP(sext_b, "sext.b", rv_codec_r, rv_fmt_rd_rs1)
327 +OP(xnor, "xnor", rv_codec_r, rv_fmt_rd_rs1_rs2)
328 +OP(orn, "orn", rv_codec_r, rv_fmt_rd_rs1_rs2)
329 +OP(andn, "andn", rv_codec_r, rv_fmt_rd_rs1_rs2)
330 +OP(rol, "rol", rv_codec_r, rv_fmt_rd_rs1_rs2)
331 +OP(ror, "ror", rv_codec_r, rv_fmt_rd_rs1_rs2)
332 +OP(sh1add, "sh1add", rv_codec_r, rv_fmt_rd_rs1_rs2)
333 +OP(sh2add, "sh2add", rv_codec_r, rv_fmt_rd_rs1_rs2)
334 +OP(sh3add, "sh3add", rv_codec_r, rv_fmt_rd_rs1_rs2)
335 +OP(sh1add_uw, "sh1add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2)
336 +OP(sh2add_uw, "sh2add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2)
337 +OP(sh3add_uw, "sh3add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2)
338 +OP(clmul, "clmul", rv_codec_r, rv_fmt_rd_rs1_rs2)
339 +OP(clmulr, "clmulr", rv_codec_r, rv_fmt_rd_rs1_rs2)
340 +OP(clmulh, "clmulh", rv_codec_r, rv_fmt_rd_rs1_rs2)
341 +OP(min, "min", rv_codec_r, rv_fmt_rd_rs1_rs2)
342 +OP(minu, "minu", rv_codec_r, rv_fmt_rd_rs1_rs2)
343 +OP(max, "max", rv_codec_r, rv_fmt_rd_rs1_rs2)
344 +OP(maxu, "maxu", rv_codec_r, rv_fmt_rd_rs1_rs2)
345 +OP(clzw, "clzw", rv_codec_r, rv_fmt_rd_rs1)
346 +OP(ctzw, "ctzw", rv_codec_r, rv_fmt_rd_rs1)
347 +OP(cpopw, "cpopw", rv_codec_r, rv_fmt_rd_rs1)
348 +OP(slli_uw, "slli.uw", rv_codec_i_sh6, rv_fmt_rd_rs1_imm)
349 +OP(add_uw, "add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2)
350 +OP(rolw, "rolw", rv_codec_r, rv_fmt_rd_rs1_rs2)
351 +OP(rorw, "rorw", rv_codec_r, rv_fmt_rd_rs1_rs2)
352 +OP(rev8, "rev8", rv_codec_r, rv_fmt_rd_rs1)
353 +OP(zext_h, "zext.h", rv_codec_r, rv_fmt_rd_rs1)
354 +OP(roriw, "roriw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm)
355 +OP(orc_b, "orc.b", rv_codec_r, rv_fmt_rd_rs1)
356 +OP(bset, "bset", rv_codec_r, rv_fmt_rd_rs1_rs2)
357 +OP(bclr, "bclr", rv_codec_r, rv_fmt_rd_rs1_rs2)
358 +OP(binv, "binv", rv_codec_r, rv_fmt_rd_rs1_rs2)
359 +OP(bext, "bext", rv_codec_r, rv_fmt_rd_rs1_rs2)
360 +OP(aes32esmi, "aes32esmi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs)
361 +OP(aes32esi, "aes32esi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs)
362 +OP(aes32dsmi, "aes32dsmi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs)
363 +OP(aes32dsi, "aes32dsi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs)
364 +OP(aes64ks1i, "aes64ks1i", rv_codec_k_rnum, rv_fmt_rd_rs1_rnum)
365 +OP(aes64ks2, "aes64ks2", rv_codec_r, rv_fmt_rd_rs1_rs2)
366 +OP(aes64im, "aes64im", rv_codec_r, rv_fmt_rd_rs1)
367 +OP(aes64esm, "aes64esm", rv_codec_r, rv_fmt_rd_rs1_rs2)
368 +OP(aes64es, "aes64es", rv_codec_r, rv_fmt_rd_rs1_rs2)
369 +OP(aes64dsm, "aes64dsm", rv_codec_r, rv_fmt_rd_rs1_rs2)
370 +OP(aes64ds, "aes64ds", rv_codec_r, rv_fmt_rd_rs1_rs2)
371 +OP(sha256sig0, "sha256sig0", rv_codec_r, rv_fmt_rd_rs1)
372 +OP(sha256sig1, "sha256sig1", rv_codec_r, rv_fmt_rd_rs1)
373 +OP(sha256sum0, "sha256sum0", rv_codec_r, rv_fmt_rd_rs1)
374 +OP(sha256sum1, "sha256sum1", rv_codec_r, rv_fmt_rd_rs1)
375 +OP(sha512sig0, "sha512sig0", rv_codec_r, rv_fmt_rd_rs1_rs2)
376 +OP(sha512sig1, "sha512sig1", rv_codec_r, rv_fmt_rd_rs1_rs2)
377 +OP(sha512sum0, "sha512sum0", rv_codec_r, rv_fmt_rd_rs1_rs2)
378 +OP(sha512sum1, "sha512sum1", rv_codec_r, rv_fmt_rd_rs1_rs2)
379 +OP(sha512sum0r, "sha512sum0r", rv_codec_r, rv_fmt_rd_rs1_rs2)
380 +OP(sha512sum1r, "sha512sum1r", rv_codec_r, rv_fmt_rd_rs1_rs2)
381 +OP(sha512sig0l, "sha512sig0l", rv_codec_r, rv_fmt_rd_rs1_rs2)
382 +OP(sha512sig0h, "sha512sig0h", rv_codec_r, rv_fmt_rd_rs1_rs2)
383 +OP(sha512sig1l, "sha512sig1l", rv_codec_r, rv_fmt_rd_rs1_rs2)
384 +OP(sha512sig1h, "sha512sig1h", rv_codec_r, rv_fmt_rd_rs1_rs2)
385 +OP(sm3p0, "sm3p0", rv_codec_r, rv_fmt_rd_rs1)
386 +OP(sm3p1, "sm3p1", rv_codec_r, rv_fmt_rd_rs1)
387 +OP(sm4ed, "sm4ed", rv_codec_k_bs, rv_fmt_rs1_rs2_bs)
388 +OP(sm4ks, "sm4ks", rv_codec_k_bs, rv_fmt_rs1_rs2_bs)
389 +OP(brev8, "brev8", rv_codec_r, rv_fmt_rd_rs1)
390 +OP(pack, "pack", rv_codec_r, rv_fmt_rd_rs1_rs2)
391 +OP(packh, "packh", rv_codec_r, rv_fmt_rd_rs1_rs2)
392 +OP(packw, "packw", rv_codec_r, rv_fmt_rd_rs1_rs2)
393 +OP(unzip, "unzip", rv_codec_r, rv_fmt_rd_rs1)
394 +OP(zip, "zip", rv_codec_r, rv_fmt_rd_rs1)
395 +OP(xperm4, "xperm4", rv_codec_r, rv_fmt_rd_rs1_rs2)
396 +OP(xperm8, "xperm8", rv_codec_r, rv_fmt_rd_rs1)
397 +OP(vle8_v, "vle8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
398 +OP(vle16_v, "vle16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
399 +OP(vle32_v, "vle32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
400 +OP(vle64_v, "vle64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
401 +OP(vse8_v, "vse8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
402 +OP(vse16_v, "vse16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
403 +OP(vse32_v, "vse32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
404 +OP(vse64_v, "vse64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
405 +OP(vlm_v, "vlm.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
406 +OP(vsm_v, "vsm.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
407 +OP(vlse8_v, "vlse8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm)
408 +OP(vlse16_v, "vlse16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm)
409 +OP(vlse32_v, "vlse32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm)
410 +OP(vlse64_v, "vlse64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm)
411 +OP(vsse8_v, "vsse8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm)
412 +OP(vsse16_v, "vsse16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm)
413 +OP(vsse32_v, "vsse32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm)
414 +OP(vsse64_v, "vsse64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm)
415 +OP(vluxei8_v, "vluxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
416 +OP(vluxei16_v, "vluxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
417 +OP(vluxei32_v, "vluxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
418 +OP(vluxei64_v, "vluxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
419 +OP(vloxei8_v, "vloxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
420 +OP(vloxei16_v, "vloxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
421 +OP(vloxei32_v, "vloxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
422 +OP(vloxei64_v, "vloxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
423 +OP(vsuxei8_v, "vsuxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
424 +OP(vsuxei16_v, "vsuxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
425 +OP(vsuxei32_v, "vsuxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
426 +OP(vsuxei64_v, "vsuxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
427 +OP(vsoxei8_v, "vsoxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
428 +OP(vsoxei16_v, "vsoxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
429 +OP(vsoxei32_v, "vsoxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
430 +OP(vsoxei64_v, "vsoxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm)
431 +OP(vle8ff_v, "vle8ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
432 +OP(vle16ff_v, "vle16ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
433 +OP(vle32ff_v, "vle32ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
434 +OP(vle64ff_v, "vle64ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
435 +OP(vl1re8_v, "vl1re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
436 +OP(vl1re16_v, "vl1re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
437 +OP(vl1re32_v, "vl1re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
438 +OP(vl1re64_v, "vl1re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
439 +OP(vl2re8_v, "vl2re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
440 +OP(vl2re16_v, "vl2re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
441 +OP(vl2re32_v, "vl2re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
442 +OP(vl2re64_v, "vl2re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
443 +OP(vl4re8_v, "vl4re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
444 +OP(vl4re16_v, "vl4re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
445 +OP(vl4re32_v, "vl4re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
446 +OP(vl4re64_v, "vl4re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
447 +OP(vl8re8_v, "vl8re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
448 +OP(vl8re16_v, "vl8re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
449 +OP(vl8re32_v, "vl8re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
450 +OP(vl8re64_v, "vl8re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
451 +OP(vs1r_v, "vs1r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
452 +OP(vs2r_v, "vs2r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
453 +OP(vs4r_v, "vs4r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
454 +OP(vs8r_v, "vs8r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm)
455 +OP(vadd_vv, "vadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
456 +OP(vadd_vx, "vadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
457 +OP(vadd_vi, "vadd.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm)
458 +OP(vsub_vv, "vsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
459 +OP(vsub_vx, "vsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
460 +OP(vrsub_vx, "vrsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
461 +OP(vrsub_vi, "vrsub.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm)
462 +OP(vwaddu_vv, "vwaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
463 +OP(vwaddu_vx, "vwaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
464 +OP(vwadd_vv, "vwadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
465 +OP(vwadd_vx, "vwadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
466 +OP(vwsubu_vv, "vwsubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
467 +OP(vwsubu_vx, "vwsubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
468 +OP(vwsub_vv, "vwsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
469 +OP(vwsub_vx, "vwsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
470 +OP(vwaddu_wv, "vwaddu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
471 +OP(vwaddu_wx, "vwaddu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
472 +OP(vwadd_wv, "vwadd.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
473 +OP(vwadd_wx, "vwadd.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
474 +OP(vwsubu_wv, "vwsubu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
475 +OP(vwsubu_wx, "vwsubu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
476 +OP(vwsub_wv, "vwsub.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
477 +OP(vwsub_wx, "vwsub.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
478 +OP(vadc_vvm, "vadc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl)
479 +OP(vadc_vxm, "vadc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl)
480 +OP(vadc_vim, "vadc.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl)
481 +OP(vmadc_vvm, "vmadc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl)
482 +OP(vmadc_vxm, "vmadc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl)
483 +OP(vmadc_vim, "vmadc.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl)
484 +OP(vsbc_vvm, "vsbc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl)
485 +OP(vsbc_vxm, "vsbc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl)
486 +OP(vmsbc_vvm, "vmsbc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl)
487 +OP(vmsbc_vxm, "vmsbc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl)
488 +OP(vand_vv, "vand.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
489 +OP(vand_vx, "vand.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
490 +OP(vand_vi, "vand.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm)
491 +OP(vor_vv, "vor.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
492 +OP(vor_vx, "vor.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
493 +OP(vor_vi, "vor.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm)
494 +OP(vxor_vv, "vxor.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
495 +OP(vxor_vx, "vxor.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
496 +OP(vxor_vi, "vxor.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm)
497 +OP(vsll_vv, "vsll.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
498 +OP(vsll_vx, "vsll.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
499 +OP(vsll_vi, "vsll.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm)
500 +OP(vsrl_vv, "vsrl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
501 +OP(vsrl_vx, "vsrl.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
502 +OP(vsrl_vi, "vsrl.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm)
503 +OP(vsra_vv, "vsra.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
504 +OP(vsra_vx, "vsra.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
505 +OP(vsra_vi, "vsra.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm)
506 +OP(vnsrl_wv, "vnsrl.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
507 +OP(vnsrl_wx, "vnsrl.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
508 +OP(vnsrl_wi, "vnsrl.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm)
509 +OP(vnsra_wv, "vnsra.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
510 +OP(vnsra_wx, "vnsra.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
511 +OP(vnsra_wi, "vnsra.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm)
512 +OP(vmseq_vv, "vmseq.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
513 +OP(vmseq_vx, "vmseq.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
514 +OP(vmseq_vi, "vmseq.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm)
515 +OP(vmsne_vv, "vmsne.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
516 +OP(vmsne_vx, "vmsne.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
517 +OP(vmsne_vi, "vmsne.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm)
518 +OP(vmsltu_vv, "vmsltu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
519 +OP(vmsltu_vx, "vmsltu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
520 +OP(vmslt_vv, "vmslt.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
521 +OP(vmslt_vx, "vmslt.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
522 +OP(vmsleu_vv, "vmsleu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
523 +OP(vmsleu_vx, "vmsleu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
524 +OP(vmsleu_vi, "vmsleu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm)
525 +OP(vmsle_vv, "vmsle.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
526 +OP(vmsle_vx, "vmsle.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
527 +OP(vmsle_vi, "vmsle.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm)
528 +OP(vmsgtu_vx, "vmsgtu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
529 +OP(vmsgtu_vi, "vmsgtu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm)
530 +OP(vmsgt_vx, "vmsgt.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
531 +OP(vmsgt_vi, "vmsgt.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm)
532 +OP(vminu_vv, "vminu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
533 +OP(vminu_vx, "vminu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
534 +OP(vmin_vv, "vmin.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
535 +OP(vmin_vx, "vmin.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
536 +OP(vmaxu_vv, "vmaxu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
537 +OP(vmaxu_vx, "vmaxu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
538 +OP(vmax_vv, "vmax.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
539 +OP(vmax_vx, "vmax.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
540 +OP(vmul_vv, "vmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
541 +OP(vmul_vx, "vmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
542 +OP(vmulh_vv, "vmulh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
543 +OP(vmulh_vx, "vmulh.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
544 +OP(vmulhu_vv, "vmulhu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
545 +OP(vmulhu_vx, "vmulhu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
546 +OP(vmulhsu_vv, "vmulhsu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
547 +OP(vmulhsu_vx, "vmulhsu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
548 +OP(vdivu_vv, "vdivu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
549 +OP(vdivu_vx, "vdivu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
550 +OP(vdiv_vv, "vdiv.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
551 +OP(vdiv_vx, "vdiv.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
552 +OP(vremu_vv, "vremu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
553 +OP(vremu_vx, "vremu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
554 +OP(vrem_vv, "vrem.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
555 +OP(vrem_vx, "vrem.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
556 +OP(vwmulu_vv, "vwmulu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
557 +OP(vwmulu_vx, "vwmulu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
558 +OP(vwmulsu_vv, "vwmulsu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
559 +OP(vwmulsu_vx, "vwmulsu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
560 +OP(vwmul_vv, "vwmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
561 +OP(vwmul_vx, "vwmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
562 +OP(vmacc_vv, "vmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
563 +OP(vmacc_vx, "vmacc.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm)
564 +OP(vnmsac_vv, "vnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
565 +OP(vnmsac_vx, "vnmsac.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm)
566 +OP(vmadd_vv, "vmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
567 +OP(vmadd_vx, "vmadd.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm)
568 +OP(vnmsub_vv, "vnmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
569 +OP(vnmsub_vx, "vnmsub.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm)
570 +OP(vwmaccu_vv, "vwmaccu.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
571 +OP(vwmaccu_vx, "vwmaccu.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm)
572 +OP(vwmacc_vv, "vwmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
573 +OP(vwmacc_vx, "vwmacc.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm)
574 +OP(vwmaccsu_vv, "vwmaccsu.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
575 +OP(vwmaccsu_vx, "vwmaccsu.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm)
576 +OP(vwmaccus_vx, "vwmaccus.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm)
577 +OP(vmv_v_v, "vmv.v.v", rv_codec_v_r, rv_fmt_vd_vs1)
578 +OP(vmv_v_x, "vmv.v.x", rv_codec_v_r, rv_fmt_vd_rs1)
579 +OP(vmv_v_i, "vmv.v.i", rv_codec_v_i, rv_fmt_vd_imm)
580 +OP(vmerge_vvm, "vmerge.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl)
581 +OP(vmerge_vxm, "vmerge.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl)
582 +OP(vmerge_vim, "vmerge.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl)
583 +OP(vsaddu_vv, "vsaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
584 +OP(vsaddu_vx, "vsaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
585 +OP(vsaddu_vi, "vsaddu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm)
586 +OP(vsadd_vv, "vsadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
587 +OP(vsadd_vx, "vsadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
588 +OP(vsadd_vi, "vsadd.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm)
589 +OP(vssubu_vv, "vssubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
590 +OP(vssubu_vx, "vssubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
591 +OP(vssub_vv, "vssub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
592 +OP(vssub_vx, "vssub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
593 +OP(vaadd_vv, "vaadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
594 +OP(vaadd_vx, "vaadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
595 +OP(vaaddu_vv, "vaaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
596 +OP(vaaddu_vx, "vaaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
597 +OP(vasub_vv, "vasub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
598 +OP(vasub_vx, "vasub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
599 +OP(vasubu_vv, "vasubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
600 +OP(vasubu_vx, "vasubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
601 +OP(vsmul_vv, "vsmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
602 +OP(vsmul_vx, "vsmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
603 +OP(vssrl_vv, "vssrl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
604 +OP(vssrl_vx, "vssrl.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
605 +OP(vssrl_vi, "vssrl.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm)
606 +OP(vssra_vv, "vssra.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
607 +OP(vssra_vx, "vssra.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
608 +OP(vssra_vi, "vssra.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm)
609 +OP(vnclipu_wv, "vnclipu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
610 +OP(vnclipu_wx, "vnclipu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
611 +OP(vnclipu_wi, "vnclipu.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm)
612 +OP(vnclip_wv, "vnclip.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
613 +OP(vnclip_wx, "vnclip.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
614 +OP(vnclip_wi, "vnclip.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm)
615 +OP(vfadd_vv, "vfadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
616 +OP(vfadd_vf, "vfadd.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
617 +OP(vfsub_vv, "vfsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
618 +OP(vfsub_vf, "vfsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
619 +OP(vfrsub_vf, "vfrsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
620 +OP(vfwadd_vv, "vfwadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
621 +OP(vfwadd_vf, "vfwadd.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
622 +OP(vfwadd_wv, "vfwadd.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
623 +OP(vfwadd_wf, "vfwadd.wf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
624 +OP(vfwsub_vv, "vfwsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
625 +OP(vfwsub_vf, "vfwsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
626 +OP(vfwsub_wv, "vfwsub.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
627 +OP(vfwsub_wf, "vfwsub.wf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
628 +OP(vfmul_vv, "vfmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
629 +OP(vfmul_vf, "vfmul.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
630 +OP(vfdiv_vv, "vfdiv.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
631 +OP(vfdiv_vf, "vfdiv.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
632 +OP(vfrdiv_vf, "vfrdiv.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
633 +OP(vfwmul_vv, "vfwmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
634 +OP(vfwmul_vf, "vfwmul.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
635 +OP(vfmacc_vv, "vfmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
636 +OP(vfmacc_vf, "vfmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm)
637 +OP(vfnmacc_vv, "vfnmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
638 +OP(vfnmacc_vf, "vfnmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm)
639 +OP(vfmsac_vv, "vfmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
640 +OP(vfmsac_vf, "vfmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm)
641 +OP(vfnmsac_vv, "vfnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
642 +OP(vfnmsac_vf, "vfnmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm)
643 +OP(vfmadd_vv, "vfmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
644 +OP(vfmadd_vf, "vfmadd.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm)
645 +OP(vfnmadd_vv, "vfnmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
646 +OP(vfnmadd_vf, "vfnmadd.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm)
647 +OP(vfmsub_vv, "vfmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
648 +OP(vfmsub_vf, "vfmsub.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm)
649 +OP(vfnmsub_vv, "vfnmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
650 +OP(vfnmsub_vf, "vfnmsub.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm)
651 +OP(vfwmacc_vv, "vfwmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
652 +OP(vfwmacc_vf, "vfwmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm)
653 +OP(vfwnmacc_vv, "vfwnmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
654 +OP(vfwnmacc_vf, "vfwnmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm)
655 +OP(vfwmsac_vv, "vfwmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
656 +OP(vfwmsac_vf, "vfwmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm)
657 +OP(vfwnmsac_vv, "vfwnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
658 +OP(vfwnmsac_vf, "vfwnmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm)
659 +OP(vfsqrt_v, "vfsqrt.v", rv_codec_v_r, rv_fmt_vd_vs2)
660 +OP(vfrsqrt7_v, "vfrsqrt7.v", rv_codec_v_r, rv_fmt_vd_vs2)
661 +OP(vfrec7_v, "vfrec7.v", rv_codec_v_r, rv_fmt_vd_vs2)
662 +OP(vfmin_vv, "vfmin.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
663 +OP(vfmin_vf, "vfmin.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
664 +OP(vfmax_vv, "vfmax.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
665 +OP(vfmax_vf, "vfmax.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
666 +OP(vfsgnj_vv, "vfsgnj.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
667 +OP(vfsgnj_vf, "vfsgnj.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
668 +OP(vfsgnjn_vv, "vfsgnjn.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
669 +OP(vfsgnjn_vf, "vfsgnjn.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
670 +OP(vfsgnjx_vv, "vfsgnjx.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
671 +OP(vfsgnjx_vf, "vfsgnjx.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
672 +OP(vfslide1up_vf, "vfslide1up.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
673 +OP(vfslide1down_vf, "vfslide1down.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
674 +OP(vmfeq_vv, "vmfeq.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
675 +OP(vmfeq_vf, "vmfeq.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
676 +OP(vmfne_vv, "vmfne.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
677 +OP(vmfne_vf, "vmfne.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
678 +OP(vmflt_vv, "vmflt.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
679 +OP(vmflt_vf, "vmflt.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
680 +OP(vmfle_vv, "vmfle.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
681 +OP(vmfle_vf, "vmfle.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
682 +OP(vmfgt_vf, "vmfgt.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
683 +OP(vmfge_vf, "vmfge.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm)
684 +OP(vfclass_v, "vfclass.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
685 +OP(vfmerge_vfm, "vfmerge.vfm", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vl)
686 +OP(vfmv_v_f, "vfmv.v.f", rv_codec_v_r, rv_fmt_vd_fs1)
687 +OP(vfcvt_xu_f_v, "vfcvt.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
688 +OP(vfcvt_x_f_v, "vfcvt.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
689 +OP(vfcvt_f_xu_v, "vfcvt.f.xu.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
690 +OP(vfcvt_f_x_v, "vfcvt.f.x.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
691 +OP(vfcvt_rtz_xu_f_v, "vfcvt.rtz.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
692 +OP(vfcvt_rtz_x_f_v, "vfcvt.rtz.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
693 +OP(vfwcvt_xu_f_v, "vfwcvt.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
694 +OP(vfwcvt_x_f_v, "vfwcvt.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
695 +OP(vfwcvt_f_xu_v, "vfwcvt.f.xu.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
696 +OP(vfwcvt_f_x_v, "vfwcvt.f.x.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
697 +OP(vfwcvt_f_f_v, "vfwcvt.f.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
698 +OP(vfwcvt_rtz_xu_f_v, "vfwcvt.rtz.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
699 +OP(vfwcvt_rtz_x_f_v, "vfwcvt.rtz.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
700 +OP(vfncvt_xu_f_w, "vfncvt.xu.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm)
701 +OP(vfncvt_x_f_w, "vfncvt.x.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm)
702 +OP(vfncvt_f_xu_w, "vfncvt.f.xu.w", rv_codec_v_r, rv_fmt_vd_vs2_vm)
703 +OP(vfncvt_f_x_w, "vfncvt.f.x.w", rv_codec_v_r, rv_fmt_vd_vs2_vm)
704 +OP(vfncvt_f_f_w, "vfncvt.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm)
705 +OP(vfncvt_rod_f_f_w, "vfncvt.rod.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm)
706 +OP(vfncvt_rtz_xu_f_w, "vfncvt.rtz.xu.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm)
707 +OP(vfncvt_rtz_x_f_w, "vfncvt.rtz.x.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm)
708 +OP(vredsum_vs, "vredsum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
709 +OP(vredand_vs, "vredand.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
710 +OP(vredor_vs, "vredor.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
711 +OP(vredxor_vs, "vredxor.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
712 +OP(vredminu_vs, "vredminu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
713 +OP(vredmin_vs, "vredmin.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
714 +OP(vredmaxu_vs, "vredmaxu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
715 +OP(vredmax_vs, "vredmax.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
716 +OP(vwredsumu_vs, "vwredsumu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
717 +OP(vwredsum_vs, "vwredsum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
718 +OP(vfredusum_vs, "vfredusum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
719 +OP(vfredosum_vs, "vfredosum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
720 +OP(vfredmin_vs, "vfredmin.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
721 +OP(vfredmax_vs, "vfredmax.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
722 +OP(vfwredusum_vs, "vfwredusum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
723 +OP(vfwredosum_vs, "vfwredosum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
724 +OP(vmand_mm, "vmand.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
725 +OP(vmnand_mm, "vmnand.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
726 +OP(vmandn_mm, "vmandn.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
727 +OP(vmxor_mm, "vmxor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
728 +OP(vmor_mm, "vmor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
729 +OP(vmnor_mm, "vmnor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
730 +OP(vmorn_mm, "vmorn.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
731 +OP(vmxnor_mm, "vmxnor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
732 +OP(vcpop_m, "vcpop.m", rv_codec_v_r, rv_fmt_rd_vs2_vm)
733 +OP(vfirst_m, "vfirst.m", rv_codec_v_r, rv_fmt_rd_vs2_vm)
734 +OP(vmsbf_m, "vmsbf.m", rv_codec_v_r, rv_fmt_vd_vs2_vm)
735 +OP(vmsif_m, "vmsif.m", rv_codec_v_r, rv_fmt_vd_vs2_vm)
736 +OP(vmsof_m, "vmsof.m", rv_codec_v_r, rv_fmt_vd_vs2_vm)
737 +OP(viota_m, "viota.m", rv_codec_v_r, rv_fmt_vd_vs2_vm)
738 +OP(vid_v, "vid.v", rv_codec_v_r, rv_fmt_vd_vm)
739 +OP(vmv_x_s, "vmv.x.s", rv_codec_v_r, rv_fmt_rd_vs2)
740 +OP(vmv_s_x, "vmv.s.x", rv_codec_v_r, rv_fmt_vd_rs1)
741 +OP(vfmv_f_s, "vfmv.f.s", rv_codec_v_r, rv_fmt_fd_vs2)
742 +OP(vfmv_s_f, "vfmv.s.f", rv_codec_v_r, rv_fmt_vd_fs1)
743 +OP(vslideup_vx, "vslideup.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
744 +OP(vslideup_vi, "vslideup.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm)
745 +OP(vslide1up_vx, "vslide1up.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
746 +OP(vslidedown_vx, "vslidedown.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
747 +OP(vslidedown_vi, "vslidedown.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm)
748 +OP(vslide1down_vx, "vslide1down.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
749 +OP(vrgather_vv, "vrgather.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
750 +OP(vrgatherei16_vv, "vrgatherei16.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
751 +OP(vrgather_vx, "vrgather.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
752 +OP(vrgather_vi, "vrgather.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm)
753 +OP(vcompress_vm, "vcompress.vm", rv_codec_v_r, rv_fmt_vd_vs2_vs1)
754 +OP(vmv1r_v, "vmv1r.v", rv_codec_v_r, rv_fmt_vd_vs2)
755 +OP(vmv2r_v, "vmv2r.v", rv_codec_v_r, rv_fmt_vd_vs2)
756 +OP(vmv4r_v, "vmv4r.v", rv_codec_v_r, rv_fmt_vd_vs2)
757 +OP(vmv8r_v, "vmv8r.v", rv_codec_v_r, rv_fmt_vd_vs2)
758 +OP(vzext_vf2, "vzext.vf2", rv_codec_v_r, rv_fmt_vd_vs2_vm)
759 +OP(vzext_vf4, "vzext.vf4", rv_codec_v_r, rv_fmt_vd_vs2_vm)
760 +OP(vzext_vf8, "vzext.vf8", rv_codec_v_r, rv_fmt_vd_vs2_vm)
761 +OP(vsext_vf2, "vsext.vf2", rv_codec_v_r, rv_fmt_vd_vs2_vm)
762 +OP(vsext_vf4, "vsext.vf4", rv_codec_v_r, rv_fmt_vd_vs2_vm)
763 +OP(vsext_vf8, "vsext.vf8", rv_codec_v_r, rv_fmt_vd_vs2_vm)
764 +OP(vsetvli, "vsetvli", rv_codec_vsetvli, rv_fmt_vsetvli)
765 +OP(vsetivli, "vsetivli", rv_codec_vsetivli, rv_fmt_vsetivli)
766 +OP(vsetvl, "vsetvl", rv_codec_r, rv_fmt_rd_rs1_rs2)
767 +OP(c_zext_b, "c.zext.b", rv_codec_zcb_ext, rv_fmt_rd)
768 +OP(c_sext_b, "c.sext.b", rv_codec_zcb_ext, rv_fmt_rd)
769 +OP(c_zext_h, "c.zext.h", rv_codec_zcb_ext, rv_fmt_rd)
770 +OP(c_sext_h, "c.sext.h", rv_codec_zcb_ext, rv_fmt_rd)
771 +OP(c_zext_w, "c.zext.w", rv_codec_zcb_ext, rv_fmt_rd)
772 +OP(c_not, "c.not", rv_codec_zcb_ext, rv_fmt_rd)
773 +OP(c_mul, "c.mul", rv_codec_zcb_mul, rv_fmt_rd_rs2)
774 +OP(c_lbu, "c.lbu", rv_codec_zcb_lb, rv_fmt_rs1_rs2_zce_ldst)
775 +OP(c_lhu, "c.lhu", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst)
776 +OP(c_lh, "c.lh", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst)
777 +OP(c_sb, "c.sb", rv_codec_zcb_lb, rv_fmt_rs1_rs2_zce_ldst)
778 +OP(c_sh, "c.sh", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst)
779 +OP(cm_push, "cm.push", rv_codec_zcmp_cm_pushpop, rv_fmt_push_rlist)
780 +OP(cm_pop, "cm.pop", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist)
781 +OP(cm_popret, "cm.popret", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist)
782 +OP(cm_popretz, "cm.popretz", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist)
783 +OP(cm_mva01s, "cm.mva01s", rv_codec_zcmp_cm_mv, rv_fmt_rd_rs2)
784 +OP(cm_mvsa01, "cm.mvsa01", rv_codec_zcmp_cm_mv, rv_fmt_rd_rs2)
785 +OP(cm_jt, "cm.jt", rv_codec_zcmt_jt, rv_fmt_zcmt_index)
786 +OP(cm_jalt, "cm.jalt", rv_codec_zcmt_jt, rv_fmt_zcmt_index)
787 +OP(czero_eqz, "czero.eqz", rv_codec_r, rv_fmt_rd_rs1_rs2)
788 +OP(czero_nez, "czero.nez", rv_codec_r, rv_fmt_rd_rs1_rs2)
789 +OP(fcvt_bf16_s, "fcvt.bf16.s", rv_codec_r_m, rv_fmt_rm_frd_frs1)
790 +OP(fcvt_s_bf16, "fcvt.s.bf16", rv_codec_r_m, rv_fmt_rm_frd_frs1)
791 +OP(vfncvtbf16_f_f_w, "vfncvtbf16.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm)
792 +OP(vfwcvtbf16_f_f_v, "vfwcvtbf16.f.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
793 +OP(vfwmaccbf16_vv, "vfwmaccbf16.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm)
794 +OP(vfwmaccbf16_vf, "vfwmaccbf16.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm)
795 +OP(flh, "flh", rv_codec_i, rv_fmt_frd_offset_rs1)
796 +OP(fsh, "fsh", rv_codec_s, rv_fmt_frs2_offset_rs1)
797 +OP(fmv_h_x, "fmv.h.x", rv_codec_r, rv_fmt_frd_rs1)
798 +OP(fmv_x_h, "fmv.x.h", rv_codec_r, rv_fmt_rd_frs1)
799 +OP(fli_s, "fli.s", rv_codec_fli, rv_fmt_fli)
800 +OP(fli_d, "fli.d", rv_codec_fli, rv_fmt_fli)
801 +OP(fli_q, "fli.q", rv_codec_fli, rv_fmt_fli)
802 +OP(fli_h, "fli.h", rv_codec_fli, rv_fmt_fli)
803 +OP(fminm_s, "fminm.s", rv_codec_r, rv_fmt_frd_frs1_frs2)
804 +OP(fmaxm_s, "fmaxm.s", rv_codec_r, rv_fmt_frd_frs1_frs2)
805 +OP(fminm_d, "fminm.d", rv_codec_r, rv_fmt_frd_frs1_frs2)
806 +OP(fmaxm_d, "fmaxm.d", rv_codec_r, rv_fmt_frd_frs1_frs2)
807 +OP(fminm_q, "fminm.q", rv_codec_r, rv_fmt_frd_frs1_frs2)
808 +OP(fmaxm_q, "fmaxm.q", rv_codec_r, rv_fmt_frd_frs1_frs2)
809 +OP(fminm_h, "fminm.h", rv_codec_r, rv_fmt_frd_frs1_frs2)
810 +OP(fmaxm_h, "fmaxm.h", rv_codec_r, rv_fmt_frd_frs1_frs2)
811 +OP(fround_s, "fround.s", rv_codec_r_m, rv_fmt_rm_frd_frs1)
812 +OP(froundnx_s, "froundnx.s", rv_codec_r_m, rv_fmt_rm_frd_frs1)
813 +OP(fround_d, "fround.d", rv_codec_r_m, rv_fmt_rm_frd_frs1)
814 +OP(froundnx_d, "froundnx.d", rv_codec_r_m, rv_fmt_rm_frd_frs1)
815 +OP(fround_q, "fround.q", rv_codec_r_m, rv_fmt_rm_frd_frs1)
816 +OP(froundnx_q, "froundnx.q", rv_codec_r_m, rv_fmt_rm_frd_frs1)
817 +OP(fround_h, "fround.h", rv_codec_r_m, rv_fmt_rm_frd_frs1)
818 +OP(froundnx_h, "froundnx.h", rv_codec_r_m, rv_fmt_rm_frd_frs1)
819 +OP(fcvtmod_w_d, "fcvtmod.w.d", rv_codec_r_m, rv_fmt_rm_rd_frs1)
820 +OP(fmvh_x_d, "fmvh.x.d", rv_codec_r, rv_fmt_rd_frs1)
821 +OP(fmvp_d_x, "fmvp.d.x", rv_codec_r, rv_fmt_frd_rs1_rs2)
822 +OP(fmvh_x_q, "fmvh.x.q", rv_codec_r, rv_fmt_rd_frs1)
823 +OP(fmvp_q_x, "fmvp.q.x", rv_codec_r, rv_fmt_frd_rs1_rs2)
824 +OP(fleq_s, "fleq.s", rv_codec_r, rv_fmt_rd_frs1_frs2)
825 +OP(fltq_s, "fltq.s", rv_codec_r, rv_fmt_rd_frs1_frs2)
826 +OP(fleq_d, "fleq.d", rv_codec_r, rv_fmt_rd_frs1_frs2)
827 +OP(fltq_d, "fltq.d", rv_codec_r, rv_fmt_rd_frs1_frs2)
828 +OP(fleq_q, "fleq.q", rv_codec_r, rv_fmt_rd_frs1_frs2)
829 +OP(fltq_q, "fltq.q", rv_codec_r, rv_fmt_rd_frs1_frs2)
830 +OP(fleq_h, "fleq.h", rv_codec_r, rv_fmt_rd_frs1_frs2)
831 +OP(fltq_h, "fltq.h", rv_codec_r, rv_fmt_rd_frs1_frs2)
832 +OP(vaesdf_vv, "vaesdf.vv", rv_codec_v_r, rv_fmt_vd_vs2)
833 +OP(vaesdf_vs, "vaesdf.vs", rv_codec_v_r, rv_fmt_vd_vs2)
834 +OP(vaesdm_vv, "vaesdm.vv", rv_codec_v_r, rv_fmt_vd_vs2)
835 +OP(vaesdm_vs, "vaesdm.vs", rv_codec_v_r, rv_fmt_vd_vs2)
836 +OP(vaesef_vv, "vaesef.vv", rv_codec_v_r, rv_fmt_vd_vs2)
837 +OP(vaesef_vs, "vaesef.vs", rv_codec_v_r, rv_fmt_vd_vs2)
838 +OP(vaesem_vv, "vaesem.vv", rv_codec_v_r, rv_fmt_vd_vs2)
839 +OP(vaesem_vs, "vaesem.vs", rv_codec_v_r, rv_fmt_vd_vs2)
840 +OP(vaeskf1_vi, "vaeskf1.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm)
841 +OP(vaeskf2_vi, "vaeskf2.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm)
842 +OP(vaesz_vs, "vaesz.vs", rv_codec_v_r, rv_fmt_vd_vs2)
843 +OP(vandn_vv, "vandn.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
844 +OP(vandn_vx, "vandn.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
845 +OP(vbrev_v, "vbrev.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
846 +OP(vbrev8_v, "vbrev8.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
847 +OP(vclmul_vv, "vclmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
848 +OP(vclmul_vx, "vclmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
849 +OP(vclmulh_vv, "vclmulh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
850 +OP(vclmulh_vx, "vclmulh.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
851 +OP(vclz_v, "vclz.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
852 +OP(vcpop_v, "vcpop.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
853 +OP(vctz_v, "vctz.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
854 +OP(vghsh_vv, "vghsh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1)
855 +OP(vgmul_vv, "vgmul.vv", rv_codec_v_r, rv_fmt_vd_vs2)
856 +OP(vrev8_v, "vrev8.v", rv_codec_v_r, rv_fmt_vd_vs2_vm)
857 +OP(vrol_vv, "vrol.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
858 +OP(vrol_vx, "vrol.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
859 +OP(vror_vv, "vror.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
860 +OP(vror_vx, "vror.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
861 +OP(vror_vi, "vror.vi", rv_codec_vror_vi, rv_fmt_vd_vs2_uimm_vm)
862 +OP(vsha2ch_vv, "vsha2ch.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1)
863 +OP(vsha2cl_vv, "vsha2cl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1)
864 +OP(vsha2ms_vv, "vsha2ms.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1)
865 +OP(vsm3c_vi, "vsm3c.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm)
866 +OP(vsm3me_vv, "vsm3me.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1)
867 +OP(vsm4k_vi, "vsm4k.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm)
868 +OP(vsm4r_vv, "vsm4r.vv", rv_codec_v_r, rv_fmt_vd_vs2)
869 +OP(vsm4r_vs, "vsm4r.vs", rv_codec_v_r, rv_fmt_vd_vs2)
870 +OP(vwsll_vv, "vwsll.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
871 +OP(vwsll_vx, "vwsll.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
872 +OP(vwsll_vi, "vwsll.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm)
873 +OP(amocas_w, "amocas.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
874 +OP(amocas_d, "amocas.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
875 +OP(amocas_q, "amocas.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
876 +OP(mop_r_0, "mop.r.0", rv_codec_r, rv_fmt_rd_rs1)
877 +OP(mop_r_1, "mop.r.1", rv_codec_r, rv_fmt_rd_rs1)
878 +OP(mop_r_2, "mop.r.2", rv_codec_r, rv_fmt_rd_rs1)
879 +OP(mop_r_3, "mop.r.3", rv_codec_r, rv_fmt_rd_rs1)
880 +OP(mop_r_4, "mop.r.4", rv_codec_r, rv_fmt_rd_rs1)
881 +OP(mop_r_5, "mop.r.5", rv_codec_r, rv_fmt_rd_rs1)
882 +OP(mop_r_6, "mop.r.6", rv_codec_r, rv_fmt_rd_rs1)
883 +OP(mop_r_7, "mop.r.7", rv_codec_r, rv_fmt_rd_rs1)
884 +OP(mop_r_8, "mop.r.8", rv_codec_r, rv_fmt_rd_rs1)
885 +OP(mop_r_9, "mop.r.9", rv_codec_r, rv_fmt_rd_rs1)
886 +OP(mop_r_10, "mop.r.10", rv_codec_r, rv_fmt_rd_rs1)
887 +OP(mop_r_11, "mop.r.11", rv_codec_r, rv_fmt_rd_rs1)
888 +OP(mop_r_12, "mop.r.12", rv_codec_r, rv_fmt_rd_rs1)
889 +OP(mop_r_13, "mop.r.13", rv_codec_r, rv_fmt_rd_rs1)
890 +OP(mop_r_14, "mop.r.14", rv_codec_r, rv_fmt_rd_rs1)
891 +OP(mop_r_15, "mop.r.15", rv_codec_r, rv_fmt_rd_rs1)
892 +OP(mop_r_16, "mop.r.16", rv_codec_r, rv_fmt_rd_rs1)
893 +OP(mop_r_17, "mop.r.17", rv_codec_r, rv_fmt_rd_rs1)
894 +OP(mop_r_18, "mop.r.18", rv_codec_r, rv_fmt_rd_rs1)
895 +OP(mop_r_19, "mop.r.19", rv_codec_r, rv_fmt_rd_rs1)
896 +OP(mop_r_20, "mop.r.20", rv_codec_r, rv_fmt_rd_rs1)
897 +OP(mop_r_21, "mop.r.21", rv_codec_r, rv_fmt_rd_rs1)
898 +OP(mop_r_22, "mop.r.22", rv_codec_r, rv_fmt_rd_rs1)
899 +OP(mop_r_23, "mop.r.23", rv_codec_r, rv_fmt_rd_rs1)
900 +OP(mop_r_24, "mop.r.24", rv_codec_r, rv_fmt_rd_rs1)
901 +OP(mop_r_25, "mop.r.25", rv_codec_r, rv_fmt_rd_rs1)
902 +OP(mop_r_26, "mop.r.26", rv_codec_r, rv_fmt_rd_rs1)
903 +OP(mop_r_27, "mop.r.27", rv_codec_r, rv_fmt_rd_rs1)
904 +OP(mop_r_28, "mop.r.28", rv_codec_r, rv_fmt_rd_rs1)
905 +OP(mop_r_29, "mop.r.29", rv_codec_r, rv_fmt_rd_rs1)
906 +OP(mop_r_30, "mop.r.30", rv_codec_r, rv_fmt_rd_rs1)
907 +OP(mop_r_31, "mop.r.31", rv_codec_r, rv_fmt_rd_rs1)
908 +OP(mop_rr_0, "mop.rr.0", rv_codec_r, rv_fmt_rd_rs1_rs2)
909 +OP(mop_rr_1, "mop.rr.1", rv_codec_r, rv_fmt_rd_rs1_rs2)
910 +OP(mop_rr_2, "mop.rr.2", rv_codec_r, rv_fmt_rd_rs1_rs2)
911 +OP(mop_rr_3, "mop.rr.3", rv_codec_r, rv_fmt_rd_rs1_rs2)
912 +OP(mop_rr_4, "mop.rr.4", rv_codec_r, rv_fmt_rd_rs1_rs2)
913 +OP(mop_rr_5, "mop.rr.5", rv_codec_r, rv_fmt_rd_rs1_rs2)
914 +OP(mop_rr_6, "mop.rr.6", rv_codec_r, rv_fmt_rd_rs1_rs2)
915 +OP(mop_rr_7, "mop.rr.7", rv_codec_r, rv_fmt_rd_rs1_rs2)
916 +OP(c_mop_1, "c.mop.1", rv_codec_ci_none, rv_fmt_none)
917 +OP(c_mop_3, "c.mop.3", rv_codec_ci_none, rv_fmt_none)
918 +OP(c_mop_5, "c.mop.5", rv_codec_ci_none, rv_fmt_none)
919 +OP(c_mop_7, "c.mop.7", rv_codec_ci_none, rv_fmt_none)
920 +OP(c_mop_9, "c.mop.9", rv_codec_ci_none, rv_fmt_none)
921 +OP(c_mop_11, "c.mop.11", rv_codec_ci_none, rv_fmt_none)
922 +OP(c_mop_13, "c.mop.13", rv_codec_ci_none, rv_fmt_none)
923 +OP(c_mop_15, "c.mop.15", rv_codec_ci_none, rv_fmt_none)
924 +OP(amoswap_b, "amoswap.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
925 +OP(amoadd_b, "amoadd.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
926 +OP(amoxor_b, "amoxor.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
927 +OP(amoor_b, "amoor.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
928 +OP(amoand_b, "amoand.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
929 +OP(amomin_b, "amomin.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
930 +OP(amomax_b, "amomax.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
931 +OP(amominu_b, "amominu.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
932 +OP(amomaxu_b, "amomaxu.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
933 +OP(amoswap_h, "amoswap.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
934 +OP(amoadd_h, "amoadd.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
935 +OP(amoxor_h, "amoxor.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
936 +OP(amoor_h, "amoor.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
937 +OP(amoand_h, "amoand.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
938 +OP(amomin_h, "amomin.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
939 +OP(amomax_h, "amomax.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
940 +OP(amominu_h, "amominu.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
941 +OP(amomaxu_h, "amomaxu.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
942 +OP(amocas_b, "amocas.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
943 +OP(amocas_h, "amocas.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
944 +OP(wrs_sto, "wrs.sto", rv_codec_none, rv_fmt_none)
945 +OP(wrs_nto, "wrs.nto", rv_codec_none, rv_fmt_none)
946 +OP(lpad, "lpad", rv_codec_lp, rv_fmt_imm)
947 +OP(sspush, "sspush", rv_codec_r, rv_fmt_rs2)
948 +OP(sspopchk, "sspopchk", rv_codec_r, rv_fmt_rs1)
949 +OP(ssrdp, "ssrdp", rv_codec_r, rv_fmt_rd)
950 +OP(ssamoswap_w, "ssamoswap.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
951 +OP(ssamoswap_d, "ssamoswap.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1)
952 +OP(c_sspush, "c.sspush", rv_codec_cmop_ss, NULL, DECOMP(rv_op_sspush))
953 +OP(c_sspopchk, "c.sspopchk", rv_codec_cmop_ss, NULL, DECOMP(rv_op_sspopchk))
954 +OP(cbo_inval, "cbo.inval", rv_codec_r, rv_fmt_rs1)
955 +OP(cbo_clean, "cbo.clean", rv_codec_r, rv_fmt_rs1)
956 +OP(cbo_flush, "cbo.flush", rv_codec_r, rv_fmt_rs1)
957 +OP(cbo_zero, "cbo.zero", rv_codec_r, rv_fmt_rs1)
958 +OP(mnret, "mnret", rv_codec_none, rv_fmt_none)
disas/riscv.c
+9 -1922
@@ -29,964 +29,9 @@
29 #include "disas/riscv-xlrbr.h"
30
31 typedef enum {
32 - rv_op_illegal = 0,
33 - rv_op_lui = 1,
34 - rv_op_auipc = 2,
35 - rv_op_jal = 3,
36 - rv_op_jalr = 4,
37 - rv_op_beq = 5,
38 - rv_op_bne = 6,
39 - rv_op_blt = 7,
40 - rv_op_bge = 8,
41 - rv_op_bltu = 9,
42 - rv_op_bgeu = 10,
43 - rv_op_lb = 11,
44 - rv_op_lh = 12,
45 - rv_op_lw = 13,
46 - rv_op_lbu = 14,
47 - rv_op_lhu = 15,
48 - rv_op_sb = 16,
49 - rv_op_sh = 17,
50 - rv_op_sw = 18,
51 - rv_op_addi = 19,
52 - rv_op_slti = 20,
53 - rv_op_sltiu = 21,
54 - rv_op_xori = 22,
55 - rv_op_ori = 23,
56 - rv_op_andi = 24,
57 - rv_op_slli = 25,
58 - rv_op_srli = 26,
59 - rv_op_srai = 27,
60 - rv_op_add = 28,
61 - rv_op_sub = 29,
62 - rv_op_sll = 30,
63 - rv_op_slt = 31,
64 - rv_op_sltu = 32,
65 - rv_op_xor = 33,
66 - rv_op_srl = 34,
67 - rv_op_sra = 35,
68 - rv_op_or = 36,
69 - rv_op_and = 37,
70 - rv_op_fence = 38,
71 - rv_op_fence_i = 39,
72 - rv_op_lwu = 40,
73 - rv_op_ld = 41,
74 - rv_op_sd = 42,
75 - rv_op_addiw = 43,
76 - rv_op_slliw = 44,
77 - rv_op_srliw = 45,
78 - rv_op_sraiw = 46,
79 - rv_op_addw = 47,
80 - rv_op_subw = 48,
81 - rv_op_sllw = 49,
82 - rv_op_srlw = 50,
83 - rv_op_sraw = 51,
84 - rv_op_ldu = 52,
85 - rv_op_lq = 53,
86 - rv_op_sq = 54,
87 - rv_op_addid = 55,
88 - rv_op_sllid = 56,
89 - rv_op_srlid = 57,
90 - rv_op_sraid = 58,
91 - rv_op_addd = 59,
92 - rv_op_subd = 60,
93 - rv_op_slld = 61,
94 - rv_op_srld = 62,
95 - rv_op_srad = 63,
96 - rv_op_mul = 64,
97 - rv_op_mulh = 65,
98 - rv_op_mulhsu = 66,
99 - rv_op_mulhu = 67,
100 - rv_op_div = 68,
101 - rv_op_divu = 69,
102 - rv_op_rem = 70,
103 - rv_op_remu = 71,
104 - rv_op_mulw = 72,
105 - rv_op_divw = 73,
106 - rv_op_divuw = 74,
107 - rv_op_remw = 75,
108 - rv_op_remuw = 76,
109 - rv_op_muld = 77,
110 - rv_op_divd = 78,
111 - rv_op_divud = 79,
112 - rv_op_remd = 80,
113 - rv_op_remud = 81,
114 - rv_op_lr_w = 82,
115 - rv_op_sc_w = 83,
116 - rv_op_amoswap_w = 84,
117 - rv_op_amoadd_w = 85,
118 - rv_op_amoxor_w = 86,
119 - rv_op_amoor_w = 87,
120 - rv_op_amoand_w = 88,
121 - rv_op_amomin_w = 89,
122 - rv_op_amomax_w = 90,
123 - rv_op_amominu_w = 91,
124 - rv_op_amomaxu_w = 92,
125 - rv_op_lr_d = 93,
126 - rv_op_sc_d = 94,
127 - rv_op_amoswap_d = 95,
128 - rv_op_amoadd_d = 96,
129 - rv_op_amoxor_d = 97,
130 - rv_op_amoor_d = 98,
131 - rv_op_amoand_d = 99,
132 - rv_op_amomin_d = 100,
133 - rv_op_amomax_d = 101,
134 - rv_op_amominu_d = 102,
135 - rv_op_amomaxu_d = 103,
136 - rv_op_lr_q = 104,
137 - rv_op_sc_q = 105,
138 - rv_op_amoswap_q = 106,
139 - rv_op_amoadd_q = 107,
140 - rv_op_amoxor_q = 108,
141 - rv_op_amoor_q = 109,
142 - rv_op_amoand_q = 110,
143 - rv_op_amomin_q = 111,
144 - rv_op_amomax_q = 112,
145 - rv_op_amominu_q = 113,
146 - rv_op_amomaxu_q = 114,
147 - rv_op_ecall = 115,
148 - rv_op_ebreak = 116,
149 - rv_op_uret = 117,
150 - rv_op_sret = 118,
151 - rv_op_hret = 119,
152 - rv_op_mret = 120,
153 - rv_op_dret = 121,
154 - rv_op_sfence_vm = 122,
155 - rv_op_sfence_vma = 123,
156 - rv_op_wfi = 124,
157 - rv_op_csrrw = 125,
158 - rv_op_csrrs = 126,
159 - rv_op_csrrc = 127,
160 - rv_op_csrrwi = 128,
161 - rv_op_csrrsi = 129,
162 - rv_op_csrrci = 130,
163 - rv_op_flw = 131,
164 - rv_op_fsw = 132,
165 - rv_op_fmadd_s = 133,
166 - rv_op_fmsub_s = 134,
167 - rv_op_fnmsub_s = 135,
168 - rv_op_fnmadd_s = 136,
169 - rv_op_fadd_s = 137,
170 - rv_op_fsub_s = 138,
171 - rv_op_fmul_s = 139,
172 - rv_op_fdiv_s = 140,
173 - rv_op_fsgnj_s = 141,
174 - rv_op_fsgnjn_s = 142,
175 - rv_op_fsgnjx_s = 143,
176 - rv_op_fmin_s = 144,
177 - rv_op_fmax_s = 145,
178 - rv_op_fsqrt_s = 146,
179 - rv_op_fle_s = 147,
180 - rv_op_flt_s = 148,
181 - rv_op_feq_s = 149,
182 - rv_op_fcvt_w_s = 150,
183 - rv_op_fcvt_wu_s = 151,
184 - rv_op_fcvt_s_w = 152,
185 - rv_op_fcvt_s_wu = 153,
186 - rv_op_fmv_x_s = 154,
187 - rv_op_fclass_s = 155,
188 - rv_op_fmv_s_x = 156,
189 - rv_op_fcvt_l_s = 157,
190 - rv_op_fcvt_lu_s = 158,
191 - rv_op_fcvt_s_l = 159,
192 - rv_op_fcvt_s_lu = 160,
193 - rv_op_fld = 161,
194 - rv_op_fsd = 162,
195 - rv_op_fmadd_d = 163,
196 - rv_op_fmsub_d = 164,
197 - rv_op_fnmsub_d = 165,
198 - rv_op_fnmadd_d = 166,
199 - rv_op_fadd_d = 167,
200 - rv_op_fsub_d = 168,
201 - rv_op_fmul_d = 169,
202 - rv_op_fdiv_d = 170,
203 - rv_op_fsgnj_d = 171,
204 - rv_op_fsgnjn_d = 172,
205 - rv_op_fsgnjx_d = 173,
206 - rv_op_fmin_d = 174,
207 - rv_op_fmax_d = 175,
208 - rv_op_fcvt_s_d = 176,
209 - rv_op_fcvt_d_s = 177,
210 - rv_op_fsqrt_d = 178,
211 - rv_op_fle_d = 179,
212 - rv_op_flt_d = 180,
213 - rv_op_feq_d = 181,
214 - rv_op_fcvt_w_d = 182,
215 - rv_op_fcvt_wu_d = 183,
216 - rv_op_fcvt_d_w = 184,
217 - rv_op_fcvt_d_wu = 185,
218 - rv_op_fclass_d = 186,
219 - rv_op_fcvt_l_d = 187,
220 - rv_op_fcvt_lu_d = 188,
221 - rv_op_fmv_x_d = 189,
222 - rv_op_fcvt_d_l = 190,
223 - rv_op_fcvt_d_lu = 191,
224 - rv_op_fmv_d_x = 192,
225 - rv_op_flq = 193,
226 - rv_op_fsq = 194,
227 - rv_op_fmadd_q = 195,
228 - rv_op_fmsub_q = 196,
229 - rv_op_fnmsub_q = 197,
230 - rv_op_fnmadd_q = 198,
231 - rv_op_fadd_q = 199,
232 - rv_op_fsub_q = 200,
233 - rv_op_fmul_q = 201,
234 - rv_op_fdiv_q = 202,
235 - rv_op_fsgnj_q = 203,
236 - rv_op_fsgnjn_q = 204,
237 - rv_op_fsgnjx_q = 205,
238 - rv_op_fmin_q = 206,
239 - rv_op_fmax_q = 207,
240 - rv_op_fcvt_s_q = 208,
241 - rv_op_fcvt_q_s = 209,
242 - rv_op_fcvt_d_q = 210,
243 - rv_op_fcvt_q_d = 211,
244 - rv_op_fsqrt_q = 212,
245 - rv_op_fle_q = 213,
246 - rv_op_flt_q = 214,
247 - rv_op_feq_q = 215,
248 - rv_op_fcvt_w_q = 216,
249 - rv_op_fcvt_wu_q = 217,
250 - rv_op_fcvt_q_w = 218,
251 - rv_op_fcvt_q_wu = 219,
252 - rv_op_fclass_q = 220,
253 - rv_op_fcvt_l_q = 221,
254 - rv_op_fcvt_lu_q = 222,
255 - rv_op_fcvt_q_l = 223,
256 - rv_op_fcvt_q_lu = 224,
257 - rv_op_fmv_x_q = 225,
258 - rv_op_fmv_q_x = 226,
259 - rv_op_c_addi4spn = 227,
260 - rv_op_c_fld = 228,
261 - rv_op_c_lw = 229,
262 - rv_op_c_flw = 230,
263 - rv_op_c_fsd = 231,
264 - rv_op_c_sw = 232,
265 - rv_op_c_fsw = 233,
266 - rv_op_c_addi = 235,
267 - rv_op_c_jal = 236,
268 - rv_op_c_li = 237,
269 - rv_op_c_addi16sp = 238,
270 - rv_op_c_lui = 239,
271 - rv_op_c_srli = 240,
272 - rv_op_c_srai = 241,
273 - rv_op_c_andi = 242,
274 - rv_op_c_sub = 243,
275 - rv_op_c_xor = 244,
276 - rv_op_c_or = 245,
277 - rv_op_c_and = 246,
278 - rv_op_c_subw = 247,
279 - rv_op_c_addw = 248,
280 - rv_op_c_j = 249,
281 - rv_op_c_beqz = 250,
282 - rv_op_c_bnez = 251,
283 - rv_op_c_slli = 252,
284 - rv_op_c_fldsp = 253,
285 - rv_op_c_lwsp = 254,
286 - rv_op_c_flwsp = 255,
287 - rv_op_c_jr = 256,
288 - rv_op_c_mv = 257,
289 - rv_op_c_ebreak = 258,
290 - rv_op_c_jalr = 259,
291 - rv_op_c_add = 260,
292 - rv_op_c_fsdsp = 261,
293 - rv_op_c_swsp = 262,
294 - rv_op_c_fswsp = 263,
295 - rv_op_c_ld = 264,
296 - rv_op_c_sd = 265,
297 - rv_op_c_addiw = 266,
298 - rv_op_c_ldsp = 267,
299 - rv_op_c_sdsp = 268,
300 - rv_op_c_lq = 269,
301 - rv_op_c_sq = 270,
302 - rv_op_c_lqsp = 271,
303 - rv_op_c_sqsp = 272,
304 - rv_op_nop = 273,
305 - rv_op_mv = 274,
306 - rv_op_not = 275,
307 - rv_op_neg = 276,
308 - rv_op_negw = 277,
309 - rv_op_sext_w = 278,
310 - rv_op_seqz = 279,
311 - rv_op_snez = 280,
312 - rv_op_sltz = 281,
313 - rv_op_sgtz = 282,
314 - rv_op_fmv_s = 283,
315 - rv_op_fabs_s = 284,
316 - rv_op_fneg_s = 285,
317 - rv_op_fmv_d = 286,
318 - rv_op_fabs_d = 287,
319 - rv_op_fneg_d = 288,
320 - rv_op_fmv_q = 289,
321 - rv_op_fabs_q = 290,
322 - rv_op_fneg_q = 291,
323 - rv_op_beqz = 292,
324 - rv_op_bnez = 293,
325 - rv_op_blez = 294,
326 - rv_op_bgez = 295,
327 - rv_op_bltz = 296,
328 - rv_op_bgtz = 297,
329 - rv_op_jal_ra = 298,
330 - rv_op_jalr_ra = 299,
331 - rv_op_j = 302,
332 - rv_op_ret = 303,
333 - rv_op_jr = 304,
334 - rv_op_rdcycle = 305,
335 - rv_op_rdtime = 306,
336 - rv_op_rdinstret = 307,
337 - rv_op_rdcycleh = 308,
338 - rv_op_rdtimeh = 309,
339 - rv_op_rdinstreth = 310,
340 - rv_op_frcsr = 311,
341 - rv_op_frrm = 312,
342 - rv_op_frflags = 313,
343 - rv_op_fscsr = 314,
344 - rv_op_fsrm = 315,
345 - rv_op_fsflags = 316,
346 - rv_op_fsrmi = 317,
347 - rv_op_fsflagsi = 318,
348 - rv_op_bseti = 319,
349 - rv_op_bclri = 320,
350 - rv_op_binvi = 321,
351 - rv_op_bexti = 322,
352 - rv_op_rori = 323,
353 - rv_op_clz = 324,
354 - rv_op_ctz = 325,
355 - rv_op_cpop = 326,
356 - rv_op_sext_h = 327,
357 - rv_op_sext_b = 328,
358 - rv_op_xnor = 329,
359 - rv_op_orn = 330,
360 - rv_op_andn = 331,
361 - rv_op_rol = 332,
362 - rv_op_ror = 333,
363 - rv_op_sh1add = 334,
364 - rv_op_sh2add = 335,
365 - rv_op_sh3add = 336,
366 - rv_op_sh1add_uw = 337,
367 - rv_op_sh2add_uw = 338,
368 - rv_op_sh3add_uw = 339,
369 - rv_op_clmul = 340,
370 - rv_op_clmulr = 341,
371 - rv_op_clmulh = 342,
372 - rv_op_min = 343,
373 - rv_op_minu = 344,
374 - rv_op_max = 345,
375 - rv_op_maxu = 346,
376 - rv_op_clzw = 347,
377 - rv_op_ctzw = 348,
378 - rv_op_cpopw = 349,
379 - rv_op_slli_uw = 350,
380 - rv_op_add_uw = 351,
381 - rv_op_rolw = 352,
382 - rv_op_rorw = 353,
383 - rv_op_rev8 = 354,
384 - rv_op_zext_h = 355,
385 - rv_op_roriw = 356,
386 - rv_op_orc_b = 357,
387 - rv_op_bset = 358,
388 - rv_op_bclr = 359,
389 - rv_op_binv = 360,
390 - rv_op_bext = 361,
391 - rv_op_aes32esmi = 362,
392 - rv_op_aes32esi = 363,
393 - rv_op_aes32dsmi = 364,
394 - rv_op_aes32dsi = 365,
395 - rv_op_aes64ks1i = 366,
396 - rv_op_aes64ks2 = 367,
397 - rv_op_aes64im = 368,
398 - rv_op_aes64esm = 369,
399 - rv_op_aes64es = 370,
400 - rv_op_aes64dsm = 371,
401 - rv_op_aes64ds = 372,
402 - rv_op_sha256sig0 = 373,
403 - rv_op_sha256sig1 = 374,
404 - rv_op_sha256sum0 = 375,
405 - rv_op_sha256sum1 = 376,
406 - rv_op_sha512sig0 = 377,
407 - rv_op_sha512sig1 = 378,
408 - rv_op_sha512sum0 = 379,
409 - rv_op_sha512sum1 = 380,
410 - rv_op_sha512sum0r = 381,
411 - rv_op_sha512sum1r = 382,
412 - rv_op_sha512sig0l = 383,
413 - rv_op_sha512sig0h = 384,
414 - rv_op_sha512sig1l = 385,
415 - rv_op_sha512sig1h = 386,
416 - rv_op_sm3p0 = 387,
417 - rv_op_sm3p1 = 388,
418 - rv_op_sm4ed = 389,
419 - rv_op_sm4ks = 390,
420 - rv_op_brev8 = 391,
421 - rv_op_pack = 392,
422 - rv_op_packh = 393,
423 - rv_op_packw = 394,
424 - rv_op_unzip = 395,
425 - rv_op_zip = 396,
426 - rv_op_xperm4 = 397,
427 - rv_op_xperm8 = 398,
428 - rv_op_vle8_v = 399,
429 - rv_op_vle16_v = 400,
430 - rv_op_vle32_v = 401,
431 - rv_op_vle64_v = 402,
432 - rv_op_vse8_v = 403,
433 - rv_op_vse16_v = 404,
434 - rv_op_vse32_v = 405,
435 - rv_op_vse64_v = 406,
436 - rv_op_vlm_v = 407,
437 - rv_op_vsm_v = 408,
438 - rv_op_vlse8_v = 409,
439 - rv_op_vlse16_v = 410,
440 - rv_op_vlse32_v = 411,
441 - rv_op_vlse64_v = 412,
442 - rv_op_vsse8_v = 413,
443 - rv_op_vsse16_v = 414,
444 - rv_op_vsse32_v = 415,
445 - rv_op_vsse64_v = 416,
446 - rv_op_vluxei8_v = 417,
447 - rv_op_vluxei16_v = 418,
448 - rv_op_vluxei32_v = 419,
449 - rv_op_vluxei64_v = 420,
450 - rv_op_vloxei8_v = 421,
451 - rv_op_vloxei16_v = 422,
452 - rv_op_vloxei32_v = 423,
453 - rv_op_vloxei64_v = 424,
454 - rv_op_vsuxei8_v = 425,
455 - rv_op_vsuxei16_v = 426,
456 - rv_op_vsuxei32_v = 427,
457 - rv_op_vsuxei64_v = 428,
458 - rv_op_vsoxei8_v = 429,
459 - rv_op_vsoxei16_v = 430,
460 - rv_op_vsoxei32_v = 431,
461 - rv_op_vsoxei64_v = 432,
462 - rv_op_vle8ff_v = 433,
463 - rv_op_vle16ff_v = 434,
464 - rv_op_vle32ff_v = 435,
465 - rv_op_vle64ff_v = 436,
466 - rv_op_vl1re8_v = 437,
467 - rv_op_vl1re16_v = 438,
468 - rv_op_vl1re32_v = 439,
469 - rv_op_vl1re64_v = 440,
470 - rv_op_vl2re8_v = 441,
471 - rv_op_vl2re16_v = 442,
472 - rv_op_vl2re32_v = 443,
473 - rv_op_vl2re64_v = 444,
474 - rv_op_vl4re8_v = 445,
475 - rv_op_vl4re16_v = 446,
476 - rv_op_vl4re32_v = 447,
477 - rv_op_vl4re64_v = 448,
478 - rv_op_vl8re8_v = 449,
479 - rv_op_vl8re16_v = 450,
480 - rv_op_vl8re32_v = 451,
481 - rv_op_vl8re64_v = 452,
482 - rv_op_vs1r_v = 453,
483 - rv_op_vs2r_v = 454,
484 - rv_op_vs4r_v = 455,
485 - rv_op_vs8r_v = 456,
486 - rv_op_vadd_vv = 457,
487 - rv_op_vadd_vx = 458,
488 - rv_op_vadd_vi = 459,
489 - rv_op_vsub_vv = 460,
490 - rv_op_vsub_vx = 461,
491 - rv_op_vrsub_vx = 462,
492 - rv_op_vrsub_vi = 463,
493 - rv_op_vwaddu_vv = 464,
494 - rv_op_vwaddu_vx = 465,
495 - rv_op_vwadd_vv = 466,
496 - rv_op_vwadd_vx = 467,
497 - rv_op_vwsubu_vv = 468,
498 - rv_op_vwsubu_vx = 469,
499 - rv_op_vwsub_vv = 470,
500 - rv_op_vwsub_vx = 471,
501 - rv_op_vwaddu_wv = 472,
502 - rv_op_vwaddu_wx = 473,
503 - rv_op_vwadd_wv = 474,
504 - rv_op_vwadd_wx = 475,
505 - rv_op_vwsubu_wv = 476,
506 - rv_op_vwsubu_wx = 477,
507 - rv_op_vwsub_wv = 478,
508 - rv_op_vwsub_wx = 479,
509 - rv_op_vadc_vvm = 480,
510 - rv_op_vadc_vxm = 481,
511 - rv_op_vadc_vim = 482,
512 - rv_op_vmadc_vvm = 483,
513 - rv_op_vmadc_vxm = 484,
514 - rv_op_vmadc_vim = 485,
515 - rv_op_vsbc_vvm = 486,
516 - rv_op_vsbc_vxm = 487,
517 - rv_op_vmsbc_vvm = 488,
518 - rv_op_vmsbc_vxm = 489,
519 - rv_op_vand_vv = 490,
520 - rv_op_vand_vx = 491,
521 - rv_op_vand_vi = 492,
522 - rv_op_vor_vv = 493,
523 - rv_op_vor_vx = 494,
524 - rv_op_vor_vi = 495,
525 - rv_op_vxor_vv = 496,
526 - rv_op_vxor_vx = 497,
527 - rv_op_vxor_vi = 498,
528 - rv_op_vsll_vv = 499,
529 - rv_op_vsll_vx = 500,
530 - rv_op_vsll_vi = 501,
531 - rv_op_vsrl_vv = 502,
532 - rv_op_vsrl_vx = 503,
533 - rv_op_vsrl_vi = 504,
534 - rv_op_vsra_vv = 505,
535 - rv_op_vsra_vx = 506,
536 - rv_op_vsra_vi = 507,
537 - rv_op_vnsrl_wv = 508,
538 - rv_op_vnsrl_wx = 509,
539 - rv_op_vnsrl_wi = 510,
540 - rv_op_vnsra_wv = 511,
541 - rv_op_vnsra_wx = 512,
542 - rv_op_vnsra_wi = 513,
543 - rv_op_vmseq_vv = 514,
544 - rv_op_vmseq_vx = 515,
545 - rv_op_vmseq_vi = 516,
546 - rv_op_vmsne_vv = 517,
547 - rv_op_vmsne_vx = 518,
548 - rv_op_vmsne_vi = 519,
549 - rv_op_vmsltu_vv = 520,
550 - rv_op_vmsltu_vx = 521,
551 - rv_op_vmslt_vv = 522,
552 - rv_op_vmslt_vx = 523,
553 - rv_op_vmsleu_vv = 524,
554 - rv_op_vmsleu_vx = 525,
555 - rv_op_vmsleu_vi = 526,
556 - rv_op_vmsle_vv = 527,
557 - rv_op_vmsle_vx = 528,
558 - rv_op_vmsle_vi = 529,
559 - rv_op_vmsgtu_vx = 530,
560 - rv_op_vmsgtu_vi = 531,
561 - rv_op_vmsgt_vx = 532,
562 - rv_op_vmsgt_vi = 533,
563 - rv_op_vminu_vv = 534,
564 - rv_op_vminu_vx = 535,
565 - rv_op_vmin_vv = 536,
566 - rv_op_vmin_vx = 537,
567 - rv_op_vmaxu_vv = 538,
568 - rv_op_vmaxu_vx = 539,
569 - rv_op_vmax_vv = 540,
570 - rv_op_vmax_vx = 541,
571 - rv_op_vmul_vv = 542,
572 - rv_op_vmul_vx = 543,
573 - rv_op_vmulh_vv = 544,
574 - rv_op_vmulh_vx = 545,
575 - rv_op_vmulhu_vv = 546,
576 - rv_op_vmulhu_vx = 547,
577 - rv_op_vmulhsu_vv = 548,
578 - rv_op_vmulhsu_vx = 549,
579 - rv_op_vdivu_vv = 550,
580 - rv_op_vdivu_vx = 551,
581 - rv_op_vdiv_vv = 552,
582 - rv_op_vdiv_vx = 553,
583 - rv_op_vremu_vv = 554,
584 - rv_op_vremu_vx = 555,
585 - rv_op_vrem_vv = 556,
586 - rv_op_vrem_vx = 557,
587 - rv_op_vwmulu_vv = 558,
588 - rv_op_vwmulu_vx = 559,
589 - rv_op_vwmulsu_vv = 560,
590 - rv_op_vwmulsu_vx = 561,
591 - rv_op_vwmul_vv = 562,
592 - rv_op_vwmul_vx = 563,
593 - rv_op_vmacc_vv = 564,
594 - rv_op_vmacc_vx = 565,
595 - rv_op_vnmsac_vv = 566,
596 - rv_op_vnmsac_vx = 567,
597 - rv_op_vmadd_vv = 568,
598 - rv_op_vmadd_vx = 569,
599 - rv_op_vnmsub_vv = 570,
600 - rv_op_vnmsub_vx = 571,
601 - rv_op_vwmaccu_vv = 572,
602 - rv_op_vwmaccu_vx = 573,
603 - rv_op_vwmacc_vv = 574,
604 - rv_op_vwmacc_vx = 575,
605 - rv_op_vwmaccsu_vv = 576,
606 - rv_op_vwmaccsu_vx = 577,
607 - rv_op_vwmaccus_vx = 578,
608 - rv_op_vmv_v_v = 579,
609 - rv_op_vmv_v_x = 580,
610 - rv_op_vmv_v_i = 581,
611 - rv_op_vmerge_vvm = 582,
612 - rv_op_vmerge_vxm = 583,
613 - rv_op_vmerge_vim = 584,
614 - rv_op_vsaddu_vv = 585,
615 - rv_op_vsaddu_vx = 586,
616 - rv_op_vsaddu_vi = 587,
617 - rv_op_vsadd_vv = 588,
618 - rv_op_vsadd_vx = 589,
619 - rv_op_vsadd_vi = 590,
620 - rv_op_vssubu_vv = 591,
621 - rv_op_vssubu_vx = 592,
622 - rv_op_vssub_vv = 593,
623 - rv_op_vssub_vx = 594,
624 - rv_op_vaadd_vv = 595,
625 - rv_op_vaadd_vx = 596,
626 - rv_op_vaaddu_vv = 597,
627 - rv_op_vaaddu_vx = 598,
628 - rv_op_vasub_vv = 599,
629 - rv_op_vasub_vx = 600,
630 - rv_op_vasubu_vv = 601,
631 - rv_op_vasubu_vx = 602,
632 - rv_op_vsmul_vv = 603,
633 - rv_op_vsmul_vx = 604,
634 - rv_op_vssrl_vv = 605,
635 - rv_op_vssrl_vx = 606,
636 - rv_op_vssrl_vi = 607,
637 - rv_op_vssra_vv = 608,
638 - rv_op_vssra_vx = 609,
639 - rv_op_vssra_vi = 610,
640 - rv_op_vnclipu_wv = 611,
641 - rv_op_vnclipu_wx = 612,
642 - rv_op_vnclipu_wi = 613,
643 - rv_op_vnclip_wv = 614,
644 - rv_op_vnclip_wx = 615,
645 - rv_op_vnclip_wi = 616,
646 - rv_op_vfadd_vv = 617,
647 - rv_op_vfadd_vf = 618,
648 - rv_op_vfsub_vv = 619,
649 - rv_op_vfsub_vf = 620,
650 - rv_op_vfrsub_vf = 621,
651 - rv_op_vfwadd_vv = 622,
652 - rv_op_vfwadd_vf = 623,
653 - rv_op_vfwadd_wv = 624,
654 - rv_op_vfwadd_wf = 625,
655 - rv_op_vfwsub_vv = 626,
656 - rv_op_vfwsub_vf = 627,
657 - rv_op_vfwsub_wv = 628,
658 - rv_op_vfwsub_wf = 629,
659 - rv_op_vfmul_vv = 630,
660 - rv_op_vfmul_vf = 631,
661 - rv_op_vfdiv_vv = 632,
662 - rv_op_vfdiv_vf = 633,
663 - rv_op_vfrdiv_vf = 634,
664 - rv_op_vfwmul_vv = 635,
665 - rv_op_vfwmul_vf = 636,
666 - rv_op_vfmacc_vv = 637,
667 - rv_op_vfmacc_vf = 638,
668 - rv_op_vfnmacc_vv = 639,
669 - rv_op_vfnmacc_vf = 640,
670 - rv_op_vfmsac_vv = 641,
671 - rv_op_vfmsac_vf = 642,
672 - rv_op_vfnmsac_vv = 643,
673 - rv_op_vfnmsac_vf = 644,
674 - rv_op_vfmadd_vv = 645,
675 - rv_op_vfmadd_vf = 646,
676 - rv_op_vfnmadd_vv = 647,
677 - rv_op_vfnmadd_vf = 648,
678 - rv_op_vfmsub_vv = 649,
679 - rv_op_vfmsub_vf = 650,
680 - rv_op_vfnmsub_vv = 651,
681 - rv_op_vfnmsub_vf = 652,
682 - rv_op_vfwmacc_vv = 653,
683 - rv_op_vfwmacc_vf = 654,
684 - rv_op_vfwnmacc_vv = 655,
685 - rv_op_vfwnmacc_vf = 656,
686 - rv_op_vfwmsac_vv = 657,
687 - rv_op_vfwmsac_vf = 658,
688 - rv_op_vfwnmsac_vv = 659,
689 - rv_op_vfwnmsac_vf = 660,
690 - rv_op_vfsqrt_v = 661,
691 - rv_op_vfrsqrt7_v = 662,
692 - rv_op_vfrec7_v = 663,
693 - rv_op_vfmin_vv = 664,
694 - rv_op_vfmin_vf = 665,
695 - rv_op_vfmax_vv = 666,
696 - rv_op_vfmax_vf = 667,
697 - rv_op_vfsgnj_vv = 668,
698 - rv_op_vfsgnj_vf = 669,
699 - rv_op_vfsgnjn_vv = 670,
700 - rv_op_vfsgnjn_vf = 671,
701 - rv_op_vfsgnjx_vv = 672,
702 - rv_op_vfsgnjx_vf = 673,
703 - rv_op_vfslide1up_vf = 674,
704 - rv_op_vfslide1down_vf = 675,
705 - rv_op_vmfeq_vv = 676,
706 - rv_op_vmfeq_vf = 677,
707 - rv_op_vmfne_vv = 678,
708 - rv_op_vmfne_vf = 679,
709 - rv_op_vmflt_vv = 680,
710 - rv_op_vmflt_vf = 681,
711 - rv_op_vmfle_vv = 682,
712 - rv_op_vmfle_vf = 683,
713 - rv_op_vmfgt_vf = 684,
714 - rv_op_vmfge_vf = 685,
715 - rv_op_vfclass_v = 686,
716 - rv_op_vfmerge_vfm = 687,
717 - rv_op_vfmv_v_f = 688,
718 - rv_op_vfcvt_xu_f_v = 689,
719 - rv_op_vfcvt_x_f_v = 690,
720 - rv_op_vfcvt_f_xu_v = 691,
721 - rv_op_vfcvt_f_x_v = 692,
722 - rv_op_vfcvt_rtz_xu_f_v = 693,
723 - rv_op_vfcvt_rtz_x_f_v = 694,
724 - rv_op_vfwcvt_xu_f_v = 695,
725 - rv_op_vfwcvt_x_f_v = 696,
726 - rv_op_vfwcvt_f_xu_v = 697,
727 - rv_op_vfwcvt_f_x_v = 698,
728 - rv_op_vfwcvt_f_f_v = 699,
729 - rv_op_vfwcvt_rtz_xu_f_v = 700,
730 - rv_op_vfwcvt_rtz_x_f_v = 701,
731 - rv_op_vfncvt_xu_f_w = 702,
732 - rv_op_vfncvt_x_f_w = 703,
733 - rv_op_vfncvt_f_xu_w = 704,
734 - rv_op_vfncvt_f_x_w = 705,
735 - rv_op_vfncvt_f_f_w = 706,
736 - rv_op_vfncvt_rod_f_f_w = 707,
737 - rv_op_vfncvt_rtz_xu_f_w = 708,
738 - rv_op_vfncvt_rtz_x_f_w = 709,
739 - rv_op_vredsum_vs = 710,
740 - rv_op_vredand_vs = 711,
741 - rv_op_vredor_vs = 712,
742 - rv_op_vredxor_vs = 713,
743 - rv_op_vredminu_vs = 714,
744 - rv_op_vredmin_vs = 715,
745 - rv_op_vredmaxu_vs = 716,
746 - rv_op_vredmax_vs = 717,
747 - rv_op_vwredsumu_vs = 718,
748 - rv_op_vwredsum_vs = 719,
749 - rv_op_vfredusum_vs = 720,
750 - rv_op_vfredosum_vs = 721,
751 - rv_op_vfredmin_vs = 722,
752 - rv_op_vfredmax_vs = 723,
753 - rv_op_vfwredusum_vs = 724,
754 - rv_op_vfwredosum_vs = 725,
755 - rv_op_vmand_mm = 726,
756 - rv_op_vmnand_mm = 727,
757 - rv_op_vmandn_mm = 728,
758 - rv_op_vmxor_mm = 729,
759 - rv_op_vmor_mm = 730,
760 - rv_op_vmnor_mm = 731,
761 - rv_op_vmorn_mm = 732,
762 - rv_op_vmxnor_mm = 733,
763 - rv_op_vcpop_m = 734,
764 - rv_op_vfirst_m = 735,
765 - rv_op_vmsbf_m = 736,
766 - rv_op_vmsif_m = 737,
767 - rv_op_vmsof_m = 738,
768 - rv_op_viota_m = 739,
769 - rv_op_vid_v = 740,
770 - rv_op_vmv_x_s = 741,
771 - rv_op_vmv_s_x = 742,
772 - rv_op_vfmv_f_s = 743,
773 - rv_op_vfmv_s_f = 744,
774 - rv_op_vslideup_vx = 745,
775 - rv_op_vslideup_vi = 746,
776 - rv_op_vslide1up_vx = 747,
777 - rv_op_vslidedown_vx = 748,
778 - rv_op_vslidedown_vi = 749,
779 - rv_op_vslide1down_vx = 750,
780 - rv_op_vrgather_vv = 751,
781 - rv_op_vrgatherei16_vv = 752,
782 - rv_op_vrgather_vx = 753,
783 - rv_op_vrgather_vi = 754,
784 - rv_op_vcompress_vm = 755,
785 - rv_op_vmv1r_v = 756,
786 - rv_op_vmv2r_v = 757,
787 - rv_op_vmv4r_v = 758,
788 - rv_op_vmv8r_v = 759,
789 - rv_op_vzext_vf2 = 760,
790 - rv_op_vzext_vf4 = 761,
791 - rv_op_vzext_vf8 = 762,
792 - rv_op_vsext_vf2 = 763,
793 - rv_op_vsext_vf4 = 764,
794 - rv_op_vsext_vf8 = 765,
795 - rv_op_vsetvli = 766,
796 - rv_op_vsetivli = 767,
797 - rv_op_vsetvl = 768,
798 - rv_op_c_zext_b = 769,
799 - rv_op_c_sext_b = 770,
800 - rv_op_c_zext_h = 771,
801 - rv_op_c_sext_h = 772,
802 - rv_op_c_zext_w = 773,
803 - rv_op_c_not = 774,
804 - rv_op_c_mul = 775,
805 - rv_op_c_lbu = 776,
806 - rv_op_c_lhu = 777,
807 - rv_op_c_lh = 778,
808 - rv_op_c_sb = 779,
809 - rv_op_c_sh = 780,
810 - rv_op_cm_push = 781,
811 - rv_op_cm_pop = 782,
812 - rv_op_cm_popret = 783,
813 - rv_op_cm_popretz = 784,
814 - rv_op_cm_mva01s = 785,
815 - rv_op_cm_mvsa01 = 786,
816 - rv_op_cm_jt = 787,
817 - rv_op_cm_jalt = 788,
818 - rv_op_czero_eqz = 789,
819 - rv_op_czero_nez = 790,
820 - rv_op_fcvt_bf16_s = 791,
821 - rv_op_fcvt_s_bf16 = 792,
822 - rv_op_vfncvtbf16_f_f_w = 793,
823 - rv_op_vfwcvtbf16_f_f_v = 794,
824 - rv_op_vfwmaccbf16_vv = 795,
825 - rv_op_vfwmaccbf16_vf = 796,
826 - rv_op_flh = 797,
827 - rv_op_fsh = 798,
828 - rv_op_fmv_h_x = 799,
829 - rv_op_fmv_x_h = 800,
830 - rv_op_fli_s = 801,
831 - rv_op_fli_d = 802,
832 - rv_op_fli_q = 803,
833 - rv_op_fli_h = 804,
834 - rv_op_fminm_s = 805,
835 - rv_op_fmaxm_s = 806,
836 - rv_op_fminm_d = 807,
837 - rv_op_fmaxm_d = 808,
838 - rv_op_fminm_q = 809,
839 - rv_op_fmaxm_q = 810,
840 - rv_op_fminm_h = 811,
841 - rv_op_fmaxm_h = 812,
842 - rv_op_fround_s = 813,
843 - rv_op_froundnx_s = 814,
844 - rv_op_fround_d = 815,
845 - rv_op_froundnx_d = 816,
846 - rv_op_fround_q = 817,
847 - rv_op_froundnx_q = 818,
848 - rv_op_fround_h = 819,
849 - rv_op_froundnx_h = 820,
850 - rv_op_fcvtmod_w_d = 821,
851 - rv_op_fmvh_x_d = 822,
852 - rv_op_fmvp_d_x = 823,
853 - rv_op_fmvh_x_q = 824,
854 - rv_op_fmvp_q_x = 825,
855 - rv_op_fleq_s = 826,
856 - rv_op_fltq_s = 827,
857 - rv_op_fleq_d = 828,
858 - rv_op_fltq_d = 829,
859 - rv_op_fleq_q = 830,
860 - rv_op_fltq_q = 831,
861 - rv_op_fleq_h = 832,
862 - rv_op_fltq_h = 833,
863 - rv_op_vaesdf_vv = 834,
864 - rv_op_vaesdf_vs = 835,
865 - rv_op_vaesdm_vv = 836,
866 - rv_op_vaesdm_vs = 837,
867 - rv_op_vaesef_vv = 838,
868 - rv_op_vaesef_vs = 839,
869 - rv_op_vaesem_vv = 840,
870 - rv_op_vaesem_vs = 841,
871 - rv_op_vaeskf1_vi = 842,
872 - rv_op_vaeskf2_vi = 843,
873 - rv_op_vaesz_vs = 844,
874 - rv_op_vandn_vv = 845,
875 - rv_op_vandn_vx = 846,
876 - rv_op_vbrev_v = 847,
877 - rv_op_vbrev8_v = 848,
878 - rv_op_vclmul_vv = 849,
879 - rv_op_vclmul_vx = 850,
880 - rv_op_vclmulh_vv = 851,
881 - rv_op_vclmulh_vx = 852,
882 - rv_op_vclz_v = 853,
883 - rv_op_vcpop_v = 854,
884 - rv_op_vctz_v = 855,
885 - rv_op_vghsh_vv = 856,
886 - rv_op_vgmul_vv = 857,
887 - rv_op_vrev8_v = 858,
888 - rv_op_vrol_vv = 859,
889 - rv_op_vrol_vx = 860,
890 - rv_op_vror_vv = 861,
891 - rv_op_vror_vx = 862,
892 - rv_op_vror_vi = 863,
893 - rv_op_vsha2ch_vv = 864,
894 - rv_op_vsha2cl_vv = 865,
895 - rv_op_vsha2ms_vv = 866,
896 - rv_op_vsm3c_vi = 867,
897 - rv_op_vsm3me_vv = 868,
898 - rv_op_vsm4k_vi = 869,
899 - rv_op_vsm4r_vv = 870,
900 - rv_op_vsm4r_vs = 871,
901 - rv_op_vwsll_vv = 872,
902 - rv_op_vwsll_vx = 873,
903 - rv_op_vwsll_vi = 874,
904 - rv_op_amocas_w = 875,
905 - rv_op_amocas_d = 876,
906 - rv_op_amocas_q = 877,
907 - rv_mop_r_0 = 878,
908 - rv_mop_r_1 = 879,
909 - rv_mop_r_2 = 880,
910 - rv_mop_r_3 = 881,
911 - rv_mop_r_4 = 882,
912 - rv_mop_r_5 = 883,
913 - rv_mop_r_6 = 884,
914 - rv_mop_r_7 = 885,
915 - rv_mop_r_8 = 886,
916 - rv_mop_r_9 = 887,
917 - rv_mop_r_10 = 888,
918 - rv_mop_r_11 = 889,
919 - rv_mop_r_12 = 890,
920 - rv_mop_r_13 = 891,
921 - rv_mop_r_14 = 892,
922 - rv_mop_r_15 = 893,
923 - rv_mop_r_16 = 894,
924 - rv_mop_r_17 = 895,
925 - rv_mop_r_18 = 896,
926 - rv_mop_r_19 = 897,
927 - rv_mop_r_20 = 898,
928 - rv_mop_r_21 = 899,
929 - rv_mop_r_22 = 900,
930 - rv_mop_r_23 = 901,
931 - rv_mop_r_24 = 902,
932 - rv_mop_r_25 = 903,
933 - rv_mop_r_26 = 904,
934 - rv_mop_r_27 = 905,
935 - rv_mop_r_28 = 906,
936 - rv_mop_r_29 = 907,
937 - rv_mop_r_30 = 908,
938 - rv_mop_r_31 = 909,
939 - rv_mop_rr_0 = 910,
940 - rv_mop_rr_1 = 911,
941 - rv_mop_rr_2 = 912,
942 - rv_mop_rr_3 = 913,
943 - rv_mop_rr_4 = 914,
944 - rv_mop_rr_5 = 915,
945 - rv_mop_rr_6 = 916,
946 - rv_mop_rr_7 = 917,
947 - rv_c_mop_1 = 918,
948 - rv_c_mop_3 = 919,
949 - rv_c_mop_5 = 920,
950 - rv_c_mop_7 = 921,
951 - rv_c_mop_9 = 922,
952 - rv_c_mop_11 = 923,
953 - rv_c_mop_13 = 924,
954 - rv_c_mop_15 = 925,
955 - rv_op_amoswap_b = 926,
956 - rv_op_amoadd_b = 927,
957 - rv_op_amoxor_b = 928,
958 - rv_op_amoor_b = 929,
959 - rv_op_amoand_b = 930,
960 - rv_op_amomin_b = 931,
961 - rv_op_amomax_b = 932,
962 - rv_op_amominu_b = 933,
963 - rv_op_amomaxu_b = 934,
964 - rv_op_amoswap_h = 935,
965 - rv_op_amoadd_h = 936,
966 - rv_op_amoxor_h = 937,
967 - rv_op_amoor_h = 938,
968 - rv_op_amoand_h = 939,
969 - rv_op_amomin_h = 940,
970 - rv_op_amomax_h = 941,
971 - rv_op_amominu_h = 942,
972 - rv_op_amomaxu_h = 943,
973 - rv_op_amocas_b = 944,
974 - rv_op_amocas_h = 945,
975 - rv_op_wrs_sto = 946,
976 - rv_op_wrs_nto = 947,
977 - rv_op_lpad = 948,
978 - rv_op_sspush = 949,
979 - rv_op_sspopchk = 950,
980 - rv_op_ssrdp = 951,
981 - rv_op_ssamoswap_w = 952,
982 - rv_op_ssamoswap_d = 953,
983 - rv_op_c_sspush = 954,
984 - rv_op_c_sspopchk = 955,
985 - rv_op_cbo_inval = 956,
986 - rv_op_cbo_clean = 957,
987 - rv_op_cbo_flush = 958,
988 - rv_op_cbo_zero = 959,
989 - rv_op_mnret = 960,
32 +#define OP(N, ...) rv_op_##N,
33 +#include "riscv-op.c.inc"
34 +#undef OP
35 } rv_op;
36
37 /* register names */
@@ -1601,967 +646,9 @@ static uint32_t operand_lpl(rv_inst inst)
646 /* instruction metadata */
647
648 static const rv_opcode_data rvi_opcode_data[] = {
1604 - { "illegal", rv_codec_none, rv_fmt_none },
1605 - { "lui", rv_codec_u, rv_fmt_rd_uimm },
1606 - { "auipc", rv_codec_u, rv_fmt_rd_uoffset },
1607 - { "jal", rv_codec_uj, rv_fmt_rd_offset, rvcp_jal },
1608 - { "jalr", rv_codec_i, rv_fmt_rd_rs1_offset, rvcp_jalr },
1609 - { "beq", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_beq },
1610 - { "bne", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bne },
1611 - { "blt", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_blt },
1612 - { "bge", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bge },
1613 - { "bltu", rv_codec_sb, rv_fmt_rs1_rs2_offset },
1614 - { "bgeu", rv_codec_sb, rv_fmt_rs1_rs2_offset },
1615 - { "lb", rv_codec_i, rv_fmt_rd_offset_rs1 },
1616 - { "lh", rv_codec_i, rv_fmt_rd_offset_rs1 },
1617 - { "lw", rv_codec_i, rv_fmt_rd_offset_rs1 },
1618 - { "lbu", rv_codec_i, rv_fmt_rd_offset_rs1 },
1619 - { "lhu", rv_codec_i, rv_fmt_rd_offset_rs1 },
1620 - { "sb", rv_codec_s, rv_fmt_rs2_offset_rs1 },
1621 - { "sh", rv_codec_s, rv_fmt_rs2_offset_rs1 },
1622 - { "sw", rv_codec_s, rv_fmt_rs2_offset_rs1 },
1623 - { "addi", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_addi },
1624 - { "slti", rv_codec_i, rv_fmt_rd_rs1_imm },
1625 - { "sltiu", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_sltiu },
1626 - { "xori", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_xori },
1627 - { "ori", rv_codec_i, rv_fmt_rd_rs1_imm },
1628 - { "andi", rv_codec_i, rv_fmt_rd_rs1_imm },
1629 - { "slli", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
1630 - { "srli", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
1631 - { "srai", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
1632 - { "add", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1633 - { "sub", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_sub },
1634 - { "sll", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1635 - { "slt", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_slt },
1636 - { "sltu", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_sltu },
1637 - { "xor", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1638 - { "srl", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1639 - { "sra", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1640 - { "or", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1641 - { "and", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1642 - { "fence", rv_codec_r_f, rv_fmt_pred_succ },
1643 - { "fence.i", rv_codec_none, rv_fmt_none },
1644 - { "lwu", rv_codec_i, rv_fmt_rd_offset_rs1 },
1645 - { "ld", rv_codec_i, rv_fmt_rd_offset_rs1 },
1646 - { "sd", rv_codec_s, rv_fmt_rs2_offset_rs1 },
1647 - { "addiw", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_addiw },
1648 - { "slliw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm },
1649 - { "srliw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm },
1650 - { "sraiw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm },
1651 - { "addw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1652 - { "subw", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_subw },
1653 - { "sllw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1654 - { "srlw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1655 - { "sraw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1656 - { "ldu", rv_codec_i, rv_fmt_rd_offset_rs1 },
1657 - { "lq", rv_codec_i, rv_fmt_rd_offset_rs1 },
1658 - { "sq", rv_codec_s, rv_fmt_rs2_offset_rs1 },
1659 - { "addid", rv_codec_i, rv_fmt_rd_rs1_imm },
1660 - { "sllid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm },
1661 - { "srlid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm },
1662 - { "sraid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm },
1663 - { "addd", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1664 - { "subd", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1665 - { "slld", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1666 - { "srld", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1667 - { "srad", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1668 - { "mul", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1669 - { "mulh", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1670 - { "mulhsu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1671 - { "mulhu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1672 - { "div", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1673 - { "divu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1674 - { "rem", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1675 - { "remu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1676 - { "mulw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1677 - { "divw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1678 - { "divuw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1679 - { "remw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1680 - { "remuw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1681 - { "muld", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1682 - { "divd", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1683 - { "divud", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1684 - { "remd", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1685 - { "remud", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1686 - { "lr.w", rv_codec_r_l, rv_fmt_aqrl_rd_rs1 },
1687 - { "sc.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1688 - { "amoswap.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1689 - { "amoadd.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1690 - { "amoxor.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1691 - { "amoor.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1692 - { "amoand.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1693 - { "amomin.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1694 - { "amomax.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1695 - { "amominu.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1696 - { "amomaxu.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1697 - { "lr.d", rv_codec_r_l, rv_fmt_aqrl_rd_rs1 },
1698 - { "sc.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1699 - { "amoswap.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1700 - { "amoadd.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1701 - { "amoxor.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1702 - { "amoor.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1703 - { "amoand.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1704 - { "amomin.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1705 - { "amomax.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1706 - { "amominu.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1707 - { "amomaxu.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1708 - { "lr.q", rv_codec_r_l, rv_fmt_aqrl_rd_rs1 },
1709 - { "sc.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1710 - { "amoswap.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1711 - { "amoadd.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1712 - { "amoxor.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1713 - { "amoor.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1714 - { "amoand.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1715 - { "amomin.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1716 - { "amomax.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1717 - { "amominu.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1718 - { "amomaxu.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1719 - { "ecall", rv_codec_none, rv_fmt_none },
1720 - { "ebreak", rv_codec_none, rv_fmt_none },
1721 - { "uret", rv_codec_none, rv_fmt_none },
1722 - { "sret", rv_codec_none, rv_fmt_none },
1723 - { "hret", rv_codec_none, rv_fmt_none },
1724 - { "mret", rv_codec_none, rv_fmt_none },
1725 - { "dret", rv_codec_none, rv_fmt_none },
1726 - { "sfence.vm", rv_codec_r, rv_fmt_rs1 },
1727 - { "sfence.vma", rv_codec_r, rv_fmt_rs1_rs2 },
1728 - { "wfi", rv_codec_none, rv_fmt_none },
1729 - { "csrrw", rv_codec_i_csr, rv_fmt_rd_csr_rs1 },
1730 - { "csrrs", rv_codec_i_csr, rv_fmt_rd_csr_rs1 },
1731 - { "csrrc", rv_codec_i_csr, rv_fmt_rd_csr_rs1 },
1732 - { "csrrwi", rv_codec_i_csr, rv_fmt_rd_csr_zimm },
1733 - { "csrrsi", rv_codec_i_csr, rv_fmt_rd_csr_zimm },
1734 - { "csrrci", rv_codec_i_csr, rv_fmt_rd_csr_zimm },
1735 - { "flw", rv_codec_i, rv_fmt_frd_offset_rs1 },
1736 - { "fsw", rv_codec_s, rv_fmt_frs2_offset_rs1 },
1737 - { "fmadd.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1738 - { "fmsub.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1739 - { "fnmsub.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1740 - { "fnmadd.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1741 - { "fadd.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1742 - { "fsub.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1743 - { "fmul.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1744 - { "fdiv.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1745 - { "fsgnj.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_s },
1746 - { "fsgnjn.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_s },
1747 - { "fsgnjx.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_s },
1748 - { "fmin.s", rv_codec_r, rv_fmt_frd_frs1_frs2 },
1749 - { "fmax.s", rv_codec_r, rv_fmt_frd_frs1_frs2 },
1750 - { "fsqrt.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1751 - { "fle.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1752 - { "flt.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1753 - { "feq.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1754 - { "fcvt.w.s", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1755 - { "fcvt.wu.s", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1756 - { "fcvt.s.w", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1757 - { "fcvt.s.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1758 - { "fmv.x.s", rv_codec_r, rv_fmt_rd_frs1 },
1759 - { "fclass.s", rv_codec_r, rv_fmt_rd_frs1 },
1760 - { "fmv.s.x", rv_codec_r, rv_fmt_frd_rs1 },
1761 - { "fcvt.l.s", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1762 - { "fcvt.lu.s", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1763 - { "fcvt.s.l", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1764 - { "fcvt.s.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1765 - { "fld", rv_codec_i, rv_fmt_frd_offset_rs1 },
1766 - { "fsd", rv_codec_s, rv_fmt_frs2_offset_rs1 },
1767 - { "fmadd.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1768 - { "fmsub.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1769 - { "fnmsub.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1770 - { "fnmadd.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1771 - { "fadd.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1772 - { "fsub.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1773 - { "fmul.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1774 - { "fdiv.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1775 - { "fsgnj.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_d },
1776 - { "fsgnjn.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_d },
1777 - { "fsgnjx.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_d },
1778 - { "fmin.d", rv_codec_r, rv_fmt_frd_frs1_frs2 },
1779 - { "fmax.d", rv_codec_r, rv_fmt_frd_frs1_frs2 },
1780 - { "fcvt.s.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1781 - { "fcvt.d.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1782 - { "fsqrt.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1783 - { "fle.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1784 - { "flt.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1785 - { "feq.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1786 - { "fcvt.w.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1787 - { "fcvt.wu.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1788 - { "fcvt.d.w", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1789 - { "fcvt.d.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1790 - { "fclass.d", rv_codec_r, rv_fmt_rd_frs1 },
1791 - { "fcvt.l.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1792 - { "fcvt.lu.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1793 - { "fmv.x.d", rv_codec_r, rv_fmt_rd_frs1 },
1794 - { "fcvt.d.l", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1795 - { "fcvt.d.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1796 - { "fmv.d.x", rv_codec_r, rv_fmt_frd_rs1 },
1797 - { "flq", rv_codec_i, rv_fmt_frd_offset_rs1 },
1798 - { "fsq", rv_codec_s, rv_fmt_frs2_offset_rs1 },
1799 - { "fmadd.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1800 - { "fmsub.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1801 - { "fnmsub.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1802 - { "fnmadd.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1803 - { "fadd.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1804 - { "fsub.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1805 - { "fmul.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1806 - { "fdiv.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1807 - { "fsgnj.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_q },
1808 - { "fsgnjn.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_q },
1809 - { "fsgnjx.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_q },
1810 - { "fmin.q", rv_codec_r, rv_fmt_frd_frs1_frs2 },
1811 - { "fmax.q", rv_codec_r, rv_fmt_frd_frs1_frs2 },
1812 - { "fcvt.s.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1813 - { "fcvt.q.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1814 - { "fcvt.d.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1815 - { "fcvt.q.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1816 - { "fsqrt.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1817 - { "fle.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1818 - { "flt.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1819 - { "feq.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1820 - { "fcvt.w.q", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1821 - { "fcvt.wu.q", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1822 - { "fcvt.q.w", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1823 - { "fcvt.q.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1824 - { "fclass.q", rv_codec_r, rv_fmt_rd_frs1 },
1825 - { "fcvt.l.q", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1826 - { "fcvt.lu.q", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1827 - { "fcvt.q.l", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1828 - { "fcvt.q.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1829 - { "fmv.x.q", rv_codec_r, rv_fmt_rd_frs1 },
1830 - { "fmv.q.x", rv_codec_r, rv_fmt_frd_rs1 },
1831 - { "c.addi4spn", rv_codec_ciw_4spn, NULL, DECOMP(rv_op_addi) },
1832 - { "c.fld", rv_codec_cl_ld, NULL, DECOMP(rv_op_fld) },
1833 - { "c.lw", rv_codec_cl_lw, NULL, DECOMP(rv_op_lw) },
1834 - { "c.flw", rv_codec_cl_lw, NULL, DECOMP(rv_op_flw) },
1835 - { "c.fsd", rv_codec_cs_sd, NULL, DECOMP(rv_op_fsd) },
1836 - { "c.sw", rv_codec_cs_sw, NULL, DECOMP(rv_op_sw) },
1837 - { "c.fsw", rv_codec_cs_sw, NULL, DECOMP(rv_op_fsw) },
1838 - { },
1839 - { "c.addi", rv_codec_ci, NULL, DECOMP(rv_op_addi) },
1840 - { "c.jal", rv_codec_cj_jal, NULL, DECOMP(rv_op_jal) },
1841 - { "c.li", rv_codec_ci_li, NULL, DECOMP(rv_op_addi) },
1842 - { "c.addi16sp", rv_codec_ci_16sp, NULL, DECOMP(rv_op_addi) },
1843 - { "c.lui", rv_codec_ci_lui, NULL, DECOMP(rv_op_lui) },
1844 - { "c.srli", rv_codec_cb_sh6, NULL, DECOMP(rv_op_srli) },
1845 - { "c.srai", rv_codec_cb_sh6, NULL, DECOMP(rv_op_srai) },
1846 - { "c.andi", rv_codec_cb_imm, NULL, DECOMP(rv_op_andi) },
1847 - { "c.sub", rv_codec_cs, NULL, DECOMP(rv_op_sub) },
1848 - { "c.xor", rv_codec_cs, NULL, DECOMP(rv_op_xor) },
1849 - { "c.or", rv_codec_cs, NULL, DECOMP(rv_op_or) },
1850 - { "c.and", rv_codec_cs, NULL, DECOMP(rv_op_and) },
1851 - { "c.subw", rv_codec_cs, NULL, DECOMP(rv_op_subw) },
1852 - { "c.addw", rv_codec_cs, NULL, DECOMP(rv_op_addw) },
1853 - { "c.j", rv_codec_cj, NULL, DECOMP(rv_op_j) },
1854 - { "c.beqz", rv_codec_cb, NULL, DECOMP(rv_op_beqz) },
1855 - { "c.bnez", rv_codec_cb, NULL, DECOMP(rv_op_bnez) },
1856 - { "c.slli", rv_codec_ci_sh6, NULL, DECOMP(rv_op_slli) },
1857 - { "c.fldsp", rv_codec_ci_ldsp, NULL, DECOMP(rv_op_fld) },
1858 - { "c.lwsp", rv_codec_ci_lwsp, NULL, DECOMP(rv_op_lw) },
1859 - { "c.flwsp", rv_codec_ci_lwsp, NULL, DECOMP(rv_op_flw) },
1860 - { "c.jr", rv_codec_cr_jr, NULL, DECOMP(rv_op_jr) },
1861 - { "c.mv", rv_codec_cr_mv, NULL, DECOMP(rv_op_mv) },
1862 - { "c.ebreak", rv_codec_ci_none, NULL, DECOMP(rv_op_ebreak) },
1863 - { "c.jalr", rv_codec_cr_jalr, NULL, DECOMP(rv_op_jalr) },
1864 - { "c.add", rv_codec_cr, NULL, DECOMP(rv_op_add) },
1865 - { "c.fsdsp", rv_codec_css_sdsp, NULL, DECOMP(rv_op_fsd) },
1866 - { "c.swsp", rv_codec_css_swsp, NULL, DECOMP(rv_op_sw) },
1867 - { "c.fswsp", rv_codec_css_swsp, NULL, DECOMP(rv_op_fsw) },
1868 - { "c.ld", rv_codec_cl_ld, NULL, DECOMP(rv_op_ld) },
1869 - { "c.sd", rv_codec_cs_sd, NULL, DECOMP(rv_op_sd) },
1870 - { "c.addiw", rv_codec_ci, NULL, DECOMP(rv_op_addiw) },
1871 - { "c.ldsp", rv_codec_ci_ldsp, NULL, DECOMP(rv_op_ld) },
1872 - { "c.sdsp", rv_codec_css_sdsp, NULL, DECOMP(rv_op_sd) },
1873 - { "c.lq", rv_codec_cl_lq, NULL, DECOMP(rv_op_lq) },
1874 - { "c.sq", rv_codec_cs_sq, NULL, DECOMP(rv_op_sq) },
1875 - { "c.lqsp", rv_codec_ci_lqsp, NULL, DECOMP(rv_op_lq) },
1876 - { "c.sqsp", rv_codec_css_sqsp, NULL, DECOMP(rv_op_sq) },
1877 - { "nop", rv_codec_illegal, rv_fmt_none },
1878 - { "mv", rv_codec_illegal, rv_fmt_rd_rs1, rvcp_mv },
1879 - { "not", rv_codec_illegal, rv_fmt_rd_rs1 },
1880 - { "neg", rv_codec_illegal, rv_fmt_rd_rs2 },
1881 - { "negw", rv_codec_illegal, rv_fmt_rd_rs2 },
1882 - { "sext.w", rv_codec_illegal, rv_fmt_rd_rs1 },
1883 - { "seqz", rv_codec_illegal, rv_fmt_rd_rs1 },
1884 - { "snez", rv_codec_illegal, rv_fmt_rd_rs2 },
1885 - { "sltz", rv_codec_illegal, rv_fmt_rd_rs1 },
1886 - { "sgtz", rv_codec_illegal, rv_fmt_rd_rs2 },
1887 - { "fmv.s", rv_codec_illegal, rv_fmt_frd_frs1 },
1888 - { "fabs.s", rv_codec_illegal, rv_fmt_frd_frs1 },
1889 - { "fneg.s", rv_codec_illegal, rv_fmt_frd_frs1 },
1890 - { "fmv.d", rv_codec_illegal, rv_fmt_frd_frs1 },
1891 - { "fabs.d", rv_codec_illegal, rv_fmt_frd_frs1 },
1892 - { "fneg.d", rv_codec_illegal, rv_fmt_frd_frs1 },
1893 - { "fmv.q", rv_codec_illegal, rv_fmt_frd_frs1 },
1894 - { "fabs.q", rv_codec_illegal, rv_fmt_frd_frs1 },
1895 - { "fneg.q", rv_codec_illegal, rv_fmt_frd_frs1 },
1896 - { "beqz", rv_codec_illegal, rv_fmt_rs1_offset },
1897 - { "bnez", rv_codec_illegal, rv_fmt_rs1_offset },
1898 - { "blez", rv_codec_illegal, rv_fmt_rs2_offset },
1899 - { "bgez", rv_codec_illegal, rv_fmt_rs1_offset },
1900 - { "bltz", rv_codec_illegal, rv_fmt_rs1_offset },
1901 - { "bgtz", rv_codec_illegal, rv_fmt_rs2_offset },
1902 - { "jal", rv_codec_illegal, rv_fmt_offset }, /* rv_op_jal_ra */
1903 - { "jalr", rv_codec_illegal, rv_fmt_rs1 }, /* rv_op_jalr_ra */
1904 - { },
1905 - { },
1906 - { "j", rv_codec_illegal, rv_fmt_offset },
1907 - { "ret", rv_codec_illegal, rv_fmt_none },
1908 - { "jr", rv_codec_illegal, rv_fmt_rs1, rvcp_jr },
1909 - { "rdcycle", rv_codec_i_csr, rv_fmt_rd },
1910 - { "rdtime", rv_codec_i_csr, rv_fmt_rd },
1911 - { "rdinstret", rv_codec_i_csr, rv_fmt_rd },
1912 - { "rdcycleh", rv_codec_i_csr, rv_fmt_rd },
1913 - { "rdtimeh", rv_codec_i_csr, rv_fmt_rd },
1914 - { "rdinstreth", rv_codec_i_csr, rv_fmt_rd },
1915 - { "frcsr", rv_codec_i_csr, rv_fmt_rd },
1916 - { "frrm", rv_codec_i_csr, rv_fmt_rd },
1917 - { "frflags", rv_codec_i_csr, rv_fmt_rd },
1918 - { "fscsr", rv_codec_i_csr, rv_fmt_rd_rs1 },
1919 - { "fsrm", rv_codec_i_csr, rv_fmt_rd_rs1 },
1920 - { "fsflags", rv_codec_i_csr, rv_fmt_rd_rs1 },
1921 - { "fsrmi", rv_codec_i_csr, rv_fmt_rd_zimm },
1922 - { "fsflagsi", rv_codec_i_csr, rv_fmt_rd_zimm },
1923 - { "bseti", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
1924 - { "bclri", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
1925 - { "binvi", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
1926 - { "bexti", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
1927 - { "rori", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
1928 - { "clz", rv_codec_r, rv_fmt_rd_rs1 },
1929 - { "ctz", rv_codec_r, rv_fmt_rd_rs1 },
1930 - { "cpop", rv_codec_r, rv_fmt_rd_rs1 },
1931 - { "sext.h", rv_codec_r, rv_fmt_rd_rs1 },
1932 - { "sext.b", rv_codec_r, rv_fmt_rd_rs1 },
1933 - { "xnor", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1934 - { "orn", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1935 - { "andn", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1936 - { "rol", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1937 - { "ror", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1938 - { "sh1add", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1939 - { "sh2add", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1940 - { "sh3add", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1941 - { "sh1add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1942 - { "sh2add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1943 - { "sh3add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1944 - { "clmul", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1945 - { "clmulr", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1946 - { "clmulh", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1947 - { "min", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1948 - { "minu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1949 - { "max", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1950 - { "maxu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1951 - { "clzw", rv_codec_r, rv_fmt_rd_rs1 },
1952 - { "ctzw", rv_codec_r, rv_fmt_rd_rs1 },
1953 - { "cpopw", rv_codec_r, rv_fmt_rd_rs1 },
1954 - { "slli.uw", rv_codec_i_sh6, rv_fmt_rd_rs1_imm },
1955 - { "add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1956 - { "rolw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1957 - { "rorw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1958 - { "rev8", rv_codec_r, rv_fmt_rd_rs1 },
1959 - { "zext.h", rv_codec_r, rv_fmt_rd_rs1 },
1960 - { "roriw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm },
1961 - { "orc.b", rv_codec_r, rv_fmt_rd_rs1 },
1962 - { "bset", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1963 - { "bclr", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1964 - { "binv", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1965 - { "bext", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1966 - { "aes32esmi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
1967 - { "aes32esi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
1968 - { "aes32dsmi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
1969 - { "aes32dsi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
1970 - { "aes64ks1i", rv_codec_k_rnum, rv_fmt_rd_rs1_rnum },
1971 - { "aes64ks2", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1972 - { "aes64im", rv_codec_r, rv_fmt_rd_rs1 },
1973 - { "aes64esm", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1974 - { "aes64es", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1975 - { "aes64dsm", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1976 - { "aes64ds", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1977 - { "sha256sig0", rv_codec_r, rv_fmt_rd_rs1 },
1978 - { "sha256sig1", rv_codec_r, rv_fmt_rd_rs1 },
1979 - { "sha256sum0", rv_codec_r, rv_fmt_rd_rs1 },
1980 - { "sha256sum1", rv_codec_r, rv_fmt_rd_rs1 },
1981 - { "sha512sig0", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1982 - { "sha512sig1", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1983 - { "sha512sum0", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1984 - { "sha512sum1", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1985 - { "sha512sum0r", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1986 - { "sha512sum1r", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1987 - { "sha512sig0l", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1988 - { "sha512sig0h", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1989 - { "sha512sig1l", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1990 - { "sha512sig1h", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1991 - { "sm3p0", rv_codec_r, rv_fmt_rd_rs1 },
1992 - { "sm3p1", rv_codec_r, rv_fmt_rd_rs1 },
1993 - { "sm4ed", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
1994 - { "sm4ks", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
1995 - { "brev8", rv_codec_r, rv_fmt_rd_rs1 },
1996 - { "pack", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1997 - { "packh", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1998 - { "packw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1999 - { "unzip", rv_codec_r, rv_fmt_rd_rs1 },
2000 - { "zip", rv_codec_r, rv_fmt_rd_rs1 },
2001 - { "xperm4", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2002 - { "xperm8", rv_codec_r, rv_fmt_rd_rs1 },
2003 - { "vle8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2004 - { "vle16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2005 - { "vle32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2006 - { "vle64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2007 - { "vse8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2008 - { "vse16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2009 - { "vse32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2010 - { "vse64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2011 - { "vlm.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2012 - { "vsm.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2013 - { "vlse8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2014 - { "vlse16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2015 - { "vlse32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2016 - { "vlse64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2017 - { "vsse8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2018 - { "vsse16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2019 - { "vsse32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2020 - { "vsse64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2021 - { "vluxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2022 - { "vluxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2023 - { "vluxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2024 - { "vluxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2025 - { "vloxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2026 - { "vloxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2027 - { "vloxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2028 - { "vloxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2029 - { "vsuxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2030 - { "vsuxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2031 - { "vsuxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2032 - { "vsuxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2033 - { "vsoxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2034 - { "vsoxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2035 - { "vsoxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2036 - { "vsoxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2037 - { "vle8ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2038 - { "vle16ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2039 - { "vle32ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2040 - { "vle64ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2041 - { "vl1re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2042 - { "vl1re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2043 - { "vl1re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2044 - { "vl1re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2045 - { "vl2re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2046 - { "vl2re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2047 - { "vl2re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2048 - { "vl2re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2049 - { "vl4re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2050 - { "vl4re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2051 - { "vl4re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2052 - { "vl4re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2053 - { "vl8re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2054 - { "vl8re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2055 - { "vl8re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2056 - { "vl8re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2057 - { "vs1r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2058 - { "vs2r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2059 - { "vs4r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2060 - { "vs8r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2061 - { "vadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2062 - { "vadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2063 - { "vadd.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2064 - { "vsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2065 - { "vsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2066 - { "vrsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2067 - { "vrsub.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2068 - { "vwaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2069 - { "vwaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2070 - { "vwadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2071 - { "vwadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2072 - { "vwsubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2073 - { "vwsubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2074 - { "vwsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2075 - { "vwsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2076 - { "vwaddu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2077 - { "vwaddu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2078 - { "vwadd.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2079 - { "vwadd.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2080 - { "vwsubu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2081 - { "vwsubu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2082 - { "vwsub.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2083 - { "vwsub.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2084 - { "vadc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
2085 - { "vadc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
2086 - { "vadc.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl },
2087 - { "vmadc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
2088 - { "vmadc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
2089 - { "vmadc.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl },
2090 - { "vsbc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
2091 - { "vsbc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
2092 - { "vmsbc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
2093 - { "vmsbc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
2094 - { "vand.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2095 - { "vand.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2096 - { "vand.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2097 - { "vor.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2098 - { "vor.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2099 - { "vor.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2100 - { "vxor.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2101 - { "vxor.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2102 - { "vxor.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2103 - { "vsll.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2104 - { "vsll.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2105 - { "vsll.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2106 - { "vsrl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2107 - { "vsrl.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2108 - { "vsrl.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2109 - { "vsra.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2110 - { "vsra.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2111 - { "vsra.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2112 - { "vnsrl.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2113 - { "vnsrl.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2114 - { "vnsrl.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2115 - { "vnsra.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2116 - { "vnsra.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2117 - { "vnsra.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2118 - { "vmseq.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2119 - { "vmseq.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2120 - { "vmseq.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2121 - { "vmsne.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2122 - { "vmsne.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2123 - { "vmsne.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2124 - { "vmsltu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2125 - { "vmsltu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2126 - { "vmslt.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2127 - { "vmslt.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2128 - { "vmsleu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2129 - { "vmsleu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2130 - { "vmsleu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2131 - { "vmsle.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2132 - { "vmsle.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2133 - { "vmsle.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2134 - { "vmsgtu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2135 - { "vmsgtu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2136 - { "vmsgt.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2137 - { "vmsgt.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2138 - { "vminu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2139 - { "vminu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2140 - { "vmin.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2141 - { "vmin.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2142 - { "vmaxu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2143 - { "vmaxu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2144 - { "vmax.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2145 - { "vmax.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2146 - { "vmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2147 - { "vmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2148 - { "vmulh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2149 - { "vmulh.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2150 - { "vmulhu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2151 - { "vmulhu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2152 - { "vmulhsu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2153 - { "vmulhsu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2154 - { "vdivu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2155 - { "vdivu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2156 - { "vdiv.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2157 - { "vdiv.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2158 - { "vremu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2159 - { "vremu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2160 - { "vrem.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2161 - { "vrem.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2162 - { "vwmulu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2163 - { "vwmulu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2164 - { "vwmulsu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2165 - { "vwmulsu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2166 - { "vwmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2167 - { "vwmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2168 - { "vmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2169 - { "vmacc.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2170 - { "vnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2171 - { "vnmsac.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2172 - { "vmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2173 - { "vmadd.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2174 - { "vnmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2175 - { "vnmsub.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2176 - { "vwmaccu.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2177 - { "vwmaccu.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2178 - { "vwmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2179 - { "vwmacc.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2180 - { "vwmaccsu.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2181 - { "vwmaccsu.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2182 - { "vwmaccus.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2183 - { "vmv.v.v", rv_codec_v_r, rv_fmt_vd_vs1 },
2184 - { "vmv.v.x", rv_codec_v_r, rv_fmt_vd_rs1 },
2185 - { "vmv.v.i", rv_codec_v_i, rv_fmt_vd_imm },
2186 - { "vmerge.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
2187 - { "vmerge.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
2188 - { "vmerge.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl },
2189 - { "vsaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2190 - { "vsaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2191 - { "vsaddu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2192 - { "vsadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2193 - { "vsadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2194 - { "vsadd.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2195 - { "vssubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2196 - { "vssubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2197 - { "vssub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2198 - { "vssub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2199 - { "vaadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2200 - { "vaadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2201 - { "vaaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2202 - { "vaaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2203 - { "vasub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2204 - { "vasub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2205 - { "vasubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2206 - { "vasubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2207 - { "vsmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2208 - { "vsmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2209 - { "vssrl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2210 - { "vssrl.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2211 - { "vssrl.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2212 - { "vssra.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2213 - { "vssra.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2214 - { "vssra.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2215 - { "vnclipu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2216 - { "vnclipu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2217 - { "vnclipu.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2218 - { "vnclip.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2219 - { "vnclip.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2220 - { "vnclip.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2221 - { "vfadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2222 - { "vfadd.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2223 - { "vfsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2224 - { "vfsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2225 - { "vfrsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2226 - { "vfwadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2227 - { "vfwadd.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2228 - { "vfwadd.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2229 - { "vfwadd.wf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2230 - { "vfwsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2231 - { "vfwsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2232 - { "vfwsub.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2233 - { "vfwsub.wf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2234 - { "vfmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2235 - { "vfmul.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2236 - { "vfdiv.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2237 - { "vfdiv.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2238 - { "vfrdiv.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2239 - { "vfwmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2240 - { "vfwmul.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2241 - { "vfmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2242 - { "vfmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2243 - { "vfnmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2244 - { "vfnmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2245 - { "vfmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2246 - { "vfmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2247 - { "vfnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2248 - { "vfnmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2249 - { "vfmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2250 - { "vfmadd.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2251 - { "vfnmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2252 - { "vfnmadd.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2253 - { "vfmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2254 - { "vfmsub.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2255 - { "vfnmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2256 - { "vfnmsub.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2257 - { "vfwmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2258 - { "vfwmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2259 - { "vfwnmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2260 - { "vfwnmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2261 - { "vfwmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2262 - { "vfwmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2263 - { "vfwnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2264 - { "vfwnmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2265 - { "vfsqrt.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2266 - { "vfrsqrt7.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2267 - { "vfrec7.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2268 - { "vfmin.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2269 - { "vfmin.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2270 - { "vfmax.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2271 - { "vfmax.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2272 - { "vfsgnj.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2273 - { "vfsgnj.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2274 - { "vfsgnjn.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2275 - { "vfsgnjn.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2276 - { "vfsgnjx.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2277 - { "vfsgnjx.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2278 - { "vfslide1up.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2279 - { "vfslide1down.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2280 - { "vmfeq.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2281 - { "vmfeq.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2282 - { "vmfne.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2283 - { "vmfne.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2284 - { "vmflt.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2285 - { "vmflt.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2286 - { "vmfle.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2287 - { "vmfle.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2288 - { "vmfgt.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2289 - { "vmfge.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2290 - { "vfclass.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2291 - { "vfmerge.vfm", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vl },
2292 - { "vfmv.v.f", rv_codec_v_r, rv_fmt_vd_fs1 },
2293 - { "vfcvt.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2294 - { "vfcvt.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2295 - { "vfcvt.f.xu.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2296 - { "vfcvt.f.x.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2297 - { "vfcvt.rtz.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2298 - { "vfcvt.rtz.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2299 - { "vfwcvt.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2300 - { "vfwcvt.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2301 - { "vfwcvt.f.xu.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2302 - { "vfwcvt.f.x.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2303 - { "vfwcvt.f.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2304 - { "vfwcvt.rtz.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2305 - { "vfwcvt.rtz.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2306 - { "vfncvt.xu.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2307 - { "vfncvt.x.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2308 - { "vfncvt.f.xu.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2309 - { "vfncvt.f.x.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2310 - { "vfncvt.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2311 - { "vfncvt.rod.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2312 - { "vfncvt.rtz.xu.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2313 - { "vfncvt.rtz.x.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2314 - { "vredsum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2315 - { "vredand.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2316 - { "vredor.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2317 - { "vredxor.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2318 - { "vredminu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2319 - { "vredmin.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2320 - { "vredmaxu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2321 - { "vredmax.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2322 - { "vwredsumu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2323 - { "vwredsum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2324 - { "vfredusum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2325 - { "vfredosum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2326 - { "vfredmin.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2327 - { "vfredmax.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2328 - { "vfwredusum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2329 - { "vfwredosum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2330 - { "vmand.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2331 - { "vmnand.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2332 - { "vmandn.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2333 - { "vmxor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2334 - { "vmor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2335 - { "vmnor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2336 - { "vmorn.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2337 - { "vmxnor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2338 - { "vcpop.m", rv_codec_v_r, rv_fmt_rd_vs2_vm },
2339 - { "vfirst.m", rv_codec_v_r, rv_fmt_rd_vs2_vm },
2340 - { "vmsbf.m", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2341 - { "vmsif.m", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2342 - { "vmsof.m", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2343 - { "viota.m", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2344 - { "vid.v", rv_codec_v_r, rv_fmt_vd_vm },
2345 - { "vmv.x.s", rv_codec_v_r, rv_fmt_rd_vs2 },
2346 - { "vmv.s.x", rv_codec_v_r, rv_fmt_vd_rs1 },
2347 - { "vfmv.f.s", rv_codec_v_r, rv_fmt_fd_vs2 },
2348 - { "vfmv.s.f", rv_codec_v_r, rv_fmt_vd_fs1 },
2349 - { "vslideup.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2350 - { "vslideup.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2351 - { "vslide1up.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2352 - { "vslidedown.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2353 - { "vslidedown.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2354 - { "vslide1down.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2355 - { "vrgather.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2356 - { "vrgatherei16.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2357 - { "vrgather.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2358 - { "vrgather.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2359 - { "vcompress.vm", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
2360 - { "vmv1r.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2361 - { "vmv2r.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2362 - { "vmv4r.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2363 - { "vmv8r.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2364 - { "vzext.vf2", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2365 - { "vzext.vf4", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2366 - { "vzext.vf8", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2367 - { "vsext.vf2", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2368 - { "vsext.vf4", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2369 - { "vsext.vf8", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2370 - { "vsetvli", rv_codec_vsetvli, rv_fmt_vsetvli },
2371 - { "vsetivli", rv_codec_vsetivli, rv_fmt_vsetivli },
2372 - { "vsetvl", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2373 - { "c.zext.b", rv_codec_zcb_ext, rv_fmt_rd },
2374 - { "c.sext.b", rv_codec_zcb_ext, rv_fmt_rd },
2375 - { "c.zext.h", rv_codec_zcb_ext, rv_fmt_rd },
2376 - { "c.sext.h", rv_codec_zcb_ext, rv_fmt_rd },
2377 - { "c.zext.w", rv_codec_zcb_ext, rv_fmt_rd },
2378 - { "c.not", rv_codec_zcb_ext, rv_fmt_rd },
2379 - { "c.mul", rv_codec_zcb_mul, rv_fmt_rd_rs2 },
2380 - { "c.lbu", rv_codec_zcb_lb, rv_fmt_rs1_rs2_zce_ldst },
2381 - { "c.lhu", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst },
2382 - { "c.lh", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst },
2383 - { "c.sb", rv_codec_zcb_lb, rv_fmt_rs1_rs2_zce_ldst },
2384 - { "c.sh", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst },
2385 - { "cm.push", rv_codec_zcmp_cm_pushpop, rv_fmt_push_rlist },
2386 - { "cm.pop", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist },
2387 - { "cm.popret", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist },
2388 - { "cm.popretz", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist },
2389 - { "cm.mva01s", rv_codec_zcmp_cm_mv, rv_fmt_rd_rs2 },
2390 - { "cm.mvsa01", rv_codec_zcmp_cm_mv, rv_fmt_rd_rs2 },
2391 - { "cm.jt", rv_codec_zcmt_jt, rv_fmt_zcmt_index },
2392 - { "cm.jalt", rv_codec_zcmt_jt, rv_fmt_zcmt_index },
2393 - { "czero.eqz", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2394 - { "czero.nez", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2395 - { "fcvt.bf16.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2396 - { "fcvt.s.bf16", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2397 - { "vfncvtbf16.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2398 - { "vfwcvtbf16.f.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2399 - { "vfwmaccbf16.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2400 - { "vfwmaccbf16.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2401 - { "flh", rv_codec_i, rv_fmt_frd_offset_rs1 },
2402 - { "fsh", rv_codec_s, rv_fmt_frs2_offset_rs1 },
2403 - { "fmv.h.x", rv_codec_r, rv_fmt_frd_rs1 },
2404 - { "fmv.x.h", rv_codec_r, rv_fmt_rd_frs1 },
2405 - { "fli.s", rv_codec_fli, rv_fmt_fli },
2406 - { "fli.d", rv_codec_fli, rv_fmt_fli },
2407 - { "fli.q", rv_codec_fli, rv_fmt_fli },
2408 - { "fli.h", rv_codec_fli, rv_fmt_fli },
2409 - { "fminm.s", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2410 - { "fmaxm.s", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2411 - { "fminm.d", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2412 - { "fmaxm.d", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2413 - { "fminm.q", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2414 - { "fmaxm.q", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2415 - { "fminm.h", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2416 - { "fmaxm.h", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2417 - { "fround.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2418 - { "froundnx.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2419 - { "fround.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2420 - { "froundnx.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2421 - { "fround.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2422 - { "froundnx.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2423 - { "fround.h", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2424 - { "froundnx.h", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2425 - { "fcvtmod.w.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
2426 - { "fmvh.x.d", rv_codec_r, rv_fmt_rd_frs1 },
2427 - { "fmvp.d.x", rv_codec_r, rv_fmt_frd_rs1_rs2 },
2428 - { "fmvh.x.q", rv_codec_r, rv_fmt_rd_frs1 },
2429 - { "fmvp.q.x", rv_codec_r, rv_fmt_frd_rs1_rs2 },
2430 - { "fleq.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2431 - { "fltq.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2432 - { "fleq.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2433 - { "fltq.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2434 - { "fleq.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2435 - { "fltq.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2436 - { "fleq.h", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2437 - { "fltq.h", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2438 - { "vaesdf.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
2439 - { "vaesdf.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
2440 - { "vaesdm.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
2441 - { "vaesdm.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
2442 - { "vaesef.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
2443 - { "vaesef.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
2444 - { "vaesem.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
2445 - { "vaesem.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
2446 - { "vaeskf1.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm },
2447 - { "vaeskf2.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm },
2448 - { "vaesz.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
2449 - { "vandn.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2450 - { "vandn.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2451 - { "vbrev.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2452 - { "vbrev8.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2453 - { "vclmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2454 - { "vclmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2455 - { "vclmulh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2456 - { "vclmulh.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2457 - { "vclz.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2458 - { "vcpop.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2459 - { "vctz.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2460 - { "vghsh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
2461 - { "vgmul.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
2462 - { "vrev8.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2463 - { "vrol.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2464 - { "vrol.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2465 - { "vror.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2466 - { "vror.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2467 - { "vror.vi", rv_codec_vror_vi, rv_fmt_vd_vs2_uimm_vm },
2468 - { "vsha2ch.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
2469 - { "vsha2cl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
2470 - { "vsha2ms.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
2471 - { "vsm3c.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm },
2472 - { "vsm3me.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
2473 - { "vsm4k.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm },
2474 - { "vsm4r.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
2475 - { "vsm4r.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
2476 - { "vwsll.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2477 - { "vwsll.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2478 - { "vwsll.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2479 - { "amocas.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2480 - { "amocas.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2481 - { "amocas.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2482 - { "mop.r.0", rv_codec_r, rv_fmt_rd_rs1 },
2483 - { "mop.r.1", rv_codec_r, rv_fmt_rd_rs1 },
2484 - { "mop.r.2", rv_codec_r, rv_fmt_rd_rs1 },
2485 - { "mop.r.3", rv_codec_r, rv_fmt_rd_rs1 },
2486 - { "mop.r.4", rv_codec_r, rv_fmt_rd_rs1 },
2487 - { "mop.r.5", rv_codec_r, rv_fmt_rd_rs1 },
2488 - { "mop.r.6", rv_codec_r, rv_fmt_rd_rs1 },
2489 - { "mop.r.7", rv_codec_r, rv_fmt_rd_rs1 },
2490 - { "mop.r.8", rv_codec_r, rv_fmt_rd_rs1 },
2491 - { "mop.r.9", rv_codec_r, rv_fmt_rd_rs1 },
2492 - { "mop.r.10", rv_codec_r, rv_fmt_rd_rs1 },
2493 - { "mop.r.11", rv_codec_r, rv_fmt_rd_rs1 },
2494 - { "mop.r.12", rv_codec_r, rv_fmt_rd_rs1 },
2495 - { "mop.r.13", rv_codec_r, rv_fmt_rd_rs1 },
2496 - { "mop.r.14", rv_codec_r, rv_fmt_rd_rs1 },
2497 - { "mop.r.15", rv_codec_r, rv_fmt_rd_rs1 },
2498 - { "mop.r.16", rv_codec_r, rv_fmt_rd_rs1 },
2499 - { "mop.r.17", rv_codec_r, rv_fmt_rd_rs1 },
2500 - { "mop.r.18", rv_codec_r, rv_fmt_rd_rs1 },
2501 - { "mop.r.19", rv_codec_r, rv_fmt_rd_rs1 },
2502 - { "mop.r.20", rv_codec_r, rv_fmt_rd_rs1 },
2503 - { "mop.r.21", rv_codec_r, rv_fmt_rd_rs1 },
2504 - { "mop.r.22", rv_codec_r, rv_fmt_rd_rs1 },
2505 - { "mop.r.23", rv_codec_r, rv_fmt_rd_rs1 },
2506 - { "mop.r.24", rv_codec_r, rv_fmt_rd_rs1 },
2507 - { "mop.r.25", rv_codec_r, rv_fmt_rd_rs1 },
2508 - { "mop.r.26", rv_codec_r, rv_fmt_rd_rs1 },
2509 - { "mop.r.27", rv_codec_r, rv_fmt_rd_rs1 },
2510 - { "mop.r.28", rv_codec_r, rv_fmt_rd_rs1 },
2511 - { "mop.r.29", rv_codec_r, rv_fmt_rd_rs1 },
2512 - { "mop.r.30", rv_codec_r, rv_fmt_rd_rs1 },
2513 - { "mop.r.31", rv_codec_r, rv_fmt_rd_rs1 },
2514 - { "mop.rr.0", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2515 - { "mop.rr.1", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2516 - { "mop.rr.2", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2517 - { "mop.rr.3", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2518 - { "mop.rr.4", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2519 - { "mop.rr.5", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2520 - { "mop.rr.6", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2521 - { "mop.rr.7", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2522 - { "c.mop.1", rv_codec_ci_none, rv_fmt_none },
2523 - { "c.mop.3", rv_codec_ci_none, rv_fmt_none },
2524 - { "c.mop.5", rv_codec_ci_none, rv_fmt_none },
2525 - { "c.mop.7", rv_codec_ci_none, rv_fmt_none },
2526 - { "c.mop.9", rv_codec_ci_none, rv_fmt_none },
2527 - { "c.mop.11", rv_codec_ci_none, rv_fmt_none },
2528 - { "c.mop.13", rv_codec_ci_none, rv_fmt_none },
2529 - { "c.mop.15", rv_codec_ci_none, rv_fmt_none },
2530 - { "amoswap.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2531 - { "amoadd.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2532 - { "amoxor.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2533 - { "amoor.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2534 - { "amoand.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2535 - { "amomin.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2536 - { "amomax.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2537 - { "amominu.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2538 - { "amomaxu.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2539 - { "amoswap.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2540 - { "amoadd.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2541 - { "amoxor.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2542 - { "amoor.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2543 - { "amoand.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2544 - { "amomin.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2545 - { "amomax.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2546 - { "amominu.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2547 - { "amomaxu.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2548 - { "amocas.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2549 - { "amocas.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2550 - { "wrs.sto", rv_codec_none, rv_fmt_none },
2551 - { "wrs.nto", rv_codec_none, rv_fmt_none },
2552 - { "lpad", rv_codec_lp, rv_fmt_imm },
2553 - { "sspush", rv_codec_r, rv_fmt_rs2 },
2554 - { "sspopchk", rv_codec_r, rv_fmt_rs1 },
2555 - { "ssrdp", rv_codec_r, rv_fmt_rd },
2556 - { "ssamoswap.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2557 - { "ssamoswap.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2558 - { "c.sspush", rv_codec_cmop_ss, NULL, DECOMP(rv_op_sspush) },
2559 - { "c.sspopchk", rv_codec_cmop_ss, NULL, DECOMP(rv_op_sspopchk) },
2560 - { "cbo.inval", rv_codec_r, rv_fmt_rs1 },
2561 - { "cbo.clean", rv_codec_r, rv_fmt_rs1 },
2562 - { "cbo.flush", rv_codec_r, rv_fmt_rs1 },
2563 - { "cbo.zero", rv_codec_r, rv_fmt_rs1 },
2564 - { "mnret", rv_codec_none, rv_fmt_none },
649 +#define OP(N, ...) { __VA_ARGS__ },
650 +#include "riscv-op.c.inc"
651 +#undef OP
652 };
653
654 /* CSR names */
@@ -2928,7 +1015,7 @@ static const rv_opcode_data *decode_inst_opcode(rv_decode *dec, rv_isa isa)
1015 (((inst >> 11) & 0b11) == 0b0)) {
1016 unsigned int cmop_code = 0;
1017 cmop_code = ((inst >> 8) & 0b111);
2931 - op = rv_c_mop_1 + cmop_code;
1018 + op = rv_op_c_mop_1 + cmop_code;
1019 if (dec->cfg->ext_zicfiss) {
1020 op = (cmop_code == 0) ? rv_op_c_sspush : op;
1021 op = (cmop_code == 2) ? rv_op_c_sspopchk : op;
@@ -4459,7 +2546,7 @@ static const rv_opcode_data *decode_inst_opcode(rv_decode *dec, rv_isa isa)
2546 2, 2,
2547 extract32(inst, 26, 2)),
2548 4, 1, extract32(inst, 30, 1));
4462 - op = rv_mop_r_0 + imm_mop5;
2549 + op = rv_op_mop_r_0 + imm_mop5;
2550 /* if zicfiss enabled and mop5 is shadow stack */
2551 if (dec->cfg->ext_zicfiss &&
2552 ((imm_mop5 & 0b11100) == 0b11100)) {
@@ -4478,7 +2565,7 @@ static const rv_opcode_data *decode_inst_opcode(rv_decode *dec, rv_isa isa)
2565 == 0b1000001) {
2566 imm_mop3 = deposit32(extract32(inst, 26, 2),
2567 2, 1, extract32(inst, 30, 1));
4481 - op = rv_mop_rr_0 + imm_mop3;
2568 + op = rv_op_mop_rr_0 + imm_mop3;
2569 /* if zicfiss enabled and mop3 is shadow stack */
2570 if (dec->cfg->ext_zicfiss &&
2571 ((imm_mop3 & 0b111) == 0b111)) {