@samitouri / QOSamiQemu / commits / 7de6afd531

disas/riscv: Drop explicit zero of rv_opcode_data fields

Mechanical s/, NULL, 0, 0, 0 }/ }/ s/, 0, 0, 0 }/ }/ s/, NULL, 0, 0 }/ }/ s/, NULL, 0 }/ }/ Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-ID: <20260812223142.349142-11-richard.henderson@linaro.org> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

Richard Henderson committed Aug 12, 2026 at 15:31 UTC 7de6afd531867f9f479332a0d6f5a916ba6b8b66
4 files changed +1030 -1030
disas/riscv-xlrbr.c
+9 -9
@@ -25,15 +25,15 @@ typedef enum {
25 } rv_xlrbr_op;
26
27 static const rv_opcode_data xlrbr_opcode_data[] = {
28 - { "illegal", rv_codec_illegal, rv_fmt_none, NULL, 0, 0, 0 },
29 - { "crc32.b", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
30 - { "crc32.h", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
31 - { "crc32.w", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
32 - { "crc32.d", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
33 - { "crc32c.b", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
34 - { "crc32c.h", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
35 - { "crc32c.w", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
36 - { "crc32c.d", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
28 + { "illegal", rv_codec_illegal, rv_fmt_none },
29 + { "crc32.b", rv_codec_r, rv_fmt_rd_rs1 },
30 + { "crc32.h", rv_codec_r, rv_fmt_rd_rs1 },
31 + { "crc32.w", rv_codec_r, rv_fmt_rd_rs1 },
32 + { "crc32.d", rv_codec_r, rv_fmt_rd_rs1 },
33 + { "crc32c.b", rv_codec_r, rv_fmt_rd_rs1 },
34 + { "crc32c.h", rv_codec_r, rv_fmt_rd_rs1 },
35 + { "crc32c.w", rv_codec_r, rv_fmt_rd_rs1 },
36 + { "crc32c.d", rv_codec_r, rv_fmt_rd_rs1 },
37 };
38
39 void decode_xlrbr(rv_decode *dec, rv_isa isa)
disas/riscv-xthead.c
+105 -105
@@ -128,122 +128,122 @@ typedef enum {
128 } rv_xthead_op;
129
130 static const rv_opcode_data xthead_opcode_data[] = {
131 - { "th.illegal", rv_codec_illegal, rv_fmt_none, NULL, 0, 0, 0 },
131 + { "th.illegal", rv_codec_illegal, rv_fmt_none },
132 /* XTheadBa */
133 - { "th.addsl", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
133 + { "th.addsl", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
134 /* XTheadBb */
135 - { "th.srri", rv_codec_r2_imm6, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
136 - { "th.srriw", rv_codec_r2_imm5, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
137 - { "th.ext", rv_codec_r2_immhl, rv_fmt_rd_rs1_immh_imml, NULL, 0, 0, 0 },
138 - { "th.extu", rv_codec_r2_immhl, rv_fmt_rd_rs1_immh_imml, NULL, 0, 0, 0 },
139 - { "th.ff0", rv_codec_r2, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
140 - { "th.ff1", rv_codec_r2, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
141 - { "th.rev", rv_codec_r2, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
142 - { "th.revw", rv_codec_r2, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
143 - { "th.tstnbz", rv_codec_r2, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
135 + { "th.srri", rv_codec_r2_imm6, rv_fmt_rd_rs1_imm },
136 + { "th.srriw", rv_codec_r2_imm5, rv_fmt_rd_rs1_imm },
137 + { "th.ext", rv_codec_r2_immhl, rv_fmt_rd_rs1_immh_imml },
138 + { "th.extu", rv_codec_r2_immhl, rv_fmt_rd_rs1_immh_imml },
139 + { "th.ff0", rv_codec_r2, rv_fmt_rd_rs1 },
140 + { "th.ff1", rv_codec_r2, rv_fmt_rd_rs1 },
141 + { "th.rev", rv_codec_r2, rv_fmt_rd_rs1 },
142 + { "th.revw", rv_codec_r2, rv_fmt_rd_rs1 },
143 + { "th.tstnbz", rv_codec_r2, rv_fmt_rd_rs1 },
144 /* XTheadBs */
145 - { "th.tst", rv_codec_r2_imm6, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
145 + { "th.tst", rv_codec_r2_imm6, rv_fmt_rd_rs1_imm },
146 /* XTheadCmo */
147 - { "th.dcache.call", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
148 - { "th.dcache.ciall", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
149 - { "th.dcache.iall", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
150 - { "th.dcache.cpa", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
151 - { "th.dcache.cipa", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
152 - { "th.dcache.ipa", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
153 - { "th.dcache.cva", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
154 - { "th.dcache.civa", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
155 - { "th.dcache.iva", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
156 - { "th.dcache.csw", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
157 - { "th.dcache.cisw", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
158 - { "th.dcache.isw", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
159 - { "th.dcache.cpal1", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
160 - { "th.dcache.cval1", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
161 - { "th.icache.iall", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
162 - { "th.icache.ialls", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
163 - { "th.icache.ipa", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
164 - { "th.icache.iva", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
165 - { "th.l2cache.call", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
166 - { "th.l2cache.ciall", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
167 - { "th.l2cache.iall", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
147 + { "th.dcache.call", rv_codec_none, rv_fmt_none },
148 + { "th.dcache.ciall", rv_codec_none, rv_fmt_none },
149 + { "th.dcache.iall", rv_codec_none, rv_fmt_none },
150 + { "th.dcache.cpa", rv_codec_r, rv_fmt_rs1 },
151 + { "th.dcache.cipa", rv_codec_r, rv_fmt_rs1 },
152 + { "th.dcache.ipa", rv_codec_r, rv_fmt_rs1 },
153 + { "th.dcache.cva", rv_codec_r, rv_fmt_rs1 },
154 + { "th.dcache.civa", rv_codec_r, rv_fmt_rs1 },
155 + { "th.dcache.iva", rv_codec_r, rv_fmt_rs1 },
156 + { "th.dcache.csw", rv_codec_r, rv_fmt_rs1 },
157 + { "th.dcache.cisw", rv_codec_r, rv_fmt_rs1 },
158 + { "th.dcache.isw", rv_codec_r, rv_fmt_rs1 },
159 + { "th.dcache.cpal1", rv_codec_r, rv_fmt_rs1 },
160 + { "th.dcache.cval1", rv_codec_r, rv_fmt_rs1 },
161 + { "th.icache.iall", rv_codec_none, rv_fmt_none },
162 + { "th.icache.ialls", rv_codec_none, rv_fmt_none },
163 + { "th.icache.ipa", rv_codec_r, rv_fmt_rs1 },
164 + { "th.icache.iva", rv_codec_r, rv_fmt_rs1 },
165 + { "th.l2cache.call", rv_codec_none, rv_fmt_none },
166 + { "th.l2cache.ciall", rv_codec_none, rv_fmt_none },
167 + { "th.l2cache.iall", rv_codec_none, rv_fmt_none },
168 /* XTheadCondMov */
169 - { "th.mveqz", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
170 - { "th.mvnez", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
169 + { "th.mveqz", rv_codec_r, rv_fmt_rd_rs1_rs2 },
170 + { "th.mvnez", rv_codec_r, rv_fmt_rd_rs1_rs2 },
171 /* XTheadFMemIdx */
172 - { "th.flrd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0, 0, 0 },
173 - { "th.flrw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0, 0, 0 },
174 - { "th.flurd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0, 0, 0 },
175 - { "th.flurw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0, 0, 0 },
176 - { "th.fsrd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0, 0, 0 },
177 - { "th.fsrw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0, 0, 0 },
178 - { "th.fsurd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0, 0, 0 },
179 - { "th.fsurw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm, NULL, 0, 0, 0 },
172 + { "th.flrd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
173 + { "th.flrw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
174 + { "th.flurd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
175 + { "th.flurw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
176 + { "th.fsrd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
177 + { "th.fsrw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
178 + { "th.fsurd", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
179 + { "th.fsurw", rv_codec_r_imm2, rv_fmt_frd_rs1_rs2_imm },
180 /* XTheadFmv */
181 - { "th.fmv.hw.x", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
182 - { "th.fmv.x.hw", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
181 + { "th.fmv.hw.x", rv_codec_r, rv_fmt_rd_frs1 },
182 + { "th.fmv.x.hw", rv_codec_r, rv_fmt_rd_frs1 },
183 /* XTheadMac */
184 - { "th.mula", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
185 - { "th.mulaw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
186 - { "th.mulah", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
187 - { "th.muls", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
188 - { "th.mulsw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
189 - { "th.mulsh", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
184 + { "th.mula", rv_codec_r, rv_fmt_rd_rs1_rs2 },
185 + { "th.mulaw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
186 + { "th.mulah", rv_codec_r, rv_fmt_rd_rs1_rs2 },
187 + { "th.muls", rv_codec_r, rv_fmt_rd_rs1_rs2 },
188 + { "th.mulsw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
189 + { "th.mulsh", rv_codec_r, rv_fmt_rd_rs1_rs2 },
190 /* XTheadMemIdx */
191 - { "th.lbia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
192 - { "th.lbib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml, NULL, 0, 0, 0 },
193 - { "th.lbuia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
194 - { "th.lbuib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
195 - { "th.lhia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
196 - { "th.lhib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
197 - { "th.lhuia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
198 - { "th.lhuib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
199 - { "th.lwia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
200 - { "th.lwib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
201 - { "th.lwuia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
202 - { "th.lwuib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
203 - { "th.ldia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
204 - { "th.ldib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
205 - { "th.sbia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
206 - { "th.sbib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
207 - { "th.shia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
208 - { "th.shib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
209 - { "th.swia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
210 - { "th.swib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
211 - { "th.sdia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
212 - { "th.sdib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr, NULL, 0, 0, 0 },
213 - { "th.lrb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
214 - { "th.lrbu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
215 - { "th.lrh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
216 - { "th.lrhu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
217 - { "th.lrw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
218 - { "th.lrwu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
219 - { "th.lrd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
220 - { "th.srb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
221 - { "th.srh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
222 - { "th.srw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
223 - { "th.srd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
224 - { "th.lurb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
225 - { "th.lurbu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
226 - { "th.lurh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
227 - { "th.lurhu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
228 - { "th.lurw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
229 - { "th.lurwu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
230 - { "th.lurd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
231 - { "th.surb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
232 - { "th.surh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
233 - { "th.surw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
234 - { "th.surd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm, NULL, 0, 0, 0 },
191 + { "th.lbia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
192 + { "th.lbib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml },
193 + { "th.lbuia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
194 + { "th.lbuib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
195 + { "th.lhia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
196 + { "th.lhib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
197 + { "th.lhuia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
198 + { "th.lhuib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
199 + { "th.lwia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
200 + { "th.lwib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
201 + { "th.lwuia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
202 + { "th.lwuib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
203 + { "th.ldia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
204 + { "th.ldib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
205 + { "th.sbia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
206 + { "th.sbib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
207 + { "th.shia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
208 + { "th.shib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
209 + { "th.swia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
210 + { "th.swib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
211 + { "th.sdia", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
212 + { "th.sdib", rv_codec_r2_imm2_imm5, rv_fmt_rd_rs1_immh_imml_addr },
213 + { "th.lrb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
214 + { "th.lrbu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
215 + { "th.lrh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
216 + { "th.lrhu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
217 + { "th.lrw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
218 + { "th.lrwu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
219 + { "th.lrd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
220 + { "th.srb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
221 + { "th.srh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
222 + { "th.srw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
223 + { "th.srd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
224 + { "th.lurb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
225 + { "th.lurbu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
226 + { "th.lurh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
227 + { "th.lurhu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
228 + { "th.lurw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
229 + { "th.lurwu", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
230 + { "th.lurd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
231 + { "th.surb", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
232 + { "th.surh", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
233 + { "th.surw", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
234 + { "th.surd", rv_codec_r_imm2, rv_fmt_rd_rs1_rs2_imm },
235 /* XTheadMemPair */
236 - { "th.ldd", rv_codec_r_imm2, rv_fmt_rd2_imm, NULL, 0, 0, 0 },
237 - { "th.lwd", rv_codec_r_imm2, rv_fmt_rd2_imm, NULL, 0, 0, 0 },
238 - { "th.lwud", rv_codec_r_imm2, rv_fmt_rd2_imm, NULL, 0, 0, 0 },
239 - { "th.sdd", rv_codec_r_imm2, rv_fmt_rd2_imm, NULL, 0, 0, 0 },
240 - { "th.swd", rv_codec_r_imm2, rv_fmt_rd2_imm, NULL, 0, 0, 0 },
236 + { "th.ldd", rv_codec_r_imm2, rv_fmt_rd2_imm },
237 + { "th.lwd", rv_codec_r_imm2, rv_fmt_rd2_imm },
238 + { "th.lwud", rv_codec_r_imm2, rv_fmt_rd2_imm },
239 + { "th.sdd", rv_codec_r_imm2, rv_fmt_rd2_imm },
240 + { "th.swd", rv_codec_r_imm2, rv_fmt_rd2_imm },
241 /* XTheadSync */
242 - { "th.sfence.vmas", rv_codec_r, rv_fmt_rs1_rs2, NULL, 0, 0, 0 },
243 - { "th.sync", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
244 - { "th.sync.i", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
245 - { "th.sync.is", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
246 - { "th.sync.s", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
242 + { "th.sfence.vmas", rv_codec_r, rv_fmt_rs1_rs2 },
243 + { "th.sync", rv_codec_none, rv_fmt_none },
244 + { "th.sync.i", rv_codec_none, rv_fmt_none },
245 + { "th.sync.is", rv_codec_none, rv_fmt_none },
246 + { "th.sync.s", rv_codec_none, rv_fmt_none },
247 };
248
249 void decode_xtheadba(rv_decode *dec, rv_isa isa)
disas/riscv-xventana.c
+3 -3
@@ -15,9 +15,9 @@ typedef enum {
15 } rv_ventana_op;
16
17 static const rv_opcode_data ventana_opcode_data[] = {
18 - { "vt.illegal", rv_codec_illegal, rv_fmt_none, NULL, 0, 0, 0 },
19 - { "vt.maskc", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
20 - { "vt.maskcn", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
18 + { "vt.illegal", rv_codec_illegal, rv_fmt_none },
19 + { "vt.maskc", rv_codec_r, rv_fmt_rd_rs1_rs2 },
20 + { "vt.maskcn", rv_codec_r, rv_fmt_rd_rs1_rs2 },
21 };
22
23 void decode_xventanacondops(rv_decode *dec, rv_isa isa)
disas/riscv.c
+913 -913
@@ -1657,233 +1657,233 @@ static uint32_t operand_lpl(rv_inst inst)
1657 /* instruction metadata */
1658
1659 static const rv_opcode_data rvi_opcode_data[] = {
1660 - { "illegal", rv_codec_illegal, rv_fmt_none, NULL, 0, 0, 0 },
1661 - { "lui", rv_codec_u, rv_fmt_rd_uimm, NULL, 0, 0, 0 },
1662 - { "auipc", rv_codec_u, rv_fmt_rd_uoffset, NULL, 0, 0, 0 },
1663 - { "jal", rv_codec_uj, rv_fmt_rd_offset, rvcp_jal, 0, 0, 0 },
1664 - { "jalr", rv_codec_i, rv_fmt_rd_rs1_offset, rvcp_jalr, 0, 0, 0 },
1665 - { "beq", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_beq, 0, 0, 0 },
1666 - { "bne", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bne, 0, 0, 0 },
1667 - { "blt", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_blt, 0, 0, 0 },
1668 - { "bge", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bge, 0, 0, 0 },
1669 - { "bltu", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bltu, 0, 0, 0 },
1670 - { "bgeu", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bgeu, 0, 0, 0 },
1671 - { "lb", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
1672 - { "lh", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
1673 - { "lw", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
1674 - { "lbu", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
1675 - { "lhu", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
1676 - { "sb", rv_codec_s, rv_fmt_rs2_offset_rs1, NULL, 0, 0, 0 },
1677 - { "sh", rv_codec_s, rv_fmt_rs2_offset_rs1, NULL, 0, 0, 0 },
1678 - { "sw", rv_codec_s, rv_fmt_rs2_offset_rs1, NULL, 0, 0, 0 },
1679 - { "addi", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_addi, 0, 0, 0 },
1680 - { "slti", rv_codec_i, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
1681 - { "sltiu", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_sltiu, 0, 0, 0 },
1682 - { "xori", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_xori, 0, 0, 0 },
1683 - { "ori", rv_codec_i, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
1684 - { "andi", rv_codec_i, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
1685 - { "slli", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
1686 - { "srli", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
1687 - { "srai", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
1688 - { "add", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1689 - { "sub", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_sub, 0, 0, 0 },
1690 - { "sll", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1691 - { "slt", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_slt, 0, 0, 0 },
1692 - { "sltu", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_sltu, 0, 0, 0 },
1693 - { "xor", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1694 - { "srl", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1695 - { "sra", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1696 - { "or", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1697 - { "and", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1698 - { "fence", rv_codec_r_f, rv_fmt_pred_succ, NULL, 0, 0, 0 },
1699 - { "fence.i", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
1700 - { "lwu", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
1701 - { "ld", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
1702 - { "sd", rv_codec_s, rv_fmt_rs2_offset_rs1, NULL, 0, 0, 0 },
1703 - { "addiw", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_addiw, 0, 0, 0 },
1704 - { "slliw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
1705 - { "srliw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
1706 - { "sraiw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
1707 - { "addw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1708 - { "subw", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_subw, 0, 0, 0 },
1709 - { "sllw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1710 - { "srlw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1711 - { "sraw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1712 - { "ldu", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
1713 - { "lq", rv_codec_i, rv_fmt_rd_offset_rs1, NULL, 0, 0, 0 },
1714 - { "sq", rv_codec_s, rv_fmt_rs2_offset_rs1, NULL, 0, 0, 0 },
1715 - { "addid", rv_codec_i, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
1716 - { "sllid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
1717 - { "srlid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
1718 - { "sraid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
1719 - { "addd", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1720 - { "subd", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1721 - { "slld", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1722 - { "srld", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1723 - { "srad", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1724 - { "mul", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1725 - { "mulh", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1726 - { "mulhsu", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1727 - { "mulhu", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1728 - { "div", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1729 - { "divu", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1730 - { "rem", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1731 - { "remu", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1732 - { "mulw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1733 - { "divw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1734 - { "divuw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1735 - { "remw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1736 - { "remuw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1737 - { "muld", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1738 - { "divd", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1739 - { "divud", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1740 - { "remd", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1741 - { "remud", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
1742 - { "lr.w", rv_codec_r_l, rv_fmt_aqrl_rd_rs1, NULL, 0, 0, 0 },
1743 - { "sc.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1744 - { "amoswap.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1745 - { "amoadd.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1746 - { "amoxor.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1747 - { "amoor.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1748 - { "amoand.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1749 - { "amomin.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1750 - { "amomax.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1751 - { "amominu.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1752 - { "amomaxu.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1753 - { "lr.d", rv_codec_r_l, rv_fmt_aqrl_rd_rs1, NULL, 0, 0, 0 },
1754 - { "sc.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1755 - { "amoswap.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1756 - { "amoadd.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1757 - { "amoxor.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1758 - { "amoor.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1759 - { "amoand.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1760 - { "amomin.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1761 - { "amomax.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1762 - { "amominu.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1763 - { "amomaxu.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1764 - { "lr.q", rv_codec_r_l, rv_fmt_aqrl_rd_rs1, NULL, 0, 0, 0 },
1765 - { "sc.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1766 - { "amoswap.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1767 - { "amoadd.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1768 - { "amoxor.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1769 - { "amoor.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1770 - { "amoand.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1771 - { "amomin.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1772 - { "amomax.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1773 - { "amominu.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1774 - { "amomaxu.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1775 - { "ecall", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
1776 - { "ebreak", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
1777 - { "uret", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
1778 - { "sret", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
1779 - { "hret", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
1780 - { "mret", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
1781 - { "dret", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
1782 - { "sfence.vm", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
1783 - { "sfence.vma", rv_codec_r, rv_fmt_rs1_rs2, NULL, 0, 0, 0 },
1784 - { "wfi", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
1785 - { "csrrw", rv_codec_i_csr, rv_fmt_rd_csr_rs1, rvcp_csrrw, 0, 0, 0 },
1786 - { "csrrs", rv_codec_i_csr, rv_fmt_rd_csr_rs1, rvcp_csrrs, 0, 0, 0 },
1787 - { "csrrc", rv_codec_i_csr, rv_fmt_rd_csr_rs1, NULL, 0, 0, 0 },
1788 - { "csrrwi", rv_codec_i_csr, rv_fmt_rd_csr_zimm, rvcp_csrrwi, 0, 0, 0 },
1789 - { "csrrsi", rv_codec_i_csr, rv_fmt_rd_csr_zimm, NULL, 0, 0, 0 },
1790 - { "csrrci", rv_codec_i_csr, rv_fmt_rd_csr_zimm, NULL, 0, 0, 0 },
1791 - { "flw", rv_codec_i, rv_fmt_frd_offset_rs1, NULL, 0, 0, 0 },
1792 - { "fsw", rv_codec_s, rv_fmt_frs2_offset_rs1, NULL, 0, 0, 0 },
1793 - { "fmadd.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL, 0, 0, 0 },
1794 - { "fmsub.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL, 0, 0, 0 },
1795 - { "fnmsub.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL, 0, 0, 0 },
1796 - { "fnmadd.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL, 0, 0, 0 },
1797 - { "fadd.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0 },
1798 - { "fsub.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0 },
1799 - { "fmul.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0 },
1800 - { "fdiv.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0 },
1801 - { "fsgnj.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_s, 0, 0, 0 },
1802 - { "fsgnjn.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_s, 0, 0, 0 },
1803 - { "fsgnjx.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_s, 0, 0, 0 },
1804 - { "fmin.s", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
1805 - { "fmax.s", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
1806 - { "fsqrt.s", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
1807 - { "fle.s", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
1808 - { "flt.s", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
1809 - { "feq.s", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
1810 - { "fcvt.w.s", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
1811 - { "fcvt.wu.s", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
1812 - { "fcvt.s.w", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
1813 - { "fcvt.s.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
1814 - { "fmv.x.s", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
1815 - { "fclass.s", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
1816 - { "fmv.s.x", rv_codec_r, rv_fmt_frd_rs1, NULL, 0, 0, 0 },
1817 - { "fcvt.l.s", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
1818 - { "fcvt.lu.s", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
1819 - { "fcvt.s.l", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
1820 - { "fcvt.s.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
1821 - { "fld", rv_codec_i, rv_fmt_frd_offset_rs1, NULL, 0, 0, 0 },
1822 - { "fsd", rv_codec_s, rv_fmt_frs2_offset_rs1, NULL, 0, 0, 0 },
1823 - { "fmadd.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL, 0, 0, 0 },
1824 - { "fmsub.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL, 0, 0, 0 },
1825 - { "fnmsub.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL, 0, 0, 0 },
1826 - { "fnmadd.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL, 0, 0, 0 },
1827 - { "fadd.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0 },
1828 - { "fsub.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0 },
1829 - { "fmul.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0 },
1830 - { "fdiv.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0 },
1831 - { "fsgnj.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_d, 0, 0, 0 },
1832 - { "fsgnjn.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_d, 0, 0, 0 },
1833 - { "fsgnjx.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_d, 0, 0, 0 },
1834 - { "fmin.d", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
1835 - { "fmax.d", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
1836 - { "fcvt.s.d", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
1837 - { "fcvt.d.s", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
1838 - { "fsqrt.d", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
1839 - { "fle.d", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
1840 - { "flt.d", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
1841 - { "feq.d", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
1842 - { "fcvt.w.d", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
1843 - { "fcvt.wu.d", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
1844 - { "fcvt.d.w", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
1845 - { "fcvt.d.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
1846 - { "fclass.d", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
1847 - { "fcvt.l.d", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
1848 - { "fcvt.lu.d", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
1849 - { "fmv.x.d", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
1850 - { "fcvt.d.l", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
1851 - { "fcvt.d.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
1852 - { "fmv.d.x", rv_codec_r, rv_fmt_frd_rs1, NULL, 0, 0, 0 },
1853 - { "flq", rv_codec_i, rv_fmt_frd_offset_rs1, NULL, 0, 0, 0 },
1854 - { "fsq", rv_codec_s, rv_fmt_frs2_offset_rs1, NULL, 0, 0, 0 },
1855 - { "fmadd.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL, 0, 0, 0 },
1856 - { "fmsub.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL, 0, 0, 0 },
1857 - { "fnmsub.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL, 0, 0, 0 },
1858 - { "fnmadd.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3, NULL, 0, 0, 0 },
1859 - { "fadd.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0 },
1860 - { "fsub.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0 },
1861 - { "fmul.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0 },
1862 - { "fdiv.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2, NULL, 0, 0, 0 },
1863 - { "fsgnj.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_q, 0, 0, 0 },
1864 - { "fsgnjn.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_q, 0, 0, 0 },
1865 - { "fsgnjx.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_q, 0, 0, 0 },
1866 - { "fmin.q", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
1867 - { "fmax.q", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
1868 - { "fcvt.s.q", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
1869 - { "fcvt.q.s", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
1870 - { "fcvt.d.q", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
1871 - { "fcvt.q.d", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
1872 - { "fsqrt.q", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
1873 - { "fle.q", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
1874 - { "flt.q", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
1875 - { "feq.q", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
1876 - { "fcvt.w.q", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
1877 - { "fcvt.wu.q", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
1878 - { "fcvt.q.w", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
1879 - { "fcvt.q.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
1880 - { "fclass.q", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
1881 - { "fcvt.l.q", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
1882 - { "fcvt.lu.q", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
1883 - { "fcvt.q.l", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
1884 - { "fcvt.q.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1, NULL, 0, 0, 0 },
1885 - { "fmv.x.q", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
1886 - { "fmv.q.x", rv_codec_r, rv_fmt_frd_rs1, NULL, 0, 0, 0 },
1660 + { "illegal", rv_codec_illegal, rv_fmt_none },
1661 + { "lui", rv_codec_u, rv_fmt_rd_uimm },
1662 + { "auipc", rv_codec_u, rv_fmt_rd_uoffset },
1663 + { "jal", rv_codec_uj, rv_fmt_rd_offset, rvcp_jal },
1664 + { "jalr", rv_codec_i, rv_fmt_rd_rs1_offset, rvcp_jalr },
1665 + { "beq", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_beq },
1666 + { "bne", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bne },
1667 + { "blt", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_blt },
1668 + { "bge", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bge },
1669 + { "bltu", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bltu },
1670 + { "bgeu", rv_codec_sb, rv_fmt_rs1_rs2_offset, rvcp_bgeu },
1671 + { "lb", rv_codec_i, rv_fmt_rd_offset_rs1 },
1672 + { "lh", rv_codec_i, rv_fmt_rd_offset_rs1 },
1673 + { "lw", rv_codec_i, rv_fmt_rd_offset_rs1 },
1674 + { "lbu", rv_codec_i, rv_fmt_rd_offset_rs1 },
1675 + { "lhu", rv_codec_i, rv_fmt_rd_offset_rs1 },
1676 + { "sb", rv_codec_s, rv_fmt_rs2_offset_rs1 },
1677 + { "sh", rv_codec_s, rv_fmt_rs2_offset_rs1 },
1678 + { "sw", rv_codec_s, rv_fmt_rs2_offset_rs1 },
1679 + { "addi", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_addi },
1680 + { "slti", rv_codec_i, rv_fmt_rd_rs1_imm },
1681 + { "sltiu", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_sltiu },
1682 + { "xori", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_xori },
1683 + { "ori", rv_codec_i, rv_fmt_rd_rs1_imm },
1684 + { "andi", rv_codec_i, rv_fmt_rd_rs1_imm },
1685 + { "slli", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
1686 + { "srli", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
1687 + { "srai", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
1688 + { "add", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1689 + { "sub", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_sub },
1690 + { "sll", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1691 + { "slt", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_slt },
1692 + { "sltu", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_sltu },
1693 + { "xor", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1694 + { "srl", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1695 + { "sra", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1696 + { "or", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1697 + { "and", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1698 + { "fence", rv_codec_r_f, rv_fmt_pred_succ },
1699 + { "fence.i", rv_codec_none, rv_fmt_none },
1700 + { "lwu", rv_codec_i, rv_fmt_rd_offset_rs1 },
1701 + { "ld", rv_codec_i, rv_fmt_rd_offset_rs1 },
1702 + { "sd", rv_codec_s, rv_fmt_rs2_offset_rs1 },
1703 + { "addiw", rv_codec_i, rv_fmt_rd_rs1_imm, rvcp_addiw },
1704 + { "slliw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm },
1705 + { "srliw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm },
1706 + { "sraiw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm },
1707 + { "addw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1708 + { "subw", rv_codec_r, rv_fmt_rd_rs1_rs2, rvcp_subw },
1709 + { "sllw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1710 + { "srlw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1711 + { "sraw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1712 + { "ldu", rv_codec_i, rv_fmt_rd_offset_rs1 },
1713 + { "lq", rv_codec_i, rv_fmt_rd_offset_rs1 },
1714 + { "sq", rv_codec_s, rv_fmt_rs2_offset_rs1 },
1715 + { "addid", rv_codec_i, rv_fmt_rd_rs1_imm },
1716 + { "sllid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm },
1717 + { "srlid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm },
1718 + { "sraid", rv_codec_i_sh6, rv_fmt_rd_rs1_imm },
1719 + { "addd", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1720 + { "subd", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1721 + { "slld", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1722 + { "srld", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1723 + { "srad", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1724 + { "mul", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1725 + { "mulh", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1726 + { "mulhsu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1727 + { "mulhu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1728 + { "div", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1729 + { "divu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1730 + { "rem", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1731 + { "remu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1732 + { "mulw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1733 + { "divw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1734 + { "divuw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1735 + { "remw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1736 + { "remuw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1737 + { "muld", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1738 + { "divd", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1739 + { "divud", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1740 + { "remd", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1741 + { "remud", rv_codec_r, rv_fmt_rd_rs1_rs2 },
1742 + { "lr.w", rv_codec_r_l, rv_fmt_aqrl_rd_rs1 },
1743 + { "sc.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1744 + { "amoswap.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1745 + { "amoadd.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1746 + { "amoxor.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1747 + { "amoor.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1748 + { "amoand.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1749 + { "amomin.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1750 + { "amomax.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1751 + { "amominu.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1752 + { "amomaxu.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1753 + { "lr.d", rv_codec_r_l, rv_fmt_aqrl_rd_rs1 },
1754 + { "sc.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1755 + { "amoswap.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1756 + { "amoadd.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1757 + { "amoxor.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1758 + { "amoor.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1759 + { "amoand.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1760 + { "amomin.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1761 + { "amomax.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1762 + { "amominu.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1763 + { "amomaxu.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1764 + { "lr.q", rv_codec_r_l, rv_fmt_aqrl_rd_rs1 },
1765 + { "sc.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1766 + { "amoswap.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1767 + { "amoadd.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1768 + { "amoxor.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1769 + { "amoor.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1770 + { "amoand.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1771 + { "amomin.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1772 + { "amomax.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1773 + { "amominu.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1774 + { "amomaxu.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
1775 + { "ecall", rv_codec_none, rv_fmt_none },
1776 + { "ebreak", rv_codec_none, rv_fmt_none },
1777 + { "uret", rv_codec_none, rv_fmt_none },
1778 + { "sret", rv_codec_none, rv_fmt_none },
1779 + { "hret", rv_codec_none, rv_fmt_none },
1780 + { "mret", rv_codec_none, rv_fmt_none },
1781 + { "dret", rv_codec_none, rv_fmt_none },
1782 + { "sfence.vm", rv_codec_r, rv_fmt_rs1 },
1783 + { "sfence.vma", rv_codec_r, rv_fmt_rs1_rs2 },
1784 + { "wfi", rv_codec_none, rv_fmt_none },
1785 + { "csrrw", rv_codec_i_csr, rv_fmt_rd_csr_rs1, rvcp_csrrw },
1786 + { "csrrs", rv_codec_i_csr, rv_fmt_rd_csr_rs1, rvcp_csrrs },
1787 + { "csrrc", rv_codec_i_csr, rv_fmt_rd_csr_rs1 },
1788 + { "csrrwi", rv_codec_i_csr, rv_fmt_rd_csr_zimm, rvcp_csrrwi },
1789 + { "csrrsi", rv_codec_i_csr, rv_fmt_rd_csr_zimm },
1790 + { "csrrci", rv_codec_i_csr, rv_fmt_rd_csr_zimm },
1791 + { "flw", rv_codec_i, rv_fmt_frd_offset_rs1 },
1792 + { "fsw", rv_codec_s, rv_fmt_frs2_offset_rs1 },
1793 + { "fmadd.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1794 + { "fmsub.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1795 + { "fnmsub.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1796 + { "fnmadd.s", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1797 + { "fadd.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1798 + { "fsub.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1799 + { "fmul.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1800 + { "fdiv.s", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1801 + { "fsgnj.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_s },
1802 + { "fsgnjn.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_s },
1803 + { "fsgnjx.s", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_s },
1804 + { "fmin.s", rv_codec_r, rv_fmt_frd_frs1_frs2 },
1805 + { "fmax.s", rv_codec_r, rv_fmt_frd_frs1_frs2 },
1806 + { "fsqrt.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1807 + { "fle.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1808 + { "flt.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1809 + { "feq.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1810 + { "fcvt.w.s", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1811 + { "fcvt.wu.s", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1812 + { "fcvt.s.w", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1813 + { "fcvt.s.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1814 + { "fmv.x.s", rv_codec_r, rv_fmt_rd_frs1 },
1815 + { "fclass.s", rv_codec_r, rv_fmt_rd_frs1 },
1816 + { "fmv.s.x", rv_codec_r, rv_fmt_frd_rs1 },
1817 + { "fcvt.l.s", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1818 + { "fcvt.lu.s", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1819 + { "fcvt.s.l", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1820 + { "fcvt.s.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1821 + { "fld", rv_codec_i, rv_fmt_frd_offset_rs1 },
1822 + { "fsd", rv_codec_s, rv_fmt_frs2_offset_rs1 },
1823 + { "fmadd.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1824 + { "fmsub.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1825 + { "fnmsub.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1826 + { "fnmadd.d", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1827 + { "fadd.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1828 + { "fsub.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1829 + { "fmul.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1830 + { "fdiv.d", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1831 + { "fsgnj.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_d },
1832 + { "fsgnjn.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_d },
1833 + { "fsgnjx.d", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_d },
1834 + { "fmin.d", rv_codec_r, rv_fmt_frd_frs1_frs2 },
1835 + { "fmax.d", rv_codec_r, rv_fmt_frd_frs1_frs2 },
1836 + { "fcvt.s.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1837 + { "fcvt.d.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1838 + { "fsqrt.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1839 + { "fle.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1840 + { "flt.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1841 + { "feq.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1842 + { "fcvt.w.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1843 + { "fcvt.wu.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1844 + { "fcvt.d.w", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1845 + { "fcvt.d.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1846 + { "fclass.d", rv_codec_r, rv_fmt_rd_frs1 },
1847 + { "fcvt.l.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1848 + { "fcvt.lu.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1849 + { "fmv.x.d", rv_codec_r, rv_fmt_rd_frs1 },
1850 + { "fcvt.d.l", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1851 + { "fcvt.d.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1852 + { "fmv.d.x", rv_codec_r, rv_fmt_frd_rs1 },
1853 + { "flq", rv_codec_i, rv_fmt_frd_offset_rs1 },
1854 + { "fsq", rv_codec_s, rv_fmt_frs2_offset_rs1 },
1855 + { "fmadd.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1856 + { "fmsub.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1857 + { "fnmsub.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1858 + { "fnmadd.q", rv_codec_r4_m, rv_fmt_rm_frd_frs1_frs2_frs3 },
1859 + { "fadd.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1860 + { "fsub.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1861 + { "fmul.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1862 + { "fdiv.q", rv_codec_r_m, rv_fmt_rm_frd_frs1_frs2 },
1863 + { "fsgnj.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnj_q },
1864 + { "fsgnjn.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjn_q },
1865 + { "fsgnjx.q", rv_codec_r, rv_fmt_frd_frs1_frs2, rvcp_fsgnjx_q },
1866 + { "fmin.q", rv_codec_r, rv_fmt_frd_frs1_frs2 },
1867 + { "fmax.q", rv_codec_r, rv_fmt_frd_frs1_frs2 },
1868 + { "fcvt.s.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1869 + { "fcvt.q.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1870 + { "fcvt.d.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1871 + { "fcvt.q.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1872 + { "fsqrt.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
1873 + { "fle.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1874 + { "flt.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1875 + { "feq.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
1876 + { "fcvt.w.q", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1877 + { "fcvt.wu.q", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1878 + { "fcvt.q.w", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1879 + { "fcvt.q.wu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1880 + { "fclass.q", rv_codec_r, rv_fmt_rd_frs1 },
1881 + { "fcvt.l.q", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1882 + { "fcvt.lu.q", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
1883 + { "fcvt.q.l", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1884 + { "fcvt.q.lu", rv_codec_r_m, rv_fmt_rm_frd_rs1 },
1885 + { "fmv.x.q", rv_codec_r, rv_fmt_rd_frs1 },
1886 + { "fmv.q.x", rv_codec_r, rv_fmt_frd_rs1 },
1887 { "c.addi4spn", rv_codec_ciw_4spn, rv_fmt_rd_rs1_imm, NULL, rv_op_addi,
1888 rv_op_addi, rv_op_addi, rvcd_imm_nz },
1889 { "c.fld", rv_codec_cl_ld, rv_fmt_frd_offset_rs1, NULL, rv_op_fld,
@@ -1970,696 +1970,696 @@ static const rv_opcode_data rvi_opcode_data[] = {
1970 { "c.lqsp", rv_codec_ci_lqsp, rv_fmt_rd_offset_rs1, NULL, 0, 0, rv_op_lq },
1971 { "c.sqsp", rv_codec_css_sqsp, rv_fmt_rs2_offset_rs1, NULL, 0, 0,
1972 rv_op_sq },
1973 - { "nop", rv_codec_i, rv_fmt_none, NULL, 0, 0, 0 },
1974 - { "mv", rv_codec_i, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
1975 - { "not", rv_codec_i, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
1976 - { "neg", rv_codec_r, rv_fmt_rd_rs2, NULL, 0, 0, 0 },
1977 - { "negw", rv_codec_r, rv_fmt_rd_rs2, NULL, 0, 0, 0 },
1978 - { "sext.w", rv_codec_i, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
1979 - { "seqz", rv_codec_i, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
1980 - { "snez", rv_codec_r, rv_fmt_rd_rs2, NULL, 0, 0, 0 },
1981 - { "sltz", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
1982 - { "sgtz", rv_codec_r, rv_fmt_rd_rs2, NULL, 0, 0, 0 },
1983 - { "fmv.s", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
1984 - { "fabs.s", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
1985 - { "fneg.s", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
1986 - { "fmv.d", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
1987 - { "fabs.d", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
1988 - { "fneg.d", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
1989 - { "fmv.q", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
1990 - { "fabs.q", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
1991 - { "fneg.q", rv_codec_r, rv_fmt_frd_frs1, NULL, 0, 0, 0 },
1992 - { "beqz", rv_codec_sb, rv_fmt_rs1_offset, NULL, 0, 0, 0 },
1993 - { "bnez", rv_codec_sb, rv_fmt_rs1_offset, NULL, 0, 0, 0 },
1994 - { "blez", rv_codec_sb, rv_fmt_rs2_offset, NULL, 0, 0, 0 },
1995 - { "bgez", rv_codec_sb, rv_fmt_rs1_offset, NULL, 0, 0, 0 },
1996 - { "bltz", rv_codec_sb, rv_fmt_rs1_offset, NULL, 0, 0, 0 },
1997 - { "bgtz", rv_codec_sb, rv_fmt_rs2_offset, NULL, 0, 0, 0 },
1998 - { "ble", rv_codec_sb, rv_fmt_rs2_rs1_offset, NULL, 0, 0, 0 },
1999 - { "bleu", rv_codec_sb, rv_fmt_rs2_rs1_offset, NULL, 0, 0, 0 },
2000 - { "bgt", rv_codec_sb, rv_fmt_rs2_rs1_offset, NULL, 0, 0, 0 },
2001 - { "bgtu", rv_codec_sb, rv_fmt_rs2_rs1_offset, NULL, 0, 0, 0 },
2002 - { "j", rv_codec_uj, rv_fmt_offset, NULL, 0, 0, 0 },
2003 - { "ret", rv_codec_i, rv_fmt_none, NULL, 0, 0, 0 },
2004 - { "jr", rv_codec_i, rv_fmt_rs1, NULL, 0, 0, 0 },
2005 - { "rdcycle", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
2006 - { "rdtime", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
2007 - { "rdinstret", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
2008 - { "rdcycleh", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
2009 - { "rdtimeh", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
2010 - { "rdinstreth", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
2011 - { "frcsr", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
2012 - { "frrm", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
2013 - { "frflags", rv_codec_i_csr, rv_fmt_rd, NULL, 0, 0, 0 },
2014 - { "fscsr", rv_codec_i_csr, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2015 - { "fsrm", rv_codec_i_csr, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2016 - { "fsflags", rv_codec_i_csr, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2017 - { "fsrmi", rv_codec_i_csr, rv_fmt_rd_zimm, NULL, 0, 0, 0 },
2018 - { "fsflagsi", rv_codec_i_csr, rv_fmt_rd_zimm, NULL, 0, 0, 0 },
2019 - { "bseti", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
2020 - { "bclri", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
2021 - { "binvi", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
2022 - { "bexti", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
2023 - { "rori", rv_codec_i_sh7, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
2024 - { "clz", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2025 - { "ctz", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2026 - { "cpop", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2027 - { "sext.h", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2028 - { "sext.b", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2029 - { "xnor", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2030 - { "orn", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2031 - { "andn", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2032 - { "rol", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2033 - { "ror", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2034 - { "sh1add", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2035 - { "sh2add", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2036 - { "sh3add", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2037 - { "sh1add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2038 - { "sh2add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2039 - { "sh3add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2040 - { "clmul", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2041 - { "clmulr", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2042 - { "clmulh", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2043 - { "min", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2044 - { "minu", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2045 - { "max", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2046 - { "maxu", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2047 - { "clzw", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2048 - { "ctzw", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2049 - { "cpopw", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2050 - { "slli.uw", rv_codec_i_sh6, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
2051 - { "add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2052 - { "rolw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2053 - { "rorw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2054 - { "rev8", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2055 - { "zext.h", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2056 - { "roriw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm, NULL, 0, 0, 0 },
2057 - { "orc.b", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2058 - { "bset", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2059 - { "bclr", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2060 - { "binv", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2061 - { "bext", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2062 - { "aes32esmi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs, NULL, 0, 0, 0 },
2063 - { "aes32esi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs, NULL, 0, 0, 0 },
2064 - { "aes32dsmi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs, NULL, 0, 0, 0 },
2065 - { "aes32dsi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs, NULL, 0, 0, 0 },
2066 - { "aes64ks1i", rv_codec_k_rnum, rv_fmt_rd_rs1_rnum, NULL, 0, 0, 0 },
2067 - { "aes64ks2", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2068 - { "aes64im", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2069 - { "aes64esm", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2070 - { "aes64es", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2071 - { "aes64dsm", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2072 - { "aes64ds", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2073 - { "sha256sig0", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2074 - { "sha256sig1", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2075 - { "sha256sum0", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2076 - { "sha256sum1", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2077 - { "sha512sig0", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2078 - { "sha512sig1", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2079 - { "sha512sum0", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2080 - { "sha512sum1", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2081 - { "sha512sum0r", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2082 - { "sha512sum1r", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2083 - { "sha512sig0l", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2084 - { "sha512sig0h", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2085 - { "sha512sig1l", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2086 - { "sha512sig1h", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2087 - { "sm3p0", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2088 - { "sm3p1", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2089 - { "sm4ed", rv_codec_k_bs, rv_fmt_rs1_rs2_bs, NULL, 0, 0, 0 },
2090 - { "sm4ks", rv_codec_k_bs, rv_fmt_rs1_rs2_bs, NULL, 0, 0, 0 },
2091 - { "brev8", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2092 - { "pack", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2093 - { "packh", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2094 - { "packw", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2095 - { "unzip", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2096 - { "zip", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2097 - { "xperm4", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2098 - { "xperm8", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0, 0 },
2099 - { "vle8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2100 - { "vle16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2101 - { "vle32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2102 - { "vle64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2103 - { "vse8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2104 - { "vse16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2105 - { "vse32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2106 - { "vse64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2107 - { "vlm.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2108 - { "vsm.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2109 - { "vlse8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0, 0, 0 },
2110 - { "vlse16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0, 0, 0 },
2111 - { "vlse32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0, 0, 0 },
2112 - { "vlse64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0, 0, 0 },
2113 - { "vsse8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0, 0, 0 },
2114 - { "vsse16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0, 0, 0 },
2115 - { "vsse32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0, 0, 0 },
2116 - { "vsse64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm, NULL, 0, 0, 0 },
2117 - { "vluxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2118 - { "vluxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2119 - { "vluxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2120 - { "vluxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2121 - { "vloxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2122 - { "vloxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2123 - { "vloxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2124 - { "vloxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2125 - { "vsuxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2126 - { "vsuxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2127 - { "vsuxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2128 - { "vsuxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2129 - { "vsoxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2130 - { "vsoxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2131 - { "vsoxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2132 - { "vsoxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2133 - { "vle8ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2134 - { "vle16ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2135 - { "vle32ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2136 - { "vle64ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2137 - { "vl1re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2138 - { "vl1re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2139 - { "vl1re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2140 - { "vl1re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2141 - { "vl2re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2142 - { "vl2re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2143 - { "vl2re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2144 - { "vl2re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2145 - { "vl4re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2146 - { "vl4re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2147 - { "vl4re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2148 - { "vl4re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2149 - { "vl8re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2150 - { "vl8re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2151 - { "vl8re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2152 - { "vl8re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2153 - { "vs1r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2154 - { "vs2r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2155 - { "vs4r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2156 - { "vs8r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm, NULL, 0, 0, 0 },
2157 - { "vadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2158 - { "vadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2159 - { "vadd.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
2160 - { "vsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2161 - { "vsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2162 - { "vrsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2163 - { "vrsub.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
2164 - { "vwaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2165 - { "vwaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2166 - { "vwadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2167 - { "vwadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2168 - { "vwsubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2169 - { "vwsubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2170 - { "vwsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2171 - { "vwsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2172 - { "vwaddu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2173 - { "vwaddu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2174 - { "vwadd.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2175 - { "vwadd.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2176 - { "vwsubu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2177 - { "vwsubu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2178 - { "vwsub.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2179 - { "vwsub.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2180 - { "vadc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl, NULL, 0, 0, 0 },
2181 - { "vadc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl, NULL, 0, 0, 0 },
2182 - { "vadc.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl, NULL, 0, 0, 0 },
2183 - { "vmadc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl, NULL, 0, 0, 0 },
2184 - { "vmadc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl, NULL, 0, 0, 0 },
2185 - { "vmadc.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl, NULL, 0, 0, 0 },
2186 - { "vsbc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl, NULL, 0, 0, 0 },
2187 - { "vsbc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl, NULL, 0, 0, 0 },
2188 - { "vmsbc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl, NULL, 0, 0, 0 },
2189 - { "vmsbc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl, NULL, 0, 0, 0 },
2190 - { "vand.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2191 - { "vand.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2192 - { "vand.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
2193 - { "vor.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2194 - { "vor.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2195 - { "vor.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
2196 - { "vxor.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2197 - { "vxor.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2198 - { "vxor.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
2199 - { "vsll.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2200 - { "vsll.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2201 - { "vsll.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2202 - { "vsrl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2203 - { "vsrl.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2204 - { "vsrl.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2205 - { "vsra.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2206 - { "vsra.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2207 - { "vsra.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2208 - { "vnsrl.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2209 - { "vnsrl.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2210 - { "vnsrl.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2211 - { "vnsra.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2212 - { "vnsra.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2213 - { "vnsra.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2214 - { "vmseq.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2215 - { "vmseq.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2216 - { "vmseq.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
2217 - { "vmsne.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2218 - { "vmsne.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2219 - { "vmsne.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
2220 - { "vmsltu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2221 - { "vmsltu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2222 - { "vmslt.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2223 - { "vmslt.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2224 - { "vmsleu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2225 - { "vmsleu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2226 - { "vmsleu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
2227 - { "vmsle.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2228 - { "vmsle.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2229 - { "vmsle.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
2230 - { "vmsgtu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2231 - { "vmsgtu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
2232 - { "vmsgt.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2233 - { "vmsgt.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
2234 - { "vminu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2235 - { "vminu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2236 - { "vmin.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2237 - { "vmin.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2238 - { "vmaxu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2239 - { "vmaxu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2240 - { "vmax.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2241 - { "vmax.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2242 - { "vmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2243 - { "vmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2244 - { "vmulh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2245 - { "vmulh.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2246 - { "vmulhu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2247 - { "vmulhu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2248 - { "vmulhsu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2249 - { "vmulhsu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2250 - { "vdivu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2251 - { "vdivu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2252 - { "vdiv.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2253 - { "vdiv.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2254 - { "vremu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2255 - { "vremu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2256 - { "vrem.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2257 - { "vrem.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2258 - { "vwmulu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2259 - { "vwmulu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2260 - { "vwmulsu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2261 - { "vwmulsu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2262 - { "vwmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2263 - { "vwmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2264 - { "vmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2265 - { "vmacc.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2266 - { "vnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2267 - { "vnmsac.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2268 - { "vmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2269 - { "vmadd.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2270 - { "vnmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2271 - { "vnmsub.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2272 - { "vwmaccu.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2273 - { "vwmaccu.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2274 - { "vwmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2275 - { "vwmacc.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2276 - { "vwmaccsu.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2277 - { "vwmaccsu.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2278 - { "vwmaccus.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm, NULL, 0, 0, 0 },
2279 - { "vmv.v.v", rv_codec_v_r, rv_fmt_vd_vs1, NULL, 0, 0, 0 },
2280 - { "vmv.v.x", rv_codec_v_r, rv_fmt_vd_rs1, NULL, 0, 0, 0 },
2281 - { "vmv.v.i", rv_codec_v_i, rv_fmt_vd_imm, NULL, 0, 0, 0 },
2282 - { "vmerge.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl, NULL, 0, 0, 0 },
2283 - { "vmerge.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl, NULL, 0, 0, 0 },
2284 - { "vmerge.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl, NULL, 0, 0, 0 },
2285 - { "vsaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2286 - { "vsaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2287 - { "vsaddu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
2288 - { "vsadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2289 - { "vsadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2290 - { "vsadd.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm, NULL, 0, 0, 0 },
2291 - { "vssubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2292 - { "vssubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2293 - { "vssub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2294 - { "vssub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2295 - { "vaadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2296 - { "vaadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2297 - { "vaaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2298 - { "vaaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2299 - { "vasub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2300 - { "vasub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2301 - { "vasubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2302 - { "vasubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2303 - { "vsmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2304 - { "vsmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2305 - { "vssrl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2306 - { "vssrl.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2307 - { "vssrl.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2308 - { "vssra.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2309 - { "vssra.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2310 - { "vssra.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2311 - { "vnclipu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2312 - { "vnclipu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2313 - { "vnclipu.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2314 - { "vnclip.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2315 - { "vnclip.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2316 - { "vnclip.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2317 - { "vfadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2318 - { "vfadd.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2319 - { "vfsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2320 - { "vfsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2321 - { "vfrsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2322 - { "vfwadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2323 - { "vfwadd.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2324 - { "vfwadd.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2325 - { "vfwadd.wf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2326 - { "vfwsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2327 - { "vfwsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2328 - { "vfwsub.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2329 - { "vfwsub.wf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2330 - { "vfmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2331 - { "vfmul.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2332 - { "vfdiv.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2333 - { "vfdiv.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2334 - { "vfrdiv.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2335 - { "vfwmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2336 - { "vfwmul.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2337 - { "vfmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2338 - { "vfmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0 },
2339 - { "vfnmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2340 - { "vfnmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0 },
2341 - { "vfmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2342 - { "vfmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0 },
2343 - { "vfnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2344 - { "vfnmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0 },
2345 - { "vfmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2346 - { "vfmadd.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0 },
2347 - { "vfnmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2348 - { "vfnmadd.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0 },
2349 - { "vfmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2350 - { "vfmsub.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0 },
2351 - { "vfnmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2352 - { "vfnmsub.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0 },
2353 - { "vfwmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2354 - { "vfwmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0 },
2355 - { "vfwnmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2356 - { "vfwnmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0 },
2357 - { "vfwmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2358 - { "vfwmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0 },
2359 - { "vfwnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2360 - { "vfwnmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0 },
2361 - { "vfsqrt.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2362 - { "vfrsqrt7.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2363 - { "vfrec7.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2364 - { "vfmin.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2365 - { "vfmin.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2366 - { "vfmax.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2367 - { "vfmax.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2368 - { "vfsgnj.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2369 - { "vfsgnj.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2370 - { "vfsgnjn.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2371 - { "vfsgnjn.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2372 - { "vfsgnjx.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2373 - { "vfsgnjx.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2374 - { "vfslide1up.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2375 - { "vfslide1down.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2376 - { "vmfeq.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2377 - { "vmfeq.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2378 - { "vmfne.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2379 - { "vmfne.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2380 - { "vmflt.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2381 - { "vmflt.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2382 - { "vmfle.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2383 - { "vmfle.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2384 - { "vmfgt.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2385 - { "vmfge.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm, NULL, 0, 0, 0 },
2386 - { "vfclass.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2387 - { "vfmerge.vfm", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vl, NULL, 0, 0, 0 },
2388 - { "vfmv.v.f", rv_codec_v_r, rv_fmt_vd_fs1, NULL, 0, 0, 0 },
2389 - { "vfcvt.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2390 - { "vfcvt.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2391 - { "vfcvt.f.xu.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2392 - { "vfcvt.f.x.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2393 - { "vfcvt.rtz.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2394 - { "vfcvt.rtz.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2395 - { "vfwcvt.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2396 - { "vfwcvt.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2397 - { "vfwcvt.f.xu.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2398 - { "vfwcvt.f.x.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2399 - { "vfwcvt.f.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2400 - { "vfwcvt.rtz.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2401 - { "vfwcvt.rtz.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2402 - { "vfncvt.xu.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2403 - { "vfncvt.x.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2404 - { "vfncvt.f.xu.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2405 - { "vfncvt.f.x.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2406 - { "vfncvt.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2407 - { "vfncvt.rod.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2408 - { "vfncvt.rtz.xu.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2409 - { "vfncvt.rtz.x.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2410 - { "vredsum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2411 - { "vredand.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2412 - { "vredor.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2413 - { "vredxor.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2414 - { "vredminu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2415 - { "vredmin.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2416 - { "vredmaxu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2417 - { "vredmax.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2418 - { "vwredsumu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2419 - { "vwredsum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2420 - { "vfredusum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2421 - { "vfredosum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2422 - { "vfredmin.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2423 - { "vfredmax.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2424 - { "vfwredusum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2425 - { "vfwredosum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2426 - { "vmand.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2427 - { "vmnand.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2428 - { "vmandn.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2429 - { "vmxor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2430 - { "vmor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2431 - { "vmnor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2432 - { "vmorn.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2433 - { "vmxnor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2434 - { "vcpop.m", rv_codec_v_r, rv_fmt_rd_vs2_vm, NULL, 0, 0, 0 },
2435 - { "vfirst.m", rv_codec_v_r, rv_fmt_rd_vs2_vm, NULL, 0, 0, 0 },
2436 - { "vmsbf.m", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2437 - { "vmsif.m", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2438 - { "vmsof.m", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2439 - { "viota.m", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2440 - { "vid.v", rv_codec_v_r, rv_fmt_vd_vm, NULL, 0, 0, 0 },
2441 - { "vmv.x.s", rv_codec_v_r, rv_fmt_rd_vs2, NULL, 0, 0, 0 },
2442 - { "vmv.s.x", rv_codec_v_r, rv_fmt_vd_rs1, NULL, 0, 0, 0 },
2443 - { "vfmv.f.s", rv_codec_v_r, rv_fmt_fd_vs2, NULL, 0, 0, 0 },
2444 - { "vfmv.s.f", rv_codec_v_r, rv_fmt_vd_fs1, NULL, 0, 0, 0 },
2445 - { "vslideup.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2446 - { "vslideup.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2447 - { "vslide1up.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2448 - { "vslidedown.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2449 - { "vslidedown.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2450 - { "vslide1down.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2451 - { "vrgather.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2452 - { "vrgatherei16.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2453 - { "vrgather.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2454 - { "vrgather.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2455 - { "vcompress.vm", rv_codec_v_r, rv_fmt_vd_vs2_vs1, NULL, 0, 0, 0 },
2456 - { "vmv1r.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2457 - { "vmv2r.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2458 - { "vmv4r.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2459 - { "vmv8r.v", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2460 - { "vzext.vf2", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2461 - { "vzext.vf4", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2462 - { "vzext.vf8", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2463 - { "vsext.vf2", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2464 - { "vsext.vf4", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2465 - { "vsext.vf8", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2466 - { "vsetvli", rv_codec_vsetvli, rv_fmt_vsetvli, NULL, 0, 0, 0 },
2467 - { "vsetivli", rv_codec_vsetivli, rv_fmt_vsetivli, NULL, 0, 0, 0 },
2468 - { "vsetvl", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2469 - { "c.zext.b", rv_codec_zcb_ext, rv_fmt_rd, NULL, 0 },
2470 - { "c.sext.b", rv_codec_zcb_ext, rv_fmt_rd, NULL, 0 },
2471 - { "c.zext.h", rv_codec_zcb_ext, rv_fmt_rd, NULL, 0 },
2472 - { "c.sext.h", rv_codec_zcb_ext, rv_fmt_rd, NULL, 0 },
2473 - { "c.zext.w", rv_codec_zcb_ext, rv_fmt_rd, NULL, 0 },
2474 - { "c.not", rv_codec_zcb_ext, rv_fmt_rd, NULL, 0 },
2475 - { "c.mul", rv_codec_zcb_mul, rv_fmt_rd_rs2, NULL, 0, 0 },
2476 - { "c.lbu", rv_codec_zcb_lb, rv_fmt_rs1_rs2_zce_ldst, NULL, 0, 0, 0 },
2477 - { "c.lhu", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst, NULL, 0, 0, 0 },
2478 - { "c.lh", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst, NULL, 0, 0, 0 },
2479 - { "c.sb", rv_codec_zcb_lb, rv_fmt_rs1_rs2_zce_ldst, NULL, 0, 0, 0 },
2480 - { "c.sh", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst, NULL, 0, 0, 0 },
2481 - { "cm.push", rv_codec_zcmp_cm_pushpop, rv_fmt_push_rlist, NULL, 0, 0 },
2482 - { "cm.pop", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist, NULL, 0, 0 },
2483 - { "cm.popret", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist, NULL, 0, 0, 0 },
2484 - { "cm.popretz", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist, NULL, 0, 0 },
2485 - { "cm.mva01s", rv_codec_zcmp_cm_mv, rv_fmt_rd_rs2, NULL, 0, 0, 0 },
2486 - { "cm.mvsa01", rv_codec_zcmp_cm_mv, rv_fmt_rd_rs2, NULL, 0, 0, 0 },
2487 - { "cm.jt", rv_codec_zcmt_jt, rv_fmt_zcmt_index, NULL, 0 },
2488 - { "cm.jalt", rv_codec_zcmt_jt, rv_fmt_zcmt_index, NULL, 0 },
2489 - { "czero.eqz", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2490 - { "czero.nez", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2491 - { "fcvt.bf16.s", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
2492 - { "fcvt.s.bf16", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
2493 - { "vfncvtbf16.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2494 - { "vfwcvtbf16.f.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2495 - { "vfwmaccbf16.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm, NULL, 0, 0, 0 },
2496 - { "vfwmaccbf16.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm, NULL, 0, 0, 0 },
2497 - { "flh", rv_codec_i, rv_fmt_frd_offset_rs1, NULL, 0, 0, 0 },
2498 - { "fsh", rv_codec_s, rv_fmt_frs2_offset_rs1, NULL, 0, 0, 0 },
2499 - { "fmv.h.x", rv_codec_r, rv_fmt_frd_rs1, NULL, 0, 0, 0 },
2500 - { "fmv.x.h", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
2501 - { "fli.s", rv_codec_fli, rv_fmt_fli, NULL, 0, 0, 0 },
2502 - { "fli.d", rv_codec_fli, rv_fmt_fli, NULL, 0, 0, 0 },
2503 - { "fli.q", rv_codec_fli, rv_fmt_fli, NULL, 0, 0, 0 },
2504 - { "fli.h", rv_codec_fli, rv_fmt_fli, NULL, 0, 0, 0 },
2505 - { "fminm.s", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
2506 - { "fmaxm.s", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
2507 - { "fminm.d", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
2508 - { "fmaxm.d", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
2509 - { "fminm.q", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
2510 - { "fmaxm.q", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
2511 - { "fminm.h", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
2512 - { "fmaxm.h", rv_codec_r, rv_fmt_frd_frs1_frs2, NULL, 0, 0, 0 },
2513 - { "fround.s", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
2514 - { "froundnx.s", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
2515 - { "fround.d", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
2516 - { "froundnx.d", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
2517 - { "fround.q", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
2518 - { "froundnx.q", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
2519 - { "fround.h", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
2520 - { "froundnx.h", rv_codec_r_m, rv_fmt_rm_frd_frs1, NULL, 0, 0, 0 },
2521 - { "fcvtmod.w.d", rv_codec_r_m, rv_fmt_rm_rd_frs1, NULL, 0, 0, 0 },
2522 - { "fmvh.x.d", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
2523 - { "fmvp.d.x", rv_codec_r, rv_fmt_frd_rs1_rs2, NULL, 0, 0, 0 },
2524 - { "fmvh.x.q", rv_codec_r, rv_fmt_rd_frs1, NULL, 0, 0, 0 },
2525 - { "fmvp.q.x", rv_codec_r, rv_fmt_frd_rs1_rs2, NULL, 0, 0, 0 },
2526 - { "fleq.s", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
2527 - { "fltq.s", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
2528 - { "fleq.d", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
2529 - { "fltq.d", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
2530 - { "fleq.q", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
2531 - { "fltq.q", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
2532 - { "fleq.h", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
2533 - { "fltq.h", rv_codec_r, rv_fmt_rd_frs1_frs2, NULL, 0, 0, 0 },
2534 - { "vaesdf.vv", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2535 - { "vaesdf.vs", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2536 - { "vaesdm.vv", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2537 - { "vaesdm.vs", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2538 - { "vaesef.vv", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2539 - { "vaesef.vs", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2540 - { "vaesem.vv", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2541 - { "vaesem.vs", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2542 - { "vaeskf1.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm, NULL, 0, 0, 0 },
2543 - { "vaeskf2.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm, NULL, 0, 0, 0 },
2544 - { "vaesz.vs", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2545 - { "vandn.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2546 - { "vandn.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2547 - { "vbrev.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2548 - { "vbrev8.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2549 - { "vclmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2550 - { "vclmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2551 - { "vclmulh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2552 - { "vclmulh.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2553 - { "vclz.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2554 - { "vcpop.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2555 - { "vctz.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2556 - { "vghsh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1, NULL, 0, 0, 0 },
2557 - { "vgmul.vv", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2558 - { "vrev8.v", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 },
2559 - { "vrol.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2560 - { "vrol.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2561 - { "vror.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2562 - { "vror.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2563 - { "vror.vi", rv_codec_vror_vi, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2564 - { "vsha2ch.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1, NULL, 0, 0, 0 },
2565 - { "vsha2cl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1, NULL, 0, 0, 0 },
2566 - { "vsha2ms.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1, NULL, 0, 0, 0 },
2567 - { "vsm3c.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm, NULL, 0, 0, 0 },
2568 - { "vsm3me.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1, NULL, 0, 0, 0 },
2569 - { "vsm4k.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm, NULL, 0, 0, 0 },
2570 - { "vsm4r.vv", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2571 - { "vsm4r.vs", rv_codec_v_r, rv_fmt_vd_vs2, NULL, 0, 0, 0 },
2572 - { "vwsll.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm, NULL, 0, 0, 0 },
2573 - { "vwsll.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, NULL, 0, 0, 0 },
2574 - { "vwsll.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm, NULL, 0, 0, 0 },
2575 - { "amocas.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2576 - { "amocas.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2577 - { "amocas.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2578 - { "mop.r.0", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2579 - { "mop.r.1", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2580 - { "mop.r.2", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2581 - { "mop.r.3", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2582 - { "mop.r.4", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2583 - { "mop.r.5", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2584 - { "mop.r.6", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2585 - { "mop.r.7", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2586 - { "mop.r.8", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2587 - { "mop.r.9", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2588 - { "mop.r.10", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2589 - { "mop.r.11", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2590 - { "mop.r.12", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2591 - { "mop.r.13", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2592 - { "mop.r.14", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2593 - { "mop.r.15", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2594 - { "mop.r.16", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2595 - { "mop.r.17", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2596 - { "mop.r.18", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2597 - { "mop.r.19", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2598 - { "mop.r.20", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2599 - { "mop.r.21", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2600 - { "mop.r.22", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2601 - { "mop.r.23", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2602 - { "mop.r.24", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2603 - { "mop.r.25", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2604 - { "mop.r.26", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2605 - { "mop.r.27", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2606 - { "mop.r.28", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2607 - { "mop.r.29", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2608 - { "mop.r.30", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2609 - { "mop.r.31", rv_codec_r, rv_fmt_rd_rs1, NULL, 0, 0 },
2610 - { "mop.rr.0", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2611 - { "mop.rr.1", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2612 - { "mop.rr.2", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2613 - { "mop.rr.3", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2614 - { "mop.rr.4", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2615 - { "mop.rr.5", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2616 - { "mop.rr.6", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2617 - { "mop.rr.7", rv_codec_r, rv_fmt_rd_rs1_rs2, NULL, 0, 0, 0 },
2618 - { "c.mop.1", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
2619 - { "c.mop.3", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
2620 - { "c.mop.5", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
2621 - { "c.mop.7", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
2622 - { "c.mop.9", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
2623 - { "c.mop.11", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
2624 - { "c.mop.13", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
2625 - { "c.mop.15", rv_codec_ci_none, rv_fmt_none, NULL, 0, 0, 0 },
2626 - { "amoswap.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2627 - { "amoadd.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2628 - { "amoxor.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2629 - { "amoor.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2630 - { "amoand.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2631 - { "amomin.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2632 - { "amomax.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2633 - { "amominu.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2634 - { "amomaxu.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2635 - { "amoswap.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2636 - { "amoadd.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2637 - { "amoxor.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2638 - { "amoor.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2639 - { "amoand.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2640 - { "amomin.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2641 - { "amomax.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2642 - { "amominu.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2643 - { "amomaxu.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2644 - { "amocas.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2645 - { "amocas.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2646 - { "wrs.sto", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
2647 - { "wrs.nto", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
2648 - { "lpad", rv_codec_lp, rv_fmt_imm, NULL, 0, 0, 0 },
2649 - { "sspush", rv_codec_r, rv_fmt_rs2, NULL, 0, 0, 0 },
2650 - { "sspopchk", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
2651 - { "ssrdp", rv_codec_r, rv_fmt_rd, NULL, 0, 0, 0 },
2652 - { "ssamoswap.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
2653 - { "ssamoswap.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1, NULL, 0, 0, 0 },
1973 + { "nop", rv_codec_i, rv_fmt_none },
1974 + { "mv", rv_codec_i, rv_fmt_rd_rs1 },
1975 + { "not", rv_codec_i, rv_fmt_rd_rs1 },
1976 + { "neg", rv_codec_r, rv_fmt_rd_rs2 },
1977 + { "negw", rv_codec_r, rv_fmt_rd_rs2 },
1978 + { "sext.w", rv_codec_i, rv_fmt_rd_rs1 },
1979 + { "seqz", rv_codec_i, rv_fmt_rd_rs1 },
1980 + { "snez", rv_codec_r, rv_fmt_rd_rs2 },
1981 + { "sltz", rv_codec_r, rv_fmt_rd_rs1 },
1982 + { "sgtz", rv_codec_r, rv_fmt_rd_rs2 },
1983 + { "fmv.s", rv_codec_r, rv_fmt_frd_frs1 },
1984 + { "fabs.s", rv_codec_r, rv_fmt_frd_frs1 },
1985 + { "fneg.s", rv_codec_r, rv_fmt_frd_frs1 },
1986 + { "fmv.d", rv_codec_r, rv_fmt_frd_frs1 },
1987 + { "fabs.d", rv_codec_r, rv_fmt_frd_frs1 },
1988 + { "fneg.d", rv_codec_r, rv_fmt_frd_frs1 },
1989 + { "fmv.q", rv_codec_r, rv_fmt_frd_frs1 },
1990 + { "fabs.q", rv_codec_r, rv_fmt_frd_frs1 },
1991 + { "fneg.q", rv_codec_r, rv_fmt_frd_frs1 },
1992 + { "beqz", rv_codec_sb, rv_fmt_rs1_offset },
1993 + { "bnez", rv_codec_sb, rv_fmt_rs1_offset },
1994 + { "blez", rv_codec_sb, rv_fmt_rs2_offset },
1995 + { "bgez", rv_codec_sb, rv_fmt_rs1_offset },
1996 + { "bltz", rv_codec_sb, rv_fmt_rs1_offset },
1997 + { "bgtz", rv_codec_sb, rv_fmt_rs2_offset },
1998 + { "ble", rv_codec_sb, rv_fmt_rs2_rs1_offset },
1999 + { "bleu", rv_codec_sb, rv_fmt_rs2_rs1_offset },
2000 + { "bgt", rv_codec_sb, rv_fmt_rs2_rs1_offset },
2001 + { "bgtu", rv_codec_sb, rv_fmt_rs2_rs1_offset },
2002 + { "j", rv_codec_uj, rv_fmt_offset },
2003 + { "ret", rv_codec_i, rv_fmt_none },
2004 + { "jr", rv_codec_i, rv_fmt_rs1 },
2005 + { "rdcycle", rv_codec_i_csr, rv_fmt_rd },
2006 + { "rdtime", rv_codec_i_csr, rv_fmt_rd },
2007 + { "rdinstret", rv_codec_i_csr, rv_fmt_rd },
2008 + { "rdcycleh", rv_codec_i_csr, rv_fmt_rd },
2009 + { "rdtimeh", rv_codec_i_csr, rv_fmt_rd },
2010 + { "rdinstreth", rv_codec_i_csr, rv_fmt_rd },
2011 + { "frcsr", rv_codec_i_csr, rv_fmt_rd },
2012 + { "frrm", rv_codec_i_csr, rv_fmt_rd },
2013 + { "frflags", rv_codec_i_csr, rv_fmt_rd },
2014 + { "fscsr", rv_codec_i_csr, rv_fmt_rd_rs1 },
2015 + { "fsrm", rv_codec_i_csr, rv_fmt_rd_rs1 },
2016 + { "fsflags", rv_codec_i_csr, rv_fmt_rd_rs1 },
2017 + { "fsrmi", rv_codec_i_csr, rv_fmt_rd_zimm },
2018 + { "fsflagsi", rv_codec_i_csr, rv_fmt_rd_zimm },
2019 + { "bseti", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
2020 + { "bclri", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
2021 + { "binvi", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
2022 + { "bexti", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
2023 + { "rori", rv_codec_i_sh7, rv_fmt_rd_rs1_imm },
2024 + { "clz", rv_codec_r, rv_fmt_rd_rs1 },
2025 + { "ctz", rv_codec_r, rv_fmt_rd_rs1 },
2026 + { "cpop", rv_codec_r, rv_fmt_rd_rs1 },
2027 + { "sext.h", rv_codec_r, rv_fmt_rd_rs1 },
2028 + { "sext.b", rv_codec_r, rv_fmt_rd_rs1 },
2029 + { "xnor", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2030 + { "orn", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2031 + { "andn", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2032 + { "rol", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2033 + { "ror", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2034 + { "sh1add", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2035 + { "sh2add", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2036 + { "sh3add", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2037 + { "sh1add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2038 + { "sh2add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2039 + { "sh3add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2040 + { "clmul", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2041 + { "clmulr", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2042 + { "clmulh", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2043 + { "min", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2044 + { "minu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2045 + { "max", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2046 + { "maxu", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2047 + { "clzw", rv_codec_r, rv_fmt_rd_rs1 },
2048 + { "ctzw", rv_codec_r, rv_fmt_rd_rs1 },
2049 + { "cpopw", rv_codec_r, rv_fmt_rd_rs1 },
2050 + { "slli.uw", rv_codec_i_sh6, rv_fmt_rd_rs1_imm },
2051 + { "add.uw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2052 + { "rolw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2053 + { "rorw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2054 + { "rev8", rv_codec_r, rv_fmt_rd_rs1 },
2055 + { "zext.h", rv_codec_r, rv_fmt_rd_rs1 },
2056 + { "roriw", rv_codec_i_sh5, rv_fmt_rd_rs1_imm },
2057 + { "orc.b", rv_codec_r, rv_fmt_rd_rs1 },
2058 + { "bset", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2059 + { "bclr", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2060 + { "binv", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2061 + { "bext", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2062 + { "aes32esmi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
2063 + { "aes32esi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
2064 + { "aes32dsmi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
2065 + { "aes32dsi", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
2066 + { "aes64ks1i", rv_codec_k_rnum, rv_fmt_rd_rs1_rnum },
2067 + { "aes64ks2", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2068 + { "aes64im", rv_codec_r, rv_fmt_rd_rs1 },
2069 + { "aes64esm", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2070 + { "aes64es", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2071 + { "aes64dsm", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2072 + { "aes64ds", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2073 + { "sha256sig0", rv_codec_r, rv_fmt_rd_rs1 },
2074 + { "sha256sig1", rv_codec_r, rv_fmt_rd_rs1 },
2075 + { "sha256sum0", rv_codec_r, rv_fmt_rd_rs1 },
2076 + { "sha256sum1", rv_codec_r, rv_fmt_rd_rs1 },
2077 + { "sha512sig0", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2078 + { "sha512sig1", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2079 + { "sha512sum0", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2080 + { "sha512sum1", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2081 + { "sha512sum0r", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2082 + { "sha512sum1r", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2083 + { "sha512sig0l", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2084 + { "sha512sig0h", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2085 + { "sha512sig1l", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2086 + { "sha512sig1h", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2087 + { "sm3p0", rv_codec_r, rv_fmt_rd_rs1 },
2088 + { "sm3p1", rv_codec_r, rv_fmt_rd_rs1 },
2089 + { "sm4ed", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
2090 + { "sm4ks", rv_codec_k_bs, rv_fmt_rs1_rs2_bs },
2091 + { "brev8", rv_codec_r, rv_fmt_rd_rs1 },
2092 + { "pack", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2093 + { "packh", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2094 + { "packw", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2095 + { "unzip", rv_codec_r, rv_fmt_rd_rs1 },
2096 + { "zip", rv_codec_r, rv_fmt_rd_rs1 },
2097 + { "xperm4", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2098 + { "xperm8", rv_codec_r, rv_fmt_rd_rs1 },
2099 + { "vle8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2100 + { "vle16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2101 + { "vle32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2102 + { "vle64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2103 + { "vse8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2104 + { "vse16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2105 + { "vse32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2106 + { "vse64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2107 + { "vlm.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2108 + { "vsm.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2109 + { "vlse8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2110 + { "vlse16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2111 + { "vlse32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2112 + { "vlse64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2113 + { "vsse8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2114 + { "vsse16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2115 + { "vsse32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2116 + { "vsse64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_rs2_vm },
2117 + { "vluxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2118 + { "vluxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2119 + { "vluxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2120 + { "vluxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2121 + { "vloxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2122 + { "vloxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2123 + { "vloxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2124 + { "vloxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2125 + { "vsuxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2126 + { "vsuxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2127 + { "vsuxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2128 + { "vsuxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2129 + { "vsoxei8.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2130 + { "vsoxei16.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2131 + { "vsoxei32.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2132 + { "vsoxei64.v", rv_codec_v_r, rv_fmt_ldst_vd_rs1_vs2_vm },
2133 + { "vle8ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2134 + { "vle16ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2135 + { "vle32ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2136 + { "vle64ff.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2137 + { "vl1re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2138 + { "vl1re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2139 + { "vl1re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2140 + { "vl1re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2141 + { "vl2re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2142 + { "vl2re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2143 + { "vl2re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2144 + { "vl2re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2145 + { "vl4re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2146 + { "vl4re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2147 + { "vl4re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2148 + { "vl4re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2149 + { "vl8re8.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2150 + { "vl8re16.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2151 + { "vl8re32.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2152 + { "vl8re64.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2153 + { "vs1r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2154 + { "vs2r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2155 + { "vs4r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2156 + { "vs8r.v", rv_codec_v_ldst, rv_fmt_ldst_vd_rs1_vm },
2157 + { "vadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2158 + { "vadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2159 + { "vadd.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2160 + { "vsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2161 + { "vsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2162 + { "vrsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2163 + { "vrsub.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2164 + { "vwaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2165 + { "vwaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2166 + { "vwadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2167 + { "vwadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2168 + { "vwsubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2169 + { "vwsubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2170 + { "vwsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2171 + { "vwsub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2172 + { "vwaddu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2173 + { "vwaddu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2174 + { "vwadd.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2175 + { "vwadd.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2176 + { "vwsubu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2177 + { "vwsubu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2178 + { "vwsub.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2179 + { "vwsub.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2180 + { "vadc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
2181 + { "vadc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
2182 + { "vadc.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl },
2183 + { "vmadc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
2184 + { "vmadc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
2185 + { "vmadc.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl },
2186 + { "vsbc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
2187 + { "vsbc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
2188 + { "vmsbc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
2189 + { "vmsbc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
2190 + { "vand.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2191 + { "vand.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2192 + { "vand.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2193 + { "vor.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2194 + { "vor.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2195 + { "vor.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2196 + { "vxor.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2197 + { "vxor.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2198 + { "vxor.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2199 + { "vsll.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2200 + { "vsll.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2201 + { "vsll.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2202 + { "vsrl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2203 + { "vsrl.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2204 + { "vsrl.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2205 + { "vsra.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2206 + { "vsra.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2207 + { "vsra.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2208 + { "vnsrl.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2209 + { "vnsrl.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2210 + { "vnsrl.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2211 + { "vnsra.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2212 + { "vnsra.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2213 + { "vnsra.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2214 + { "vmseq.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2215 + { "vmseq.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2216 + { "vmseq.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2217 + { "vmsne.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2218 + { "vmsne.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2219 + { "vmsne.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2220 + { "vmsltu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2221 + { "vmsltu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2222 + { "vmslt.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2223 + { "vmslt.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2224 + { "vmsleu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2225 + { "vmsleu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2226 + { "vmsleu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2227 + { "vmsle.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2228 + { "vmsle.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2229 + { "vmsle.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2230 + { "vmsgtu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2231 + { "vmsgtu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2232 + { "vmsgt.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2233 + { "vmsgt.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2234 + { "vminu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2235 + { "vminu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2236 + { "vmin.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2237 + { "vmin.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2238 + { "vmaxu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2239 + { "vmaxu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2240 + { "vmax.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2241 + { "vmax.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2242 + { "vmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2243 + { "vmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2244 + { "vmulh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2245 + { "vmulh.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2246 + { "vmulhu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2247 + { "vmulhu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2248 + { "vmulhsu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2249 + { "vmulhsu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2250 + { "vdivu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2251 + { "vdivu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2252 + { "vdiv.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2253 + { "vdiv.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2254 + { "vremu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2255 + { "vremu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2256 + { "vrem.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2257 + { "vrem.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2258 + { "vwmulu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2259 + { "vwmulu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2260 + { "vwmulsu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2261 + { "vwmulsu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2262 + { "vwmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2263 + { "vwmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2264 + { "vmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2265 + { "vmacc.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2266 + { "vnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2267 + { "vnmsac.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2268 + { "vmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2269 + { "vmadd.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2270 + { "vnmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2271 + { "vnmsub.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2272 + { "vwmaccu.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2273 + { "vwmaccu.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2274 + { "vwmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2275 + { "vwmacc.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2276 + { "vwmaccsu.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2277 + { "vwmaccsu.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2278 + { "vwmaccus.vx", rv_codec_v_r, rv_fmt_vd_rs1_vs2_vm },
2279 + { "vmv.v.v", rv_codec_v_r, rv_fmt_vd_vs1 },
2280 + { "vmv.v.x", rv_codec_v_r, rv_fmt_vd_rs1 },
2281 + { "vmv.v.i", rv_codec_v_i, rv_fmt_vd_imm },
2282 + { "vmerge.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl },
2283 + { "vmerge.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl },
2284 + { "vmerge.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl },
2285 + { "vsaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2286 + { "vsaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2287 + { "vsaddu.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2288 + { "vsadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2289 + { "vsadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2290 + { "vsadd.vi", rv_codec_v_i, rv_fmt_vd_vs2_imm_vm },
2291 + { "vssubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2292 + { "vssubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2293 + { "vssub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2294 + { "vssub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2295 + { "vaadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2296 + { "vaadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2297 + { "vaaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2298 + { "vaaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2299 + { "vasub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2300 + { "vasub.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2301 + { "vasubu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2302 + { "vasubu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2303 + { "vsmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2304 + { "vsmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2305 + { "vssrl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2306 + { "vssrl.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2307 + { "vssrl.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2308 + { "vssra.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2309 + { "vssra.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2310 + { "vssra.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2311 + { "vnclipu.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2312 + { "vnclipu.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2313 + { "vnclipu.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2314 + { "vnclip.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2315 + { "vnclip.wx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2316 + { "vnclip.wi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2317 + { "vfadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2318 + { "vfadd.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2319 + { "vfsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2320 + { "vfsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2321 + { "vfrsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2322 + { "vfwadd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2323 + { "vfwadd.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2324 + { "vfwadd.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2325 + { "vfwadd.wf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2326 + { "vfwsub.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2327 + { "vfwsub.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2328 + { "vfwsub.wv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2329 + { "vfwsub.wf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2330 + { "vfmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2331 + { "vfmul.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2332 + { "vfdiv.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2333 + { "vfdiv.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2334 + { "vfrdiv.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2335 + { "vfwmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2336 + { "vfwmul.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2337 + { "vfmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2338 + { "vfmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2339 + { "vfnmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2340 + { "vfnmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2341 + { "vfmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2342 + { "vfmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2343 + { "vfnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2344 + { "vfnmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2345 + { "vfmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2346 + { "vfmadd.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2347 + { "vfnmadd.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2348 + { "vfnmadd.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2349 + { "vfmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2350 + { "vfmsub.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2351 + { "vfnmsub.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2352 + { "vfnmsub.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2353 + { "vfwmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2354 + { "vfwmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2355 + { "vfwnmacc.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2356 + { "vfwnmacc.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2357 + { "vfwmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2358 + { "vfwmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2359 + { "vfwnmsac.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2360 + { "vfwnmsac.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2361 + { "vfsqrt.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2362 + { "vfrsqrt7.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2363 + { "vfrec7.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2364 + { "vfmin.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2365 + { "vfmin.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2366 + { "vfmax.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2367 + { "vfmax.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2368 + { "vfsgnj.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2369 + { "vfsgnj.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2370 + { "vfsgnjn.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2371 + { "vfsgnjn.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2372 + { "vfsgnjx.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2373 + { "vfsgnjx.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2374 + { "vfslide1up.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2375 + { "vfslide1down.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2376 + { "vmfeq.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2377 + { "vmfeq.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2378 + { "vmfne.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2379 + { "vmfne.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2380 + { "vmflt.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2381 + { "vmflt.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2382 + { "vmfle.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2383 + { "vmfle.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2384 + { "vmfgt.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2385 + { "vmfge.vf", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vm },
2386 + { "vfclass.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2387 + { "vfmerge.vfm", rv_codec_v_r, rv_fmt_vd_vs2_fs1_vl },
2388 + { "vfmv.v.f", rv_codec_v_r, rv_fmt_vd_fs1 },
2389 + { "vfcvt.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2390 + { "vfcvt.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2391 + { "vfcvt.f.xu.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2392 + { "vfcvt.f.x.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2393 + { "vfcvt.rtz.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2394 + { "vfcvt.rtz.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2395 + { "vfwcvt.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2396 + { "vfwcvt.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2397 + { "vfwcvt.f.xu.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2398 + { "vfwcvt.f.x.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2399 + { "vfwcvt.f.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2400 + { "vfwcvt.rtz.xu.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2401 + { "vfwcvt.rtz.x.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2402 + { "vfncvt.xu.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2403 + { "vfncvt.x.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2404 + { "vfncvt.f.xu.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2405 + { "vfncvt.f.x.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2406 + { "vfncvt.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2407 + { "vfncvt.rod.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2408 + { "vfncvt.rtz.xu.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2409 + { "vfncvt.rtz.x.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2410 + { "vredsum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2411 + { "vredand.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2412 + { "vredor.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2413 + { "vredxor.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2414 + { "vredminu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2415 + { "vredmin.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2416 + { "vredmaxu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2417 + { "vredmax.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2418 + { "vwredsumu.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2419 + { "vwredsum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2420 + { "vfredusum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2421 + { "vfredosum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2422 + { "vfredmin.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2423 + { "vfredmax.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2424 + { "vfwredusum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2425 + { "vfwredosum.vs", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2426 + { "vmand.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2427 + { "vmnand.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2428 + { "vmandn.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2429 + { "vmxor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2430 + { "vmor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2431 + { "vmnor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2432 + { "vmorn.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2433 + { "vmxnor.mm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2434 + { "vcpop.m", rv_codec_v_r, rv_fmt_rd_vs2_vm },
2435 + { "vfirst.m", rv_codec_v_r, rv_fmt_rd_vs2_vm },
2436 + { "vmsbf.m", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2437 + { "vmsif.m", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2438 + { "vmsof.m", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2439 + { "viota.m", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2440 + { "vid.v", rv_codec_v_r, rv_fmt_vd_vm },
2441 + { "vmv.x.s", rv_codec_v_r, rv_fmt_rd_vs2 },
2442 + { "vmv.s.x", rv_codec_v_r, rv_fmt_vd_rs1 },
2443 + { "vfmv.f.s", rv_codec_v_r, rv_fmt_fd_vs2 },
2444 + { "vfmv.s.f", rv_codec_v_r, rv_fmt_vd_fs1 },
2445 + { "vslideup.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2446 + { "vslideup.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2447 + { "vslide1up.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2448 + { "vslidedown.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2449 + { "vslidedown.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2450 + { "vslide1down.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2451 + { "vrgather.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2452 + { "vrgatherei16.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2453 + { "vrgather.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2454 + { "vrgather.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2455 + { "vcompress.vm", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
2456 + { "vmv1r.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2457 + { "vmv2r.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2458 + { "vmv4r.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2459 + { "vmv8r.v", rv_codec_v_r, rv_fmt_vd_vs2 },
2460 + { "vzext.vf2", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2461 + { "vzext.vf4", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2462 + { "vzext.vf8", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2463 + { "vsext.vf2", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2464 + { "vsext.vf4", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2465 + { "vsext.vf8", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2466 + { "vsetvli", rv_codec_vsetvli, rv_fmt_vsetvli },
2467 + { "vsetivli", rv_codec_vsetivli, rv_fmt_vsetivli },
2468 + { "vsetvl", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2469 + { "c.zext.b", rv_codec_zcb_ext, rv_fmt_rd },
2470 + { "c.sext.b", rv_codec_zcb_ext, rv_fmt_rd },
2471 + { "c.zext.h", rv_codec_zcb_ext, rv_fmt_rd },
2472 + { "c.sext.h", rv_codec_zcb_ext, rv_fmt_rd },
2473 + { "c.zext.w", rv_codec_zcb_ext, rv_fmt_rd },
2474 + { "c.not", rv_codec_zcb_ext, rv_fmt_rd },
2475 + { "c.mul", rv_codec_zcb_mul, rv_fmt_rd_rs2 },
2476 + { "c.lbu", rv_codec_zcb_lb, rv_fmt_rs1_rs2_zce_ldst },
2477 + { "c.lhu", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst },
2478 + { "c.lh", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst },
2479 + { "c.sb", rv_codec_zcb_lb, rv_fmt_rs1_rs2_zce_ldst },
2480 + { "c.sh", rv_codec_zcb_lh, rv_fmt_rs1_rs2_zce_ldst },
2481 + { "cm.push", rv_codec_zcmp_cm_pushpop, rv_fmt_push_rlist },
2482 + { "cm.pop", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist },
2483 + { "cm.popret", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist },
2484 + { "cm.popretz", rv_codec_zcmp_cm_pushpop, rv_fmt_pop_rlist },
2485 + { "cm.mva01s", rv_codec_zcmp_cm_mv, rv_fmt_rd_rs2 },
2486 + { "cm.mvsa01", rv_codec_zcmp_cm_mv, rv_fmt_rd_rs2 },
2487 + { "cm.jt", rv_codec_zcmt_jt, rv_fmt_zcmt_index },
2488 + { "cm.jalt", rv_codec_zcmt_jt, rv_fmt_zcmt_index },
2489 + { "czero.eqz", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2490 + { "czero.nez", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2491 + { "fcvt.bf16.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2492 + { "fcvt.s.bf16", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2493 + { "vfncvtbf16.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2494 + { "vfwcvtbf16.f.f.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2495 + { "vfwmaccbf16.vv", rv_codec_v_r, rv_fmt_vd_vs1_vs2_vm },
2496 + { "vfwmaccbf16.vf", rv_codec_v_r, rv_fmt_vd_fs1_vs2_vm },
2497 + { "flh", rv_codec_i, rv_fmt_frd_offset_rs1 },
2498 + { "fsh", rv_codec_s, rv_fmt_frs2_offset_rs1 },
2499 + { "fmv.h.x", rv_codec_r, rv_fmt_frd_rs1 },
2500 + { "fmv.x.h", rv_codec_r, rv_fmt_rd_frs1 },
2501 + { "fli.s", rv_codec_fli, rv_fmt_fli },
2502 + { "fli.d", rv_codec_fli, rv_fmt_fli },
2503 + { "fli.q", rv_codec_fli, rv_fmt_fli },
2504 + { "fli.h", rv_codec_fli, rv_fmt_fli },
2505 + { "fminm.s", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2506 + { "fmaxm.s", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2507 + { "fminm.d", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2508 + { "fmaxm.d", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2509 + { "fminm.q", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2510 + { "fmaxm.q", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2511 + { "fminm.h", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2512 + { "fmaxm.h", rv_codec_r, rv_fmt_frd_frs1_frs2 },
2513 + { "fround.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2514 + { "froundnx.s", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2515 + { "fround.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2516 + { "froundnx.d", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2517 + { "fround.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2518 + { "froundnx.q", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2519 + { "fround.h", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2520 + { "froundnx.h", rv_codec_r_m, rv_fmt_rm_frd_frs1 },
2521 + { "fcvtmod.w.d", rv_codec_r_m, rv_fmt_rm_rd_frs1 },
2522 + { "fmvh.x.d", rv_codec_r, rv_fmt_rd_frs1 },
2523 + { "fmvp.d.x", rv_codec_r, rv_fmt_frd_rs1_rs2 },
2524 + { "fmvh.x.q", rv_codec_r, rv_fmt_rd_frs1 },
2525 + { "fmvp.q.x", rv_codec_r, rv_fmt_frd_rs1_rs2 },
2526 + { "fleq.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2527 + { "fltq.s", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2528 + { "fleq.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2529 + { "fltq.d", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2530 + { "fleq.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2531 + { "fltq.q", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2532 + { "fleq.h", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2533 + { "fltq.h", rv_codec_r, rv_fmt_rd_frs1_frs2 },
2534 + { "vaesdf.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
2535 + { "vaesdf.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
2536 + { "vaesdm.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
2537 + { "vaesdm.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
2538 + { "vaesef.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
2539 + { "vaesef.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
2540 + { "vaesem.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
2541 + { "vaesem.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
2542 + { "vaeskf1.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm },
2543 + { "vaeskf2.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm },
2544 + { "vaesz.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
2545 + { "vandn.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2546 + { "vandn.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2547 + { "vbrev.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2548 + { "vbrev8.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2549 + { "vclmul.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2550 + { "vclmul.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2551 + { "vclmulh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2552 + { "vclmulh.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2553 + { "vclz.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2554 + { "vcpop.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2555 + { "vctz.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2556 + { "vghsh.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
2557 + { "vgmul.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
2558 + { "vrev8.v", rv_codec_v_r, rv_fmt_vd_vs2_vm },
2559 + { "vrol.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2560 + { "vrol.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2561 + { "vror.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2562 + { "vror.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2563 + { "vror.vi", rv_codec_vror_vi, rv_fmt_vd_vs2_uimm_vm },
2564 + { "vsha2ch.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
2565 + { "vsha2cl.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
2566 + { "vsha2ms.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
2567 + { "vsm3c.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm },
2568 + { "vsm3me.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1 },
2569 + { "vsm4k.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm },
2570 + { "vsm4r.vv", rv_codec_v_r, rv_fmt_vd_vs2 },
2571 + { "vsm4r.vs", rv_codec_v_r, rv_fmt_vd_vs2 },
2572 + { "vwsll.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm },
2573 + { "vwsll.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm },
2574 + { "vwsll.vi", rv_codec_v_i_u, rv_fmt_vd_vs2_uimm_vm },
2575 + { "amocas.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2576 + { "amocas.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2577 + { "amocas.q", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2578 + { "mop.r.0", rv_codec_r, rv_fmt_rd_rs1 },
2579 + { "mop.r.1", rv_codec_r, rv_fmt_rd_rs1 },
2580 + { "mop.r.2", rv_codec_r, rv_fmt_rd_rs1 },
2581 + { "mop.r.3", rv_codec_r, rv_fmt_rd_rs1 },
2582 + { "mop.r.4", rv_codec_r, rv_fmt_rd_rs1 },
2583 + { "mop.r.5", rv_codec_r, rv_fmt_rd_rs1 },
2584 + { "mop.r.6", rv_codec_r, rv_fmt_rd_rs1 },
2585 + { "mop.r.7", rv_codec_r, rv_fmt_rd_rs1 },
2586 + { "mop.r.8", rv_codec_r, rv_fmt_rd_rs1 },
2587 + { "mop.r.9", rv_codec_r, rv_fmt_rd_rs1 },
2588 + { "mop.r.10", rv_codec_r, rv_fmt_rd_rs1 },
2589 + { "mop.r.11", rv_codec_r, rv_fmt_rd_rs1 },
2590 + { "mop.r.12", rv_codec_r, rv_fmt_rd_rs1 },
2591 + { "mop.r.13", rv_codec_r, rv_fmt_rd_rs1 },
2592 + { "mop.r.14", rv_codec_r, rv_fmt_rd_rs1 },
2593 + { "mop.r.15", rv_codec_r, rv_fmt_rd_rs1 },
2594 + { "mop.r.16", rv_codec_r, rv_fmt_rd_rs1 },
2595 + { "mop.r.17", rv_codec_r, rv_fmt_rd_rs1 },
2596 + { "mop.r.18", rv_codec_r, rv_fmt_rd_rs1 },
2597 + { "mop.r.19", rv_codec_r, rv_fmt_rd_rs1 },
2598 + { "mop.r.20", rv_codec_r, rv_fmt_rd_rs1 },
2599 + { "mop.r.21", rv_codec_r, rv_fmt_rd_rs1 },
2600 + { "mop.r.22", rv_codec_r, rv_fmt_rd_rs1 },
2601 + { "mop.r.23", rv_codec_r, rv_fmt_rd_rs1 },
2602 + { "mop.r.24", rv_codec_r, rv_fmt_rd_rs1 },
2603 + { "mop.r.25", rv_codec_r, rv_fmt_rd_rs1 },
2604 + { "mop.r.26", rv_codec_r, rv_fmt_rd_rs1 },
2605 + { "mop.r.27", rv_codec_r, rv_fmt_rd_rs1 },
2606 + { "mop.r.28", rv_codec_r, rv_fmt_rd_rs1 },
2607 + { "mop.r.29", rv_codec_r, rv_fmt_rd_rs1 },
2608 + { "mop.r.30", rv_codec_r, rv_fmt_rd_rs1 },
2609 + { "mop.r.31", rv_codec_r, rv_fmt_rd_rs1 },
2610 + { "mop.rr.0", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2611 + { "mop.rr.1", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2612 + { "mop.rr.2", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2613 + { "mop.rr.3", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2614 + { "mop.rr.4", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2615 + { "mop.rr.5", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2616 + { "mop.rr.6", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2617 + { "mop.rr.7", rv_codec_r, rv_fmt_rd_rs1_rs2 },
2618 + { "c.mop.1", rv_codec_ci_none, rv_fmt_none },
2619 + { "c.mop.3", rv_codec_ci_none, rv_fmt_none },
2620 + { "c.mop.5", rv_codec_ci_none, rv_fmt_none },
2621 + { "c.mop.7", rv_codec_ci_none, rv_fmt_none },
2622 + { "c.mop.9", rv_codec_ci_none, rv_fmt_none },
2623 + { "c.mop.11", rv_codec_ci_none, rv_fmt_none },
2624 + { "c.mop.13", rv_codec_ci_none, rv_fmt_none },
2625 + { "c.mop.15", rv_codec_ci_none, rv_fmt_none },
2626 + { "amoswap.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2627 + { "amoadd.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2628 + { "amoxor.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2629 + { "amoor.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2630 + { "amoand.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2631 + { "amomin.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2632 + { "amomax.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2633 + { "amominu.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2634 + { "amomaxu.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2635 + { "amoswap.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2636 + { "amoadd.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2637 + { "amoxor.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2638 + { "amoor.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2639 + { "amoand.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2640 + { "amomin.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2641 + { "amomax.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2642 + { "amominu.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2643 + { "amomaxu.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2644 + { "amocas.b", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2645 + { "amocas.h", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2646 + { "wrs.sto", rv_codec_none, rv_fmt_none },
2647 + { "wrs.nto", rv_codec_none, rv_fmt_none },
2648 + { "lpad", rv_codec_lp, rv_fmt_imm },
2649 + { "sspush", rv_codec_r, rv_fmt_rs2 },
2650 + { "sspopchk", rv_codec_r, rv_fmt_rs1 },
2651 + { "ssrdp", rv_codec_r, rv_fmt_rd },
2652 + { "ssamoswap.w", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2653 + { "ssamoswap.d", rv_codec_r_a, rv_fmt_aqrl_rd_rs2_rs1 },
2654 { "c.sspush", rv_codec_cmop_ss, rv_fmt_rs2, NULL, rv_op_sspush,
2655 rv_op_sspush, 0 },
2656 { "c.sspopchk", rv_codec_cmop_ss, rv_fmt_rs1, NULL, rv_op_sspopchk,
2657 rv_op_sspopchk, 0 },
2658 - { "cbo.inval", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
2659 - { "cbo.clean", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
2660 - { "cbo.flush", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
2661 - { "cbo.zero", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 },
2662 - { "mnret", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 },
2658 + { "cbo.inval", rv_codec_r, rv_fmt_rs1 },
2659 + { "cbo.clean", rv_codec_r, rv_fmt_rs1 },
2660 + { "cbo.flush", rv_codec_r, rv_fmt_rs1 },
2661 + { "cbo.zero", rv_codec_r, rv_fmt_rs1 },
2662 + { "mnret", rv_codec_none, rv_fmt_none },
2663 };
2664
2665 /* CSR names */