1#[derive(Clone, Copy)]
2pub struct Immediate {
3 position_in_opcode: (u32, u32),
4 position_in_immediate: (u32, u32),
5}
6
7pub const UIMM_LO: Immediate = Immediate {
8 position_in_opcode: (31, 12),
9 position_in_immediate: (31, 12),
10};
11
12pub const S_TYPE_HI: Immediate = Immediate {
13 position_in_immediate: (11, 5),
14 position_in_opcode: (31, 25),
15};
16
17pub const S_TYPE_LO: Immediate = Immediate {
18 position_in_immediate: (4, 0),
19 position_in_opcode: (11, 7),
20};
21
22pub const UJ_TYPE_IMM_20: Immediate = Immediate {
24 position_in_immediate: (20, 20),
25 position_in_opcode: (31, 31),
26};
27
28pub const UJ_TYPE_IMM_10_1: Immediate = Immediate {
30 position_in_immediate: (10, 1),
31 position_in_opcode: (30, 21),
32};
33
34pub const UJ_TYPE_IMM_11: Immediate = Immediate {
36 position_in_immediate: (11, 11),
37 position_in_opcode: (20, 20),
38};
39
40pub const UJ_TYPE_IMM_19_12: Immediate = Immediate {
42 position_in_immediate: (19, 12),
43 position_in_opcode: (19, 12),
44};
45
46pub const I_TYPE_11_0: Immediate = Immediate {
47 position_in_immediate: (11, 0),
48 position_in_opcode: (31, 20),
49};
50
51pub const B_TYPE_IMM_12: Immediate = Immediate {
53 position_in_immediate: (12, 12),
54 position_in_opcode: (31, 31),
55};
56
57pub const B_TYPE_IMM_10_5: Immediate = Immediate {
59 position_in_immediate: (10, 5),
60 position_in_opcode: (30, 25),
61};
62
63pub const B_TYPE_IMM_4_1: Immediate = Immediate {
65 position_in_immediate: (4, 1),
66 position_in_opcode: (11, 8),
67};
68
69pub const B_TYPE_IMM_11: Immediate = Immediate {
71 position_in_immediate: (11, 11),
72 position_in_opcode: (7, 7),
73};
74
75pub const CJ_TYPE_IMM_11: Immediate = Immediate {
77 position_in_immediate: (11, 11),
78 position_in_opcode: (12, 12), };
80
81pub const CJ_TYPE_IMM_4: Immediate = Immediate {
83 position_in_immediate: (4, 4),
84 position_in_opcode: (11, 11), };
86
87pub const CJ_TYPE_IMM_9_8: Immediate = Immediate {
89 position_in_immediate: (9, 8),
90 position_in_opcode: (10, 9), };
92
93pub const CJ_TYPE_IMM_10: Immediate = Immediate {
95 position_in_immediate: (10, 10),
96 position_in_opcode: (8, 8), };
98
99pub const CJ_TYPE_IMM_6: Immediate = Immediate {
101 position_in_immediate: (6, 6),
102 position_in_opcode: (7, 7), };
104
105pub const CJ_TYPE_IMM_7: Immediate = Immediate {
107 position_in_immediate: (7, 7),
108 position_in_opcode: (6, 6), };
110
111pub const CJ_TYPE_IMM_3_1: Immediate = Immediate {
113 position_in_immediate: (3, 1),
114 position_in_opcode: (5, 3), };
116
117pub const CJ_TYPE_IMM_5: Immediate = Immediate {
119 position_in_immediate: (5, 5),
120 position_in_opcode: (2, 2), };
122
123pub const BIMM12LOHI: &[Immediate] = &[
124 B_TYPE_IMM_12,
125 B_TYPE_IMM_11,
126 B_TYPE_IMM_10_5,
127 B_TYPE_IMM_4_1,
128];
129pub const S_TYPE: &[Immediate] = &[S_TYPE_HI, S_TYPE_LO];
130pub const IMM20: &[Immediate] = &[UIMM_LO];
131pub const JIMM20: &[Immediate] = &[
132 UJ_TYPE_IMM_20,
133 UJ_TYPE_IMM_19_12,
134 UJ_TYPE_IMM_11,
135 UJ_TYPE_IMM_10_1,
136];
137pub const I_TYPE: &[Immediate] = &[I_TYPE_11_0];
138pub const SIMM5: &[Immediate] = &[Immediate {
139 position_in_immediate: (4, 0),
140 position_in_opcode: (19, 15),
141}];
142
143pub const IMM6: &[Immediate] = &[];
144pub const IMM12LOHI: &[Immediate] = &[
145 Immediate {
146 position_in_immediate: (11, 5),
147 position_in_opcode: (31, 25),
148 },
149 Immediate {
150 position_in_immediate: (4, 0),
151 position_in_opcode: (11, 7),
152 },
153];
154
155pub const IMM12: &[Immediate] = &[Immediate {
156 position_in_immediate: (11, 0),
157 position_in_opcode: (31, 20),
158}];
159
160pub const ZIMM: &[Immediate] = &[Immediate {
161 position_in_immediate: (4, 0),
162 position_in_opcode: (19, 15),
163}];
164
165pub const ZIMM6LOHI: &[Immediate] = &[
166 Immediate {
167 position_in_immediate: (5, 5),
168 position_in_opcode: (26, 26),
169 },
170 Immediate {
171 position_in_immediate: (4, 0),
172 position_in_opcode: (19, 15),
173 },
174];
175pub const ZIMM11: &[Immediate] = &[Immediate {
176 position_in_immediate: (10, 0),
177 position_in_opcode: (30, 20),
178}];
179
180pub const ZIMM10: &[Immediate] = &[Immediate {
181 position_in_immediate: (9, 0),
182 position_in_opcode: (29, 20),
183}];
184
185pub const ZIMM5: &[Immediate] = &[Immediate {
186 position_in_immediate: (4, 0),
187 position_in_opcode: (19, 15),
188}];
189
190pub const C_SPIMM: &[Immediate] = &[Immediate {
191 position_in_immediate: (5, 4),
192 position_in_opcode: (3, 2),
193}];
194
195pub const C_UIMM8SP_S: &[Immediate] = &[
196 Immediate {
197 position_in_immediate: (5, 2),
198 position_in_opcode: (12, 9),
199 },
200 Immediate {
201 position_in_immediate: (7, 6),
202 position_in_opcode: (6, 5),
203 },
204];
205
206pub const C_UIMM1: &[Immediate] = &[Immediate {
207 position_in_immediate: (1, 1),
208 position_in_opcode: (5, 5),
209}];
210
211pub const C_UIMM7LOHI: &[Immediate] = &[
212 Immediate {
213 position_in_immediate: (5, 3),
214 position_in_opcode: (12, 10),
215 },
216 Immediate {
217 position_in_immediate: (2, 2),
218 position_in_opcode: (6, 6),
219 },
220 Immediate {
221 position_in_immediate: (6, 6),
222 position_in_opcode: (5, 5),
223 },
224];
225
226pub const C_UIMM9_SPLOHI: &[Immediate] = &[
227 Immediate {
228 position_in_immediate: (5, 5),
229 position_in_opcode: (12, 12),
230 },
231 Immediate {
232 position_in_immediate: (4, 2),
233 position_in_opcode: (6, 4),
234 },
235 Immediate {
236 position_in_immediate: (7, 6),
237 position_in_opcode: (3, 2),
238 },
239];
240
241pub const C_UIMM9SP_S: &[Immediate] = &[
242 Immediate {
243 position_in_immediate: (5, 3),
244 position_in_opcode: (12, 9),
245 },
246 Immediate {
247 position_in_immediate: (8, 6),
248 position_in_opcode: (8, 6),
249 },
250];
251
252pub const C_UIMM2: &[Immediate] = &[
253 Immediate {
254 position_in_immediate: (0, 0),
255 position_in_opcode: (6, 6),
256 },
257 Immediate {
258 position_in_immediate: (1, 1),
259 position_in_opcode: (5, 5),
260 },
261];
262
263pub const C_NZUIMM10: &[Immediate] = &[
264 Immediate {
265 position_in_immediate: (5, 4),
266 position_in_opcode: (12, 11),
267 },
268 Immediate {
269 position_in_immediate: (9, 6),
270 position_in_opcode: (10, 7),
271 },
272 Immediate {
273 position_in_immediate: (2, 2),
274 position_in_opcode: (6, 6),
275 },
276 Immediate {
277 position_in_immediate: (3, 3),
278 position_in_opcode: (5, 5),
279 },
280];
281
282pub const C_NZIMM10LOHI: &[Immediate] = &[
283 Immediate {
284 position_in_immediate: (5, 5),
285 position_in_opcode: (12, 12),
286 },
287 Immediate {
288 position_in_immediate: (4, 0),
289 position_in_opcode: (6, 2),
290 },
291];
292
293pub const C_UIMM10SP_S: &[Immediate] = &[];
295pub const C_UIMM10SPLOHI: &[Immediate] = &[];
297pub const C_UIMM9LOHI: &[Immediate] = &[];
299pub const IMM5: &[Immediate] = &[];
301pub const IMM4: &[Immediate] = &[];
303pub const IMM3: &[Immediate] = &[];
305pub const IMM2: &[Immediate] = &[];
307
308pub const C_NZUIMM5: &[Immediate] = &C_NZUIMM6LOHI;
309
310pub const C_NZIMM18LOHI: &[Immediate] = &[
311 Immediate {
312 position_in_immediate: (5, 5),
313 position_in_opcode: (12, 12),
314 },
315 Immediate {
316 position_in_immediate: (4, 0),
317 position_in_opcode: (6, 2),
318 },
319];
320
321pub const C_NZUIMM18LOHI: &[Immediate] = &[
323 Immediate {
324 position_in_immediate: (5, 5),
325 position_in_opcode: (12, 12),
326 },
327 Immediate {
328 position_in_immediate: (4, 0),
329 position_in_opcode: (6, 2),
330 },
331];
332
333pub const C_NZUIMM6LOHI: &[Immediate] = &[
334 Immediate {
335 position_in_immediate: (5, 5),
336 position_in_opcode: (13, 13),
337 },
338 Immediate {
339 position_in_immediate: (4, 0),
340 position_in_opcode: (7, 2),
341 },
342];
343
344pub const C_UIMM6LOHI: &[Immediate] = &[
345 Immediate {
346 position_in_immediate: (5, 5),
347 position_in_opcode: (12, 12),
348 },
349 Immediate {
350 position_in_immediate: (4, 0),
351 position_in_opcode: (6, 2),
352 },
353];
354
355pub const C_UIMM8LOHI: &[Immediate] = &[
356 Immediate {
357 position_in_immediate: (5, 3),
358 position_in_opcode: (12, 10),
359 },
360 Immediate {
361 position_in_immediate: (7, 6),
362 position_in_opcode: (7, 6),
363 },
364];
365
366pub const C_UIMM9SPLOHI: &[Immediate] = &[
367 Immediate {
368 position_in_immediate: (5, 5),
369 position_in_opcode: (13, 13),
370 },
371 Immediate {
372 position_in_immediate: (4, 3),
373 position_in_opcode: (7, 5),
374 },
375 Immediate {
376 position_in_immediate: (8, 6),
377 position_in_opcode: (4, 3),
378 },
379];
380
381pub const C_NZIMM6LOHI: &[Immediate] = &[
382 Immediate {
383 position_in_immediate: (5, 5),
384 position_in_opcode: (12, 12),
385 },
386 Immediate {
387 position_in_immediate: (4, 0),
388 position_in_opcode: (6, 2),
389 },
390];
391
392pub const C_BIMM9LOHI: &[Immediate] = &[
393 Immediate {
394 position_in_immediate: (8, 8),
395 position_in_opcode: (12, 12),
396 },
397 Immediate {
398 position_in_immediate: (4, 3),
399 position_in_opcode: (11, 10),
400 },
401 Immediate {
402 position_in_immediate: (7, 6),
403 position_in_opcode: (6, 5),
404 },
405 Immediate {
406 position_in_immediate: (2, 1),
407 position_in_opcode: (4, 3),
408 },
409 Immediate {
410 position_in_immediate: (5, 5),
411 position_in_opcode: (2, 2),
412 },
413];
414
415pub const C_UIMM8SPLOHI: &[Immediate] = &[
416 Immediate {
417 position_in_immediate: (5, 5),
418 position_in_opcode: (12, 12),
419 },
420 Immediate {
421 position_in_immediate: (4, 2),
422 position_in_opcode: (6, 4),
423 },
424 Immediate {
425 position_in_immediate: (7, 6),
426 position_in_opcode: (3, 2),
427 },
428];
429
430pub const C_UIMM8SP_SLOHI: &[Immediate] = &[
431 Immediate {
432 position_in_immediate: (5, 2),
433 position_in_opcode: (12, 9),
434 },
435 Immediate {
436 position_in_immediate: (7, 6),
437 position_in_opcode: (8, 7),
438 },
439];
440
441pub const C_IMM6LOHI: &[Immediate] = &[
442 Immediate {
443 position_in_immediate: (5, 5),
444 position_in_opcode: (12, 12),
445 },
446 Immediate {
447 position_in_immediate: (4, 0),
448 position_in_opcode: (6, 2),
449 },
450];
451pub const C_IMM12: &[Immediate] = &[
452 Immediate {
453 position_in_immediate: (11, 11),
454 position_in_opcode: (12, 12),
455 },
456 Immediate {
457 position_in_immediate: (4, 4),
458 position_in_opcode: (11, 11),
459 },
460 Immediate {
461 position_in_immediate: (9, 8),
462 position_in_opcode: (10, 9),
463 },
464 Immediate {
465 position_in_immediate: (10, 10),
466 position_in_opcode: (8, 8),
467 },
468 Immediate {
469 position_in_immediate: (6, 6),
470 position_in_opcode: (7, 7),
471 },
472 Immediate {
473 position_in_immediate: (7, 7),
474 position_in_opcode: (6, 6),
475 },
476 Immediate {
477 position_in_immediate: (3, 1),
478 position_in_opcode: (5, 3),
479 },
480 Immediate {
481 position_in_immediate: (5, 5),
482 position_in_opcode: (2, 2),
483 },
484];
485
486pub const C_IMM12LOHI: &[Immediate] = &[
487 Immediate {
488 position_in_immediate: (11, 11),
489 position_in_opcode: (12, 12),
490 },
491 Immediate {
492 position_in_immediate: (4, 4),
493 position_in_opcode: (11, 11),
494 },
495 Immediate {
496 position_in_immediate: (9, 8),
497 position_in_opcode: (10, 9),
498 },
499 Immediate {
500 position_in_immediate: (10, 10),
501 position_in_opcode: (8, 8),
502 },
503 Immediate {
504 position_in_immediate: (6, 6),
505 position_in_opcode: (7, 7),
506 },
507 Immediate {
508 position_in_immediate: (7, 7),
509 position_in_opcode: (6, 6),
510 },
511 Immediate {
512 position_in_immediate: (3, 1),
513 position_in_opcode: (5, 3),
514 },
515 Immediate {
516 position_in_immediate: (5, 5),
517 position_in_opcode: (2, 2),
518 },
519];
520
521pub const fn encode_immediate(immediate: &[Immediate], imm: i32) -> u32 {
522 let mut res = 0;
523 let mut i = 0;
524 while i < immediate.len() {
525 res |= immediate[i].encode(imm);
526 i += 1;
527 }
528 res
529}
530
531pub const fn decode_immediate(immediate: &[Immediate], op: u32) -> i32 {
532 let mut res = 0i32;
533 let mut i = 0;
534 while i < immediate.len() {
535 res |= immediate[i].decode(op);
536 i += 1;
537 }
538 res as _
539}
540
541pub fn is_immediate_valid(immediate: &[Immediate], imm: i32) -> bool {
542 immediate.iter().all(|i| i.is_valid(imm))
543}
544
545impl Immediate {
546 pub const fn encode(&self, imm: i32) -> u32 {
547 let imm = imm as u32;
548 let bit_count = self.position_in_immediate.0 - self.position_in_immediate.1 + 1;
549 let mask = (1u32 << bit_count) - 1;
550
551 (((imm >> self.position_in_immediate.1) as u32 & mask) << self.position_in_opcode.1) as u32
552 }
553
554 pub const fn decode(&self, op: u32) -> i32 {
555 let bit_count = self.position_in_opcode.0 - self.position_in_opcode.1 + 1;
556 let mask = (1u32 << bit_count) - 1;
557 (((op as u32 >> self.position_in_opcode.1) as u32 & mask) << self.position_in_immediate.1)
558 as _
559 }
560
561 pub const fn is_valid(&self, imm: i32) -> bool {
562 self.decode(self.encode(imm)) as i32 == imm
563 }
564}
565
566pub const MATCH_ADD: u32 = 0x33;
569pub const MASK_ADD: u32 = 0xfe00707f;
570pub const MATCH_ADD_UW: u32 = 0x800003b;
571pub const MASK_ADD_UW: u32 = 0xfe00707f;
572pub const MATCH_ADDI: u32 = 0x13;
573pub const MASK_ADDI: u32 = 0x707f;
574pub const MATCH_ADDIW: u32 = 0x1b;
575pub const MASK_ADDIW: u32 = 0x707f;
576pub const MATCH_ADDW: u32 = 0x3b;
577pub const MASK_ADDW: u32 = 0xfe00707f;
578pub const MATCH_AES32DSI: u32 = 0x2a000033;
579pub const MASK_AES32DSI: u32 = 0x3e00707f;
580pub const MATCH_AES32DSMI: u32 = 0x2e000033;
581pub const MASK_AES32DSMI: u32 = 0x3e00707f;
582pub const MATCH_AES32ESI: u32 = 0x22000033;
583pub const MASK_AES32ESI: u32 = 0x3e00707f;
584pub const MATCH_AES32ESMI: u32 = 0x26000033;
585pub const MASK_AES32ESMI: u32 = 0x3e00707f;
586pub const MATCH_AES64DS: u32 = 0x3a000033;
587pub const MASK_AES64DS: u32 = 0xfe00707f;
588pub const MATCH_AES64DSM: u32 = 0x3e000033;
589pub const MASK_AES64DSM: u32 = 0xfe00707f;
590pub const MATCH_AES64ES: u32 = 0x32000033;
591pub const MASK_AES64ES: u32 = 0xfe00707f;
592pub const MATCH_AES64ESM: u32 = 0x36000033;
593pub const MASK_AES64ESM: u32 = 0xfe00707f;
594pub const MATCH_AES64IM: u32 = 0x30001013;
595pub const MASK_AES64IM: u32 = 0xfff0707f;
596pub const MATCH_AES64KS1I: u32 = 0x31001013;
597pub const MASK_AES64KS1I: u32 = 0xff00707f;
598pub const MATCH_AES64KS2: u32 = 0x7e000033;
599pub const MASK_AES64KS2: u32 = 0xfe00707f;
600pub const MATCH_AMOADD_B: u32 = 0x2f;
601pub const MASK_AMOADD_B: u32 = 0xf800707f;
602pub const MATCH_AMOADD_D: u32 = 0x302f;
603pub const MASK_AMOADD_D: u32 = 0xf800707f;
604pub const MATCH_AMOADD_H: u32 = 0x102f;
605pub const MASK_AMOADD_H: u32 = 0xf800707f;
606pub const MATCH_AMOADD_W: u32 = 0x202f;
607pub const MASK_AMOADD_W: u32 = 0xf800707f;
608pub const MATCH_AMOAND_B: u32 = 0x6000002f;
609pub const MASK_AMOAND_B: u32 = 0xf800707f;
610pub const MATCH_AMOAND_D: u32 = 0x6000302f;
611pub const MASK_AMOAND_D: u32 = 0xf800707f;
612pub const MATCH_AMOAND_H: u32 = 0x6000102f;
613pub const MASK_AMOAND_H: u32 = 0xf800707f;
614pub const MATCH_AMOAND_W: u32 = 0x6000202f;
615pub const MASK_AMOAND_W: u32 = 0xf800707f;
616pub const MATCH_AMOCAS_B: u32 = 0x2800002f;
617pub const MASK_AMOCAS_B: u32 = 0xf800707f;
618pub const MATCH_AMOCAS_D: u32 = 0x2800302f;
619pub const MASK_AMOCAS_D: u32 = 0xf800707f;
620pub const MATCH_AMOCAS_H: u32 = 0x2800102f;
621pub const MASK_AMOCAS_H: u32 = 0xf800707f;
622pub const MATCH_AMOCAS_Q: u32 = 0x2800402f;
623pub const MASK_AMOCAS_Q: u32 = 0xf800707f;
624pub const MATCH_AMOCAS_W: u32 = 0x2800202f;
625pub const MASK_AMOCAS_W: u32 = 0xf800707f;
626pub const MATCH_AMOMAX_B: u32 = 0xa000002f;
627pub const MASK_AMOMAX_B: u32 = 0xf800707f;
628pub const MATCH_AMOMAX_D: u32 = 0xa000302f;
629pub const MASK_AMOMAX_D: u32 = 0xf800707f;
630pub const MATCH_AMOMAX_H: u32 = 0xa000102f;
631pub const MASK_AMOMAX_H: u32 = 0xf800707f;
632pub const MATCH_AMOMAX_W: u32 = 0xa000202f;
633pub const MASK_AMOMAX_W: u32 = 0xf800707f;
634pub const MATCH_AMOMAXU_B: u32 = 0xe000002f;
635pub const MASK_AMOMAXU_B: u32 = 0xf800707f;
636pub const MATCH_AMOMAXU_D: u32 = 0xe000302f;
637pub const MASK_AMOMAXU_D: u32 = 0xf800707f;
638pub const MATCH_AMOMAXU_H: u32 = 0xe000102f;
639pub const MASK_AMOMAXU_H: u32 = 0xf800707f;
640pub const MATCH_AMOMAXU_W: u32 = 0xe000202f;
641pub const MASK_AMOMAXU_W: u32 = 0xf800707f;
642pub const MATCH_AMOMIN_B: u32 = 0x8000002f;
643pub const MASK_AMOMIN_B: u32 = 0xf800707f;
644pub const MATCH_AMOMIN_D: u32 = 0x8000302f;
645pub const MASK_AMOMIN_D: u32 = 0xf800707f;
646pub const MATCH_AMOMIN_H: u32 = 0x8000102f;
647pub const MASK_AMOMIN_H: u32 = 0xf800707f;
648pub const MATCH_AMOMIN_W: u32 = 0x8000202f;
649pub const MASK_AMOMIN_W: u32 = 0xf800707f;
650pub const MATCH_AMOMINU_B: u32 = 0xc000002f;
651pub const MASK_AMOMINU_B: u32 = 0xf800707f;
652pub const MATCH_AMOMINU_D: u32 = 0xc000302f;
653pub const MASK_AMOMINU_D: u32 = 0xf800707f;
654pub const MATCH_AMOMINU_H: u32 = 0xc000102f;
655pub const MASK_AMOMINU_H: u32 = 0xf800707f;
656pub const MATCH_AMOMINU_W: u32 = 0xc000202f;
657pub const MASK_AMOMINU_W: u32 = 0xf800707f;
658pub const MATCH_AMOOR_B: u32 = 0x4000002f;
659pub const MASK_AMOOR_B: u32 = 0xf800707f;
660pub const MATCH_AMOOR_D: u32 = 0x4000302f;
661pub const MASK_AMOOR_D: u32 = 0xf800707f;
662pub const MATCH_AMOOR_H: u32 = 0x4000102f;
663pub const MASK_AMOOR_H: u32 = 0xf800707f;
664pub const MATCH_AMOOR_W: u32 = 0x4000202f;
665pub const MASK_AMOOR_W: u32 = 0xf800707f;
666pub const MATCH_AMOSWAP_B: u32 = 0x800002f;
667pub const MASK_AMOSWAP_B: u32 = 0xf800707f;
668pub const MATCH_AMOSWAP_D: u32 = 0x800302f;
669pub const MASK_AMOSWAP_D: u32 = 0xf800707f;
670pub const MATCH_AMOSWAP_H: u32 = 0x800102f;
671pub const MASK_AMOSWAP_H: u32 = 0xf800707f;
672pub const MATCH_AMOSWAP_W: u32 = 0x800202f;
673pub const MASK_AMOSWAP_W: u32 = 0xf800707f;
674pub const MATCH_AMOXOR_B: u32 = 0x2000002f;
675pub const MASK_AMOXOR_B: u32 = 0xf800707f;
676pub const MATCH_AMOXOR_D: u32 = 0x2000302f;
677pub const MASK_AMOXOR_D: u32 = 0xf800707f;
678pub const MATCH_AMOXOR_H: u32 = 0x2000102f;
679pub const MASK_AMOXOR_H: u32 = 0xf800707f;
680pub const MATCH_AMOXOR_W: u32 = 0x2000202f;
681pub const MASK_AMOXOR_W: u32 = 0xf800707f;
682pub const MATCH_AND: u32 = 0x7033;
683pub const MASK_AND: u32 = 0xfe00707f;
684pub const MATCH_ANDI: u32 = 0x7013;
685pub const MASK_ANDI: u32 = 0x707f;
686pub const MATCH_ANDN: u32 = 0x40007033;
687pub const MASK_ANDN: u32 = 0xfe00707f;
688pub const MATCH_AUIPC: u32 = 0x17;
689pub const MASK_AUIPC: u32 = 0x7f;
690pub const MATCH_BCLR: u32 = 0x48001033;
691pub const MASK_BCLR: u32 = 0xfe00707f;
692pub const MATCH_BCLRI: u32 = 0x48001013;
693pub const MASK_BCLRI: u32 = 0xfc00707f;
694pub const MATCH_BCLRI_RV32: u32 = 0x48001013;
695pub const MASK_BCLRI_RV32: u32 = 0xfe00707f;
696pub const MATCH_BEQ: u32 = 0x63;
697pub const MASK_BEQ: u32 = 0x707f;
698pub const MATCH_BEQZ: u32 = 0x63;
699pub const MASK_BEQZ: u32 = 0x1f0707f;
700pub const MATCH_BEXT: u32 = 0x48005033;
701pub const MASK_BEXT: u32 = 0xfe00707f;
702pub const MATCH_BEXTI: u32 = 0x48005013;
703pub const MASK_BEXTI: u32 = 0xfc00707f;
704pub const MATCH_BEXTI_RV32: u32 = 0x48005013;
705pub const MASK_BEXTI_RV32: u32 = 0xfe00707f;
706pub const MATCH_BGE: u32 = 0x5063;
707pub const MASK_BGE: u32 = 0x707f;
708pub const MATCH_BGEU: u32 = 0x7063;
709pub const MASK_BGEU: u32 = 0x707f;
710pub const MATCH_BGEZ: u32 = 0x5063;
711pub const MASK_BGEZ: u32 = 0x1f0707f;
712pub const MATCH_BGT: u32 = 0x4063;
713pub const MASK_BGT: u32 = 0x707f;
714pub const MATCH_BGTU: u32 = 0x6063;
715pub const MASK_BGTU: u32 = 0x707f;
716pub const MATCH_BGTZ: u32 = 0x4063;
717pub const MASK_BGTZ: u32 = 0xff07f;
718pub const MATCH_BINV: u32 = 0x68001033;
719pub const MASK_BINV: u32 = 0xfe00707f;
720pub const MATCH_BINVI: u32 = 0x68001013;
721pub const MASK_BINVI: u32 = 0xfc00707f;
722pub const MATCH_BINVI_RV32: u32 = 0x68001013;
723pub const MASK_BINVI_RV32: u32 = 0xfe00707f;
724pub const MATCH_BLE: u32 = 0x5063;
725pub const MASK_BLE: u32 = 0x707f;
726pub const MATCH_BLEU: u32 = 0x7063;
727pub const MASK_BLEU: u32 = 0x707f;
728pub const MATCH_BLEZ: u32 = 0x5063;
729pub const MASK_BLEZ: u32 = 0xff07f;
730pub const MATCH_BLT: u32 = 0x4063;
731pub const MASK_BLT: u32 = 0x707f;
732pub const MATCH_BLTU: u32 = 0x6063;
733pub const MASK_BLTU: u32 = 0x707f;
734pub const MATCH_BLTZ: u32 = 0x4063;
735pub const MASK_BLTZ: u32 = 0x1f0707f;
736pub const MATCH_BNE: u32 = 0x1063;
737pub const MASK_BNE: u32 = 0x707f;
738pub const MATCH_BNEZ: u32 = 0x1063;
739pub const MASK_BNEZ: u32 = 0x1f0707f;
740pub const MATCH_BREV8: u32 = 0x68705013;
741pub const MASK_BREV8: u32 = 0xfff0707f;
742pub const MATCH_BSET: u32 = 0x28001033;
743pub const MASK_BSET: u32 = 0xfe00707f;
744pub const MATCH_BSETI: u32 = 0x28001013;
745pub const MASK_BSETI: u32 = 0xfc00707f;
746pub const MATCH_BSETI_RV32: u32 = 0x28001013;
747pub const MASK_BSETI_RV32: u32 = 0xfe00707f;
748pub const MATCH_C_ADD: u32 = 0x9002;
749pub const MASK_C_ADD: u32 = 0xf003;
750pub const MATCH_C_ADDI: u32 = 0x1;
751pub const MASK_C_ADDI: u32 = 0xe003;
752pub const MATCH_C_ADDI16SP: u32 = 0x6101;
753pub const MASK_C_ADDI16SP: u32 = 0xef83;
754pub const MATCH_C_ADDI4SPN: u32 = 0x0;
755pub const MASK_C_ADDI4SPN: u32 = 0xe003;
756pub const MATCH_C_ADDIW: u32 = 0x2001;
757pub const MASK_C_ADDIW: u32 = 0xe003;
758pub const MATCH_C_ADDW: u32 = 0x9c21;
759pub const MASK_C_ADDW: u32 = 0xfc63;
760pub const MATCH_C_AND: u32 = 0x8c61;
761pub const MASK_C_AND: u32 = 0xfc63;
762pub const MATCH_C_ANDI: u32 = 0x8801;
763pub const MASK_C_ANDI: u32 = 0xec03;
764pub const MATCH_C_BEQZ: u32 = 0xc001;
765pub const MASK_C_BEQZ: u32 = 0xe003;
766pub const MATCH_C_BNEZ: u32 = 0xe001;
767pub const MASK_C_BNEZ: u32 = 0xe003;
768pub const MATCH_C_EBREAK: u32 = 0x9002;
769pub const MASK_C_EBREAK: u32 = 0xffff;
770pub const MATCH_C_FLD: u32 = 0x2000;
771pub const MASK_C_FLD: u32 = 0xe003;
772pub const MATCH_C_FLDSP: u32 = 0x2002;
773pub const MASK_C_FLDSP: u32 = 0xe003;
774pub const MATCH_C_FLW: u32 = 0x6000;
775pub const MASK_C_FLW: u32 = 0xe003;
776pub const MATCH_C_FLWSP: u32 = 0x6002;
777pub const MASK_C_FLWSP: u32 = 0xe003;
778pub const MATCH_C_FSD: u32 = 0xa000;
779pub const MASK_C_FSD: u32 = 0xe003;
780pub const MATCH_C_FSDSP: u32 = 0xa002;
781pub const MASK_C_FSDSP: u32 = 0xe003;
782pub const MATCH_C_FSW: u32 = 0xe000;
783pub const MASK_C_FSW: u32 = 0xe003;
784pub const MATCH_C_FSWSP: u32 = 0xe002;
785pub const MASK_C_FSWSP: u32 = 0xe003;
786pub const MATCH_C_J: u32 = 0xa001;
787pub const MASK_C_J: u32 = 0xe003;
788pub const MATCH_C_JAL: u32 = 0x2001;
789pub const MASK_C_JAL: u32 = 0xe003;
790pub const MATCH_C_JALR: u32 = 0x9002;
791pub const MASK_C_JALR: u32 = 0xf07f;
792pub const MATCH_C_JR: u32 = 0x8002;
793pub const MASK_C_JR: u32 = 0xf07f;
794pub const MATCH_C_LBU: u32 = 0x8000;
795pub const MASK_C_LBU: u32 = 0xfc03;
796pub const MATCH_C_LD: u32 = 0x6000;
797pub const MASK_C_LD: u32 = 0xe003;
798pub const MATCH_C_LDSP: u32 = 0x6002;
799pub const MASK_C_LDSP: u32 = 0xe003;
800pub const MATCH_C_LH: u32 = 0x8440;
801pub const MASK_C_LH: u32 = 0xfc43;
802pub const MATCH_C_LHU: u32 = 0x8400;
803pub const MASK_C_LHU: u32 = 0xfc43;
804pub const MATCH_C_LI: u32 = 0x4001;
805pub const MASK_C_LI: u32 = 0xe003;
806pub const MATCH_C_LUI: u32 = 0x6001;
807pub const MASK_C_LUI: u32 = 0xe003;
808pub const MATCH_C_LW: u32 = 0x4000;
809pub const MASK_C_LW: u32 = 0xe003;
810pub const MATCH_C_LWSP: u32 = 0x4002;
811pub const MASK_C_LWSP: u32 = 0xe003;
812pub const MATCH_C_MOP_1: u32 = 0x6081;
813pub const MASK_C_MOP_1: u32 = 0xffff;
814pub const MATCH_C_MOP_11: u32 = 0x6581;
815pub const MASK_C_MOP_11: u32 = 0xffff;
816pub const MATCH_C_MOP_13: u32 = 0x6681;
817pub const MASK_C_MOP_13: u32 = 0xffff;
818pub const MATCH_C_MOP_15: u32 = 0x6781;
819pub const MASK_C_MOP_15: u32 = 0xffff;
820pub const MATCH_C_MOP_3: u32 = 0x6181;
821pub const MASK_C_MOP_3: u32 = 0xffff;
822pub const MATCH_C_MOP_5: u32 = 0x6281;
823pub const MASK_C_MOP_5: u32 = 0xffff;
824pub const MATCH_C_MOP_7: u32 = 0x6381;
825pub const MASK_C_MOP_7: u32 = 0xffff;
826pub const MATCH_C_MOP_9: u32 = 0x6481;
827pub const MASK_C_MOP_9: u32 = 0xffff;
828pub const MATCH_C_MOP_N: u32 = 0x6081;
829pub const MASK_C_MOP_N: u32 = 0xf8ff;
830pub const MATCH_C_MUL: u32 = 0x9c41;
831pub const MASK_C_MUL: u32 = 0xfc63;
832pub const MATCH_C_MV: u32 = 0x8002;
833pub const MASK_C_MV: u32 = 0xf003;
834pub const MATCH_C_NOP: u32 = 0x1;
835pub const MASK_C_NOP: u32 = 0xef83;
836pub const MATCH_C_NOT: u32 = 0x9c75;
837pub const MASK_C_NOT: u32 = 0xfc7f;
838pub const MATCH_C_NTL_ALL: u32 = 0x9016;
839pub const MASK_C_NTL_ALL: u32 = 0xffff;
840pub const MATCH_C_NTL_P1: u32 = 0x900a;
841pub const MASK_C_NTL_P1: u32 = 0xffff;
842pub const MATCH_C_NTL_PALL: u32 = 0x900e;
843pub const MASK_C_NTL_PALL: u32 = 0xffff;
844pub const MATCH_C_NTL_S1: u32 = 0x9012;
845pub const MASK_C_NTL_S1: u32 = 0xffff;
846pub const MATCH_C_OR: u32 = 0x8c41;
847pub const MASK_C_OR: u32 = 0xfc63;
848pub const MATCH_C_SB: u32 = 0x8800;
849pub const MASK_C_SB: u32 = 0xfc03;
850pub const MATCH_C_SD: u32 = 0xe000;
851pub const MASK_C_SD: u32 = 0xe003;
852pub const MATCH_C_SDSP: u32 = 0xe002;
853pub const MASK_C_SDSP: u32 = 0xe003;
854pub const MATCH_C_SEXT_B: u32 = 0x9c65;
855pub const MASK_C_SEXT_B: u32 = 0xfc7f;
856pub const MATCH_C_SEXT_H: u32 = 0x9c6d;
857pub const MASK_C_SEXT_H: u32 = 0xfc7f;
858pub const MATCH_C_SEXT_W: u32 = 0x2001;
859pub const MASK_C_SEXT_W: u32 = 0xf07f;
860pub const MATCH_C_SH: u32 = 0x8c00;
861pub const MASK_C_SH: u32 = 0xfc43;
862pub const MATCH_C_SLLI: u32 = 0x2;
863pub const MASK_C_SLLI: u32 = 0xe003;
864pub const MATCH_C_SLLI_RV32: u32 = 0x2;
865pub const MASK_C_SLLI_RV32: u32 = 0xf003;
866pub const MATCH_C_SRAI: u32 = 0x8401;
867pub const MASK_C_SRAI: u32 = 0xec03;
868pub const MATCH_C_SRAI_RV32: u32 = 0x8401;
869pub const MASK_C_SRAI_RV32: u32 = 0xfc03;
870pub const MATCH_C_SRLI: u32 = 0x8001;
871pub const MASK_C_SRLI: u32 = 0xec03;
872pub const MATCH_C_SRLI_RV32: u32 = 0x8001;
873pub const MASK_C_SRLI_RV32: u32 = 0xfc03;
874pub const MATCH_C_SUB: u32 = 0x8c01;
875pub const MASK_C_SUB: u32 = 0xfc63;
876pub const MATCH_C_SUBW: u32 = 0x9c01;
877pub const MASK_C_SUBW: u32 = 0xfc63;
878pub const MATCH_C_SW: u32 = 0xc000;
879pub const MASK_C_SW: u32 = 0xe003;
880pub const MATCH_C_SWSP: u32 = 0xc002;
881pub const MASK_C_SWSP: u32 = 0xe003;
882pub const MATCH_C_XOR: u32 = 0x8c21;
883pub const MASK_C_XOR: u32 = 0xfc63;
884pub const MATCH_C_ZEXT_B: u32 = 0x9c61;
885pub const MASK_C_ZEXT_B: u32 = 0xfc7f;
886pub const MATCH_C_ZEXT_H: u32 = 0x9c69;
887pub const MASK_C_ZEXT_H: u32 = 0xfc7f;
888pub const MATCH_C_ZEXT_W: u32 = 0x9c71;
889pub const MASK_C_ZEXT_W: u32 = 0xfc7f;
890pub const MATCH_CBO_CLEAN: u32 = 0x10200f;
891pub const MASK_CBO_CLEAN: u32 = 0xfff07fff;
892pub const MATCH_CBO_FLUSH: u32 = 0x20200f;
893pub const MASK_CBO_FLUSH: u32 = 0xfff07fff;
894pub const MATCH_CBO_INVAL: u32 = 0x200f;
895pub const MASK_CBO_INVAL: u32 = 0xfff07fff;
896pub const MATCH_CBO_ZERO: u32 = 0x40200f;
897pub const MASK_CBO_ZERO: u32 = 0xfff07fff;
898pub const MATCH_CLMUL: u32 = 0xa001033;
899pub const MASK_CLMUL: u32 = 0xfe00707f;
900pub const MATCH_CLMULH: u32 = 0xa003033;
901pub const MASK_CLMULH: u32 = 0xfe00707f;
902pub const MATCH_CLMULR: u32 = 0xa002033;
903pub const MASK_CLMULR: u32 = 0xfe00707f;
904pub const MATCH_CLZ: u32 = 0x60001013;
905pub const MASK_CLZ: u32 = 0xfff0707f;
906pub const MATCH_CLZW: u32 = 0x6000101b;
907pub const MASK_CLZW: u32 = 0xfff0707f;
908pub const MATCH_CM_JALT: u32 = 0xa002;
909pub const MASK_CM_JALT: u32 = 0xfc03;
910pub const MATCH_CM_MVA01S: u32 = 0xac62;
911pub const MASK_CM_MVA01S: u32 = 0xfc63;
912pub const MATCH_CM_MVSA01: u32 = 0xac22;
913pub const MASK_CM_MVSA01: u32 = 0xfc63;
914pub const MATCH_CM_POP: u32 = 0xba02;
915pub const MASK_CM_POP: u32 = 0xff03;
916pub const MATCH_CM_POPRET: u32 = 0xbe02;
917pub const MASK_CM_POPRET: u32 = 0xff03;
918pub const MATCH_CM_POPRETZ: u32 = 0xbc02;
919pub const MASK_CM_POPRETZ: u32 = 0xff03;
920pub const MATCH_CM_PUSH: u32 = 0xb802;
921pub const MASK_CM_PUSH: u32 = 0xff03;
922pub const MATCH_CPOP: u32 = 0x60201013;
923pub const MASK_CPOP: u32 = 0xfff0707f;
924pub const MATCH_CPOPW: u32 = 0x6020101b;
925pub const MASK_CPOPW: u32 = 0xfff0707f;
926pub const MATCH_CSRC: u32 = 0x3073;
927pub const MASK_CSRC: u32 = 0x7fff;
928pub const MATCH_CSRCI: u32 = 0x7073;
929pub const MASK_CSRCI: u32 = 0x7fff;
930pub const MATCH_CSRR: u32 = 0x2073;
931pub const MASK_CSRR: u32 = 0xff07f;
932pub const MATCH_CSRRC: u32 = 0x3073;
933pub const MASK_CSRRC: u32 = 0x707f;
934pub const MATCH_CSRRCI: u32 = 0x7073;
935pub const MASK_CSRRCI: u32 = 0x707f;
936pub const MATCH_CSRRS: u32 = 0x2073;
937pub const MASK_CSRRS: u32 = 0x707f;
938pub const MATCH_CSRRSI: u32 = 0x6073;
939pub const MASK_CSRRSI: u32 = 0x707f;
940pub const MATCH_CSRRW: u32 = 0x1073;
941pub const MASK_CSRRW: u32 = 0x707f;
942pub const MATCH_CSRRWI: u32 = 0x5073;
943pub const MASK_CSRRWI: u32 = 0x707f;
944pub const MATCH_CSRS: u32 = 0x2073;
945pub const MASK_CSRS: u32 = 0x7fff;
946pub const MATCH_CSRSI: u32 = 0x6073;
947pub const MASK_CSRSI: u32 = 0x7fff;
948pub const MATCH_CSRW: u32 = 0x1073;
949pub const MASK_CSRW: u32 = 0x7fff;
950pub const MATCH_CSRWI: u32 = 0x5073;
951pub const MASK_CSRWI: u32 = 0x7fff;
952pub const MATCH_CTZ: u32 = 0x60101013;
953pub const MASK_CTZ: u32 = 0xfff0707f;
954pub const MATCH_CTZW: u32 = 0x6010101b;
955pub const MASK_CTZW: u32 = 0xfff0707f;
956pub const MATCH_CZERO_EQZ: u32 = 0xe005033;
957pub const MASK_CZERO_EQZ: u32 = 0xfe00707f;
958pub const MATCH_CZERO_NEZ: u32 = 0xe007033;
959pub const MASK_CZERO_NEZ: u32 = 0xfe00707f;
960pub const MATCH_DIV: u32 = 0x2004033;
961pub const MASK_DIV: u32 = 0xfe00707f;
962pub const MATCH_DIVU: u32 = 0x2005033;
963pub const MASK_DIVU: u32 = 0xfe00707f;
964pub const MATCH_DIVUW: u32 = 0x200503b;
965pub const MASK_DIVUW: u32 = 0xfe00707f;
966pub const MATCH_DIVW: u32 = 0x200403b;
967pub const MASK_DIVW: u32 = 0xfe00707f;
968pub const MATCH_DRET: u32 = 0x7b200073;
969pub const MASK_DRET: u32 = 0xffffffff;
970pub const MATCH_EBREAK: u32 = 0x100073;
971pub const MASK_EBREAK: u32 = 0xffffffff;
972pub const MATCH_ECALL: u32 = 0x73;
973pub const MASK_ECALL: u32 = 0xffffffff;
974pub const MATCH_FABS_D: u32 = 0x22002053;
975pub const MASK_FABS_D: u32 = 0xfe00707f;
976pub const MATCH_FABS_H: u32 = 0x24002053;
977pub const MASK_FABS_H: u32 = 0xfe00707f;
978pub const MATCH_FABS_Q: u32 = 0x26002053;
979pub const MASK_FABS_Q: u32 = 0xfe00707f;
980pub const MATCH_FABS_S: u32 = 0x20002053;
981pub const MASK_FABS_S: u32 = 0xfe00707f;
982pub const MATCH_FADD_D: u32 = 0x2000053;
983pub const MASK_FADD_D: u32 = 0xfe00007f;
984pub const MATCH_FADD_H: u32 = 0x4000053;
985pub const MASK_FADD_H: u32 = 0xfe00007f;
986pub const MATCH_FADD_Q: u32 = 0x6000053;
987pub const MASK_FADD_Q: u32 = 0xfe00007f;
988pub const MATCH_FADD_S: u32 = 0x53;
989pub const MASK_FADD_S: u32 = 0xfe00007f;
990pub const MATCH_FCLASS_D: u32 = 0xe2001053;
991pub const MASK_FCLASS_D: u32 = 0xfff0707f;
992pub const MATCH_FCLASS_H: u32 = 0xe4001053;
993pub const MASK_FCLASS_H: u32 = 0xfff0707f;
994pub const MATCH_FCLASS_Q: u32 = 0xe6001053;
995pub const MASK_FCLASS_Q: u32 = 0xfff0707f;
996pub const MATCH_FCLASS_S: u32 = 0xe0001053;
997pub const MASK_FCLASS_S: u32 = 0xfff0707f;
998pub const MATCH_FCVT_D_H: u32 = 0x42200053;
999pub const MASK_FCVT_D_H: u32 = 0xfff0007f;
1000pub const MATCH_FCVT_D_L: u32 = 0xd2200053;
1001pub const MASK_FCVT_D_L: u32 = 0xfff0007f;
1002pub const MATCH_FCVT_D_LU: u32 = 0xd2300053;
1003pub const MASK_FCVT_D_LU: u32 = 0xfff0007f;
1004pub const MATCH_FCVT_D_Q: u32 = 0x42300053;
1005pub const MASK_FCVT_D_Q: u32 = 0xfff0007f;
1006pub const MATCH_FCVT_D_S: u32 = 0x42000053;
1007pub const MASK_FCVT_D_S: u32 = 0xfff0007f;
1008pub const MATCH_FCVT_D_W: u32 = 0xd2000053;
1009pub const MASK_FCVT_D_W: u32 = 0xfff0007f;
1010pub const MATCH_FCVT_D_WU: u32 = 0xd2100053;
1011pub const MASK_FCVT_D_WU: u32 = 0xfff0007f;
1012pub const MATCH_FCVT_H_D: u32 = 0x44100053;
1013pub const MASK_FCVT_H_D: u32 = 0xfff0007f;
1014pub const MATCH_FCVT_H_L: u32 = 0xd4200053;
1015pub const MASK_FCVT_H_L: u32 = 0xfff0007f;
1016pub const MATCH_FCVT_H_LU: u32 = 0xd4300053;
1017pub const MASK_FCVT_H_LU: u32 = 0xfff0007f;
1018pub const MATCH_FCVT_H_Q: u32 = 0x44300053;
1019pub const MASK_FCVT_H_Q: u32 = 0xfff0007f;
1020pub const MATCH_FCVT_H_S: u32 = 0x44000053;
1021pub const MASK_FCVT_H_S: u32 = 0xfff0007f;
1022pub const MATCH_FCVT_H_W: u32 = 0xd4000053;
1023pub const MASK_FCVT_H_W: u32 = 0xfff0007f;
1024pub const MATCH_FCVT_H_WU: u32 = 0xd4100053;
1025pub const MASK_FCVT_H_WU: u32 = 0xfff0007f;
1026pub const MATCH_FCVT_L_D: u32 = 0xc2200053;
1027pub const MASK_FCVT_L_D: u32 = 0xfff0007f;
1028pub const MATCH_FCVT_L_H: u32 = 0xc4200053;
1029pub const MASK_FCVT_L_H: u32 = 0xfff0007f;
1030pub const MATCH_FCVT_L_Q: u32 = 0xc6200053;
1031pub const MASK_FCVT_L_Q: u32 = 0xfff0007f;
1032pub const MATCH_FCVT_L_S: u32 = 0xc0200053;
1033pub const MASK_FCVT_L_S: u32 = 0xfff0007f;
1034pub const MATCH_FCVT_LU_D: u32 = 0xc2300053;
1035pub const MASK_FCVT_LU_D: u32 = 0xfff0007f;
1036pub const MATCH_FCVT_LU_H: u32 = 0xc4300053;
1037pub const MASK_FCVT_LU_H: u32 = 0xfff0007f;
1038pub const MATCH_FCVT_LU_Q: u32 = 0xc6300053;
1039pub const MASK_FCVT_LU_Q: u32 = 0xfff0007f;
1040pub const MATCH_FCVT_LU_S: u32 = 0xc0300053;
1041pub const MASK_FCVT_LU_S: u32 = 0xfff0007f;
1042pub const MATCH_FCVT_Q_D: u32 = 0x46100053;
1043pub const MASK_FCVT_Q_D: u32 = 0xfff0007f;
1044pub const MATCH_FCVT_Q_H: u32 = 0x46200053;
1045pub const MASK_FCVT_Q_H: u32 = 0xfff0007f;
1046pub const MATCH_FCVT_Q_L: u32 = 0xd6200053;
1047pub const MASK_FCVT_Q_L: u32 = 0xfff0007f;
1048pub const MATCH_FCVT_Q_LU: u32 = 0xd6300053;
1049pub const MASK_FCVT_Q_LU: u32 = 0xfff0007f;
1050pub const MATCH_FCVT_Q_S: u32 = 0x46000053;
1051pub const MASK_FCVT_Q_S: u32 = 0xfff0007f;
1052pub const MATCH_FCVT_Q_W: u32 = 0xd6000053;
1053pub const MASK_FCVT_Q_W: u32 = 0xfff0007f;
1054pub const MATCH_FCVT_Q_WU: u32 = 0xd6100053;
1055pub const MASK_FCVT_Q_WU: u32 = 0xfff0007f;
1056pub const MATCH_FCVT_S_D: u32 = 0x40100053;
1057pub const MASK_FCVT_S_D: u32 = 0xfff0007f;
1058pub const MATCH_FCVT_S_H: u32 = 0x40200053;
1059pub const MASK_FCVT_S_H: u32 = 0xfff0007f;
1060pub const MATCH_FCVT_S_L: u32 = 0xd0200053;
1061pub const MASK_FCVT_S_L: u32 = 0xfff0007f;
1062pub const MATCH_FCVT_S_LU: u32 = 0xd0300053;
1063pub const MASK_FCVT_S_LU: u32 = 0xfff0007f;
1064pub const MATCH_FCVT_S_Q: u32 = 0x40300053;
1065pub const MASK_FCVT_S_Q: u32 = 0xfff0007f;
1066pub const MATCH_FCVT_S_W: u32 = 0xd0000053;
1067pub const MASK_FCVT_S_W: u32 = 0xfff0007f;
1068pub const MATCH_FCVT_S_WU: u32 = 0xd0100053;
1069pub const MASK_FCVT_S_WU: u32 = 0xfff0007f;
1070pub const MATCH_FCVT_W_D: u32 = 0xc2000053;
1071pub const MASK_FCVT_W_D: u32 = 0xfff0007f;
1072pub const MATCH_FCVT_W_H: u32 = 0xc4000053;
1073pub const MASK_FCVT_W_H: u32 = 0xfff0007f;
1074pub const MATCH_FCVT_W_Q: u32 = 0xc6000053;
1075pub const MASK_FCVT_W_Q: u32 = 0xfff0007f;
1076pub const MATCH_FCVT_W_S: u32 = 0xc0000053;
1077pub const MASK_FCVT_W_S: u32 = 0xfff0007f;
1078pub const MATCH_FCVT_WU_D: u32 = 0xc2100053;
1079pub const MASK_FCVT_WU_D: u32 = 0xfff0007f;
1080pub const MATCH_FCVT_WU_H: u32 = 0xc4100053;
1081pub const MASK_FCVT_WU_H: u32 = 0xfff0007f;
1082pub const MATCH_FCVT_WU_Q: u32 = 0xc6100053;
1083pub const MASK_FCVT_WU_Q: u32 = 0xfff0007f;
1084pub const MATCH_FCVT_WU_S: u32 = 0xc0100053;
1085pub const MASK_FCVT_WU_S: u32 = 0xfff0007f;
1086pub const MATCH_FCVTMOD_W_D: u32 = 0xc2801053;
1087pub const MASK_FCVTMOD_W_D: u32 = 0xfff0707f;
1088pub const MATCH_FDIV_D: u32 = 0x1a000053;
1089pub const MASK_FDIV_D: u32 = 0xfe00007f;
1090pub const MATCH_FDIV_H: u32 = 0x1c000053;
1091pub const MASK_FDIV_H: u32 = 0xfe00007f;
1092pub const MATCH_FDIV_Q: u32 = 0x1e000053;
1093pub const MASK_FDIV_Q: u32 = 0xfe00007f;
1094pub const MATCH_FDIV_S: u32 = 0x18000053;
1095pub const MASK_FDIV_S: u32 = 0xfe00007f;
1096pub const MATCH_FENCE: u32 = 0xf;
1097pub const MASK_FENCE: u32 = 0x707f;
1098pub const MATCH_FENCE_I: u32 = 0x100f;
1099pub const MASK_FENCE_I: u32 = 0x707f;
1100pub const MATCH_FENCE_TSO: u32 = 0x8330000f;
1101pub const MASK_FENCE_TSO: u32 = 0xfff0707f;
1102pub const MATCH_FEQ_D: u32 = 0xa2002053;
1103pub const MASK_FEQ_D: u32 = 0xfe00707f;
1104pub const MATCH_FEQ_H: u32 = 0xa4002053;
1105pub const MASK_FEQ_H: u32 = 0xfe00707f;
1106pub const MATCH_FEQ_Q: u32 = 0xa6002053;
1107pub const MASK_FEQ_Q: u32 = 0xfe00707f;
1108pub const MATCH_FEQ_S: u32 = 0xa0002053;
1109pub const MASK_FEQ_S: u32 = 0xfe00707f;
1110pub const MATCH_FLD: u32 = 0x3007;
1111pub const MASK_FLD: u32 = 0x707f;
1112pub const MATCH_FLE_D: u32 = 0xa2000053;
1113pub const MASK_FLE_D: u32 = 0xfe00707f;
1114pub const MATCH_FLE_H: u32 = 0xa4000053;
1115pub const MASK_FLE_H: u32 = 0xfe00707f;
1116pub const MATCH_FLE_Q: u32 = 0xa6000053;
1117pub const MASK_FLE_Q: u32 = 0xfe00707f;
1118pub const MATCH_FLE_S: u32 = 0xa0000053;
1119pub const MASK_FLE_S: u32 = 0xfe00707f;
1120pub const MATCH_FLEQ_D: u32 = 0xa2004053;
1121pub const MASK_FLEQ_D: u32 = 0xfe00707f;
1122pub const MATCH_FLEQ_H: u32 = 0xa4004053;
1123pub const MASK_FLEQ_H: u32 = 0xfe00707f;
1124pub const MATCH_FLEQ_Q: u32 = 0xa6004053;
1125pub const MASK_FLEQ_Q: u32 = 0xfe00707f;
1126pub const MATCH_FLEQ_S: u32 = 0xa0004053;
1127pub const MASK_FLEQ_S: u32 = 0xfe00707f;
1128pub const MATCH_FLH: u32 = 0x1007;
1129pub const MASK_FLH: u32 = 0x707f;
1130pub const MATCH_FLI_D: u32 = 0xf2100053;
1131pub const MASK_FLI_D: u32 = 0xfff0707f;
1132pub const MATCH_FLI_H: u32 = 0xf4100053;
1133pub const MASK_FLI_H: u32 = 0xfff0707f;
1134pub const MATCH_FLI_Q: u32 = 0xf6100053;
1135pub const MASK_FLI_Q: u32 = 0xfff0707f;
1136pub const MATCH_FLI_S: u32 = 0xf0100053;
1137pub const MASK_FLI_S: u32 = 0xfff0707f;
1138pub const MATCH_FLQ: u32 = 0x4007;
1139pub const MASK_FLQ: u32 = 0x707f;
1140pub const MATCH_FLT_D: u32 = 0xa2001053;
1141pub const MASK_FLT_D: u32 = 0xfe00707f;
1142pub const MATCH_FLT_H: u32 = 0xa4001053;
1143pub const MASK_FLT_H: u32 = 0xfe00707f;
1144pub const MATCH_FLT_Q: u32 = 0xa6001053;
1145pub const MASK_FLT_Q: u32 = 0xfe00707f;
1146pub const MATCH_FLT_S: u32 = 0xa0001053;
1147pub const MASK_FLT_S: u32 = 0xfe00707f;
1148pub const MATCH_FLTQ_D: u32 = 0xa2005053;
1149pub const MASK_FLTQ_D: u32 = 0xfe00707f;
1150pub const MATCH_FLTQ_H: u32 = 0xa4005053;
1151pub const MASK_FLTQ_H: u32 = 0xfe00707f;
1152pub const MATCH_FLTQ_Q: u32 = 0xa6005053;
1153pub const MASK_FLTQ_Q: u32 = 0xfe00707f;
1154pub const MATCH_FLTQ_S: u32 = 0xa0005053;
1155pub const MASK_FLTQ_S: u32 = 0xfe00707f;
1156pub const MATCH_FLW: u32 = 0x2007;
1157pub const MASK_FLW: u32 = 0x707f;
1158pub const MATCH_FMADD_D: u32 = 0x2000043;
1159pub const MASK_FMADD_D: u32 = 0x600007f;
1160pub const MATCH_FMADD_H: u32 = 0x4000043;
1161pub const MASK_FMADD_H: u32 = 0x600007f;
1162pub const MATCH_FMADD_Q: u32 = 0x6000043;
1163pub const MASK_FMADD_Q: u32 = 0x600007f;
1164pub const MATCH_FMADD_S: u32 = 0x43;
1165pub const MASK_FMADD_S: u32 = 0x600007f;
1166pub const MATCH_FMAX_D: u32 = 0x2a001053;
1167pub const MASK_FMAX_D: u32 = 0xfe00707f;
1168pub const MATCH_FMAX_H: u32 = 0x2c001053;
1169pub const MASK_FMAX_H: u32 = 0xfe00707f;
1170pub const MATCH_FMAX_Q: u32 = 0x2e001053;
1171pub const MASK_FMAX_Q: u32 = 0xfe00707f;
1172pub const MATCH_FMAX_S: u32 = 0x28001053;
1173pub const MASK_FMAX_S: u32 = 0xfe00707f;
1174pub const MATCH_FMAXM_D: u32 = 0x2a003053;
1175pub const MASK_FMAXM_D: u32 = 0xfe00707f;
1176pub const MATCH_FMAXM_H: u32 = 0x2c003053;
1177pub const MASK_FMAXM_H: u32 = 0xfe00707f;
1178pub const MATCH_FMAXM_Q: u32 = 0x2e003053;
1179pub const MASK_FMAXM_Q: u32 = 0xfe00707f;
1180pub const MATCH_FMAXM_S: u32 = 0x28003053;
1181pub const MASK_FMAXM_S: u32 = 0xfe00707f;
1182pub const MATCH_FMIN_D: u32 = 0x2a000053;
1183pub const MASK_FMIN_D: u32 = 0xfe00707f;
1184pub const MATCH_FMIN_H: u32 = 0x2c000053;
1185pub const MASK_FMIN_H: u32 = 0xfe00707f;
1186pub const MATCH_FMIN_Q: u32 = 0x2e000053;
1187pub const MASK_FMIN_Q: u32 = 0xfe00707f;
1188pub const MATCH_FMIN_S: u32 = 0x28000053;
1189pub const MASK_FMIN_S: u32 = 0xfe00707f;
1190pub const MATCH_FMINM_D: u32 = 0x2a002053;
1191pub const MASK_FMINM_D: u32 = 0xfe00707f;
1192pub const MATCH_FMINM_H: u32 = 0x2c002053;
1193pub const MASK_FMINM_H: u32 = 0xfe00707f;
1194pub const MATCH_FMINM_Q: u32 = 0x2e002053;
1195pub const MASK_FMINM_Q: u32 = 0xfe00707f;
1196pub const MATCH_FMINM_S: u32 = 0x28002053;
1197pub const MASK_FMINM_S: u32 = 0xfe00707f;
1198pub const MATCH_FMSUB_D: u32 = 0x2000047;
1199pub const MASK_FMSUB_D: u32 = 0x600007f;
1200pub const MATCH_FMSUB_H: u32 = 0x4000047;
1201pub const MASK_FMSUB_H: u32 = 0x600007f;
1202pub const MATCH_FMSUB_Q: u32 = 0x6000047;
1203pub const MASK_FMSUB_Q: u32 = 0x600007f;
1204pub const MATCH_FMSUB_S: u32 = 0x47;
1205pub const MASK_FMSUB_S: u32 = 0x600007f;
1206pub const MATCH_FMUL_D: u32 = 0x12000053;
1207pub const MASK_FMUL_D: u32 = 0xfe00007f;
1208pub const MATCH_FMUL_H: u32 = 0x14000053;
1209pub const MASK_FMUL_H: u32 = 0xfe00007f;
1210pub const MATCH_FMUL_Q: u32 = 0x16000053;
1211pub const MASK_FMUL_Q: u32 = 0xfe00007f;
1212pub const MATCH_FMUL_S: u32 = 0x10000053;
1213pub const MASK_FMUL_S: u32 = 0xfe00007f;
1214pub const MATCH_FMV_D: u32 = 0x22000053;
1215pub const MASK_FMV_D: u32 = 0xfe00707f;
1216pub const MATCH_FMV_D_X: u32 = 0xf2000053;
1217pub const MASK_FMV_D_X: u32 = 0xfff0707f;
1218pub const MATCH_FMV_H: u32 = 0x24000053;
1219pub const MASK_FMV_H: u32 = 0xfe00707f;
1220pub const MATCH_FMV_H_X: u32 = 0xf4000053;
1221pub const MASK_FMV_H_X: u32 = 0xfff0707f;
1222pub const MATCH_FMV_Q: u32 = 0x26000053;
1223pub const MASK_FMV_Q: u32 = 0xfe00707f;
1224pub const MATCH_FMV_S: u32 = 0x20000053;
1225pub const MASK_FMV_S: u32 = 0xfe00707f;
1226pub const MATCH_FMV_S_X: u32 = 0xf0000053;
1227pub const MASK_FMV_S_X: u32 = 0xfff0707f;
1228pub const MATCH_FMV_W_X: u32 = 0xf0000053;
1229pub const MASK_FMV_W_X: u32 = 0xfff0707f;
1230pub const MATCH_FMV_X_D: u32 = 0xe2000053;
1231pub const MASK_FMV_X_D: u32 = 0xfff0707f;
1232pub const MATCH_FMV_X_H: u32 = 0xe4000053;
1233pub const MASK_FMV_X_H: u32 = 0xfff0707f;
1234pub const MATCH_FMV_X_S: u32 = 0xe0000053;
1235pub const MASK_FMV_X_S: u32 = 0xfff0707f;
1236pub const MATCH_FMV_X_W: u32 = 0xe0000053;
1237pub const MASK_FMV_X_W: u32 = 0xfff0707f;
1238pub const MATCH_FMVH_X_D: u32 = 0xe2100053;
1239pub const MASK_FMVH_X_D: u32 = 0xfff0707f;
1240pub const MATCH_FMVH_X_Q: u32 = 0xe6100053;
1241pub const MASK_FMVH_X_Q: u32 = 0xfff0707f;
1242pub const MATCH_FMVP_D_X: u32 = 0xb2000053;
1243pub const MASK_FMVP_D_X: u32 = 0xfe00707f;
1244pub const MATCH_FMVP_Q_X: u32 = 0xb6000053;
1245pub const MASK_FMVP_Q_X: u32 = 0xfe00707f;
1246pub const MATCH_FNEG_D: u32 = 0x22001053;
1247pub const MASK_FNEG_D: u32 = 0xfe00707f;
1248pub const MATCH_FNEG_H: u32 = 0x24001053;
1249pub const MASK_FNEG_H: u32 = 0xfe00707f;
1250pub const MATCH_FNEG_Q: u32 = 0x26001053;
1251pub const MASK_FNEG_Q: u32 = 0xfe00707f;
1252pub const MATCH_FNEG_S: u32 = 0x20001053;
1253pub const MASK_FNEG_S: u32 = 0xfe00707f;
1254pub const MATCH_FNMADD_D: u32 = 0x200004f;
1255pub const MASK_FNMADD_D: u32 = 0x600007f;
1256pub const MATCH_FNMADD_H: u32 = 0x400004f;
1257pub const MASK_FNMADD_H: u32 = 0x600007f;
1258pub const MATCH_FNMADD_Q: u32 = 0x600004f;
1259pub const MASK_FNMADD_Q: u32 = 0x600007f;
1260pub const MATCH_FNMADD_S: u32 = 0x4f;
1261pub const MASK_FNMADD_S: u32 = 0x600007f;
1262pub const MATCH_FNMSUB_D: u32 = 0x200004b;
1263pub const MASK_FNMSUB_D: u32 = 0x600007f;
1264pub const MATCH_FNMSUB_H: u32 = 0x400004b;
1265pub const MASK_FNMSUB_H: u32 = 0x600007f;
1266pub const MATCH_FNMSUB_Q: u32 = 0x600004b;
1267pub const MASK_FNMSUB_Q: u32 = 0x600007f;
1268pub const MATCH_FNMSUB_S: u32 = 0x4b;
1269pub const MASK_FNMSUB_S: u32 = 0x600007f;
1270pub const MATCH_FRCSR: u32 = 0x302073;
1271pub const MASK_FRCSR: u32 = 0xfffff07f;
1272pub const MATCH_FRFLAGS: u32 = 0x102073;
1273pub const MASK_FRFLAGS: u32 = 0xfffff07f;
1274pub const MATCH_FROUND_D: u32 = 0x42400053;
1275pub const MASK_FROUND_D: u32 = 0xfff0007f;
1276pub const MATCH_FROUND_H: u32 = 0x44400053;
1277pub const MASK_FROUND_H: u32 = 0xfff0007f;
1278pub const MATCH_FROUND_Q: u32 = 0x46400053;
1279pub const MASK_FROUND_Q: u32 = 0xfff0007f;
1280pub const MATCH_FROUND_S: u32 = 0x40400053;
1281pub const MASK_FROUND_S: u32 = 0xfff0007f;
1282pub const MATCH_FROUNDNX_D: u32 = 0x42500053;
1283pub const MASK_FROUNDNX_D: u32 = 0xfff0007f;
1284pub const MATCH_FROUNDNX_H: u32 = 0x44500053;
1285pub const MASK_FROUNDNX_H: u32 = 0xfff0007f;
1286pub const MATCH_FROUNDNX_Q: u32 = 0x46500053;
1287pub const MASK_FROUNDNX_Q: u32 = 0xfff0007f;
1288pub const MATCH_FROUNDNX_S: u32 = 0x40500053;
1289pub const MASK_FROUNDNX_S: u32 = 0xfff0007f;
1290pub const MATCH_FRRM: u32 = 0x202073;
1291pub const MASK_FRRM: u32 = 0xfffff07f;
1292pub const MATCH_FSCSR: u32 = 0x301073;
1293pub const MASK_FSCSR: u32 = 0xfff0707f;
1294pub const MATCH_FSD: u32 = 0x3027;
1295pub const MASK_FSD: u32 = 0x707f;
1296pub const MATCH_FSFLAGS: u32 = 0x101073;
1297pub const MASK_FSFLAGS: u32 = 0xfff0707f;
1298pub const MATCH_FSFLAGSI: u32 = 0x105073;
1299pub const MASK_FSFLAGSI: u32 = 0xfff0707f;
1300pub const MATCH_FSGNJ_D: u32 = 0x22000053;
1301pub const MASK_FSGNJ_D: u32 = 0xfe00707f;
1302pub const MATCH_FSGNJ_H: u32 = 0x24000053;
1303pub const MASK_FSGNJ_H: u32 = 0xfe00707f;
1304pub const MATCH_FSGNJ_Q: u32 = 0x26000053;
1305pub const MASK_FSGNJ_Q: u32 = 0xfe00707f;
1306pub const MATCH_FSGNJ_S: u32 = 0x20000053;
1307pub const MASK_FSGNJ_S: u32 = 0xfe00707f;
1308pub const MATCH_FSGNJN_D: u32 = 0x22001053;
1309pub const MASK_FSGNJN_D: u32 = 0xfe00707f;
1310pub const MATCH_FSGNJN_H: u32 = 0x24001053;
1311pub const MASK_FSGNJN_H: u32 = 0xfe00707f;
1312pub const MATCH_FSGNJN_Q: u32 = 0x26001053;
1313pub const MASK_FSGNJN_Q: u32 = 0xfe00707f;
1314pub const MATCH_FSGNJN_S: u32 = 0x20001053;
1315pub const MASK_FSGNJN_S: u32 = 0xfe00707f;
1316pub const MATCH_FSGNJX_D: u32 = 0x22002053;
1317pub const MASK_FSGNJX_D: u32 = 0xfe00707f;
1318pub const MATCH_FSGNJX_H: u32 = 0x24002053;
1319pub const MASK_FSGNJX_H: u32 = 0xfe00707f;
1320pub const MATCH_FSGNJX_Q: u32 = 0x26002053;
1321pub const MASK_FSGNJX_Q: u32 = 0xfe00707f;
1322pub const MATCH_FSGNJX_S: u32 = 0x20002053;
1323pub const MASK_FSGNJX_S: u32 = 0xfe00707f;
1324pub const MATCH_FSH: u32 = 0x1027;
1325pub const MASK_FSH: u32 = 0x707f;
1326pub const MATCH_FSQ: u32 = 0x4027;
1327pub const MASK_FSQ: u32 = 0x707f;
1328pub const MATCH_FSQRT_D: u32 = 0x5a000053;
1329pub const MASK_FSQRT_D: u32 = 0xfff0007f;
1330pub const MATCH_FSQRT_H: u32 = 0x5c000053;
1331pub const MASK_FSQRT_H: u32 = 0xfff0007f;
1332pub const MATCH_FSQRT_Q: u32 = 0x5e000053;
1333pub const MASK_FSQRT_Q: u32 = 0xfff0007f;
1334pub const MATCH_FSQRT_S: u32 = 0x58000053;
1335pub const MASK_FSQRT_S: u32 = 0xfff0007f;
1336pub const MATCH_FSRM: u32 = 0x201073;
1337pub const MASK_FSRM: u32 = 0xfff0707f;
1338pub const MATCH_FSRMI: u32 = 0x205073;
1339pub const MASK_FSRMI: u32 = 0xfff0707f;
1340pub const MATCH_FSUB_D: u32 = 0xa000053;
1341pub const MASK_FSUB_D: u32 = 0xfe00007f;
1342pub const MATCH_FSUB_H: u32 = 0xc000053;
1343pub const MASK_FSUB_H: u32 = 0xfe00007f;
1344pub const MATCH_FSUB_Q: u32 = 0xe000053;
1345pub const MASK_FSUB_Q: u32 = 0xfe00007f;
1346pub const MATCH_FSUB_S: u32 = 0x8000053;
1347pub const MASK_FSUB_S: u32 = 0xfe00007f;
1348pub const MATCH_FSW: u32 = 0x2027;
1349pub const MASK_FSW: u32 = 0x707f;
1350pub const MATCH_HFENCE_GVMA: u32 = 0x62000073;
1351pub const MASK_HFENCE_GVMA: u32 = 0xfe007fff;
1352pub const MATCH_HFENCE_VVMA: u32 = 0x22000073;
1353pub const MASK_HFENCE_VVMA: u32 = 0xfe007fff;
1354pub const MATCH_HINVAL_GVMA: u32 = 0x66000073;
1355pub const MASK_HINVAL_GVMA: u32 = 0xfe007fff;
1356pub const MATCH_HINVAL_VVMA: u32 = 0x26000073;
1357pub const MASK_HINVAL_VVMA: u32 = 0xfe007fff;
1358pub const MATCH_HLV_B: u32 = 0x60004073;
1359pub const MASK_HLV_B: u32 = 0xfff0707f;
1360pub const MATCH_HLV_BU: u32 = 0x60104073;
1361pub const MASK_HLV_BU: u32 = 0xfff0707f;
1362pub const MATCH_HLV_D: u32 = 0x6c004073;
1363pub const MASK_HLV_D: u32 = 0xfff0707f;
1364pub const MATCH_HLV_H: u32 = 0x64004073;
1365pub const MASK_HLV_H: u32 = 0xfff0707f;
1366pub const MATCH_HLV_HU: u32 = 0x64104073;
1367pub const MASK_HLV_HU: u32 = 0xfff0707f;
1368pub const MATCH_HLV_W: u32 = 0x68004073;
1369pub const MASK_HLV_W: u32 = 0xfff0707f;
1370pub const MATCH_HLV_WU: u32 = 0x68104073;
1371pub const MASK_HLV_WU: u32 = 0xfff0707f;
1372pub const MATCH_HLVX_HU: u32 = 0x64304073;
1373pub const MASK_HLVX_HU: u32 = 0xfff0707f;
1374pub const MATCH_HLVX_WU: u32 = 0x68304073;
1375pub const MASK_HLVX_WU: u32 = 0xfff0707f;
1376pub const MATCH_HSV_B: u32 = 0x62004073;
1377pub const MASK_HSV_B: u32 = 0xfe007fff;
1378pub const MATCH_HSV_D: u32 = 0x6e004073;
1379pub const MASK_HSV_D: u32 = 0xfe007fff;
1380pub const MATCH_HSV_H: u32 = 0x66004073;
1381pub const MASK_HSV_H: u32 = 0xfe007fff;
1382pub const MATCH_HSV_W: u32 = 0x6a004073;
1383pub const MASK_HSV_W: u32 = 0xfe007fff;
1384pub const MATCH_J: u32 = 0x6f;
1385pub const MASK_J: u32 = 0xfff;
1386pub const MATCH_JAL: u32 = 0x6f;
1387pub const MASK_JAL: u32 = 0x7f;
1388pub const MATCH_JAL_PSEUDO: u32 = 0xef;
1389pub const MASK_JAL_PSEUDO: u32 = 0xfff;
1390pub const MATCH_JALR: u32 = 0x67;
1391pub const MASK_JALR: u32 = 0x707f;
1392pub const MATCH_JALR_PSEUDO: u32 = 0xe7;
1393pub const MASK_JALR_PSEUDO: u32 = 0xfff07fff;
1394pub const MATCH_JR: u32 = 0x67;
1395pub const MASK_JR: u32 = 0xfff07fff;
1396pub const MATCH_LB: u32 = 0x3;
1397pub const MASK_LB: u32 = 0x707f;
1398pub const MATCH_LBU: u32 = 0x4003;
1399pub const MASK_LBU: u32 = 0x707f;
1400pub const MATCH_LD: u32 = 0x3003;
1401pub const MASK_LD: u32 = 0x707f;
1402pub const MATCH_LH: u32 = 0x1003;
1403pub const MASK_LH: u32 = 0x707f;
1404pub const MATCH_LHU: u32 = 0x5003;
1405pub const MASK_LHU: u32 = 0x707f;
1406pub const MATCH_LR_D: u32 = 0x1000302f;
1407pub const MASK_LR_D: u32 = 0xf9f0707f;
1408pub const MATCH_LR_W: u32 = 0x1000202f;
1409pub const MASK_LR_W: u32 = 0xf9f0707f;
1410pub const MATCH_LUI: u32 = 0x37;
1411pub const MASK_LUI: u32 = 0x7f;
1412pub const MATCH_LW: u32 = 0x2003;
1413pub const MASK_LW: u32 = 0x707f;
1414pub const MATCH_LWU: u32 = 0x6003;
1415pub const MASK_LWU: u32 = 0x707f;
1416pub const MATCH_MAX: u32 = 0xa006033;
1417pub const MASK_MAX: u32 = 0xfe00707f;
1418pub const MATCH_MAXU: u32 = 0xa007033;
1419pub const MASK_MAXU: u32 = 0xfe00707f;
1420pub const MATCH_MIN: u32 = 0xa004033;
1421pub const MASK_MIN: u32 = 0xfe00707f;
1422pub const MATCH_MINU: u32 = 0xa005033;
1423pub const MASK_MINU: u32 = 0xfe00707f;
1424pub const MATCH_MOP_R_0: u32 = 0x81c04073;
1425pub const MASK_MOP_R_0: u32 = 0xfff0707f;
1426pub const MATCH_MOP_R_1: u32 = 0x81d04073;
1427pub const MASK_MOP_R_1: u32 = 0xfff0707f;
1428pub const MATCH_MOP_R_10: u32 = 0x89e04073;
1429pub const MASK_MOP_R_10: u32 = 0xfff0707f;
1430pub const MATCH_MOP_R_11: u32 = 0x89f04073;
1431pub const MASK_MOP_R_11: u32 = 0xfff0707f;
1432pub const MATCH_MOP_R_12: u32 = 0x8dc04073;
1433pub const MASK_MOP_R_12: u32 = 0xfff0707f;
1434pub const MATCH_MOP_R_13: u32 = 0x8dd04073;
1435pub const MASK_MOP_R_13: u32 = 0xfff0707f;
1436pub const MATCH_MOP_R_14: u32 = 0x8de04073;
1437pub const MASK_MOP_R_14: u32 = 0xfff0707f;
1438pub const MATCH_MOP_R_15: u32 = 0x8df04073;
1439pub const MASK_MOP_R_15: u32 = 0xfff0707f;
1440pub const MATCH_MOP_R_16: u32 = 0xc1c04073;
1441pub const MASK_MOP_R_16: u32 = 0xfff0707f;
1442pub const MATCH_MOP_R_17: u32 = 0xc1d04073;
1443pub const MASK_MOP_R_17: u32 = 0xfff0707f;
1444pub const MATCH_MOP_R_18: u32 = 0xc1e04073;
1445pub const MASK_MOP_R_18: u32 = 0xfff0707f;
1446pub const MATCH_MOP_R_19: u32 = 0xc1f04073;
1447pub const MASK_MOP_R_19: u32 = 0xfff0707f;
1448pub const MATCH_MOP_R_2: u32 = 0x81e04073;
1449pub const MASK_MOP_R_2: u32 = 0xfff0707f;
1450pub const MATCH_MOP_R_20: u32 = 0xc5c04073;
1451pub const MASK_MOP_R_20: u32 = 0xfff0707f;
1452pub const MATCH_MOP_R_21: u32 = 0xc5d04073;
1453pub const MASK_MOP_R_21: u32 = 0xfff0707f;
1454pub const MATCH_MOP_R_22: u32 = 0xc5e04073;
1455pub const MASK_MOP_R_22: u32 = 0xfff0707f;
1456pub const MATCH_MOP_R_23: u32 = 0xc5f04073;
1457pub const MASK_MOP_R_23: u32 = 0xfff0707f;
1458pub const MATCH_MOP_R_24: u32 = 0xc9c04073;
1459pub const MASK_MOP_R_24: u32 = 0xfff0707f;
1460pub const MATCH_MOP_R_25: u32 = 0xc9d04073;
1461pub const MASK_MOP_R_25: u32 = 0xfff0707f;
1462pub const MATCH_MOP_R_26: u32 = 0xc9e04073;
1463pub const MASK_MOP_R_26: u32 = 0xfff0707f;
1464pub const MATCH_MOP_R_27: u32 = 0xc9f04073;
1465pub const MASK_MOP_R_27: u32 = 0xfff0707f;
1466pub const MATCH_MOP_R_28: u32 = 0xcdc04073;
1467pub const MASK_MOP_R_28: u32 = 0xfff0707f;
1468pub const MATCH_MOP_R_29: u32 = 0xcdd04073;
1469pub const MASK_MOP_R_29: u32 = 0xfff0707f;
1470pub const MATCH_MOP_R_3: u32 = 0x81f04073;
1471pub const MASK_MOP_R_3: u32 = 0xfff0707f;
1472pub const MATCH_MOP_R_30: u32 = 0xcde04073;
1473pub const MASK_MOP_R_30: u32 = 0xfff0707f;
1474pub const MATCH_MOP_R_31: u32 = 0xcdf04073;
1475pub const MASK_MOP_R_31: u32 = 0xfff0707f;
1476pub const MATCH_MOP_R_4: u32 = 0x85c04073;
1477pub const MASK_MOP_R_4: u32 = 0xfff0707f;
1478pub const MATCH_MOP_R_5: u32 = 0x85d04073;
1479pub const MASK_MOP_R_5: u32 = 0xfff0707f;
1480pub const MATCH_MOP_R_6: u32 = 0x85e04073;
1481pub const MASK_MOP_R_6: u32 = 0xfff0707f;
1482pub const MATCH_MOP_R_7: u32 = 0x85f04073;
1483pub const MASK_MOP_R_7: u32 = 0xfff0707f;
1484pub const MATCH_MOP_R_8: u32 = 0x89c04073;
1485pub const MASK_MOP_R_8: u32 = 0xfff0707f;
1486pub const MATCH_MOP_R_9: u32 = 0x89d04073;
1487pub const MASK_MOP_R_9: u32 = 0xfff0707f;
1488pub const MATCH_MOP_R_N: u32 = 0x81c04073;
1489pub const MASK_MOP_R_N: u32 = 0xb3c0707f;
1490pub const MATCH_MOP_RR_0: u32 = 0x82004073;
1491pub const MASK_MOP_RR_0: u32 = 0xfe00707f;
1492pub const MATCH_MOP_RR_1: u32 = 0x86004073;
1493pub const MASK_MOP_RR_1: u32 = 0xfe00707f;
1494pub const MATCH_MOP_RR_2: u32 = 0x8a004073;
1495pub const MASK_MOP_RR_2: u32 = 0xfe00707f;
1496pub const MATCH_MOP_RR_3: u32 = 0x8e004073;
1497pub const MASK_MOP_RR_3: u32 = 0xfe00707f;
1498pub const MATCH_MOP_RR_4: u32 = 0xc2004073;
1499pub const MASK_MOP_RR_4: u32 = 0xfe00707f;
1500pub const MATCH_MOP_RR_5: u32 = 0xc6004073;
1501pub const MASK_MOP_RR_5: u32 = 0xfe00707f;
1502pub const MATCH_MOP_RR_6: u32 = 0xca004073;
1503pub const MASK_MOP_RR_6: u32 = 0xfe00707f;
1504pub const MATCH_MOP_RR_7: u32 = 0xce004073;
1505pub const MASK_MOP_RR_7: u32 = 0xfe00707f;
1506pub const MATCH_MOP_RR_N: u32 = 0x82004073;
1507pub const MASK_MOP_RR_N: u32 = 0xb200707f;
1508pub const MATCH_MRET: u32 = 0x30200073;
1509pub const MASK_MRET: u32 = 0xffffffff;
1510pub const MATCH_MUL: u32 = 0x2000033;
1511pub const MASK_MUL: u32 = 0xfe00707f;
1512pub const MATCH_MULH: u32 = 0x2001033;
1513pub const MASK_MULH: u32 = 0xfe00707f;
1514pub const MATCH_MULHSU: u32 = 0x2002033;
1515pub const MASK_MULHSU: u32 = 0xfe00707f;
1516pub const MATCH_MULHU: u32 = 0x2003033;
1517pub const MASK_MULHU: u32 = 0xfe00707f;
1518pub const MATCH_MULW: u32 = 0x200003b;
1519pub const MASK_MULW: u32 = 0xfe00707f;
1520pub const MATCH_MV: u32 = 0x13;
1521pub const MASK_MV: u32 = 0xfff0707f;
1522pub const MATCH_NEG: u32 = 0x40000033;
1523pub const MASK_NEG: u32 = 0xfff0707f;
1524pub const MATCH_NOP: u32 = 0x13;
1525pub const MASK_NOP: u32 = 0xffffffff;
1526pub const MATCH_NTL_ALL: u32 = 0x500033;
1527pub const MASK_NTL_ALL: u32 = 0xffffffff;
1528pub const MATCH_NTL_P1: u32 = 0x200033;
1529pub const MASK_NTL_P1: u32 = 0xffffffff;
1530pub const MATCH_NTL_PALL: u32 = 0x300033;
1531pub const MASK_NTL_PALL: u32 = 0xffffffff;
1532pub const MATCH_NTL_S1: u32 = 0x400033;
1533pub const MASK_NTL_S1: u32 = 0xffffffff;
1534pub const MATCH_OR: u32 = 0x6033;
1535pub const MASK_OR: u32 = 0xfe00707f;
1536pub const MATCH_ORC_B: u32 = 0x28705013;
1537pub const MASK_ORC_B: u32 = 0xfff0707f;
1538pub const MATCH_ORI: u32 = 0x6013;
1539pub const MASK_ORI: u32 = 0x707f;
1540pub const MATCH_ORN: u32 = 0x40006033;
1541pub const MASK_ORN: u32 = 0xfe00707f;
1542pub const MATCH_PACK: u32 = 0x8004033;
1543pub const MASK_PACK: u32 = 0xfe00707f;
1544pub const MATCH_PACKH: u32 = 0x8007033;
1545pub const MASK_PACKH: u32 = 0xfe00707f;
1546pub const MATCH_PACKW: u32 = 0x800403b;
1547pub const MASK_PACKW: u32 = 0xfe00707f;
1548pub const MATCH_PAUSE: u32 = 0x100000f;
1549pub const MASK_PAUSE: u32 = 0xffffffff;
1550pub const MATCH_PREFETCH_I: u32 = 0x6013;
1551pub const MASK_PREFETCH_I: u32 = 0x1f07fff;
1552pub const MATCH_PREFETCH_R: u32 = 0x106013;
1553pub const MASK_PREFETCH_R: u32 = 0x1f07fff;
1554pub const MATCH_PREFETCH_W: u32 = 0x306013;
1555pub const MASK_PREFETCH_W: u32 = 0x1f07fff;
1556pub const MATCH_RDCYCLE: u32 = 0xc0002073;
1557pub const MASK_RDCYCLE: u32 = 0xfffff07f;
1558pub const MATCH_RDCYCLEH: u32 = 0xc8002073;
1559pub const MASK_RDCYCLEH: u32 = 0xfffff07f;
1560pub const MATCH_RDINSTRET: u32 = 0xc0202073;
1561pub const MASK_RDINSTRET: u32 = 0xfffff07f;
1562pub const MATCH_RDINSTRETH: u32 = 0xc8202073;
1563pub const MASK_RDINSTRETH: u32 = 0xfffff07f;
1564pub const MATCH_RDTIME: u32 = 0xc0102073;
1565pub const MASK_RDTIME: u32 = 0xfffff07f;
1566pub const MATCH_RDTIMEH: u32 = 0xc8102073;
1567pub const MASK_RDTIMEH: u32 = 0xfffff07f;
1568pub const MATCH_REM: u32 = 0x2006033;
1569pub const MASK_REM: u32 = 0xfe00707f;
1570pub const MATCH_REMU: u32 = 0x2007033;
1571pub const MASK_REMU: u32 = 0xfe00707f;
1572pub const MATCH_REMUW: u32 = 0x200703b;
1573pub const MASK_REMUW: u32 = 0xfe00707f;
1574pub const MATCH_REMW: u32 = 0x200603b;
1575pub const MASK_REMW: u32 = 0xfe00707f;
1576pub const MATCH_RET: u32 = 0x8067;
1577pub const MASK_RET: u32 = 0xffffffff;
1578pub const MATCH_REV8: u32 = 0x6b805013;
1579pub const MASK_REV8: u32 = 0xfff0707f;
1580pub const MATCH_REV8_RV32: u32 = 0x69805013;
1581pub const MASK_REV8_RV32: u32 = 0xfff0707f;
1582pub const MATCH_ROL: u32 = 0x60001033;
1583pub const MASK_ROL: u32 = 0xfe00707f;
1584pub const MATCH_ROLW: u32 = 0x6000103b;
1585pub const MASK_ROLW: u32 = 0xfe00707f;
1586pub const MATCH_ROR: u32 = 0x60005033;
1587pub const MASK_ROR: u32 = 0xfe00707f;
1588pub const MATCH_RORI: u32 = 0x60005013;
1589pub const MASK_RORI: u32 = 0xfc00707f;
1590pub const MATCH_RORI_RV32: u32 = 0x60005013;
1591pub const MASK_RORI_RV32: u32 = 0xfe00707f;
1592pub const MATCH_RORIW: u32 = 0x6000501b;
1593pub const MASK_RORIW: u32 = 0xfe00707f;
1594pub const MATCH_RORW: u32 = 0x6000503b;
1595pub const MASK_RORW: u32 = 0xfe00707f;
1596pub const MATCH_SB: u32 = 0x23;
1597pub const MASK_SB: u32 = 0x707f;
1598pub const MATCH_SBREAK: u32 = 0x100073;
1599pub const MASK_SBREAK: u32 = 0xffffffff;
1600pub const MATCH_SC_D: u32 = 0x1800302f;
1601pub const MASK_SC_D: u32 = 0xf800707f;
1602pub const MATCH_SC_W: u32 = 0x1800202f;
1603pub const MASK_SC_W: u32 = 0xf800707f;
1604pub const MATCH_SCALL: u32 = 0x73;
1605pub const MASK_SCALL: u32 = 0xffffffff;
1606pub const MATCH_SD: u32 = 0x3023;
1607pub const MASK_SD: u32 = 0x707f;
1608pub const MATCH_SEQZ: u32 = 0x103013;
1609pub const MASK_SEQZ: u32 = 0xfff0707f;
1610pub const MATCH_SEXT_B: u32 = 0x60401013;
1611pub const MASK_SEXT_B: u32 = 0xfff0707f;
1612pub const MATCH_SEXT_H: u32 = 0x60501013;
1613pub const MASK_SEXT_H: u32 = 0xfff0707f;
1614pub const MATCH_SEXT_W: u32 = 0x1b;
1615pub const MASK_SEXT_W: u32 = 0xfff0707f;
1616pub const MATCH_SFENCE_INVAL_IR: u32 = 0x18100073;
1617pub const MASK_SFENCE_INVAL_IR: u32 = 0xffffffff;
1618pub const MATCH_SFENCE_VMA: u32 = 0x12000073;
1619pub const MASK_SFENCE_VMA: u32 = 0xfe007fff;
1620pub const MATCH_SFENCE_W_INVAL: u32 = 0x18000073;
1621pub const MASK_SFENCE_W_INVAL: u32 = 0xffffffff;
1622pub const MATCH_SGTZ: u32 = 0x2033;
1623pub const MASK_SGTZ: u32 = 0xfe0ff07f;
1624pub const MATCH_SH: u32 = 0x1023;
1625pub const MASK_SH: u32 = 0x707f;
1626pub const MATCH_SH1ADD: u32 = 0x20002033;
1627pub const MASK_SH1ADD: u32 = 0xfe00707f;
1628pub const MATCH_SH1ADD_UW: u32 = 0x2000203b;
1629pub const MASK_SH1ADD_UW: u32 = 0xfe00707f;
1630pub const MATCH_SH2ADD: u32 = 0x20004033;
1631pub const MASK_SH2ADD: u32 = 0xfe00707f;
1632pub const MATCH_SH2ADD_UW: u32 = 0x2000403b;
1633pub const MASK_SH2ADD_UW: u32 = 0xfe00707f;
1634pub const MATCH_SH3ADD: u32 = 0x20006033;
1635pub const MASK_SH3ADD: u32 = 0xfe00707f;
1636pub const MATCH_SH3ADD_UW: u32 = 0x2000603b;
1637pub const MASK_SH3ADD_UW: u32 = 0xfe00707f;
1638pub const MATCH_SHA256SIG0: u32 = 0x10201013;
1639pub const MASK_SHA256SIG0: u32 = 0xfff0707f;
1640pub const MATCH_SHA256SIG1: u32 = 0x10301013;
1641pub const MASK_SHA256SIG1: u32 = 0xfff0707f;
1642pub const MATCH_SHA256SUM0: u32 = 0x10001013;
1643pub const MASK_SHA256SUM0: u32 = 0xfff0707f;
1644pub const MATCH_SHA256SUM1: u32 = 0x10101013;
1645pub const MASK_SHA256SUM1: u32 = 0xfff0707f;
1646pub const MATCH_SHA512SIG0: u32 = 0x10601013;
1647pub const MASK_SHA512SIG0: u32 = 0xfff0707f;
1648pub const MATCH_SHA512SIG0H: u32 = 0x5c000033;
1649pub const MASK_SHA512SIG0H: u32 = 0xfe00707f;
1650pub const MATCH_SHA512SIG0L: u32 = 0x54000033;
1651pub const MASK_SHA512SIG0L: u32 = 0xfe00707f;
1652pub const MATCH_SHA512SIG1: u32 = 0x10701013;
1653pub const MASK_SHA512SIG1: u32 = 0xfff0707f;
1654pub const MATCH_SHA512SIG1H: u32 = 0x5e000033;
1655pub const MASK_SHA512SIG1H: u32 = 0xfe00707f;
1656pub const MATCH_SHA512SIG1L: u32 = 0x56000033;
1657pub const MASK_SHA512SIG1L: u32 = 0xfe00707f;
1658pub const MATCH_SHA512SUM0: u32 = 0x10401013;
1659pub const MASK_SHA512SUM0: u32 = 0xfff0707f;
1660pub const MATCH_SHA512SUM0R: u32 = 0x50000033;
1661pub const MASK_SHA512SUM0R: u32 = 0xfe00707f;
1662pub const MATCH_SHA512SUM1: u32 = 0x10501013;
1663pub const MASK_SHA512SUM1: u32 = 0xfff0707f;
1664pub const MATCH_SHA512SUM1R: u32 = 0x52000033;
1665pub const MASK_SHA512SUM1R: u32 = 0xfe00707f;
1666pub const MATCH_SINVAL_VMA: u32 = 0x16000073;
1667pub const MASK_SINVAL_VMA: u32 = 0xfe007fff;
1668pub const MATCH_SLL: u32 = 0x1033;
1669pub const MASK_SLL: u32 = 0xfe00707f;
1670pub const MATCH_SLLI: u32 = 0x1013;
1671pub const MASK_SLLI: u32 = 0xfc00707f;
1672pub const MATCH_SLLI_RV32: u32 = 0x1013;
1673pub const MASK_SLLI_RV32: u32 = 0xfe00707f;
1674pub const MATCH_SLLI_UW: u32 = 0x800101b;
1675pub const MASK_SLLI_UW: u32 = 0xfc00707f;
1676pub const MATCH_SLLIW: u32 = 0x101b;
1677pub const MASK_SLLIW: u32 = 0xfe00707f;
1678pub const MATCH_SLLW: u32 = 0x103b;
1679pub const MASK_SLLW: u32 = 0xfe00707f;
1680pub const MATCH_SLT: u32 = 0x2033;
1681pub const MASK_SLT: u32 = 0xfe00707f;
1682pub const MATCH_SLTI: u32 = 0x2013;
1683pub const MASK_SLTI: u32 = 0x707f;
1684pub const MATCH_SLTIU: u32 = 0x3013;
1685pub const MASK_SLTIU: u32 = 0x707f;
1686pub const MATCH_SLTU: u32 = 0x3033;
1687pub const MASK_SLTU: u32 = 0xfe00707f;
1688pub const MATCH_SLTZ: u32 = 0x2033;
1689pub const MASK_SLTZ: u32 = 0xfff0707f;
1690pub const MATCH_SM3P0: u32 = 0x10801013;
1691pub const MASK_SM3P0: u32 = 0xfff0707f;
1692pub const MATCH_SM3P1: u32 = 0x10901013;
1693pub const MASK_SM3P1: u32 = 0xfff0707f;
1694pub const MATCH_SM4ED: u32 = 0x30000033;
1695pub const MASK_SM4ED: u32 = 0x3e00707f;
1696pub const MATCH_SM4KS: u32 = 0x34000033;
1697pub const MASK_SM4KS: u32 = 0x3e00707f;
1698pub const MATCH_SNEZ: u32 = 0x3033;
1699pub const MASK_SNEZ: u32 = 0xfe0ff07f;
1700pub const MATCH_SRA: u32 = 0x40005033;
1701pub const MASK_SRA: u32 = 0xfe00707f;
1702pub const MATCH_SRAI: u32 = 0x40005013;
1703pub const MASK_SRAI: u32 = 0xfc00707f;
1704pub const MATCH_SRAI_RV32: u32 = 0x40005013;
1705pub const MASK_SRAI_RV32: u32 = 0xfe00707f;
1706pub const MATCH_SRAIW: u32 = 0x4000501b;
1707pub const MASK_SRAIW: u32 = 0xfe00707f;
1708pub const MATCH_SRAW: u32 = 0x4000503b;
1709pub const MASK_SRAW: u32 = 0xfe00707f;
1710pub const MATCH_SRET: u32 = 0x10200073;
1711pub const MASK_SRET: u32 = 0xffffffff;
1712pub const MATCH_SRL: u32 = 0x5033;
1713pub const MASK_SRL: u32 = 0xfe00707f;
1714pub const MATCH_SRLI: u32 = 0x5013;
1715pub const MASK_SRLI: u32 = 0xfc00707f;
1716pub const MATCH_SRLI_RV32: u32 = 0x5013;
1717pub const MASK_SRLI_RV32: u32 = 0xfe00707f;
1718pub const MATCH_SRLIW: u32 = 0x501b;
1719pub const MASK_SRLIW: u32 = 0xfe00707f;
1720pub const MATCH_SRLW: u32 = 0x503b;
1721pub const MASK_SRLW: u32 = 0xfe00707f;
1722pub const MATCH_SUB: u32 = 0x40000033;
1723pub const MASK_SUB: u32 = 0xfe00707f;
1724pub const MATCH_SUBW: u32 = 0x4000003b;
1725pub const MASK_SUBW: u32 = 0xfe00707f;
1726pub const MATCH_SW: u32 = 0x2023;
1727pub const MASK_SW: u32 = 0x707f;
1728pub const MATCH_UNZIP: u32 = 0x8f05013;
1729pub const MASK_UNZIP: u32 = 0xfff0707f;
1730pub const MATCH_VAADD_VV: u32 = 0x24002057;
1731pub const MASK_VAADD_VV: u32 = 0xfc00707f;
1732pub const MATCH_VAADD_VX: u32 = 0x24006057;
1733pub const MASK_VAADD_VX: u32 = 0xfc00707f;
1734pub const MATCH_VAADDU_VV: u32 = 0x20002057;
1735pub const MASK_VAADDU_VV: u32 = 0xfc00707f;
1736pub const MATCH_VAADDU_VX: u32 = 0x20006057;
1737pub const MASK_VAADDU_VX: u32 = 0xfc00707f;
1738pub const MATCH_VADC_VIM: u32 = 0x40003057;
1739pub const MASK_VADC_VIM: u32 = 0xfe00707f;
1740pub const MATCH_VADC_VVM: u32 = 0x40000057;
1741pub const MASK_VADC_VVM: u32 = 0xfe00707f;
1742pub const MATCH_VADC_VXM: u32 = 0x40004057;
1743pub const MASK_VADC_VXM: u32 = 0xfe00707f;
1744pub const MATCH_VADD_VI: u32 = 0x3057;
1745pub const MASK_VADD_VI: u32 = 0xfc00707f;
1746pub const MATCH_VADD_VV: u32 = 0x57;
1747pub const MASK_VADD_VV: u32 = 0xfc00707f;
1748pub const MATCH_VADD_VX: u32 = 0x4057;
1749pub const MASK_VADD_VX: u32 = 0xfc00707f;
1750pub const MATCH_VAESDF_VS: u32 = 0xa600a077;
1751pub const MASK_VAESDF_VS: u32 = 0xfe0ff07f;
1752pub const MATCH_VAESDF_VV: u32 = 0xa200a077;
1753pub const MASK_VAESDF_VV: u32 = 0xfe0ff07f;
1754pub const MATCH_VAESDM_VS: u32 = 0xa6002077;
1755pub const MASK_VAESDM_VS: u32 = 0xfe0ff07f;
1756pub const MATCH_VAESDM_VV: u32 = 0xa2002077;
1757pub const MASK_VAESDM_VV: u32 = 0xfe0ff07f;
1758pub const MATCH_VAESEF_VS: u32 = 0xa601a077;
1759pub const MASK_VAESEF_VS: u32 = 0xfe0ff07f;
1760pub const MATCH_VAESEF_VV: u32 = 0xa201a077;
1761pub const MASK_VAESEF_VV: u32 = 0xfe0ff07f;
1762pub const MATCH_VAESEM_VS: u32 = 0xa6012077;
1763pub const MASK_VAESEM_VS: u32 = 0xfe0ff07f;
1764pub const MATCH_VAESEM_VV: u32 = 0xa2012077;
1765pub const MASK_VAESEM_VV: u32 = 0xfe0ff07f;
1766pub const MATCH_VAESKF1_VI: u32 = 0x8a002077;
1767pub const MASK_VAESKF1_VI: u32 = 0xfe00707f;
1768pub const MATCH_VAESKF2_VI: u32 = 0xaa002077;
1769pub const MASK_VAESKF2_VI: u32 = 0xfe00707f;
1770pub const MATCH_VAESZ_VS: u32 = 0xa603a077;
1771pub const MASK_VAESZ_VS: u32 = 0xfe0ff07f;
1772pub const MATCH_VAND_VI: u32 = 0x24003057;
1773pub const MASK_VAND_VI: u32 = 0xfc00707f;
1774pub const MATCH_VAND_VV: u32 = 0x24000057;
1775pub const MASK_VAND_VV: u32 = 0xfc00707f;
1776pub const MATCH_VAND_VX: u32 = 0x24004057;
1777pub const MASK_VAND_VX: u32 = 0xfc00707f;
1778pub const MATCH_VANDN_VV: u32 = 0x4000057;
1779pub const MASK_VANDN_VV: u32 = 0xfc00707f;
1780pub const MATCH_VANDN_VX: u32 = 0x4004057;
1781pub const MASK_VANDN_VX: u32 = 0xfc00707f;
1782pub const MATCH_VASUB_VV: u32 = 0x2c002057;
1783pub const MASK_VASUB_VV: u32 = 0xfc00707f;
1784pub const MATCH_VASUB_VX: u32 = 0x2c006057;
1785pub const MASK_VASUB_VX: u32 = 0xfc00707f;
1786pub const MATCH_VASUBU_VV: u32 = 0x28002057;
1787pub const MASK_VASUBU_VV: u32 = 0xfc00707f;
1788pub const MATCH_VASUBU_VX: u32 = 0x28006057;
1789pub const MASK_VASUBU_VX: u32 = 0xfc00707f;
1790pub const MATCH_VBREV8_V: u32 = 0x48042057;
1791pub const MASK_VBREV8_V: u32 = 0xfc0ff07f;
1792pub const MATCH_VBREV_V: u32 = 0x48052057;
1793pub const MASK_VBREV_V: u32 = 0xfc0ff07f;
1794pub const MATCH_VCLMUL_VV: u32 = 0x30002057;
1795pub const MASK_VCLMUL_VV: u32 = 0xfc00707f;
1796pub const MATCH_VCLMUL_VX: u32 = 0x30006057;
1797pub const MASK_VCLMUL_VX: u32 = 0xfc00707f;
1798pub const MATCH_VCLMULH_VV: u32 = 0x34002057;
1799pub const MASK_VCLMULH_VV: u32 = 0xfc00707f;
1800pub const MATCH_VCLMULH_VX: u32 = 0x34006057;
1801pub const MASK_VCLMULH_VX: u32 = 0xfc00707f;
1802pub const MATCH_VCLZ_V: u32 = 0x48062057;
1803pub const MASK_VCLZ_V: u32 = 0xfc0ff07f;
1804pub const MATCH_VCOMPRESS_VM: u32 = 0x5e002057;
1805pub const MASK_VCOMPRESS_VM: u32 = 0xfe00707f;
1806pub const MATCH_VCPOP_M: u32 = 0x40082057;
1807pub const MASK_VCPOP_M: u32 = 0xfc0ff07f;
1808pub const MATCH_VCPOP_V: u32 = 0x48072057;
1809pub const MASK_VCPOP_V: u32 = 0xfc0ff07f;
1810pub const MATCH_VCTZ_V: u32 = 0x4806a057;
1811pub const MASK_VCTZ_V: u32 = 0xfc0ff07f;
1812pub const MATCH_VDIV_VV: u32 = 0x84002057;
1813pub const MASK_VDIV_VV: u32 = 0xfc00707f;
1814pub const MATCH_VDIV_VX: u32 = 0x84006057;
1815pub const MASK_VDIV_VX: u32 = 0xfc00707f;
1816pub const MATCH_VDIVU_VV: u32 = 0x80002057;
1817pub const MASK_VDIVU_VV: u32 = 0xfc00707f;
1818pub const MATCH_VDIVU_VX: u32 = 0x80006057;
1819pub const MASK_VDIVU_VX: u32 = 0xfc00707f;
1820pub const MATCH_VFADD_VF: u32 = 0x5057;
1821pub const MASK_VFADD_VF: u32 = 0xfc00707f;
1822pub const MATCH_VFADD_VV: u32 = 0x1057;
1823pub const MASK_VFADD_VV: u32 = 0xfc00707f;
1824pub const MATCH_VFCLASS_V: u32 = 0x4c081057;
1825pub const MASK_VFCLASS_V: u32 = 0xfc0ff07f;
1826pub const MATCH_VFCVT_F_X_V: u32 = 0x48019057;
1827pub const MASK_VFCVT_F_X_V: u32 = 0xfc0ff07f;
1828pub const MATCH_VFCVT_F_XU_V: u32 = 0x48011057;
1829pub const MASK_VFCVT_F_XU_V: u32 = 0xfc0ff07f;
1830pub const MATCH_VFCVT_RTZ_X_F_V: u32 = 0x48039057;
1831pub const MASK_VFCVT_RTZ_X_F_V: u32 = 0xfc0ff07f;
1832pub const MATCH_VFCVT_RTZ_XU_F_V: u32 = 0x48031057;
1833pub const MASK_VFCVT_RTZ_XU_F_V: u32 = 0xfc0ff07f;
1834pub const MATCH_VFCVT_X_F_V: u32 = 0x48009057;
1835pub const MASK_VFCVT_X_F_V: u32 = 0xfc0ff07f;
1836pub const MATCH_VFCVT_XU_F_V: u32 = 0x48001057;
1837pub const MASK_VFCVT_XU_F_V: u32 = 0xfc0ff07f;
1838pub const MATCH_VFDIV_VF: u32 = 0x80005057;
1839pub const MASK_VFDIV_VF: u32 = 0xfc00707f;
1840pub const MATCH_VFDIV_VV: u32 = 0x80001057;
1841pub const MASK_VFDIV_VV: u32 = 0xfc00707f;
1842pub const MATCH_VFIRST_M: u32 = 0x4008a057;
1843pub const MASK_VFIRST_M: u32 = 0xfc0ff07f;
1844pub const MATCH_VFMACC_VF: u32 = 0xb0005057;
1845pub const MASK_VFMACC_VF: u32 = 0xfc00707f;
1846pub const MATCH_VFMACC_VV: u32 = 0xb0001057;
1847pub const MASK_VFMACC_VV: u32 = 0xfc00707f;
1848pub const MATCH_VFMADD_VF: u32 = 0xa0005057;
1849pub const MASK_VFMADD_VF: u32 = 0xfc00707f;
1850pub const MATCH_VFMADD_VV: u32 = 0xa0001057;
1851pub const MASK_VFMADD_VV: u32 = 0xfc00707f;
1852pub const MATCH_VFMAX_VF: u32 = 0x18005057;
1853pub const MASK_VFMAX_VF: u32 = 0xfc00707f;
1854pub const MATCH_VFMAX_VV: u32 = 0x18001057;
1855pub const MASK_VFMAX_VV: u32 = 0xfc00707f;
1856pub const MATCH_VFMERGE_VFM: u32 = 0x5c005057;
1857pub const MASK_VFMERGE_VFM: u32 = 0xfe00707f;
1858pub const MATCH_VFMIN_VF: u32 = 0x10005057;
1859pub const MASK_VFMIN_VF: u32 = 0xfc00707f;
1860pub const MATCH_VFMIN_VV: u32 = 0x10001057;
1861pub const MASK_VFMIN_VV: u32 = 0xfc00707f;
1862pub const MATCH_VFMSAC_VF: u32 = 0xb8005057;
1863pub const MASK_VFMSAC_VF: u32 = 0xfc00707f;
1864pub const MATCH_VFMSAC_VV: u32 = 0xb8001057;
1865pub const MASK_VFMSAC_VV: u32 = 0xfc00707f;
1866pub const MATCH_VFMSUB_VF: u32 = 0xa8005057;
1867pub const MASK_VFMSUB_VF: u32 = 0xfc00707f;
1868pub const MATCH_VFMSUB_VV: u32 = 0xa8001057;
1869pub const MASK_VFMSUB_VV: u32 = 0xfc00707f;
1870pub const MATCH_VFMUL_VF: u32 = 0x90005057;
1871pub const MASK_VFMUL_VF: u32 = 0xfc00707f;
1872pub const MATCH_VFMUL_VV: u32 = 0x90001057;
1873pub const MASK_VFMUL_VV: u32 = 0xfc00707f;
1874pub const MATCH_VFMV_F_S: u32 = 0x42001057;
1875pub const MASK_VFMV_F_S: u32 = 0xfe0ff07f;
1876pub const MATCH_VFMV_S_F: u32 = 0x42005057;
1877pub const MASK_VFMV_S_F: u32 = 0xfff0707f;
1878pub const MATCH_VFMV_V_F: u32 = 0x5e005057;
1879pub const MASK_VFMV_V_F: u32 = 0xfff0707f;
1880pub const MATCH_VFNCVT_F_F_W: u32 = 0x480a1057;
1881pub const MASK_VFNCVT_F_F_W: u32 = 0xfc0ff07f;
1882pub const MATCH_VFNCVT_F_X_W: u32 = 0x48099057;
1883pub const MASK_VFNCVT_F_X_W: u32 = 0xfc0ff07f;
1884pub const MATCH_VFNCVT_F_XU_W: u32 = 0x48091057;
1885pub const MASK_VFNCVT_F_XU_W: u32 = 0xfc0ff07f;
1886pub const MATCH_VFNCVT_ROD_F_F_W: u32 = 0x480a9057;
1887pub const MASK_VFNCVT_ROD_F_F_W: u32 = 0xfc0ff07f;
1888pub const MATCH_VFNCVT_RTZ_X_F_W: u32 = 0x480b9057;
1889pub const MASK_VFNCVT_RTZ_X_F_W: u32 = 0xfc0ff07f;
1890pub const MATCH_VFNCVT_RTZ_XU_F_W: u32 = 0x480b1057;
1891pub const MASK_VFNCVT_RTZ_XU_F_W: u32 = 0xfc0ff07f;
1892pub const MATCH_VFNCVT_X_F_W: u32 = 0x48089057;
1893pub const MASK_VFNCVT_X_F_W: u32 = 0xfc0ff07f;
1894pub const MATCH_VFNCVT_XU_F_W: u32 = 0x48081057;
1895pub const MASK_VFNCVT_XU_F_W: u32 = 0xfc0ff07f;
1896pub const MATCH_VFNMACC_VF: u32 = 0xb4005057;
1897pub const MASK_VFNMACC_VF: u32 = 0xfc00707f;
1898pub const MATCH_VFNMACC_VV: u32 = 0xb4001057;
1899pub const MASK_VFNMACC_VV: u32 = 0xfc00707f;
1900pub const MATCH_VFNMADD_VF: u32 = 0xa4005057;
1901pub const MASK_VFNMADD_VF: u32 = 0xfc00707f;
1902pub const MATCH_VFNMADD_VV: u32 = 0xa4001057;
1903pub const MASK_VFNMADD_VV: u32 = 0xfc00707f;
1904pub const MATCH_VFNMSAC_VF: u32 = 0xbc005057;
1905pub const MASK_VFNMSAC_VF: u32 = 0xfc00707f;
1906pub const MATCH_VFNMSAC_VV: u32 = 0xbc001057;
1907pub const MASK_VFNMSAC_VV: u32 = 0xfc00707f;
1908pub const MATCH_VFNMSUB_VF: u32 = 0xac005057;
1909pub const MASK_VFNMSUB_VF: u32 = 0xfc00707f;
1910pub const MATCH_VFNMSUB_VV: u32 = 0xac001057;
1911pub const MASK_VFNMSUB_VV: u32 = 0xfc00707f;
1912pub const MATCH_VFRDIV_VF: u32 = 0x84005057;
1913pub const MASK_VFRDIV_VF: u32 = 0xfc00707f;
1914pub const MATCH_VFREC7_V: u32 = 0x4c029057;
1915pub const MASK_VFREC7_V: u32 = 0xfc0ff07f;
1916pub const MATCH_VFREDMAX_VS: u32 = 0x1c001057;
1917pub const MASK_VFREDMAX_VS: u32 = 0xfc00707f;
1918pub const MATCH_VFREDMIN_VS: u32 = 0x14001057;
1919pub const MASK_VFREDMIN_VS: u32 = 0xfc00707f;
1920pub const MATCH_VFREDOSUM_VS: u32 = 0xc001057;
1921pub const MASK_VFREDOSUM_VS: u32 = 0xfc00707f;
1922pub const MATCH_VFREDSUM_VS: u32 = 0x4001057;
1923pub const MASK_VFREDSUM_VS: u32 = 0xfc00707f;
1924pub const MATCH_VFREDUSUM_VS: u32 = 0x4001057;
1925pub const MASK_VFREDUSUM_VS: u32 = 0xfc00707f;
1926pub const MATCH_VFRSQRT7_V: u32 = 0x4c021057;
1927pub const MASK_VFRSQRT7_V: u32 = 0xfc0ff07f;
1928pub const MATCH_VFRSUB_VF: u32 = 0x9c005057;
1929pub const MASK_VFRSUB_VF: u32 = 0xfc00707f;
1930pub const MATCH_VFSGNJ_VF: u32 = 0x20005057;
1931pub const MASK_VFSGNJ_VF: u32 = 0xfc00707f;
1932pub const MATCH_VFSGNJ_VV: u32 = 0x20001057;
1933pub const MASK_VFSGNJ_VV: u32 = 0xfc00707f;
1934pub const MATCH_VFSGNJN_VF: u32 = 0x24005057;
1935pub const MASK_VFSGNJN_VF: u32 = 0xfc00707f;
1936pub const MATCH_VFSGNJN_VV: u32 = 0x24001057;
1937pub const MASK_VFSGNJN_VV: u32 = 0xfc00707f;
1938pub const MATCH_VFSGNJX_VF: u32 = 0x28005057;
1939pub const MASK_VFSGNJX_VF: u32 = 0xfc00707f;
1940pub const MATCH_VFSGNJX_VV: u32 = 0x28001057;
1941pub const MASK_VFSGNJX_VV: u32 = 0xfc00707f;
1942pub const MATCH_VFSLIDE1DOWN_VF: u32 = 0x3c005057;
1943pub const MASK_VFSLIDE1DOWN_VF: u32 = 0xfc00707f;
1944pub const MATCH_VFSLIDE1UP_VF: u32 = 0x38005057;
1945pub const MASK_VFSLIDE1UP_VF: u32 = 0xfc00707f;
1946pub const MATCH_VFSQRT_V: u32 = 0x4c001057;
1947pub const MASK_VFSQRT_V: u32 = 0xfc0ff07f;
1948pub const MATCH_VFSUB_VF: u32 = 0x8005057;
1949pub const MASK_VFSUB_VF: u32 = 0xfc00707f;
1950pub const MATCH_VFSUB_VV: u32 = 0x8001057;
1951pub const MASK_VFSUB_VV: u32 = 0xfc00707f;
1952pub const MATCH_VFWADD_VF: u32 = 0xc0005057;
1953pub const MASK_VFWADD_VF: u32 = 0xfc00707f;
1954pub const MATCH_VFWADD_VV: u32 = 0xc0001057;
1955pub const MASK_VFWADD_VV: u32 = 0xfc00707f;
1956pub const MATCH_VFWADD_WF: u32 = 0xd0005057;
1957pub const MASK_VFWADD_WF: u32 = 0xfc00707f;
1958pub const MATCH_VFWADD_WV: u32 = 0xd0001057;
1959pub const MASK_VFWADD_WV: u32 = 0xfc00707f;
1960pub const MATCH_VFWCVT_F_F_V: u32 = 0x48061057;
1961pub const MASK_VFWCVT_F_F_V: u32 = 0xfc0ff07f;
1962pub const MATCH_VFWCVT_F_X_V: u32 = 0x48059057;
1963pub const MASK_VFWCVT_F_X_V: u32 = 0xfc0ff07f;
1964pub const MATCH_VFWCVT_F_XU_V: u32 = 0x48051057;
1965pub const MASK_VFWCVT_F_XU_V: u32 = 0xfc0ff07f;
1966pub const MATCH_VFWCVT_RTZ_X_F_V: u32 = 0x48079057;
1967pub const MASK_VFWCVT_RTZ_X_F_V: u32 = 0xfc0ff07f;
1968pub const MATCH_VFWCVT_RTZ_XU_F_V: u32 = 0x48071057;
1969pub const MASK_VFWCVT_RTZ_XU_F_V: u32 = 0xfc0ff07f;
1970pub const MATCH_VFWCVT_X_F_V: u32 = 0x48049057;
1971pub const MASK_VFWCVT_X_F_V: u32 = 0xfc0ff07f;
1972pub const MATCH_VFWCVT_XU_F_V: u32 = 0x48041057;
1973pub const MASK_VFWCVT_XU_F_V: u32 = 0xfc0ff07f;
1974pub const MATCH_VFWMACC_VF: u32 = 0xf0005057;
1975pub const MASK_VFWMACC_VF: u32 = 0xfc00707f;
1976pub const MATCH_VFWMACC_VV: u32 = 0xf0001057;
1977pub const MASK_VFWMACC_VV: u32 = 0xfc00707f;
1978pub const MATCH_VFWMSAC_VF: u32 = 0xf8005057;
1979pub const MASK_VFWMSAC_VF: u32 = 0xfc00707f;
1980pub const MATCH_VFWMSAC_VV: u32 = 0xf8001057;
1981pub const MASK_VFWMSAC_VV: u32 = 0xfc00707f;
1982pub const MATCH_VFWMUL_VF: u32 = 0xe0005057;
1983pub const MASK_VFWMUL_VF: u32 = 0xfc00707f;
1984pub const MATCH_VFWMUL_VV: u32 = 0xe0001057;
1985pub const MASK_VFWMUL_VV: u32 = 0xfc00707f;
1986pub const MATCH_VFWNMACC_VF: u32 = 0xf4005057;
1987pub const MASK_VFWNMACC_VF: u32 = 0xfc00707f;
1988pub const MATCH_VFWNMACC_VV: u32 = 0xf4001057;
1989pub const MASK_VFWNMACC_VV: u32 = 0xfc00707f;
1990pub const MATCH_VFWNMSAC_VF: u32 = 0xfc005057;
1991pub const MASK_VFWNMSAC_VF: u32 = 0xfc00707f;
1992pub const MATCH_VFWNMSAC_VV: u32 = 0xfc001057;
1993pub const MASK_VFWNMSAC_VV: u32 = 0xfc00707f;
1994pub const MATCH_VFWREDOSUM_VS: u32 = 0xcc001057;
1995pub const MASK_VFWREDOSUM_VS: u32 = 0xfc00707f;
1996pub const MATCH_VFWREDSUM_VS: u32 = 0xc4001057;
1997pub const MASK_VFWREDSUM_VS: u32 = 0xfc00707f;
1998pub const MATCH_VFWREDUSUM_VS: u32 = 0xc4001057;
1999pub const MASK_VFWREDUSUM_VS: u32 = 0xfc00707f;
2000pub const MATCH_VFWSUB_VF: u32 = 0xc8005057;
2001pub const MASK_VFWSUB_VF: u32 = 0xfc00707f;
2002pub const MATCH_VFWSUB_VV: u32 = 0xc8001057;
2003pub const MASK_VFWSUB_VV: u32 = 0xfc00707f;
2004pub const MATCH_VFWSUB_WF: u32 = 0xd8005057;
2005pub const MASK_VFWSUB_WF: u32 = 0xfc00707f;
2006pub const MATCH_VFWSUB_WV: u32 = 0xd8001057;
2007pub const MASK_VFWSUB_WV: u32 = 0xfc00707f;
2008pub const MATCH_VGHSH_VV: u32 = 0xb2002077;
2009pub const MASK_VGHSH_VV: u32 = 0xfe00707f;
2010pub const MATCH_VGMUL_VV: u32 = 0xa208a077;
2011pub const MASK_VGMUL_VV: u32 = 0xfe0ff07f;
2012pub const MATCH_VID_V: u32 = 0x5008a057;
2013pub const MASK_VID_V: u32 = 0xfdfff07f;
2014pub const MATCH_VIOTA_M: u32 = 0x50082057;
2015pub const MASK_VIOTA_M: u32 = 0xfc0ff07f;
2016pub const MATCH_VL1R_V: u32 = 0x2800007;
2017pub const MASK_VL1R_V: u32 = 0xfff0707f;
2018pub const MATCH_VL1RE16_V: u32 = 0x2805007;
2019pub const MASK_VL1RE16_V: u32 = 0xfff0707f;
2020pub const MATCH_VL1RE32_V: u32 = 0x2806007;
2021pub const MASK_VL1RE32_V: u32 = 0xfff0707f;
2022pub const MATCH_VL1RE64_V: u32 = 0x2807007;
2023pub const MASK_VL1RE64_V: u32 = 0xfff0707f;
2024pub const MATCH_VL1RE8_V: u32 = 0x2800007;
2025pub const MASK_VL1RE8_V: u32 = 0xfff0707f;
2026pub const MATCH_VL2R_V: u32 = 0x22800007;
2027pub const MASK_VL2R_V: u32 = 0xfff0707f;
2028pub const MATCH_VL2RE16_V: u32 = 0x22805007;
2029pub const MASK_VL2RE16_V: u32 = 0xfff0707f;
2030pub const MATCH_VL2RE32_V: u32 = 0x22806007;
2031pub const MASK_VL2RE32_V: u32 = 0xfff0707f;
2032pub const MATCH_VL2RE64_V: u32 = 0x22807007;
2033pub const MASK_VL2RE64_V: u32 = 0xfff0707f;
2034pub const MATCH_VL2RE8_V: u32 = 0x22800007;
2035pub const MASK_VL2RE8_V: u32 = 0xfff0707f;
2036pub const MATCH_VL4R_V: u32 = 0x62800007;
2037pub const MASK_VL4R_V: u32 = 0xfff0707f;
2038pub const MATCH_VL4RE16_V: u32 = 0x62805007;
2039pub const MASK_VL4RE16_V: u32 = 0xfff0707f;
2040pub const MATCH_VL4RE32_V: u32 = 0x62806007;
2041pub const MASK_VL4RE32_V: u32 = 0xfff0707f;
2042pub const MATCH_VL4RE64_V: u32 = 0x62807007;
2043pub const MASK_VL4RE64_V: u32 = 0xfff0707f;
2044pub const MATCH_VL4RE8_V: u32 = 0x62800007;
2045pub const MASK_VL4RE8_V: u32 = 0xfff0707f;
2046pub const MATCH_VL8R_V: u32 = 0xe2800007;
2047pub const MASK_VL8R_V: u32 = 0xfff0707f;
2048pub const MATCH_VL8RE16_V: u32 = 0xe2805007;
2049pub const MASK_VL8RE16_V: u32 = 0xfff0707f;
2050pub const MATCH_VL8RE32_V: u32 = 0xe2806007;
2051pub const MASK_VL8RE32_V: u32 = 0xfff0707f;
2052pub const MATCH_VL8RE64_V: u32 = 0xe2807007;
2053pub const MASK_VL8RE64_V: u32 = 0xfff0707f;
2054pub const MATCH_VL8RE8_V: u32 = 0xe2800007;
2055pub const MASK_VL8RE8_V: u32 = 0xfff0707f;
2056pub const MATCH_VLE16_V: u32 = 0x5007;
2057pub const MASK_VLE16_V: u32 = 0x1df0707f;
2058pub const MATCH_VLE16FF_V: u32 = 0x1005007;
2059pub const MASK_VLE16FF_V: u32 = 0x1df0707f;
2060pub const MATCH_VLE1_V: u32 = 0x2b00007;
2061pub const MASK_VLE1_V: u32 = 0xfff0707f;
2062pub const MATCH_VLE32_V: u32 = 0x6007;
2063pub const MASK_VLE32_V: u32 = 0x1df0707f;
2064pub const MATCH_VLE32FF_V: u32 = 0x1006007;
2065pub const MASK_VLE32FF_V: u32 = 0x1df0707f;
2066pub const MATCH_VLE64_V: u32 = 0x7007;
2067pub const MASK_VLE64_V: u32 = 0x1df0707f;
2068pub const MATCH_VLE64FF_V: u32 = 0x1007007;
2069pub const MASK_VLE64FF_V: u32 = 0x1df0707f;
2070pub const MATCH_VLE8_V: u32 = 0x7;
2071pub const MASK_VLE8_V: u32 = 0x1df0707f;
2072pub const MATCH_VLE8FF_V: u32 = 0x1000007;
2073pub const MASK_VLE8FF_V: u32 = 0x1df0707f;
2074pub const MATCH_VLM_V: u32 = 0x2b00007;
2075pub const MASK_VLM_V: u32 = 0xfff0707f;
2076pub const MATCH_VLOXEI16_V: u32 = 0xc005007;
2077pub const MASK_VLOXEI16_V: u32 = 0x1c00707f;
2078pub const MATCH_VLOXEI32_V: u32 = 0xc006007;
2079pub const MASK_VLOXEI32_V: u32 = 0x1c00707f;
2080pub const MATCH_VLOXEI64_V: u32 = 0xc007007;
2081pub const MASK_VLOXEI64_V: u32 = 0x1c00707f;
2082pub const MATCH_VLOXEI8_V: u32 = 0xc000007;
2083pub const MASK_VLOXEI8_V: u32 = 0x1c00707f;
2084pub const MATCH_VLSE16_V: u32 = 0x8005007;
2085pub const MASK_VLSE16_V: u32 = 0x1c00707f;
2086pub const MATCH_VLSE32_V: u32 = 0x8006007;
2087pub const MASK_VLSE32_V: u32 = 0x1c00707f;
2088pub const MATCH_VLSE64_V: u32 = 0x8007007;
2089pub const MASK_VLSE64_V: u32 = 0x1c00707f;
2090pub const MATCH_VLSE8_V: u32 = 0x8000007;
2091pub const MASK_VLSE8_V: u32 = 0x1c00707f;
2092pub const MATCH_VLUXEI16_V: u32 = 0x4005007;
2093pub const MASK_VLUXEI16_V: u32 = 0x1c00707f;
2094pub const MATCH_VLUXEI32_V: u32 = 0x4006007;
2095pub const MASK_VLUXEI32_V: u32 = 0x1c00707f;
2096pub const MATCH_VLUXEI64_V: u32 = 0x4007007;
2097pub const MASK_VLUXEI64_V: u32 = 0x1c00707f;
2098pub const MATCH_VLUXEI8_V: u32 = 0x4000007;
2099pub const MASK_VLUXEI8_V: u32 = 0x1c00707f;
2100pub const MATCH_VMACC_VV: u32 = 0xb4002057;
2101pub const MASK_VMACC_VV: u32 = 0xfc00707f;
2102pub const MATCH_VMACC_VX: u32 = 0xb4006057;
2103pub const MASK_VMACC_VX: u32 = 0xfc00707f;
2104pub const MATCH_VMADC_VI: u32 = 0x46003057;
2105pub const MASK_VMADC_VI: u32 = 0xfe00707f;
2106pub const MATCH_VMADC_VIM: u32 = 0x44003057;
2107pub const MASK_VMADC_VIM: u32 = 0xfe00707f;
2108pub const MATCH_VMADC_VV: u32 = 0x46000057;
2109pub const MASK_VMADC_VV: u32 = 0xfe00707f;
2110pub const MATCH_VMADC_VVM: u32 = 0x44000057;
2111pub const MASK_VMADC_VVM: u32 = 0xfe00707f;
2112pub const MATCH_VMADC_VX: u32 = 0x46004057;
2113pub const MASK_VMADC_VX: u32 = 0xfe00707f;
2114pub const MATCH_VMADC_VXM: u32 = 0x44004057;
2115pub const MASK_VMADC_VXM: u32 = 0xfe00707f;
2116pub const MATCH_VMADD_VV: u32 = 0xa4002057;
2117pub const MASK_VMADD_VV: u32 = 0xfc00707f;
2118pub const MATCH_VMADD_VX: u32 = 0xa4006057;
2119pub const MASK_VMADD_VX: u32 = 0xfc00707f;
2120pub const MATCH_VMAND_MM: u32 = 0x66002057;
2121pub const MASK_VMAND_MM: u32 = 0xfe00707f;
2122pub const MATCH_VMANDN_MM: u32 = 0x62002057;
2123pub const MASK_VMANDN_MM: u32 = 0xfe00707f;
2124pub const MATCH_VMANDNOT_MM: u32 = 0x60002057;
2125pub const MASK_VMANDNOT_MM: u32 = 0xfc00707f;
2126pub const MATCH_VMAX_VV: u32 = 0x1c000057;
2127pub const MASK_VMAX_VV: u32 = 0xfc00707f;
2128pub const MATCH_VMAX_VX: u32 = 0x1c004057;
2129pub const MASK_VMAX_VX: u32 = 0xfc00707f;
2130pub const MATCH_VMAXU_VV: u32 = 0x18000057;
2131pub const MASK_VMAXU_VV: u32 = 0xfc00707f;
2132pub const MATCH_VMAXU_VX: u32 = 0x18004057;
2133pub const MASK_VMAXU_VX: u32 = 0xfc00707f;
2134pub const MATCH_VMERGE_VIM: u32 = 0x5c003057;
2135pub const MASK_VMERGE_VIM: u32 = 0xfe00707f;
2136pub const MATCH_VMERGE_VVM: u32 = 0x5c000057;
2137pub const MASK_VMERGE_VVM: u32 = 0xfe00707f;
2138pub const MATCH_VMERGE_VXM: u32 = 0x5c004057;
2139pub const MASK_VMERGE_VXM: u32 = 0xfe00707f;
2140pub const MATCH_VMFEQ_VF: u32 = 0x60005057;
2141pub const MASK_VMFEQ_VF: u32 = 0xfc00707f;
2142pub const MATCH_VMFEQ_VV: u32 = 0x60001057;
2143pub const MASK_VMFEQ_VV: u32 = 0xfc00707f;
2144pub const MATCH_VMFGE_VF: u32 = 0x7c005057;
2145pub const MASK_VMFGE_VF: u32 = 0xfc00707f;
2146pub const MATCH_VMFGT_VF: u32 = 0x74005057;
2147pub const MASK_VMFGT_VF: u32 = 0xfc00707f;
2148pub const MATCH_VMFLE_VF: u32 = 0x64005057;
2149pub const MASK_VMFLE_VF: u32 = 0xfc00707f;
2150pub const MATCH_VMFLE_VV: u32 = 0x64001057;
2151pub const MASK_VMFLE_VV: u32 = 0xfc00707f;
2152pub const MATCH_VMFLT_VF: u32 = 0x6c005057;
2153pub const MASK_VMFLT_VF: u32 = 0xfc00707f;
2154pub const MATCH_VMFLT_VV: u32 = 0x6c001057;
2155pub const MASK_VMFLT_VV: u32 = 0xfc00707f;
2156pub const MATCH_VMFNE_VF: u32 = 0x70005057;
2157pub const MASK_VMFNE_VF: u32 = 0xfc00707f;
2158pub const MATCH_VMFNE_VV: u32 = 0x70001057;
2159pub const MASK_VMFNE_VV: u32 = 0xfc00707f;
2160pub const MATCH_VMIN_VV: u32 = 0x14000057;
2161pub const MASK_VMIN_VV: u32 = 0xfc00707f;
2162pub const MATCH_VMIN_VX: u32 = 0x14004057;
2163pub const MASK_VMIN_VX: u32 = 0xfc00707f;
2164pub const MATCH_VMINU_VV: u32 = 0x10000057;
2165pub const MASK_VMINU_VV: u32 = 0xfc00707f;
2166pub const MATCH_VMINU_VX: u32 = 0x10004057;
2167pub const MASK_VMINU_VX: u32 = 0xfc00707f;
2168pub const MATCH_VMNAND_MM: u32 = 0x76002057;
2169pub const MASK_VMNAND_MM: u32 = 0xfe00707f;
2170pub const MATCH_VMNOR_MM: u32 = 0x7a002057;
2171pub const MASK_VMNOR_MM: u32 = 0xfe00707f;
2172pub const MATCH_VMOR_MM: u32 = 0x6a002057;
2173pub const MASK_VMOR_MM: u32 = 0xfe00707f;
2174pub const MATCH_VMORN_MM: u32 = 0x72002057;
2175pub const MASK_VMORN_MM: u32 = 0xfe00707f;
2176pub const MATCH_VMORNOT_MM: u32 = 0x70002057;
2177pub const MASK_VMORNOT_MM: u32 = 0xfc00707f;
2178pub const MATCH_VMSBC_VV: u32 = 0x4e000057;
2179pub const MASK_VMSBC_VV: u32 = 0xfe00707f;
2180pub const MATCH_VMSBC_VVM: u32 = 0x4c000057;
2181pub const MASK_VMSBC_VVM: u32 = 0xfe00707f;
2182pub const MATCH_VMSBC_VX: u32 = 0x4e004057;
2183pub const MASK_VMSBC_VX: u32 = 0xfe00707f;
2184pub const MATCH_VMSBC_VXM: u32 = 0x4c004057;
2185pub const MASK_VMSBC_VXM: u32 = 0xfe00707f;
2186pub const MATCH_VMSBF_M: u32 = 0x5000a057;
2187pub const MASK_VMSBF_M: u32 = 0xfc0ff07f;
2188pub const MATCH_VMSEQ_VI: u32 = 0x60003057;
2189pub const MASK_VMSEQ_VI: u32 = 0xfc00707f;
2190pub const MATCH_VMSEQ_VV: u32 = 0x60000057;
2191pub const MASK_VMSEQ_VV: u32 = 0xfc00707f;
2192pub const MATCH_VMSEQ_VX: u32 = 0x60004057;
2193pub const MASK_VMSEQ_VX: u32 = 0xfc00707f;
2194pub const MATCH_VMSGT_VI: u32 = 0x7c003057;
2195pub const MASK_VMSGT_VI: u32 = 0xfc00707f;
2196pub const MATCH_VMSGT_VX: u32 = 0x7c004057;
2197pub const MASK_VMSGT_VX: u32 = 0xfc00707f;
2198pub const MATCH_VMSGTU_VI: u32 = 0x78003057;
2199pub const MASK_VMSGTU_VI: u32 = 0xfc00707f;
2200pub const MATCH_VMSGTU_VX: u32 = 0x78004057;
2201pub const MASK_VMSGTU_VX: u32 = 0xfc00707f;
2202pub const MATCH_VMSIF_M: u32 = 0x5001a057;
2203pub const MASK_VMSIF_M: u32 = 0xfc0ff07f;
2204pub const MATCH_VMSLE_VI: u32 = 0x74003057;
2205pub const MASK_VMSLE_VI: u32 = 0xfc00707f;
2206pub const MATCH_VMSLE_VV: u32 = 0x74000057;
2207pub const MASK_VMSLE_VV: u32 = 0xfc00707f;
2208pub const MATCH_VMSLE_VX: u32 = 0x74004057;
2209pub const MASK_VMSLE_VX: u32 = 0xfc00707f;
2210pub const MATCH_VMSLEU_VI: u32 = 0x70003057;
2211pub const MASK_VMSLEU_VI: u32 = 0xfc00707f;
2212pub const MATCH_VMSLEU_VV: u32 = 0x70000057;
2213pub const MASK_VMSLEU_VV: u32 = 0xfc00707f;
2214pub const MATCH_VMSLEU_VX: u32 = 0x70004057;
2215pub const MASK_VMSLEU_VX: u32 = 0xfc00707f;
2216pub const MATCH_VMSLT_VV: u32 = 0x6c000057;
2217pub const MASK_VMSLT_VV: u32 = 0xfc00707f;
2218pub const MATCH_VMSLT_VX: u32 = 0x6c004057;
2219pub const MASK_VMSLT_VX: u32 = 0xfc00707f;
2220pub const MATCH_VMSLTU_VV: u32 = 0x68000057;
2221pub const MASK_VMSLTU_VV: u32 = 0xfc00707f;
2222pub const MATCH_VMSLTU_VX: u32 = 0x68004057;
2223pub const MASK_VMSLTU_VX: u32 = 0xfc00707f;
2224pub const MATCH_VMSNE_VI: u32 = 0x64003057;
2225pub const MASK_VMSNE_VI: u32 = 0xfc00707f;
2226pub const MATCH_VMSNE_VV: u32 = 0x64000057;
2227pub const MASK_VMSNE_VV: u32 = 0xfc00707f;
2228pub const MATCH_VMSNE_VX: u32 = 0x64004057;
2229pub const MASK_VMSNE_VX: u32 = 0xfc00707f;
2230pub const MATCH_VMSOF_M: u32 = 0x50012057;
2231pub const MASK_VMSOF_M: u32 = 0xfc0ff07f;
2232pub const MATCH_VMUL_VV: u32 = 0x94002057;
2233pub const MASK_VMUL_VV: u32 = 0xfc00707f;
2234pub const MATCH_VMUL_VX: u32 = 0x94006057;
2235pub const MASK_VMUL_VX: u32 = 0xfc00707f;
2236pub const MATCH_VMULH_VV: u32 = 0x9c002057;
2237pub const MASK_VMULH_VV: u32 = 0xfc00707f;
2238pub const MATCH_VMULH_VX: u32 = 0x9c006057;
2239pub const MASK_VMULH_VX: u32 = 0xfc00707f;
2240pub const MATCH_VMULHSU_VV: u32 = 0x98002057;
2241pub const MASK_VMULHSU_VV: u32 = 0xfc00707f;
2242pub const MATCH_VMULHSU_VX: u32 = 0x98006057;
2243pub const MASK_VMULHSU_VX: u32 = 0xfc00707f;
2244pub const MATCH_VMULHU_VV: u32 = 0x90002057;
2245pub const MASK_VMULHU_VV: u32 = 0xfc00707f;
2246pub const MATCH_VMULHU_VX: u32 = 0x90006057;
2247pub const MASK_VMULHU_VX: u32 = 0xfc00707f;
2248pub const MATCH_VMV1R_V: u32 = 0x9e003057;
2249pub const MASK_VMV1R_V: u32 = 0xfe0ff07f;
2250pub const MATCH_VMV2R_V: u32 = 0x9e00b057;
2251pub const MASK_VMV2R_V: u32 = 0xfe0ff07f;
2252pub const MATCH_VMV4R_V: u32 = 0x9e01b057;
2253pub const MASK_VMV4R_V: u32 = 0xfe0ff07f;
2254pub const MATCH_VMV8R_V: u32 = 0x9e03b057;
2255pub const MASK_VMV8R_V: u32 = 0xfe0ff07f;
2256pub const MATCH_VMV_S_X: u32 = 0x42006057;
2257pub const MASK_VMV_S_X: u32 = 0xfff0707f;
2258pub const MATCH_VMV_V_I: u32 = 0x5e003057;
2259pub const MASK_VMV_V_I: u32 = 0xfff0707f;
2260pub const MATCH_VMV_V_V: u32 = 0x5e000057;
2261pub const MASK_VMV_V_V: u32 = 0xfff0707f;
2262pub const MATCH_VMV_V_X: u32 = 0x5e004057;
2263pub const MASK_VMV_V_X: u32 = 0xfff0707f;
2264pub const MATCH_VMV_X_S: u32 = 0x42002057;
2265pub const MASK_VMV_X_S: u32 = 0xfe0ff07f;
2266pub const MATCH_VMXNOR_MM: u32 = 0x7e002057;
2267pub const MASK_VMXNOR_MM: u32 = 0xfe00707f;
2268pub const MATCH_VMXOR_MM: u32 = 0x6e002057;
2269pub const MASK_VMXOR_MM: u32 = 0xfe00707f;
2270pub const MATCH_VNCLIP_WI: u32 = 0xbc003057;
2271pub const MASK_VNCLIP_WI: u32 = 0xfc00707f;
2272pub const MATCH_VNCLIP_WV: u32 = 0xbc000057;
2273pub const MASK_VNCLIP_WV: u32 = 0xfc00707f;
2274pub const MATCH_VNCLIP_WX: u32 = 0xbc004057;
2275pub const MASK_VNCLIP_WX: u32 = 0xfc00707f;
2276pub const MATCH_VNCLIPU_WI: u32 = 0xb8003057;
2277pub const MASK_VNCLIPU_WI: u32 = 0xfc00707f;
2278pub const MATCH_VNCLIPU_WV: u32 = 0xb8000057;
2279pub const MASK_VNCLIPU_WV: u32 = 0xfc00707f;
2280pub const MATCH_VNCLIPU_WX: u32 = 0xb8004057;
2281pub const MASK_VNCLIPU_WX: u32 = 0xfc00707f;
2282pub const MATCH_VNMSAC_VV: u32 = 0xbc002057;
2283pub const MASK_VNMSAC_VV: u32 = 0xfc00707f;
2284pub const MATCH_VNMSAC_VX: u32 = 0xbc006057;
2285pub const MASK_VNMSAC_VX: u32 = 0xfc00707f;
2286pub const MATCH_VNMSUB_VV: u32 = 0xac002057;
2287pub const MASK_VNMSUB_VV: u32 = 0xfc00707f;
2288pub const MATCH_VNMSUB_VX: u32 = 0xac006057;
2289pub const MASK_VNMSUB_VX: u32 = 0xfc00707f;
2290pub const MATCH_VNSRA_WI: u32 = 0xb4003057;
2291pub const MASK_VNSRA_WI: u32 = 0xfc00707f;
2292pub const MATCH_VNSRA_WV: u32 = 0xb4000057;
2293pub const MASK_VNSRA_WV: u32 = 0xfc00707f;
2294pub const MATCH_VNSRA_WX: u32 = 0xb4004057;
2295pub const MASK_VNSRA_WX: u32 = 0xfc00707f;
2296pub const MATCH_VNSRL_WI: u32 = 0xb0003057;
2297pub const MASK_VNSRL_WI: u32 = 0xfc00707f;
2298pub const MATCH_VNSRL_WV: u32 = 0xb0000057;
2299pub const MASK_VNSRL_WV: u32 = 0xfc00707f;
2300pub const MATCH_VNSRL_WX: u32 = 0xb0004057;
2301pub const MASK_VNSRL_WX: u32 = 0xfc00707f;
2302pub const MATCH_VOR_VI: u32 = 0x28003057;
2303pub const MASK_VOR_VI: u32 = 0xfc00707f;
2304pub const MATCH_VOR_VV: u32 = 0x28000057;
2305pub const MASK_VOR_VV: u32 = 0xfc00707f;
2306pub const MATCH_VOR_VX: u32 = 0x28004057;
2307pub const MASK_VOR_VX: u32 = 0xfc00707f;
2308pub const MATCH_VPOPC_M: u32 = 0x40082057;
2309pub const MASK_VPOPC_M: u32 = 0xfc0ff07f;
2310pub const MATCH_VREDAND_VS: u32 = 0x4002057;
2311pub const MASK_VREDAND_VS: u32 = 0xfc00707f;
2312pub const MATCH_VREDMAX_VS: u32 = 0x1c002057;
2313pub const MASK_VREDMAX_VS: u32 = 0xfc00707f;
2314pub const MATCH_VREDMAXU_VS: u32 = 0x18002057;
2315pub const MASK_VREDMAXU_VS: u32 = 0xfc00707f;
2316pub const MATCH_VREDMIN_VS: u32 = 0x14002057;
2317pub const MASK_VREDMIN_VS: u32 = 0xfc00707f;
2318pub const MATCH_VREDMINU_VS: u32 = 0x10002057;
2319pub const MASK_VREDMINU_VS: u32 = 0xfc00707f;
2320pub const MATCH_VREDOR_VS: u32 = 0x8002057;
2321pub const MASK_VREDOR_VS: u32 = 0xfc00707f;
2322pub const MATCH_VREDSUM_VS: u32 = 0x2057;
2323pub const MASK_VREDSUM_VS: u32 = 0xfc00707f;
2324pub const MATCH_VREDXOR_VS: u32 = 0xc002057;
2325pub const MASK_VREDXOR_VS: u32 = 0xfc00707f;
2326pub const MATCH_VREM_VV: u32 = 0x8c002057;
2327pub const MASK_VREM_VV: u32 = 0xfc00707f;
2328pub const MATCH_VREM_VX: u32 = 0x8c006057;
2329pub const MASK_VREM_VX: u32 = 0xfc00707f;
2330pub const MATCH_VREMU_VV: u32 = 0x88002057;
2331pub const MASK_VREMU_VV: u32 = 0xfc00707f;
2332pub const MATCH_VREMU_VX: u32 = 0x88006057;
2333pub const MASK_VREMU_VX: u32 = 0xfc00707f;
2334pub const MATCH_VREV8_V: u32 = 0x4804a057;
2335pub const MASK_VREV8_V: u32 = 0xfc0ff07f;
2336pub const MATCH_VRGATHER_VI: u32 = 0x30003057;
2337pub const MASK_VRGATHER_VI: u32 = 0xfc00707f;
2338pub const MATCH_VRGATHER_VV: u32 = 0x30000057;
2339pub const MASK_VRGATHER_VV: u32 = 0xfc00707f;
2340pub const MATCH_VRGATHER_VX: u32 = 0x30004057;
2341pub const MASK_VRGATHER_VX: u32 = 0xfc00707f;
2342pub const MATCH_VRGATHEREI16_VV: u32 = 0x38000057;
2343pub const MASK_VRGATHEREI16_VV: u32 = 0xfc00707f;
2344pub const MATCH_VROL_VV: u32 = 0x54000057;
2345pub const MASK_VROL_VV: u32 = 0xfc00707f;
2346pub const MATCH_VROL_VX: u32 = 0x54004057;
2347pub const MASK_VROL_VX: u32 = 0xfc00707f;
2348pub const MATCH_VROR_VI: u32 = 0x50003057;
2349pub const MASK_VROR_VI: u32 = 0xf800707f;
2350pub const MATCH_VROR_VV: u32 = 0x50000057;
2351pub const MASK_VROR_VV: u32 = 0xfc00707f;
2352pub const MATCH_VROR_VX: u32 = 0x50004057;
2353pub const MASK_VROR_VX: u32 = 0xfc00707f;
2354pub const MATCH_VRSUB_VI: u32 = 0xc003057;
2355pub const MASK_VRSUB_VI: u32 = 0xfc00707f;
2356pub const MATCH_VRSUB_VX: u32 = 0xc004057;
2357pub const MASK_VRSUB_VX: u32 = 0xfc00707f;
2358pub const MATCH_VS1R_V: u32 = 0x2800027;
2359pub const MASK_VS1R_V: u32 = 0xfff0707f;
2360pub const MATCH_VS2R_V: u32 = 0x22800027;
2361pub const MASK_VS2R_V: u32 = 0xfff0707f;
2362pub const MATCH_VS4R_V: u32 = 0x62800027;
2363pub const MASK_VS4R_V: u32 = 0xfff0707f;
2364pub const MATCH_VS8R_V: u32 = 0xe2800027;
2365pub const MASK_VS8R_V: u32 = 0xfff0707f;
2366pub const MATCH_VSADD_VI: u32 = 0x84003057;
2367pub const MASK_VSADD_VI: u32 = 0xfc00707f;
2368pub const MATCH_VSADD_VV: u32 = 0x84000057;
2369pub const MASK_VSADD_VV: u32 = 0xfc00707f;
2370pub const MATCH_VSADD_VX: u32 = 0x84004057;
2371pub const MASK_VSADD_VX: u32 = 0xfc00707f;
2372pub const MATCH_VSADDU_VI: u32 = 0x80003057;
2373pub const MASK_VSADDU_VI: u32 = 0xfc00707f;
2374pub const MATCH_VSADDU_VV: u32 = 0x80000057;
2375pub const MASK_VSADDU_VV: u32 = 0xfc00707f;
2376pub const MATCH_VSADDU_VX: u32 = 0x80004057;
2377pub const MASK_VSADDU_VX: u32 = 0xfc00707f;
2378pub const MATCH_VSBC_VVM: u32 = 0x48000057;
2379pub const MASK_VSBC_VVM: u32 = 0xfe00707f;
2380pub const MATCH_VSBC_VXM: u32 = 0x48004057;
2381pub const MASK_VSBC_VXM: u32 = 0xfe00707f;
2382pub const MATCH_VSE16_V: u32 = 0x5027;
2383pub const MASK_VSE16_V: u32 = 0x1df0707f;
2384pub const MATCH_VSE1_V: u32 = 0x2b00027;
2385pub const MASK_VSE1_V: u32 = 0xfff0707f;
2386pub const MATCH_VSE32_V: u32 = 0x6027;
2387pub const MASK_VSE32_V: u32 = 0x1df0707f;
2388pub const MATCH_VSE64_V: u32 = 0x7027;
2389pub const MASK_VSE64_V: u32 = 0x1df0707f;
2390pub const MATCH_VSE8_V: u32 = 0x27;
2391pub const MASK_VSE8_V: u32 = 0x1df0707f;
2392pub const MATCH_VSETIVLI: u32 = 0xc0007057;
2393pub const MASK_VSETIVLI: u32 = 0xc000707f;
2394pub const MATCH_VSETVL: u32 = 0x80007057;
2395pub const MASK_VSETVL: u32 = 0xfe00707f;
2396pub const MATCH_VSETVLI: u32 = 0x7057;
2397pub const MASK_VSETVLI: u32 = 0x8000707f;
2398pub const MATCH_VSEXT_VF2: u32 = 0x4803a057;
2399pub const MASK_VSEXT_VF2: u32 = 0xfc0ff07f;
2400pub const MATCH_VSEXT_VF4: u32 = 0x4802a057;
2401pub const MASK_VSEXT_VF4: u32 = 0xfc0ff07f;
2402pub const MATCH_VSEXT_VF8: u32 = 0x4801a057;
2403pub const MASK_VSEXT_VF8: u32 = 0xfc0ff07f;
2404pub const MATCH_VSHA2CH_VV: u32 = 0xba002077;
2405pub const MASK_VSHA2CH_VV: u32 = 0xfe00707f;
2406pub const MATCH_VSHA2CL_VV: u32 = 0xbe002077;
2407pub const MASK_VSHA2CL_VV: u32 = 0xfe00707f;
2408pub const MATCH_VSHA2MS_VV: u32 = 0xb6002077;
2409pub const MASK_VSHA2MS_VV: u32 = 0xfe00707f;
2410pub const MATCH_VSLIDE1DOWN_VX: u32 = 0x3c006057;
2411pub const MASK_VSLIDE1DOWN_VX: u32 = 0xfc00707f;
2412pub const MATCH_VSLIDE1UP_VX: u32 = 0x38006057;
2413pub const MASK_VSLIDE1UP_VX: u32 = 0xfc00707f;
2414pub const MATCH_VSLIDEDOWN_VI: u32 = 0x3c003057;
2415pub const MASK_VSLIDEDOWN_VI: u32 = 0xfc00707f;
2416pub const MATCH_VSLIDEDOWN_VX: u32 = 0x3c004057;
2417pub const MASK_VSLIDEDOWN_VX: u32 = 0xfc00707f;
2418pub const MATCH_VSLIDEUP_VI: u32 = 0x38003057;
2419pub const MASK_VSLIDEUP_VI: u32 = 0xfc00707f;
2420pub const MATCH_VSLIDEUP_VX: u32 = 0x38004057;
2421pub const MASK_VSLIDEUP_VX: u32 = 0xfc00707f;
2422pub const MATCH_VSLL_VI: u32 = 0x94003057;
2423pub const MASK_VSLL_VI: u32 = 0xfc00707f;
2424pub const MATCH_VSLL_VV: u32 = 0x94000057;
2425pub const MASK_VSLL_VV: u32 = 0xfc00707f;
2426pub const MATCH_VSLL_VX: u32 = 0x94004057;
2427pub const MASK_VSLL_VX: u32 = 0xfc00707f;
2428pub const MATCH_VSM3C_VI: u32 = 0xae002077;
2429pub const MASK_VSM3C_VI: u32 = 0xfe00707f;
2430pub const MATCH_VSM3ME_VV: u32 = 0x82002077;
2431pub const MASK_VSM3ME_VV: u32 = 0xfe00707f;
2432pub const MATCH_VSM4K_VI: u32 = 0x86002077;
2433pub const MASK_VSM4K_VI: u32 = 0xfe00707f;
2434pub const MATCH_VSM4R_VS: u32 = 0xa6082077;
2435pub const MASK_VSM4R_VS: u32 = 0xfe0ff07f;
2436pub const MATCH_VSM4R_VV: u32 = 0xa2082077;
2437pub const MASK_VSM4R_VV: u32 = 0xfe0ff07f;
2438pub const MATCH_VSM_V: u32 = 0x2b00027;
2439pub const MASK_VSM_V: u32 = 0xfff0707f;
2440pub const MATCH_VSMUL_VV: u32 = 0x9c000057;
2441pub const MASK_VSMUL_VV: u32 = 0xfc00707f;
2442pub const MATCH_VSMUL_VX: u32 = 0x9c004057;
2443pub const MASK_VSMUL_VX: u32 = 0xfc00707f;
2444pub const MATCH_VSOXEI16_V: u32 = 0xc005027;
2445pub const MASK_VSOXEI16_V: u32 = 0x1c00707f;
2446pub const MATCH_VSOXEI32_V: u32 = 0xc006027;
2447pub const MASK_VSOXEI32_V: u32 = 0x1c00707f;
2448pub const MATCH_VSOXEI64_V: u32 = 0xc007027;
2449pub const MASK_VSOXEI64_V: u32 = 0x1c00707f;
2450pub const MATCH_VSOXEI8_V: u32 = 0xc000027;
2451pub const MASK_VSOXEI8_V: u32 = 0x1c00707f;
2452pub const MATCH_VSRA_VI: u32 = 0xa4003057;
2453pub const MASK_VSRA_VI: u32 = 0xfc00707f;
2454pub const MATCH_VSRA_VV: u32 = 0xa4000057;
2455pub const MASK_VSRA_VV: u32 = 0xfc00707f;
2456pub const MATCH_VSRA_VX: u32 = 0xa4004057;
2457pub const MASK_VSRA_VX: u32 = 0xfc00707f;
2458pub const MATCH_VSRL_VI: u32 = 0xa0003057;
2459pub const MASK_VSRL_VI: u32 = 0xfc00707f;
2460pub const MATCH_VSRL_VV: u32 = 0xa0000057;
2461pub const MASK_VSRL_VV: u32 = 0xfc00707f;
2462pub const MATCH_VSRL_VX: u32 = 0xa0004057;
2463pub const MASK_VSRL_VX: u32 = 0xfc00707f;
2464pub const MATCH_VSSE16_V: u32 = 0x8005027;
2465pub const MASK_VSSE16_V: u32 = 0x1c00707f;
2466pub const MATCH_VSSE32_V: u32 = 0x8006027;
2467pub const MASK_VSSE32_V: u32 = 0x1c00707f;
2468pub const MATCH_VSSE64_V: u32 = 0x8007027;
2469pub const MASK_VSSE64_V: u32 = 0x1c00707f;
2470pub const MATCH_VSSE8_V: u32 = 0x8000027;
2471pub const MASK_VSSE8_V: u32 = 0x1c00707f;
2472pub const MATCH_VSSRA_VI: u32 = 0xac003057;
2473pub const MASK_VSSRA_VI: u32 = 0xfc00707f;
2474pub const MATCH_VSSRA_VV: u32 = 0xac000057;
2475pub const MASK_VSSRA_VV: u32 = 0xfc00707f;
2476pub const MATCH_VSSRA_VX: u32 = 0xac004057;
2477pub const MASK_VSSRA_VX: u32 = 0xfc00707f;
2478pub const MATCH_VSSRL_VI: u32 = 0xa8003057;
2479pub const MASK_VSSRL_VI: u32 = 0xfc00707f;
2480pub const MATCH_VSSRL_VV: u32 = 0xa8000057;
2481pub const MASK_VSSRL_VV: u32 = 0xfc00707f;
2482pub const MATCH_VSSRL_VX: u32 = 0xa8004057;
2483pub const MASK_VSSRL_VX: u32 = 0xfc00707f;
2484pub const MATCH_VSSUB_VV: u32 = 0x8c000057;
2485pub const MASK_VSSUB_VV: u32 = 0xfc00707f;
2486pub const MATCH_VSSUB_VX: u32 = 0x8c004057;
2487pub const MASK_VSSUB_VX: u32 = 0xfc00707f;
2488pub const MATCH_VSSUBU_VV: u32 = 0x88000057;
2489pub const MASK_VSSUBU_VV: u32 = 0xfc00707f;
2490pub const MATCH_VSSUBU_VX: u32 = 0x88004057;
2491pub const MASK_VSSUBU_VX: u32 = 0xfc00707f;
2492pub const MATCH_VSUB_VV: u32 = 0x8000057;
2493pub const MASK_VSUB_VV: u32 = 0xfc00707f;
2494pub const MATCH_VSUB_VX: u32 = 0x8004057;
2495pub const MASK_VSUB_VX: u32 = 0xfc00707f;
2496pub const MATCH_VSUXEI16_V: u32 = 0x4005027;
2497pub const MASK_VSUXEI16_V: u32 = 0x1c00707f;
2498pub const MATCH_VSUXEI32_V: u32 = 0x4006027;
2499pub const MASK_VSUXEI32_V: u32 = 0x1c00707f;
2500pub const MATCH_VSUXEI64_V: u32 = 0x4007027;
2501pub const MASK_VSUXEI64_V: u32 = 0x1c00707f;
2502pub const MATCH_VSUXEI8_V: u32 = 0x4000027;
2503pub const MASK_VSUXEI8_V: u32 = 0x1c00707f;
2504pub const MATCH_VWADD_VV: u32 = 0xc4002057;
2505pub const MASK_VWADD_VV: u32 = 0xfc00707f;
2506pub const MATCH_VWADD_VX: u32 = 0xc4006057;
2507pub const MASK_VWADD_VX: u32 = 0xfc00707f;
2508pub const MATCH_VWADD_WV: u32 = 0xd4002057;
2509pub const MASK_VWADD_WV: u32 = 0xfc00707f;
2510pub const MATCH_VWADD_WX: u32 = 0xd4006057;
2511pub const MASK_VWADD_WX: u32 = 0xfc00707f;
2512pub const MATCH_VWADDU_VV: u32 = 0xc0002057;
2513pub const MASK_VWADDU_VV: u32 = 0xfc00707f;
2514pub const MATCH_VWADDU_VX: u32 = 0xc0006057;
2515pub const MASK_VWADDU_VX: u32 = 0xfc00707f;
2516pub const MATCH_VWADDU_WV: u32 = 0xd0002057;
2517pub const MASK_VWADDU_WV: u32 = 0xfc00707f;
2518pub const MATCH_VWADDU_WX: u32 = 0xd0006057;
2519pub const MASK_VWADDU_WX: u32 = 0xfc00707f;
2520pub const MATCH_VWMACC_VV: u32 = 0xf4002057;
2521pub const MASK_VWMACC_VV: u32 = 0xfc00707f;
2522pub const MATCH_VWMACC_VX: u32 = 0xf4006057;
2523pub const MASK_VWMACC_VX: u32 = 0xfc00707f;
2524pub const MATCH_VWMACCSU_VV: u32 = 0xfc002057;
2525pub const MASK_VWMACCSU_VV: u32 = 0xfc00707f;
2526pub const MATCH_VWMACCSU_VX: u32 = 0xfc006057;
2527pub const MASK_VWMACCSU_VX: u32 = 0xfc00707f;
2528pub const MATCH_VWMACCU_VV: u32 = 0xf0002057;
2529pub const MASK_VWMACCU_VV: u32 = 0xfc00707f;
2530pub const MATCH_VWMACCU_VX: u32 = 0xf0006057;
2531pub const MASK_VWMACCU_VX: u32 = 0xfc00707f;
2532pub const MATCH_VWMACCUS_VX: u32 = 0xf8006057;
2533pub const MASK_VWMACCUS_VX: u32 = 0xfc00707f;
2534pub const MATCH_VWMUL_VV: u32 = 0xec002057;
2535pub const MASK_VWMUL_VV: u32 = 0xfc00707f;
2536pub const MATCH_VWMUL_VX: u32 = 0xec006057;
2537pub const MASK_VWMUL_VX: u32 = 0xfc00707f;
2538pub const MATCH_VWMULSU_VV: u32 = 0xe8002057;
2539pub const MASK_VWMULSU_VV: u32 = 0xfc00707f;
2540pub const MATCH_VWMULSU_VX: u32 = 0xe8006057;
2541pub const MASK_VWMULSU_VX: u32 = 0xfc00707f;
2542pub const MATCH_VWMULU_VV: u32 = 0xe0002057;
2543pub const MASK_VWMULU_VV: u32 = 0xfc00707f;
2544pub const MATCH_VWMULU_VX: u32 = 0xe0006057;
2545pub const MASK_VWMULU_VX: u32 = 0xfc00707f;
2546pub const MATCH_VWREDSUM_VS: u32 = 0xc4000057;
2547pub const MASK_VWREDSUM_VS: u32 = 0xfc00707f;
2548pub const MATCH_VWREDSUMU_VS: u32 = 0xc0000057;
2549pub const MASK_VWREDSUMU_VS: u32 = 0xfc00707f;
2550pub const MATCH_VWSLL_VI: u32 = 0xd4003057;
2551pub const MASK_VWSLL_VI: u32 = 0xfc00707f;
2552pub const MATCH_VWSLL_VV: u32 = 0xd4000057;
2553pub const MASK_VWSLL_VV: u32 = 0xfc00707f;
2554pub const MATCH_VWSLL_VX: u32 = 0xd4004057;
2555pub const MASK_VWSLL_VX: u32 = 0xfc00707f;
2556pub const MATCH_VWSUB_VV: u32 = 0xcc002057;
2557pub const MASK_VWSUB_VV: u32 = 0xfc00707f;
2558pub const MATCH_VWSUB_VX: u32 = 0xcc006057;
2559pub const MASK_VWSUB_VX: u32 = 0xfc00707f;
2560pub const MATCH_VWSUB_WV: u32 = 0xdc002057;
2561pub const MASK_VWSUB_WV: u32 = 0xfc00707f;
2562pub const MATCH_VWSUB_WX: u32 = 0xdc006057;
2563pub const MASK_VWSUB_WX: u32 = 0xfc00707f;
2564pub const MATCH_VWSUBU_VV: u32 = 0xc8002057;
2565pub const MASK_VWSUBU_VV: u32 = 0xfc00707f;
2566pub const MATCH_VWSUBU_VX: u32 = 0xc8006057;
2567pub const MASK_VWSUBU_VX: u32 = 0xfc00707f;
2568pub const MATCH_VWSUBU_WV: u32 = 0xd8002057;
2569pub const MASK_VWSUBU_WV: u32 = 0xfc00707f;
2570pub const MATCH_VWSUBU_WX: u32 = 0xd8006057;
2571pub const MASK_VWSUBU_WX: u32 = 0xfc00707f;
2572pub const MATCH_VXOR_VI: u32 = 0x2c003057;
2573pub const MASK_VXOR_VI: u32 = 0xfc00707f;
2574pub const MATCH_VXOR_VV: u32 = 0x2c000057;
2575pub const MASK_VXOR_VV: u32 = 0xfc00707f;
2576pub const MATCH_VXOR_VX: u32 = 0x2c004057;
2577pub const MASK_VXOR_VX: u32 = 0xfc00707f;
2578pub const MATCH_VZEXT_VF2: u32 = 0x48032057;
2579pub const MASK_VZEXT_VF2: u32 = 0xfc0ff07f;
2580pub const MATCH_VZEXT_VF4: u32 = 0x48022057;
2581pub const MASK_VZEXT_VF4: u32 = 0xfc0ff07f;
2582pub const MATCH_VZEXT_VF8: u32 = 0x48012057;
2583pub const MASK_VZEXT_VF8: u32 = 0xfc0ff07f;
2584pub const MATCH_WFI: u32 = 0x10500073;
2585pub const MASK_WFI: u32 = 0xffffffff;
2586pub const MATCH_WRS_NTO: u32 = 0xd00073;
2587pub const MASK_WRS_NTO: u32 = 0xffffffff;
2588pub const MATCH_WRS_STO: u32 = 0x1d00073;
2589pub const MASK_WRS_STO: u32 = 0xffffffff;
2590pub const MATCH_XNOR: u32 = 0x40004033;
2591pub const MASK_XNOR: u32 = 0xfe00707f;
2592pub const MATCH_XOR: u32 = 0x4033;
2593pub const MASK_XOR: u32 = 0xfe00707f;
2594pub const MATCH_XORI: u32 = 0x4013;
2595pub const MASK_XORI: u32 = 0x707f;
2596pub const MATCH_XPERM4: u32 = 0x28002033;
2597pub const MASK_XPERM4: u32 = 0xfe00707f;
2598pub const MATCH_XPERM8: u32 = 0x28004033;
2599pub const MASK_XPERM8: u32 = 0xfe00707f;
2600pub const MATCH_ZEXT_B: u32 = 0x7013;
2601pub const MASK_ZEXT_B: u32 = 0xfff0707f;
2602pub const MATCH_ZEXT_H: u32 = 0x800403b;
2603pub const MASK_ZEXT_H: u32 = 0xfff0707f;
2604pub const MATCH_ZEXT_H_RV32: u32 = 0x8004033;
2605pub const MASK_ZEXT_H_RV32: u32 = 0xfff0707f;
2606pub const MATCH_ZEXT_W: u32 = 0x800003b;
2607pub const MASK_ZEXT_W: u32 = 0xfff0707f;
2608pub const MATCH_ZIP: u32 = 0x8f01013;
2609pub const MASK_ZIP: u32 = 0xfff0707f;
2610pub const CSR_FFLAGS: u16 = 0x1;
2611pub const CSR_FRM: u16 = 0x2;
2612pub const CSR_FCSR: u16 = 0x3;
2613pub const CSR_VSTART: u16 = 0x8;
2614pub const CSR_VXSAT: u16 = 0x9;
2615pub const CSR_VXRM: u16 = 0xa;
2616pub const CSR_VCSR: u16 = 0xf;
2617pub const CSR_SSP: u16 = 0x11;
2618pub const CSR_SEED: u16 = 0x15;
2619pub const CSR_JVT: u16 = 0x17;
2620pub const CSR_CYCLE: u16 = 0xc00;
2621pub const CSR_TIME: u16 = 0xc01;
2622pub const CSR_INSTRET: u16 = 0xc02;
2623pub const CSR_HPMCOUNTER3: u16 = 0xc03;
2624pub const CSR_HPMCOUNTER4: u16 = 0xc04;
2625pub const CSR_HPMCOUNTER5: u16 = 0xc05;
2626pub const CSR_HPMCOUNTER6: u16 = 0xc06;
2627pub const CSR_HPMCOUNTER7: u16 = 0xc07;
2628pub const CSR_HPMCOUNTER8: u16 = 0xc08;
2629pub const CSR_HPMCOUNTER9: u16 = 0xc09;
2630pub const CSR_HPMCOUNTER10: u16 = 0xc0a;
2631pub const CSR_HPMCOUNTER11: u16 = 0xc0b;
2632pub const CSR_HPMCOUNTER12: u16 = 0xc0c;
2633pub const CSR_HPMCOUNTER13: u16 = 0xc0d;
2634pub const CSR_HPMCOUNTER14: u16 = 0xc0e;
2635pub const CSR_HPMCOUNTER15: u16 = 0xc0f;
2636pub const CSR_HPMCOUNTER16: u16 = 0xc10;
2637pub const CSR_HPMCOUNTER17: u16 = 0xc11;
2638pub const CSR_HPMCOUNTER18: u16 = 0xc12;
2639pub const CSR_HPMCOUNTER19: u16 = 0xc13;
2640pub const CSR_HPMCOUNTER20: u16 = 0xc14;
2641pub const CSR_HPMCOUNTER21: u16 = 0xc15;
2642pub const CSR_HPMCOUNTER22: u16 = 0xc16;
2643pub const CSR_HPMCOUNTER23: u16 = 0xc17;
2644pub const CSR_HPMCOUNTER24: u16 = 0xc18;
2645pub const CSR_HPMCOUNTER25: u16 = 0xc19;
2646pub const CSR_HPMCOUNTER26: u16 = 0xc1a;
2647pub const CSR_HPMCOUNTER27: u16 = 0xc1b;
2648pub const CSR_HPMCOUNTER28: u16 = 0xc1c;
2649pub const CSR_HPMCOUNTER29: u16 = 0xc1d;
2650pub const CSR_HPMCOUNTER30: u16 = 0xc1e;
2651pub const CSR_HPMCOUNTER31: u16 = 0xc1f;
2652pub const CSR_VL: u16 = 0xc20;
2653pub const CSR_VTYPE: u16 = 0xc21;
2654pub const CSR_VLENB: u16 = 0xc22;
2655pub const CSR_SSTATUS: u16 = 0x100;
2656pub const CSR_SEDELEG: u16 = 0x102;
2657pub const CSR_SIDELEG: u16 = 0x103;
2658pub const CSR_SIE: u16 = 0x104;
2659pub const CSR_STVEC: u16 = 0x105;
2660pub const CSR_SCOUNTEREN: u16 = 0x106;
2661pub const CSR_SENVCFG: u16 = 0x10a;
2662pub const CSR_SSTATEEN0: u16 = 0x10c;
2663pub const CSR_SSTATEEN1: u16 = 0x10d;
2664pub const CSR_SSTATEEN2: u16 = 0x10e;
2665pub const CSR_SSTATEEN3: u16 = 0x10f;
2666pub const CSR_SCOUNTINHIBIT: u16 = 0x120;
2667pub const CSR_SSCRATCH: u16 = 0x140;
2668pub const CSR_SEPC: u16 = 0x141;
2669pub const CSR_SCAUSE: u16 = 0x142;
2670pub const CSR_STVAL: u16 = 0x143;
2671pub const CSR_SIP: u16 = 0x144;
2672pub const CSR_STIMECMP: u16 = 0x14d;
2673pub const CSR_SCTRCTL: u16 = 0x14e;
2674pub const CSR_SCTRSTATUS: u16 = 0x14f;
2675pub const CSR_SISELECT: u16 = 0x150;
2676pub const CSR_SIREG: u16 = 0x151;
2677pub const CSR_SIREG2: u16 = 0x152;
2678pub const CSR_SIREG3: u16 = 0x153;
2679pub const CSR_SIREG4: u16 = 0x155;
2680pub const CSR_SIREG5: u16 = 0x156;
2681pub const CSR_SIREG6: u16 = 0x157;
2682pub const CSR_STOPEI: u16 = 0x15c;
2683pub const CSR_SCTRDEPTH: u16 = 0x15f;
2684pub const CSR_SATP: u16 = 0x180;
2685pub const CSR_SRMCFG: u16 = 0x181;
2686pub const CSR_SCONTEXT: u16 = 0x5a8;
2687pub const CSR_VSSTATUS: u16 = 0x200;
2688pub const CSR_VSIE: u16 = 0x204;
2689pub const CSR_VSTVEC: u16 = 0x205;
2690pub const CSR_VSSCRATCH: u16 = 0x240;
2691pub const CSR_VSEPC: u16 = 0x241;
2692pub const CSR_VSCAUSE: u16 = 0x242;
2693pub const CSR_VSTVAL: u16 = 0x243;
2694pub const CSR_VSIP: u16 = 0x244;
2695pub const CSR_VSTIMECMP: u16 = 0x24d;
2696pub const CSR_VSCTRCTL: u16 = 0x24e;
2697pub const CSR_VSISELECT: u16 = 0x250;
2698pub const CSR_VSIREG: u16 = 0x251;
2699pub const CSR_VSIREG2: u16 = 0x252;
2700pub const CSR_VSIREG3: u16 = 0x253;
2701pub const CSR_VSIREG4: u16 = 0x255;
2702pub const CSR_VSIREG5: u16 = 0x256;
2703pub const CSR_VSIREG6: u16 = 0x257;
2704pub const CSR_VSTOPEI: u16 = 0x25c;
2705pub const CSR_VSATP: u16 = 0x280;
2706pub const CSR_HSTATUS: u16 = 0x600;
2707pub const CSR_HEDELEG: u16 = 0x602;
2708pub const CSR_HIDELEG: u16 = 0x603;
2709pub const CSR_HIE: u16 = 0x604;
2710pub const CSR_HTIMEDELTA: u16 = 0x605;
2711pub const CSR_HCOUNTEREN: u16 = 0x606;
2712pub const CSR_HGEIE: u16 = 0x607;
2713pub const CSR_HVIEN: u16 = 0x608;
2714pub const CSR_HVICTL: u16 = 0x609;
2715pub const CSR_HENVCFG: u16 = 0x60a;
2716pub const CSR_HSTATEEN0: u16 = 0x60c;
2717pub const CSR_HSTATEEN1: u16 = 0x60d;
2718pub const CSR_HSTATEEN2: u16 = 0x60e;
2719pub const CSR_HSTATEEN3: u16 = 0x60f;
2720pub const CSR_HTVAL: u16 = 0x643;
2721pub const CSR_HIP: u16 = 0x644;
2722pub const CSR_HVIP: u16 = 0x645;
2723pub const CSR_HVIPRIO1: u16 = 0x646;
2724pub const CSR_HVIPRIO2: u16 = 0x647;
2725pub const CSR_HTINST: u16 = 0x64a;
2726pub const CSR_HGATP: u16 = 0x680;
2727pub const CSR_HCONTEXT: u16 = 0x6a8;
2728pub const CSR_HGEIP: u16 = 0xe12;
2729pub const CSR_VSTOPI: u16 = 0xeb0;
2730pub const CSR_SCOUNTOVF: u16 = 0xda0;
2731pub const CSR_STOPI: u16 = 0xdb0;
2732pub const CSR_UTVT: u16 = 0x7;
2733pub const CSR_UNXTI: u16 = 0x45;
2734pub const CSR_UINTSTATUS: u16 = 0x46;
2735pub const CSR_USCRATCHCSW: u16 = 0x48;
2736pub const CSR_USCRATCHCSWL: u16 = 0x49;
2737pub const CSR_STVT: u16 = 0x107;
2738pub const CSR_SNXTI: u16 = 0x145;
2739pub const CSR_SINTSTATUS: u16 = 0x146;
2740pub const CSR_SSCRATCHCSW: u16 = 0x148;
2741pub const CSR_SSCRATCHCSWL: u16 = 0x149;
2742pub const CSR_MTVT: u16 = 0x307;
2743pub const CSR_MNXTI: u16 = 0x345;
2744pub const CSR_MINTSTATUS: u16 = 0x346;
2745pub const CSR_MSCRATCHCSW: u16 = 0x348;
2746pub const CSR_MSCRATCHCSWL: u16 = 0x349;
2747pub const CSR_MSTATUS: u16 = 0x300;
2748pub const CSR_MISA: u16 = 0x301;
2749pub const CSR_MEDELEG: u16 = 0x302;
2750pub const CSR_MIDELEG: u16 = 0x303;
2751pub const CSR_MIE: u16 = 0x304;
2752pub const CSR_MTVEC: u16 = 0x305;
2753pub const CSR_MCOUNTEREN: u16 = 0x306;
2754pub const CSR_MVIEN: u16 = 0x308;
2755pub const CSR_MVIP: u16 = 0x309;
2756pub const CSR_MENVCFG: u16 = 0x30a;
2757pub const CSR_MSTATEEN0: u16 = 0x30c;
2758pub const CSR_MSTATEEN1: u16 = 0x30d;
2759pub const CSR_MSTATEEN2: u16 = 0x30e;
2760pub const CSR_MSTATEEN3: u16 = 0x30f;
2761pub const CSR_MCOUNTINHIBIT: u16 = 0x320;
2762pub const CSR_MSCRATCH: u16 = 0x340;
2763pub const CSR_MEPC: u16 = 0x341;
2764pub const CSR_MCAUSE: u16 = 0x342;
2765pub const CSR_MTVAL: u16 = 0x343;
2766pub const CSR_MIP: u16 = 0x344;
2767pub const CSR_MTINST: u16 = 0x34a;
2768pub const CSR_MTVAL2: u16 = 0x34b;
2769pub const CSR_MCTRCTL: u16 = 0x34e;
2770pub const CSR_MISELECT: u16 = 0x350;
2771pub const CSR_MIREG: u16 = 0x351;
2772pub const CSR_MIREG2: u16 = 0x352;
2773pub const CSR_MIREG3: u16 = 0x353;
2774pub const CSR_MIREG4: u16 = 0x355;
2775pub const CSR_MIREG5: u16 = 0x356;
2776pub const CSR_MIREG6: u16 = 0x357;
2777pub const CSR_MTOPEI: u16 = 0x35c;
2778pub const CSR_PMPCFG0: u16 = 0x3a0;
2779pub const CSR_PMPCFG1: u16 = 0x3a1;
2780pub const CSR_PMPCFG2: u16 = 0x3a2;
2781pub const CSR_PMPCFG3: u16 = 0x3a3;
2782pub const CSR_PMPCFG4: u16 = 0x3a4;
2783pub const CSR_PMPCFG5: u16 = 0x3a5;
2784pub const CSR_PMPCFG6: u16 = 0x3a6;
2785pub const CSR_PMPCFG7: u16 = 0x3a7;
2786pub const CSR_PMPCFG8: u16 = 0x3a8;
2787pub const CSR_PMPCFG9: u16 = 0x3a9;
2788pub const CSR_PMPCFG10: u16 = 0x3aa;
2789pub const CSR_PMPCFG11: u16 = 0x3ab;
2790pub const CSR_PMPCFG12: u16 = 0x3ac;
2791pub const CSR_PMPCFG13: u16 = 0x3ad;
2792pub const CSR_PMPCFG14: u16 = 0x3ae;
2793pub const CSR_PMPCFG15: u16 = 0x3af;
2794pub const CSR_PMPADDR0: u16 = 0x3b0;
2795pub const CSR_PMPADDR1: u16 = 0x3b1;
2796pub const CSR_PMPADDR2: u16 = 0x3b2;
2797pub const CSR_PMPADDR3: u16 = 0x3b3;
2798pub const CSR_PMPADDR4: u16 = 0x3b4;
2799pub const CSR_PMPADDR5: u16 = 0x3b5;
2800pub const CSR_PMPADDR6: u16 = 0x3b6;
2801pub const CSR_PMPADDR7: u16 = 0x3b7;
2802pub const CSR_PMPADDR8: u16 = 0x3b8;
2803pub const CSR_PMPADDR9: u16 = 0x3b9;
2804pub const CSR_PMPADDR10: u16 = 0x3ba;
2805pub const CSR_PMPADDR11: u16 = 0x3bb;
2806pub const CSR_PMPADDR12: u16 = 0x3bc;
2807pub const CSR_PMPADDR13: u16 = 0x3bd;
2808pub const CSR_PMPADDR14: u16 = 0x3be;
2809pub const CSR_PMPADDR15: u16 = 0x3bf;
2810pub const CSR_PMPADDR16: u16 = 0x3c0;
2811pub const CSR_PMPADDR17: u16 = 0x3c1;
2812pub const CSR_PMPADDR18: u16 = 0x3c2;
2813pub const CSR_PMPADDR19: u16 = 0x3c3;
2814pub const CSR_PMPADDR20: u16 = 0x3c4;
2815pub const CSR_PMPADDR21: u16 = 0x3c5;
2816pub const CSR_PMPADDR22: u16 = 0x3c6;
2817pub const CSR_PMPADDR23: u16 = 0x3c7;
2818pub const CSR_PMPADDR24: u16 = 0x3c8;
2819pub const CSR_PMPADDR25: u16 = 0x3c9;
2820pub const CSR_PMPADDR26: u16 = 0x3ca;
2821pub const CSR_PMPADDR27: u16 = 0x3cb;
2822pub const CSR_PMPADDR28: u16 = 0x3cc;
2823pub const CSR_PMPADDR29: u16 = 0x3cd;
2824pub const CSR_PMPADDR30: u16 = 0x3ce;
2825pub const CSR_PMPADDR31: u16 = 0x3cf;
2826pub const CSR_PMPADDR32: u16 = 0x3d0;
2827pub const CSR_PMPADDR33: u16 = 0x3d1;
2828pub const CSR_PMPADDR34: u16 = 0x3d2;
2829pub const CSR_PMPADDR35: u16 = 0x3d3;
2830pub const CSR_PMPADDR36: u16 = 0x3d4;
2831pub const CSR_PMPADDR37: u16 = 0x3d5;
2832pub const CSR_PMPADDR38: u16 = 0x3d6;
2833pub const CSR_PMPADDR39: u16 = 0x3d7;
2834pub const CSR_PMPADDR40: u16 = 0x3d8;
2835pub const CSR_PMPADDR41: u16 = 0x3d9;
2836pub const CSR_PMPADDR42: u16 = 0x3da;
2837pub const CSR_PMPADDR43: u16 = 0x3db;
2838pub const CSR_PMPADDR44: u16 = 0x3dc;
2839pub const CSR_PMPADDR45: u16 = 0x3dd;
2840pub const CSR_PMPADDR46: u16 = 0x3de;
2841pub const CSR_PMPADDR47: u16 = 0x3df;
2842pub const CSR_PMPADDR48: u16 = 0x3e0;
2843pub const CSR_PMPADDR49: u16 = 0x3e1;
2844pub const CSR_PMPADDR50: u16 = 0x3e2;
2845pub const CSR_PMPADDR51: u16 = 0x3e3;
2846pub const CSR_PMPADDR52: u16 = 0x3e4;
2847pub const CSR_PMPADDR53: u16 = 0x3e5;
2848pub const CSR_PMPADDR54: u16 = 0x3e6;
2849pub const CSR_PMPADDR55: u16 = 0x3e7;
2850pub const CSR_PMPADDR56: u16 = 0x3e8;
2851pub const CSR_PMPADDR57: u16 = 0x3e9;
2852pub const CSR_PMPADDR58: u16 = 0x3ea;
2853pub const CSR_PMPADDR59: u16 = 0x3eb;
2854pub const CSR_PMPADDR60: u16 = 0x3ec;
2855pub const CSR_PMPADDR61: u16 = 0x3ed;
2856pub const CSR_PMPADDR62: u16 = 0x3ee;
2857pub const CSR_PMPADDR63: u16 = 0x3ef;
2858pub const CSR_MSECCFG: u16 = 0x747;
2859pub const CSR_TSELECT: u16 = 0x7a0;
2860pub const CSR_TDATA1: u16 = 0x7a1;
2861pub const CSR_TDATA2: u16 = 0x7a2;
2862pub const CSR_TDATA3: u16 = 0x7a3;
2863pub const CSR_TINFO: u16 = 0x7a4;
2864pub const CSR_TCONTROL: u16 = 0x7a5;
2865pub const CSR_MCONTEXT: u16 = 0x7a8;
2866pub const CSR_MSCONTEXT: u16 = 0x7aa;
2867pub const CSR_DCSR: u16 = 0x7b0;
2868pub const CSR_DPC: u16 = 0x7b1;
2869pub const CSR_DSCRATCH0: u16 = 0x7b2;
2870pub const CSR_DSCRATCH1: u16 = 0x7b3;
2871pub const CSR_MCYCLE: u16 = 0xb00;
2872pub const CSR_MINSTRET: u16 = 0xb02;
2873pub const CSR_MHPMCOUNTER3: u16 = 0xb03;
2874pub const CSR_MHPMCOUNTER4: u16 = 0xb04;
2875pub const CSR_MHPMCOUNTER5: u16 = 0xb05;
2876pub const CSR_MHPMCOUNTER6: u16 = 0xb06;
2877pub const CSR_MHPMCOUNTER7: u16 = 0xb07;
2878pub const CSR_MHPMCOUNTER8: u16 = 0xb08;
2879pub const CSR_MHPMCOUNTER9: u16 = 0xb09;
2880pub const CSR_MHPMCOUNTER10: u16 = 0xb0a;
2881pub const CSR_MHPMCOUNTER11: u16 = 0xb0b;
2882pub const CSR_MHPMCOUNTER12: u16 = 0xb0c;
2883pub const CSR_MHPMCOUNTER13: u16 = 0xb0d;
2884pub const CSR_MHPMCOUNTER14: u16 = 0xb0e;
2885pub const CSR_MHPMCOUNTER15: u16 = 0xb0f;
2886pub const CSR_MHPMCOUNTER16: u16 = 0xb10;
2887pub const CSR_MHPMCOUNTER17: u16 = 0xb11;
2888pub const CSR_MHPMCOUNTER18: u16 = 0xb12;
2889pub const CSR_MHPMCOUNTER19: u16 = 0xb13;
2890pub const CSR_MHPMCOUNTER20: u16 = 0xb14;
2891pub const CSR_MHPMCOUNTER21: u16 = 0xb15;
2892pub const CSR_MHPMCOUNTER22: u16 = 0xb16;
2893pub const CSR_MHPMCOUNTER23: u16 = 0xb17;
2894pub const CSR_MHPMCOUNTER24: u16 = 0xb18;
2895pub const CSR_MHPMCOUNTER25: u16 = 0xb19;
2896pub const CSR_MHPMCOUNTER26: u16 = 0xb1a;
2897pub const CSR_MHPMCOUNTER27: u16 = 0xb1b;
2898pub const CSR_MHPMCOUNTER28: u16 = 0xb1c;
2899pub const CSR_MHPMCOUNTER29: u16 = 0xb1d;
2900pub const CSR_MHPMCOUNTER30: u16 = 0xb1e;
2901pub const CSR_MHPMCOUNTER31: u16 = 0xb1f;
2902pub const CSR_MCYCLECFG: u16 = 0x321;
2903pub const CSR_MINSTRETCFG: u16 = 0x322;
2904pub const CSR_MHPMEVENT3: u16 = 0x323;
2905pub const CSR_MHPMEVENT4: u16 = 0x324;
2906pub const CSR_MHPMEVENT5: u16 = 0x325;
2907pub const CSR_MHPMEVENT6: u16 = 0x326;
2908pub const CSR_MHPMEVENT7: u16 = 0x327;
2909pub const CSR_MHPMEVENT8: u16 = 0x328;
2910pub const CSR_MHPMEVENT9: u16 = 0x329;
2911pub const CSR_MHPMEVENT10: u16 = 0x32a;
2912pub const CSR_MHPMEVENT11: u16 = 0x32b;
2913pub const CSR_MHPMEVENT12: u16 = 0x32c;
2914pub const CSR_MHPMEVENT13: u16 = 0x32d;
2915pub const CSR_MHPMEVENT14: u16 = 0x32e;
2916pub const CSR_MHPMEVENT15: u16 = 0x32f;
2917pub const CSR_MHPMEVENT16: u16 = 0x330;
2918pub const CSR_MHPMEVENT17: u16 = 0x331;
2919pub const CSR_MHPMEVENT18: u16 = 0x332;
2920pub const CSR_MHPMEVENT19: u16 = 0x333;
2921pub const CSR_MHPMEVENT20: u16 = 0x334;
2922pub const CSR_MHPMEVENT21: u16 = 0x335;
2923pub const CSR_MHPMEVENT22: u16 = 0x336;
2924pub const CSR_MHPMEVENT23: u16 = 0x337;
2925pub const CSR_MHPMEVENT24: u16 = 0x338;
2926pub const CSR_MHPMEVENT25: u16 = 0x339;
2927pub const CSR_MHPMEVENT26: u16 = 0x33a;
2928pub const CSR_MHPMEVENT27: u16 = 0x33b;
2929pub const CSR_MHPMEVENT28: u16 = 0x33c;
2930pub const CSR_MHPMEVENT29: u16 = 0x33d;
2931pub const CSR_MHPMEVENT30: u16 = 0x33e;
2932pub const CSR_MHPMEVENT31: u16 = 0x33f;
2933pub const CSR_MVENDORID: u16 = 0xf11;
2934pub const CSR_MARCHID: u16 = 0xf12;
2935pub const CSR_MIMPID: u16 = 0xf13;
2936pub const CSR_MHARTID: u16 = 0xf14;
2937pub const CSR_MCONFIGPTR: u16 = 0xf15;
2938pub const CSR_MTOPI: u16 = 0xfb0;
2939pub const CSR_SIEH: u16 = 0x114;
2940pub const CSR_SIPH: u16 = 0x154;
2941pub const CSR_STIMECMPH: u16 = 0x15d;
2942pub const CSR_VSIEH: u16 = 0x214;
2943pub const CSR_VSIPH: u16 = 0x254;
2944pub const CSR_VSTIMECMPH: u16 = 0x25d;
2945pub const CSR_HTIMEDELTAH: u16 = 0x615;
2946pub const CSR_HIDELEGH: u16 = 0x613;
2947pub const CSR_HVIENH: u16 = 0x618;
2948pub const CSR_HENVCFGH: u16 = 0x61a;
2949pub const CSR_HVIPH: u16 = 0x655;
2950pub const CSR_HVIPRIO1H: u16 = 0x656;
2951pub const CSR_HVIPRIO2H: u16 = 0x657;
2952pub const CSR_HSTATEEN0H: u16 = 0x61c;
2953pub const CSR_HSTATEEN1H: u16 = 0x61d;
2954pub const CSR_HSTATEEN2H: u16 = 0x61e;
2955pub const CSR_HSTATEEN3H: u16 = 0x61f;
2956pub const CSR_CYCLEH: u16 = 0xc80;
2957pub const CSR_TIMEH: u16 = 0xc81;
2958pub const CSR_INSTRETH: u16 = 0xc82;
2959pub const CSR_HPMCOUNTER3H: u16 = 0xc83;
2960pub const CSR_HPMCOUNTER4H: u16 = 0xc84;
2961pub const CSR_HPMCOUNTER5H: u16 = 0xc85;
2962pub const CSR_HPMCOUNTER6H: u16 = 0xc86;
2963pub const CSR_HPMCOUNTER7H: u16 = 0xc87;
2964pub const CSR_HPMCOUNTER8H: u16 = 0xc88;
2965pub const CSR_HPMCOUNTER9H: u16 = 0xc89;
2966pub const CSR_HPMCOUNTER10H: u16 = 0xc8a;
2967pub const CSR_HPMCOUNTER11H: u16 = 0xc8b;
2968pub const CSR_HPMCOUNTER12H: u16 = 0xc8c;
2969pub const CSR_HPMCOUNTER13H: u16 = 0xc8d;
2970pub const CSR_HPMCOUNTER14H: u16 = 0xc8e;
2971pub const CSR_HPMCOUNTER15H: u16 = 0xc8f;
2972pub const CSR_HPMCOUNTER16H: u16 = 0xc90;
2973pub const CSR_HPMCOUNTER17H: u16 = 0xc91;
2974pub const CSR_HPMCOUNTER18H: u16 = 0xc92;
2975pub const CSR_HPMCOUNTER19H: u16 = 0xc93;
2976pub const CSR_HPMCOUNTER20H: u16 = 0xc94;
2977pub const CSR_HPMCOUNTER21H: u16 = 0xc95;
2978pub const CSR_HPMCOUNTER22H: u16 = 0xc96;
2979pub const CSR_HPMCOUNTER23H: u16 = 0xc97;
2980pub const CSR_HPMCOUNTER24H: u16 = 0xc98;
2981pub const CSR_HPMCOUNTER25H: u16 = 0xc99;
2982pub const CSR_HPMCOUNTER26H: u16 = 0xc9a;
2983pub const CSR_HPMCOUNTER27H: u16 = 0xc9b;
2984pub const CSR_HPMCOUNTER28H: u16 = 0xc9c;
2985pub const CSR_HPMCOUNTER29H: u16 = 0xc9d;
2986pub const CSR_HPMCOUNTER30H: u16 = 0xc9e;
2987pub const CSR_HPMCOUNTER31H: u16 = 0xc9f;
2988pub const CSR_MSTATUSH: u16 = 0x310;
2989pub const CSR_MIDELEGH: u16 = 0x313;
2990pub const CSR_MIEH: u16 = 0x314;
2991pub const CSR_MVIENH: u16 = 0x318;
2992pub const CSR_MVIPH: u16 = 0x319;
2993pub const CSR_MENVCFGH: u16 = 0x31a;
2994pub const CSR_MSTATEEN0H: u16 = 0x31c;
2995pub const CSR_MSTATEEN1H: u16 = 0x31d;
2996pub const CSR_MSTATEEN2H: u16 = 0x31e;
2997pub const CSR_MSTATEEN3H: u16 = 0x31f;
2998pub const CSR_MIPH: u16 = 0x354;
2999pub const CSR_MCYCLECFGH: u16 = 0x721;
3000pub const CSR_MINSTRETCFGH: u16 = 0x722;
3001pub const CSR_MHPMEVENT3H: u16 = 0x723;
3002pub const CSR_MHPMEVENT4H: u16 = 0x724;
3003pub const CSR_MHPMEVENT5H: u16 = 0x725;
3004pub const CSR_MHPMEVENT6H: u16 = 0x726;
3005pub const CSR_MHPMEVENT7H: u16 = 0x727;
3006pub const CSR_MHPMEVENT8H: u16 = 0x728;
3007pub const CSR_MHPMEVENT9H: u16 = 0x729;
3008pub const CSR_MHPMEVENT10H: u16 = 0x72a;
3009pub const CSR_MHPMEVENT11H: u16 = 0x72b;
3010pub const CSR_MHPMEVENT12H: u16 = 0x72c;
3011pub const CSR_MHPMEVENT13H: u16 = 0x72d;
3012pub const CSR_MHPMEVENT14H: u16 = 0x72e;
3013pub const CSR_MHPMEVENT15H: u16 = 0x72f;
3014pub const CSR_MHPMEVENT16H: u16 = 0x730;
3015pub const CSR_MHPMEVENT17H: u16 = 0x731;
3016pub const CSR_MHPMEVENT18H: u16 = 0x732;
3017pub const CSR_MHPMEVENT19H: u16 = 0x733;
3018pub const CSR_MHPMEVENT20H: u16 = 0x734;
3019pub const CSR_MHPMEVENT21H: u16 = 0x735;
3020pub const CSR_MHPMEVENT22H: u16 = 0x736;
3021pub const CSR_MHPMEVENT23H: u16 = 0x737;
3022pub const CSR_MHPMEVENT24H: u16 = 0x738;
3023pub const CSR_MHPMEVENT25H: u16 = 0x739;
3024pub const CSR_MHPMEVENT26H: u16 = 0x73a;
3025pub const CSR_MHPMEVENT27H: u16 = 0x73b;
3026pub const CSR_MHPMEVENT28H: u16 = 0x73c;
3027pub const CSR_MHPMEVENT29H: u16 = 0x73d;
3028pub const CSR_MHPMEVENT30H: u16 = 0x73e;
3029pub const CSR_MHPMEVENT31H: u16 = 0x73f;
3030pub const CSR_MNSCRATCH: u16 = 0x740;
3031pub const CSR_MNEPC: u16 = 0x741;
3032pub const CSR_MNCAUSE: u16 = 0x742;
3033pub const CSR_MNSTATUS: u16 = 0x744;
3034pub const CSR_MSECCFGH: u16 = 0x757;
3035pub const CSR_MCYCLEH: u16 = 0xb80;
3036pub const CSR_MINSTRETH: u16 = 0xb82;
3037pub const CSR_MHPMCOUNTER3H: u16 = 0xb83;
3038pub const CSR_MHPMCOUNTER4H: u16 = 0xb84;
3039pub const CSR_MHPMCOUNTER5H: u16 = 0xb85;
3040pub const CSR_MHPMCOUNTER6H: u16 = 0xb86;
3041pub const CSR_MHPMCOUNTER7H: u16 = 0xb87;
3042pub const CSR_MHPMCOUNTER8H: u16 = 0xb88;
3043pub const CSR_MHPMCOUNTER9H: u16 = 0xb89;
3044pub const CSR_MHPMCOUNTER10H: u16 = 0xb8a;
3045pub const CSR_MHPMCOUNTER11H: u16 = 0xb8b;
3046pub const CSR_MHPMCOUNTER12H: u16 = 0xb8c;
3047pub const CSR_MHPMCOUNTER13H: u16 = 0xb8d;
3048pub const CSR_MHPMCOUNTER14H: u16 = 0xb8e;
3049pub const CSR_MHPMCOUNTER15H: u16 = 0xb8f;
3050pub const CSR_MHPMCOUNTER16H: u16 = 0xb90;
3051pub const CSR_MHPMCOUNTER17H: u16 = 0xb91;
3052pub const CSR_MHPMCOUNTER18H: u16 = 0xb92;
3053pub const CSR_MHPMCOUNTER19H: u16 = 0xb93;
3054pub const CSR_MHPMCOUNTER20H: u16 = 0xb94;
3055pub const CSR_MHPMCOUNTER21H: u16 = 0xb95;
3056pub const CSR_MHPMCOUNTER22H: u16 = 0xb96;
3057pub const CSR_MHPMCOUNTER23H: u16 = 0xb97;
3058pub const CSR_MHPMCOUNTER24H: u16 = 0xb98;
3059pub const CSR_MHPMCOUNTER25H: u16 = 0xb99;
3060pub const CSR_MHPMCOUNTER26H: u16 = 0xb9a;
3061pub const CSR_MHPMCOUNTER27H: u16 = 0xb9b;
3062pub const CSR_MHPMCOUNTER28H: u16 = 0xb9c;
3063pub const CSR_MHPMCOUNTER29H: u16 = 0xb9d;
3064pub const CSR_MHPMCOUNTER30H: u16 = 0xb9e;
3065pub const CSR_MHPMCOUNTER31H: u16 = 0xb9f;
3066pub const CAUSE_MISALIGNED_FETCH: u8 = 0x0;
3067pub const CAUSE_FETCH_ACCESS: u8 = 0x1;
3068pub const CAUSE_ILLEGAL_INSTRUCTION: u8 = 0x2;
3069pub const CAUSE_BREAKPOINT: u8 = 0x3;
3070pub const CAUSE_MISALIGNED_LOAD: u8 = 0x4;
3071pub const CAUSE_LOAD_ACCESS: u8 = 0x5;
3072pub const CAUSE_MISALIGNED_STORE: u8 = 0x6;
3073pub const CAUSE_STORE_ACCESS: u8 = 0x7;
3074pub const CAUSE_USER_ECALL: u8 = 0x8;
3075pub const CAUSE_SUPERVISOR_ECALL: u8 = 0x9;
3076pub const CAUSE_VIRTUAL_SUPERVISOR_ECALL: u8 = 0xa;
3077pub const CAUSE_MACHINE_ECALL: u8 = 0xb;
3078pub const CAUSE_FETCH_PAGE_FAULT: u8 = 0xc;
3079pub const CAUSE_LOAD_PAGE_FAULT: u8 = 0xd;
3080pub const CAUSE_STORE_PAGE_FAULT: u8 = 0xf;
3081pub const CAUSE_DOUBLE_TRAP: u8 = 0x10;
3082pub const CAUSE_SOFTWARE_CHECK_FAULT: u8 = 0x12;
3083pub const CAUSE_HARDWARE_ERROR_FAULT: u8 = 0x13;
3084pub const CAUSE_FETCH_GUEST_PAGE_FAULT: u8 = 0x14;
3085pub const CAUSE_LOAD_GUEST_PAGE_FAULT: u8 = 0x15;
3086pub const CAUSE_VIRTUAL_INSTRUCTION: u8 = 0x16;
3087pub const CAUSE_STORE_GUEST_PAGE_FAULT: u8 = 0x17;
3088pub static OPCODE32_MATCH: [u32; 1021] = [
3089 0x33, 0xffff_ffff, 0x13, 0xffff_ffff, 0xffff_ffff, 0x2a000033, 0x2e000033, 0x22000033, 0x26000033, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0x2f, 0xffff_ffff, 0x102f, 0x202f, 0x6000002f, 0xffff_ffff, 0x6000102f, 0x6000202f, 0x2800002f, 0x2800302f, 0x2800102f, 0xffff_ffff, 0x2800202f, 0xa000002f, 0xffff_ffff, 0xa000102f, 0xa000202f, 0xe000002f, 0xffff_ffff, 0xe000102f, 0xe000202f, 0x8000002f, 0xffff_ffff, 0x8000102f, 0x8000202f, 0xc000002f, 0xffff_ffff, 0xc000102f, 0xc000202f, 0x4000002f, 0xffff_ffff, 0x4000102f, 0x4000202f, 0x800002f, 0xffff_ffff, 0x800102f, 0x800202f, 0x2000002f, 0xffff_ffff, 0x2000102f, 0x2000202f, 0x7033, 0x7013, 0x40007033, 0x17, 0x48001033, 0xffff_ffff, 0x48001013, 0x63, 0x63, 0x48005033, 0xffff_ffff, 0x48005013, 0x5063, 0x7063, 0x5063, 0x4063, 0x6063, 0x4063, 0x68001033, 0xffff_ffff, 0x68001013, 0x5063, 0x7063, 0x5063, 0x4063, 0x6063, 0x4063, 0x1063, 0x1063, 0x68705013, 0x28001033, 0xffff_ffff, 0x28001013, 0x9002, 0x1, 0x6101, 0x0, 0xffff_ffff, 0xffff_ffff, 0x8c61, 0x8801, 0xc001, 0xe001, 0x9002, 0x2000, 0x2002, 0x6000, 0x6002, 0xa000, 0xa002, 0xe000, 0xe002, 0xa001, 0x2001, 0x9002, 0x8002, 0x8000, 0xffff_ffff, 0xffff_ffff, 0x8440, 0x8400, 0x4001, 0x6001, 0x4000, 0x4002, 0x6081, 0x6581, 0x6681, 0x6781, 0x6181, 0x6281, 0x6381, 0x6481, 0x6081, 0x9c41, 0x8002, 0x1, 0x9c75, 0x9016, 0x900a, 0x900e, 0x9012, 0x8c41, 0x8800, 0xffff_ffff, 0xffff_ffff, 0x9c65, 0x9c6d, 0xffff_ffff, 0x8c00, 0x2, 0x2, 0x8401, 0x8401, 0x8001, 0x8001, 0x8c01, 0xffff_ffff, 0xc000, 0xc002, 0x8c21, 0x9c61, 0x9c69, 0xffff_ffff, 0x10200f, 0x20200f, 0x200f, 0x40200f, 0xa001033, 0xa003033, 0xa002033, 0x60001013, 0xffff_ffff, 0xa002, 0xac62, 0xac22, 0xba02, 0xbe02, 0xbc02, 0xb802, 0x60201013, 0xffff_ffff, 0x3073, 0x7073, 0x2073, 0x3073, 0x7073, 0x2073, 0x6073, 0x1073, 0x5073, 0x2073, 0x6073, 0x1073, 0x5073, 0x60101013, 0xffff_ffff, 0xe005033, 0xe007033, 0x2004033, 0x2005033, 0xffff_ffff, 0xffff_ffff, 0x7b200073, 0x100073, 0x73, 0x22002053, 0x24002053, 0x26002053, 0x20002053, 0x2000053, 0x4000053, 0x6000053, 0x53, 0xe2001053, 0xe4001053, 0xe6001053, 0xe0001053, 0x42200053, 0xffff_ffff, 0xffff_ffff, 0x42300053, 0x42000053, 0xd2000053, 0xd2100053, 0x44100053, 0xffff_ffff, 0xffff_ffff, 0x44300053, 0x44000053, 0xd4000053, 0xd4100053, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0x46100053, 0x46200053, 0xffff_ffff, 0xffff_ffff, 0x46000053, 0xd6000053, 0xd6100053, 0x40100053, 0x40200053, 0xffff_ffff, 0xffff_ffff, 0x40300053, 0xd0000053, 0xd0100053, 0xc2000053, 0xc4000053, 0xc6000053, 0xc0000053, 0xc2100053, 0xc4100053, 0xc6100053, 0xc0100053, 0xc2801053, 0x1a000053, 0x1c000053, 0x1e000053, 0x18000053, 0xf, 0x100f, 0x8330000f, 0xa2002053, 0xa4002053, 0xa6002053, 0xa0002053, 0x3007, 0xa2000053, 0xa4000053, 0xa6000053, 0xa0000053, 0xa2004053, 0xa4004053, 0xa6004053, 0xa0004053, 0x1007, 0xf2100053, 0xf4100053, 0xf6100053, 0xf0100053, 0x4007, 0xa2001053, 0xa4001053, 0xa6001053, 0xa0001053, 0xa2005053, 0xa4005053, 0xa6005053, 0xa0005053, 0x2007, 0x2000043, 0x4000043, 0x6000043, 0x43, 0x2a001053, 0x2c001053, 0x2e001053, 0x28001053, 0x2a003053, 0x2c003053, 0x2e003053, 0x28003053, 0x2a000053, 0x2c000053, 0x2e000053, 0x28000053, 0x2a002053, 0x2c002053, 0x2e002053, 0x28002053, 0x2000047, 0x4000047, 0x6000047, 0x47, 0x12000053, 0x14000053, 0x16000053, 0x10000053, 0x22000053, 0xffff_ffff, 0x24000053, 0xf4000053, 0x26000053, 0x20000053, 0xf0000053, 0xf0000053, 0xffff_ffff, 0xe4000053, 0xe0000053, 0xe0000053, 0xe2100053, 0xffff_ffff, 0xb2000053, 0xffff_ffff, 0x22001053, 0x24001053, 0x26001053, 0x20001053, 0x200004f, 0x400004f, 0x600004f, 0x4f, 0x200004b, 0x400004b, 0x600004b, 0x4b, 0x302073, 0x102073, 0x42400053, 0x44400053, 0x46400053, 0x40400053, 0x42500053, 0x44500053, 0x46500053, 0x40500053, 0x202073, 0x301073, 0x3027, 0x101073, 0x105073, 0x22000053, 0x24000053, 0x26000053, 0x20000053, 0x22001053, 0x24001053, 0x26001053, 0x20001053, 0x22002053, 0x24002053, 0x26002053, 0x20002053, 0x1027, 0x4027, 0x5a000053, 0x5c000053, 0x5e000053, 0x58000053, 0x201073, 0x205073, 0xa000053, 0xc000053, 0xe000053, 0x8000053, 0x2027, 0x62000073, 0x22000073, 0x66000073, 0x26000073, 0x60004073, 0x60104073, 0xffff_ffff, 0x64004073, 0x64104073, 0x68004073, 0xffff_ffff, 0x64304073, 0x68304073, 0x62004073, 0xffff_ffff, 0x66004073, 0x6a004073, 0x6f, 0x6f, 0xef, 0x67, 0xe7, 0x67, 0x3, 0x4003, 0xffff_ffff, 0x1003, 0x5003, 0xffff_ffff, 0x1000202f, 0x37, 0x2003, 0xffff_ffff, 0xa006033, 0xa007033, 0xa004033, 0xa005033, 0x81c04073, 0x81d04073, 0x89e04073, 0x89f04073, 0x8dc04073, 0x8dd04073, 0x8de04073, 0x8df04073, 0xc1c04073, 0xc1d04073, 0xc1e04073, 0xc1f04073, 0x81e04073, 0xc5c04073, 0xc5d04073, 0xc5e04073, 0xc5f04073, 0xc9c04073, 0xc9d04073, 0xc9e04073, 0xc9f04073, 0xcdc04073, 0xcdd04073, 0x81f04073, 0xcde04073, 0xcdf04073, 0x85c04073, 0x85d04073, 0x85e04073, 0x85f04073, 0x89c04073, 0x89d04073, 0x81c04073, 0x82004073, 0x86004073, 0x8a004073, 0x8e004073, 0xc2004073, 0xc6004073, 0xca004073, 0xce004073, 0x82004073, 0x30200073, 0x2000033, 0x2001033, 0x2002033, 0x2003033, 0xffff_ffff, 0x13, 0x40000033, 0x13, 0x500033, 0x200033, 0x300033, 0x400033, 0x6033, 0x28705013, 0x6013, 0x40006033, 0x8004033, 0x8007033, 0xffff_ffff, 0x100000f, 0x6013, 0x106013, 0x306013, 0xc0002073, 0xc8002073, 0xc0202073, 0xc8202073, 0xc0102073, 0xc8102073, 0x2006033, 0x2007033, 0xffff_ffff, 0xffff_ffff, 0x8067, 0xffff_ffff, 0x69805013, 0x60001033, 0xffff_ffff, 0x60005033, 0xffff_ffff, 0x60005013, 0xffff_ffff, 0xffff_ffff, 0x23, 0x100073, 0xffff_ffff, 0x1800202f, 0x73, 0xffff_ffff, 0x103013, 0x60401013, 0x60501013, 0xffff_ffff, 0x18100073, 0x12000073, 0x18000073, 0x2033, 0x1023, 0x20002033, 0xffff_ffff, 0x20004033, 0xffff_ffff, 0x20006033, 0xffff_ffff, 0x10201013, 0x10301013, 0x10001013, 0x10101013, 0xffff_ffff, 0x5c000033, 0x54000033, 0xffff_ffff, 0x5e000033, 0x56000033, 0xffff_ffff, 0x50000033, 0xffff_ffff, 0x52000033, 0x16000073, 0x1033, 0x1013, 0x1013, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0x2033, 0x2013, 0x3013, 0x3033, 0x2033, 0x10801013, 0x10901013, 0x30000033, 0x34000033, 0x3033, 0x40005033, 0x40005013, 0x40005013, 0xffff_ffff, 0xffff_ffff, 0x10200073, 0x5033, 0x5013, 0x5013, 0xffff_ffff, 0xffff_ffff, 0x40000033, 0xffff_ffff, 0x2023, 0x8f05013, 0x24002057, 0x24006057, 0x20002057, 0x20006057, 0x40003057, 0x40000057, 0x40004057, 0x3057, 0x57, 0x4057, 0xa600a077, 0xa200a077, 0xa6002077, 0xa2002077, 0xa601a077, 0xa201a077, 0xa6012077, 0xa2012077, 0x8a002077, 0xaa002077, 0xa603a077, 0x24003057, 0x24000057, 0x24004057, 0x4000057, 0x4004057, 0x2c002057, 0x2c006057, 0x28002057, 0x28006057, 0x48042057, 0x48052057, 0x30002057, 0x30006057, 0x34002057, 0x34006057, 0x48062057, 0x5e002057, 0x40082057, 0x48072057, 0x4806a057, 0x84002057, 0x84006057, 0x80002057, 0x80006057, 0x5057, 0x1057, 0x4c081057, 0x48019057, 0x48011057, 0x48039057, 0x48031057, 0x48009057, 0x48001057, 0x80005057, 0x80001057, 0x4008a057, 0xb0005057, 0xb0001057, 0xa0005057, 0xa0001057, 0x18005057, 0x18001057, 0x5c005057, 0x10005057, 0x10001057, 0xb8005057, 0xb8001057, 0xa8005057, 0xa8001057, 0x90005057, 0x90001057, 0x42001057, 0x42005057, 0x5e005057, 0x480a1057, 0x48099057, 0x48091057, 0x480a9057, 0x480b9057, 0x480b1057, 0x48089057, 0x48081057, 0xb4005057, 0xb4001057, 0xa4005057, 0xa4001057, 0xbc005057, 0xbc001057, 0xac005057, 0xac001057, 0x84005057, 0x4c029057, 0x1c001057, 0x14001057, 0xc001057, 0x4001057, 0x4001057, 0x4c021057, 0x9c005057, 0x20005057, 0x20001057, 0x24005057, 0x24001057, 0x28005057, 0x28001057, 0x3c005057, 0x38005057, 0x4c001057, 0x8005057, 0x8001057, 0xc0005057, 0xc0001057, 0xd0005057, 0xd0001057, 0x48061057, 0x48059057, 0x48051057, 0x48079057, 0x48071057, 0x48049057, 0x48041057, 0xf0005057, 0xf0001057, 0xf8005057, 0xf8001057, 0xe0005057, 0xe0001057, 0xf4005057, 0xf4001057, 0xfc005057, 0xfc001057, 0xcc001057, 0xc4001057, 0xc4001057, 0xc8005057, 0xc8001057, 0xd8005057, 0xd8001057, 0xb2002077, 0xa208a077, 0x5008a057, 0x50082057, 0x2800007, 0x2805007, 0x2806007, 0x2807007, 0x2800007, 0x22800007, 0x22805007, 0x22806007, 0x22807007, 0x22800007, 0x62800007, 0x62805007, 0x62806007, 0x62807007, 0x62800007, 0xe2800007, 0xe2805007, 0xe2806007, 0xe2807007, 0xe2800007, 0x5007, 0x1005007, 0x2b00007, 0x6007, 0x1006007, 0x7007, 0x1007007, 0x7, 0x1000007, 0x2b00007, 0xc005007, 0xc006007, 0xc007007, 0xc000007, 0x8005007, 0x8006007, 0x8007007, 0x8000007, 0x4005007, 0x4006007, 0x4007007, 0x4000007, 0xb4002057, 0xb4006057, 0x46003057, 0x44003057, 0x46000057, 0x44000057, 0x46004057, 0x44004057, 0xa4002057, 0xa4006057, 0x66002057, 0x62002057, 0x60002057, 0x1c000057, 0x1c004057, 0x18000057, 0x18004057, 0x5c003057, 0x5c000057, 0x5c004057, 0x60005057, 0x60001057, 0x7c005057, 0x74005057, 0x64005057, 0x64001057, 0x6c005057, 0x6c001057, 0x70005057, 0x70001057, 0x14000057, 0x14004057, 0x10000057, 0x10004057, 0x76002057, 0x7a002057, 0x6a002057, 0x72002057, 0x70002057, 0x4e000057, 0x4c000057, 0x4e004057, 0x4c004057, 0x5000a057, 0x60003057, 0x60000057, 0x60004057, 0x7c003057, 0x7c004057, 0x78003057, 0x78004057, 0x5001a057, 0x74003057, 0x74000057, 0x74004057, 0x70003057, 0x70000057, 0x70004057, 0x6c000057, 0x6c004057, 0x68000057, 0x68004057, 0x64003057, 0x64000057, 0x64004057, 0x50012057, 0x94002057, 0x94006057, 0x9c002057, 0x9c006057, 0x98002057, 0x98006057, 0x90002057, 0x90006057, 0x9e003057, 0x9e00b057, 0x9e01b057, 0x9e03b057, 0x42006057, 0x5e003057, 0x5e000057, 0x5e004057, 0x42002057, 0x7e002057, 0x6e002057, 0xbc003057, 0xbc000057, 0xbc004057, 0xb8003057, 0xb8000057, 0xb8004057, 0xbc002057, 0xbc006057, 0xac002057, 0xac006057, 0xb4003057, 0xb4000057, 0xb4004057, 0xb0003057, 0xb0000057, 0xb0004057, 0x28003057, 0x28000057, 0x28004057, 0x40082057, 0x4002057, 0x1c002057, 0x18002057, 0x14002057, 0x10002057, 0x8002057, 0x2057, 0xc002057, 0x8c002057, 0x8c006057, 0x88002057, 0x88006057, 0x4804a057, 0x30003057, 0x30000057, 0x30004057, 0x38000057, 0x54000057, 0x54004057, 0x50003057, 0x50000057, 0x50004057, 0xc003057, 0xc004057, 0x2800027, 0x22800027, 0x62800027, 0xe2800027, 0x84003057, 0x84000057, 0x84004057, 0x80003057, 0x80000057, 0x80004057, 0x48000057, 0x48004057, 0x5027, 0x2b00027, 0x6027, 0x7027, 0x27, 0xc0007057, 0x80007057, 0x7057, 0x4803a057, 0x4802a057, 0x4801a057, 0xba002077, 0xbe002077, 0xb6002077, 0x3c006057, 0x38006057, 0x3c003057, 0x3c004057, 0x38003057, 0x38004057, 0x94003057, 0x94000057, 0x94004057, 0xae002077, 0x82002077, 0x86002077, 0xa6082077, 0xa2082077, 0x2b00027, 0x9c000057, 0x9c004057, 0xc005027, 0xc006027, 0xc007027, 0xc000027, 0xa4003057, 0xa4000057, 0xa4004057, 0xa0003057, 0xa0000057, 0xa0004057, 0x8005027, 0x8006027, 0x8007027, 0x8000027, 0xac003057, 0xac000057, 0xac004057, 0xa8003057, 0xa8000057, 0xa8004057, 0x8c000057, 0x8c004057, 0x88000057, 0x88004057, 0x8000057, 0x8004057, 0x4005027, 0x4006027, 0x4007027, 0x4000027, 0xc4002057, 0xc4006057, 0xd4002057, 0xd4006057, 0xc0002057, 0xc0006057, 0xd0002057, 0xd0006057, 0xf4002057, 0xf4006057, 0xfc002057, 0xfc006057, 0xf0002057, 0xf0006057, 0xf8006057, 0xec002057, 0xec006057, 0xe8002057, 0xe8006057, 0xe0002057, 0xe0006057, 0xc4000057, 0xc0000057, 0xd4003057, 0xd4000057, 0xd4004057, 0xcc002057, 0xcc006057, 0xdc002057, 0xdc006057, 0xc8002057, 0xc8006057, 0xd8002057, 0xd8006057, 0x2c003057, 0x2c000057, 0x2c004057, 0x48032057, 0x48022057, 0x48012057, 0x10500073, 0xd00073, 0x1d00073, 0x40004033, 0x4033, 0x4013, 0x28002033, 0x28004033, 0x7013, 0xffff_ffff, 0x8004033, 0xffff_ffff, 0x8f01013, ];
4111pub static OPCODE32_MASK: [u32; 1021] = [
4112 0xfe00707f, 0xffff_ffff, 0x707f, 0xffff_ffff, 0xffff_ffff, 0x3e00707f, 0x3e00707f, 0x3e00707f, 0x3e00707f, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xf800707f, 0xffff_ffff, 0xf800707f, 0xf800707f, 0xf800707f, 0xffff_ffff, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xffff_ffff, 0xf800707f, 0xf800707f, 0xffff_ffff, 0xf800707f, 0xf800707f, 0xf800707f, 0xffff_ffff, 0xf800707f, 0xf800707f, 0xf800707f, 0xffff_ffff, 0xf800707f, 0xf800707f, 0xf800707f, 0xffff_ffff, 0xf800707f, 0xf800707f, 0xf800707f, 0xffff_ffff, 0xf800707f, 0xf800707f, 0xf800707f, 0xffff_ffff, 0xf800707f, 0xf800707f, 0xf800707f, 0xffff_ffff, 0xf800707f, 0xf800707f, 0xfe00707f, 0x707f, 0xfe00707f, 0x7f, 0xfe00707f, 0xffff_ffff, 0xfe00707f, 0x707f, 0x1f0707f, 0xfe00707f, 0xffff_ffff, 0xfe00707f, 0x707f, 0x707f, 0x1f0707f, 0x707f, 0x707f, 0xff07f, 0xfe00707f, 0xffff_ffff, 0xfe00707f, 0x707f, 0x707f, 0xff07f, 0x707f, 0x707f, 0x1f0707f, 0x707f, 0x1f0707f, 0xfff0707f, 0xfe00707f, 0xffff_ffff, 0xfe00707f, 0xf003, 0xe003, 0xef83, 0xe003, 0xffff_ffff, 0xffff_ffff, 0xfc63, 0xec03, 0xe003, 0xe003, 0xffff, 0xe003, 0xe003, 0xe003, 0xe003, 0xe003, 0xe003, 0xe003, 0xe003, 0xe003, 0xe003, 0xf07f, 0xf07f, 0xfc03, 0xffff_ffff, 0xffff_ffff, 0xfc43, 0xfc43, 0xe003, 0xe003, 0xe003, 0xe003, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8ff, 0xfc63, 0xf003, 0xef83, 0xfc7f, 0xffff, 0xffff, 0xffff, 0xffff, 0xfc63, 0xfc03, 0xffff_ffff, 0xffff_ffff, 0xfc7f, 0xfc7f, 0xffff_ffff, 0xfc43, 0xe003, 0xf003, 0xec03, 0xfc03, 0xec03, 0xfc03, 0xfc63, 0xffff_ffff, 0xe003, 0xe003, 0xfc63, 0xfc7f, 0xfc7f, 0xffff_ffff, 0xfff07fff, 0xfff07fff, 0xfff07fff, 0xfff07fff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xffff_ffff, 0xfc03, 0xfc63, 0xfc63, 0xff03, 0xff03, 0xff03, 0xff03, 0xfff0707f, 0xffff_ffff, 0x7fff, 0x7fff, 0xff07f, 0x707f, 0x707f, 0x707f, 0x707f, 0x707f, 0x707f, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0xfff0707f, 0xffff_ffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xffff_ffff, 0xffff_ffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0007f, 0xffff_ffff, 0xffff_ffff, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xffff_ffff, 0xffff_ffff, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xfff0007f, 0xfff0007f, 0xffff_ffff, 0xffff_ffff, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xffff_ffff, 0xffff_ffff, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0707f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0x707f, 0x707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00707f, 0xffff_ffff, 0xfe00707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xffff_ffff, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xffff_ffff, 0xfe00707f, 0xffff_ffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0xfffff07f, 0xfffff07f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfffff07f, 0xfff0707f, 0x707f, 0xfff0707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0x707f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0707f, 0xfff0707f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0x707f, 0xfe007fff, 0xfe007fff, 0xfe007fff, 0xfe007fff, 0xfff0707f, 0xfff0707f, 0xffff_ffff, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xffff_ffff, 0xfff0707f, 0xfff0707f, 0xfe007fff, 0xffff_ffff, 0xfe007fff, 0xfe007fff, 0xfff, 0x7f, 0xfff, 0x707f, 0xfff07fff, 0xfff07fff, 0x707f, 0x707f, 0xffff_ffff, 0x707f, 0x707f, 0xffff_ffff, 0xf9f0707f, 0x7f, 0x707f, 0xffff_ffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xb3c0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xb200707f, 0xffffffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xffff_ffff, 0xfff0707f, 0xfff0707f, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfe00707f, 0xfff0707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xffff_ffff, 0xffffffff, 0x1f07fff, 0x1f07fff, 0x1f07fff, 0xfffff07f, 0xfffff07f, 0xfffff07f, 0xfffff07f, 0xfffff07f, 0xfffff07f, 0xfe00707f, 0xfe00707f, 0xffff_ffff, 0xffff_ffff, 0xffffffff, 0xffff_ffff, 0xfff0707f, 0xfe00707f, 0xffff_ffff, 0xfe00707f, 0xffff_ffff, 0xfe00707f, 0xffff_ffff, 0xffff_ffff, 0x707f, 0xffffffff, 0xffff_ffff, 0xf800707f, 0xffffffff, 0xffff_ffff, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xffff_ffff, 0xffffffff, 0xfe007fff, 0xffffffff, 0xfe0ff07f, 0x707f, 0xfe00707f, 0xffff_ffff, 0xfe00707f, 0xffff_ffff, 0xfe00707f, 0xffff_ffff, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xffff_ffff, 0xfe00707f, 0xfe00707f, 0xffff_ffff, 0xfe00707f, 0xfe00707f, 0xffff_ffff, 0xfe00707f, 0xffff_ffff, 0xfe00707f, 0xfe007fff, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xfe00707f, 0x707f, 0x707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0x3e00707f, 0x3e00707f, 0xfe0ff07f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xffff_ffff, 0xffff_ffff, 0xffffffff, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xffff_ffff, 0xffff_ffff, 0xfe00707f, 0xffff_ffff, 0x707f, 0xfff0707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe00707f, 0xfe00707f, 0xfe0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfe00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe0ff07f, 0xfff0707f, 0xfff0707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe0ff07f, 0xfdfff07f, 0xfc0ff07f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0x1df0707f, 0x1df0707f, 0xfff0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0xfff0707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfe0ff07f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xf800707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0x1df0707f, 0xfff0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0xc000707f, 0xfe00707f, 0x8000707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe0ff07f, 0xfe0ff07f, 0xfff0707f, 0xfc00707f, 0xfc00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xffffffff, 0xffffffff, 0xffffffff, 0xfe00707f, 0xfe00707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xffff_ffff, 0xfff0707f, 0xffff_ffff, 0xfff0707f, ];
5134pub static OPCODE64_MATCH: [u32; 1021] = [
5135 0x33, 0x800003b, 0x13, 0x1b, 0x3b, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0x3a000033, 0x3e000033, 0x32000033, 0x36000033, 0x30001013, 0x31001013, 0x7e000033, 0x2f, 0x302f, 0x102f, 0x202f, 0x6000002f, 0x6000302f, 0x6000102f, 0x6000202f, 0x2800002f, 0x2800302f, 0x2800102f, 0x2800402f, 0x2800202f, 0xa000002f, 0xa000302f, 0xa000102f, 0xa000202f, 0xe000002f, 0xe000302f, 0xe000102f, 0xe000202f, 0x8000002f, 0x8000302f, 0x8000102f, 0x8000202f, 0xc000002f, 0xc000302f, 0xc000102f, 0xc000202f, 0x4000002f, 0x4000302f, 0x4000102f, 0x4000202f, 0x800002f, 0x800302f, 0x800102f, 0x800202f, 0x2000002f, 0x2000302f, 0x2000102f, 0x2000202f, 0x7033, 0x7013, 0x40007033, 0x17, 0x48001033, 0x48001013, 0xffff_ffff, 0x63, 0x63, 0x48005033, 0x48005013, 0xffff_ffff, 0x5063, 0x7063, 0x5063, 0x4063, 0x6063, 0x4063, 0x68001033, 0x68001013, 0xffff_ffff, 0x5063, 0x7063, 0x5063, 0x4063, 0x6063, 0x4063, 0x1063, 0x1063, 0x68705013, 0x28001033, 0x28001013, 0xffff_ffff, 0x9002, 0x1, 0x6101, 0x0, 0x2001, 0x9c21, 0x8c61, 0x8801, 0xc001, 0xe001, 0x9002, 0x2000, 0x2002, 0xffff_ffff, 0xffff_ffff, 0xa000, 0xa002, 0xffff_ffff, 0xffff_ffff, 0xa001, 0xffff_ffff, 0x9002, 0x8002, 0x8000, 0x6000, 0x6002, 0x8440, 0x8400, 0x4001, 0x6001, 0x4000, 0x4002, 0x6081, 0x6581, 0x6681, 0x6781, 0x6181, 0x6281, 0x6381, 0x6481, 0x6081, 0x9c41, 0x8002, 0x1, 0x9c75, 0x9016, 0x900a, 0x900e, 0x9012, 0x8c41, 0x8800, 0xe000, 0xe002, 0x9c65, 0x9c6d, 0x2001, 0x8c00, 0x2, 0xffff_ffff, 0x8401, 0xffff_ffff, 0x8001, 0xffff_ffff, 0x8c01, 0x9c01, 0xc000, 0xc002, 0x8c21, 0x9c61, 0x9c69, 0x9c71, 0x10200f, 0x20200f, 0x200f, 0x40200f, 0xa001033, 0xa003033, 0xa002033, 0x60001013, 0x6000101b, 0xa002, 0xac62, 0xac22, 0xba02, 0xbe02, 0xbc02, 0xb802, 0x60201013, 0x6020101b, 0x3073, 0x7073, 0x2073, 0x3073, 0x7073, 0x2073, 0x6073, 0x1073, 0x5073, 0x2073, 0x6073, 0x1073, 0x5073, 0x60101013, 0x6010101b, 0xe005033, 0xe007033, 0x2004033, 0x2005033, 0x200503b, 0x200403b, 0x7b200073, 0x100073, 0x73, 0x22002053, 0x24002053, 0x26002053, 0x20002053, 0x2000053, 0x4000053, 0x6000053, 0x53, 0xe2001053, 0xe4001053, 0xe6001053, 0xe0001053, 0x42200053, 0xd2200053, 0xd2300053, 0x42300053, 0x42000053, 0xd2000053, 0xd2100053, 0x44100053, 0xd4200053, 0xd4300053, 0x44300053, 0x44000053, 0xd4000053, 0xd4100053, 0xc2200053, 0xc4200053, 0xc6200053, 0xc0200053, 0xc2300053, 0xc4300053, 0xc6300053, 0xc0300053, 0x46100053, 0x46200053, 0xd6200053, 0xd6300053, 0x46000053, 0xd6000053, 0xd6100053, 0x40100053, 0x40200053, 0xd0200053, 0xd0300053, 0x40300053, 0xd0000053, 0xd0100053, 0xc2000053, 0xc4000053, 0xc6000053, 0xc0000053, 0xc2100053, 0xc4100053, 0xc6100053, 0xc0100053, 0xc2801053, 0x1a000053, 0x1c000053, 0x1e000053, 0x18000053, 0xf, 0x100f, 0x8330000f, 0xa2002053, 0xa4002053, 0xa6002053, 0xa0002053, 0x3007, 0xa2000053, 0xa4000053, 0xa6000053, 0xa0000053, 0xa2004053, 0xa4004053, 0xa6004053, 0xa0004053, 0x1007, 0xf2100053, 0xf4100053, 0xf6100053, 0xf0100053, 0x4007, 0xa2001053, 0xa4001053, 0xa6001053, 0xa0001053, 0xa2005053, 0xa4005053, 0xa6005053, 0xa0005053, 0x2007, 0x2000043, 0x4000043, 0x6000043, 0x43, 0x2a001053, 0x2c001053, 0x2e001053, 0x28001053, 0x2a003053, 0x2c003053, 0x2e003053, 0x28003053, 0x2a000053, 0x2c000053, 0x2e000053, 0x28000053, 0x2a002053, 0x2c002053, 0x2e002053, 0x28002053, 0x2000047, 0x4000047, 0x6000047, 0x47, 0x12000053, 0x14000053, 0x16000053, 0x10000053, 0x22000053, 0xf2000053, 0x24000053, 0xf4000053, 0x26000053, 0x20000053, 0xf0000053, 0xf0000053, 0xe2000053, 0xe4000053, 0xe0000053, 0xe0000053, 0xffff_ffff, 0xe6100053, 0xffff_ffff, 0xb6000053, 0x22001053, 0x24001053, 0x26001053, 0x20001053, 0x200004f, 0x400004f, 0x600004f, 0x4f, 0x200004b, 0x400004b, 0x600004b, 0x4b, 0x302073, 0x102073, 0x42400053, 0x44400053, 0x46400053, 0x40400053, 0x42500053, 0x44500053, 0x46500053, 0x40500053, 0x202073, 0x301073, 0x3027, 0x101073, 0x105073, 0x22000053, 0x24000053, 0x26000053, 0x20000053, 0x22001053, 0x24001053, 0x26001053, 0x20001053, 0x22002053, 0x24002053, 0x26002053, 0x20002053, 0x1027, 0x4027, 0x5a000053, 0x5c000053, 0x5e000053, 0x58000053, 0x201073, 0x205073, 0xa000053, 0xc000053, 0xe000053, 0x8000053, 0x2027, 0x62000073, 0x22000073, 0x66000073, 0x26000073, 0x60004073, 0x60104073, 0x6c004073, 0x64004073, 0x64104073, 0x68004073, 0x68104073, 0x64304073, 0x68304073, 0x62004073, 0x6e004073, 0x66004073, 0x6a004073, 0x6f, 0x6f, 0xef, 0x67, 0xe7, 0x67, 0x3, 0x4003, 0x3003, 0x1003, 0x5003, 0x1000302f, 0x1000202f, 0x37, 0x2003, 0x6003, 0xa006033, 0xa007033, 0xa004033, 0xa005033, 0x81c04073, 0x81d04073, 0x89e04073, 0x89f04073, 0x8dc04073, 0x8dd04073, 0x8de04073, 0x8df04073, 0xc1c04073, 0xc1d04073, 0xc1e04073, 0xc1f04073, 0x81e04073, 0xc5c04073, 0xc5d04073, 0xc5e04073, 0xc5f04073, 0xc9c04073, 0xc9d04073, 0xc9e04073, 0xc9f04073, 0xcdc04073, 0xcdd04073, 0x81f04073, 0xcde04073, 0xcdf04073, 0x85c04073, 0x85d04073, 0x85e04073, 0x85f04073, 0x89c04073, 0x89d04073, 0x81c04073, 0x82004073, 0x86004073, 0x8a004073, 0x8e004073, 0xc2004073, 0xc6004073, 0xca004073, 0xce004073, 0x82004073, 0x30200073, 0x2000033, 0x2001033, 0x2002033, 0x2003033, 0x200003b, 0x13, 0x40000033, 0x13, 0x500033, 0x200033, 0x300033, 0x400033, 0x6033, 0x28705013, 0x6013, 0x40006033, 0x8004033, 0x8007033, 0x800403b, 0x100000f, 0x6013, 0x106013, 0x306013, 0xc0002073, 0xffff_ffff, 0xc0202073, 0xffff_ffff, 0xc0102073, 0xffff_ffff, 0x2006033, 0x2007033, 0x200703b, 0x200603b, 0x8067, 0x6b805013, 0xffff_ffff, 0x60001033, 0x6000103b, 0x60005033, 0x60005013, 0xffff_ffff, 0x6000501b, 0x6000503b, 0x23, 0x100073, 0x1800302f, 0x1800202f, 0x73, 0x3023, 0x103013, 0x60401013, 0x60501013, 0x1b, 0x18100073, 0x12000073, 0x18000073, 0x2033, 0x1023, 0x20002033, 0x2000203b, 0x20004033, 0x2000403b, 0x20006033, 0x2000603b, 0x10201013, 0x10301013, 0x10001013, 0x10101013, 0x10601013, 0xffff_ffff, 0xffff_ffff, 0x10701013, 0xffff_ffff, 0xffff_ffff, 0x10401013, 0xffff_ffff, 0x10501013, 0xffff_ffff, 0x16000073, 0x1033, 0x1013, 0xffff_ffff, 0x800101b, 0x101b, 0x103b, 0x2033, 0x2013, 0x3013, 0x3033, 0x2033, 0x10801013, 0x10901013, 0x30000033, 0x34000033, 0x3033, 0x40005033, 0x40005013, 0xffff_ffff, 0x4000501b, 0x4000503b, 0x10200073, 0x5033, 0x5013, 0xffff_ffff, 0x501b, 0x503b, 0x40000033, 0x4000003b, 0x2023, 0xffff_ffff, 0x24002057, 0x24006057, 0x20002057, 0x20006057, 0x40003057, 0x40000057, 0x40004057, 0x3057, 0x57, 0x4057, 0xa600a077, 0xa200a077, 0xa6002077, 0xa2002077, 0xa601a077, 0xa201a077, 0xa6012077, 0xa2012077, 0x8a002077, 0xaa002077, 0xa603a077, 0x24003057, 0x24000057, 0x24004057, 0x4000057, 0x4004057, 0x2c002057, 0x2c006057, 0x28002057, 0x28006057, 0x48042057, 0x48052057, 0x30002057, 0x30006057, 0x34002057, 0x34006057, 0x48062057, 0x5e002057, 0x40082057, 0x48072057, 0x4806a057, 0x84002057, 0x84006057, 0x80002057, 0x80006057, 0x5057, 0x1057, 0x4c081057, 0x48019057, 0x48011057, 0x48039057, 0x48031057, 0x48009057, 0x48001057, 0x80005057, 0x80001057, 0x4008a057, 0xb0005057, 0xb0001057, 0xa0005057, 0xa0001057, 0x18005057, 0x18001057, 0x5c005057, 0x10005057, 0x10001057, 0xb8005057, 0xb8001057, 0xa8005057, 0xa8001057, 0x90005057, 0x90001057, 0x42001057, 0x42005057, 0x5e005057, 0x480a1057, 0x48099057, 0x48091057, 0x480a9057, 0x480b9057, 0x480b1057, 0x48089057, 0x48081057, 0xb4005057, 0xb4001057, 0xa4005057, 0xa4001057, 0xbc005057, 0xbc001057, 0xac005057, 0xac001057, 0x84005057, 0x4c029057, 0x1c001057, 0x14001057, 0xc001057, 0x4001057, 0x4001057, 0x4c021057, 0x9c005057, 0x20005057, 0x20001057, 0x24005057, 0x24001057, 0x28005057, 0x28001057, 0x3c005057, 0x38005057, 0x4c001057, 0x8005057, 0x8001057, 0xc0005057, 0xc0001057, 0xd0005057, 0xd0001057, 0x48061057, 0x48059057, 0x48051057, 0x48079057, 0x48071057, 0x48049057, 0x48041057, 0xf0005057, 0xf0001057, 0xf8005057, 0xf8001057, 0xe0005057, 0xe0001057, 0xf4005057, 0xf4001057, 0xfc005057, 0xfc001057, 0xcc001057, 0xc4001057, 0xc4001057, 0xc8005057, 0xc8001057, 0xd8005057, 0xd8001057, 0xb2002077, 0xa208a077, 0x5008a057, 0x50082057, 0x2800007, 0x2805007, 0x2806007, 0x2807007, 0x2800007, 0x22800007, 0x22805007, 0x22806007, 0x22807007, 0x22800007, 0x62800007, 0x62805007, 0x62806007, 0x62807007, 0x62800007, 0xe2800007, 0xe2805007, 0xe2806007, 0xe2807007, 0xe2800007, 0x5007, 0x1005007, 0x2b00007, 0x6007, 0x1006007, 0x7007, 0x1007007, 0x7, 0x1000007, 0x2b00007, 0xc005007, 0xc006007, 0xc007007, 0xc000007, 0x8005007, 0x8006007, 0x8007007, 0x8000007, 0x4005007, 0x4006007, 0x4007007, 0x4000007, 0xb4002057, 0xb4006057, 0x46003057, 0x44003057, 0x46000057, 0x44000057, 0x46004057, 0x44004057, 0xa4002057, 0xa4006057, 0x66002057, 0x62002057, 0x60002057, 0x1c000057, 0x1c004057, 0x18000057, 0x18004057, 0x5c003057, 0x5c000057, 0x5c004057, 0x60005057, 0x60001057, 0x7c005057, 0x74005057, 0x64005057, 0x64001057, 0x6c005057, 0x6c001057, 0x70005057, 0x70001057, 0x14000057, 0x14004057, 0x10000057, 0x10004057, 0x76002057, 0x7a002057, 0x6a002057, 0x72002057, 0x70002057, 0x4e000057, 0x4c000057, 0x4e004057, 0x4c004057, 0x5000a057, 0x60003057, 0x60000057, 0x60004057, 0x7c003057, 0x7c004057, 0x78003057, 0x78004057, 0x5001a057, 0x74003057, 0x74000057, 0x74004057, 0x70003057, 0x70000057, 0x70004057, 0x6c000057, 0x6c004057, 0x68000057, 0x68004057, 0x64003057, 0x64000057, 0x64004057, 0x50012057, 0x94002057, 0x94006057, 0x9c002057, 0x9c006057, 0x98002057, 0x98006057, 0x90002057, 0x90006057, 0x9e003057, 0x9e00b057, 0x9e01b057, 0x9e03b057, 0x42006057, 0x5e003057, 0x5e000057, 0x5e004057, 0x42002057, 0x7e002057, 0x6e002057, 0xbc003057, 0xbc000057, 0xbc004057, 0xb8003057, 0xb8000057, 0xb8004057, 0xbc002057, 0xbc006057, 0xac002057, 0xac006057, 0xb4003057, 0xb4000057, 0xb4004057, 0xb0003057, 0xb0000057, 0xb0004057, 0x28003057, 0x28000057, 0x28004057, 0x40082057, 0x4002057, 0x1c002057, 0x18002057, 0x14002057, 0x10002057, 0x8002057, 0x2057, 0xc002057, 0x8c002057, 0x8c006057, 0x88002057, 0x88006057, 0x4804a057, 0x30003057, 0x30000057, 0x30004057, 0x38000057, 0x54000057, 0x54004057, 0x50003057, 0x50000057, 0x50004057, 0xc003057, 0xc004057, 0x2800027, 0x22800027, 0x62800027, 0xe2800027, 0x84003057, 0x84000057, 0x84004057, 0x80003057, 0x80000057, 0x80004057, 0x48000057, 0x48004057, 0x5027, 0x2b00027, 0x6027, 0x7027, 0x27, 0xc0007057, 0x80007057, 0x7057, 0x4803a057, 0x4802a057, 0x4801a057, 0xba002077, 0xbe002077, 0xb6002077, 0x3c006057, 0x38006057, 0x3c003057, 0x3c004057, 0x38003057, 0x38004057, 0x94003057, 0x94000057, 0x94004057, 0xae002077, 0x82002077, 0x86002077, 0xa6082077, 0xa2082077, 0x2b00027, 0x9c000057, 0x9c004057, 0xc005027, 0xc006027, 0xc007027, 0xc000027, 0xa4003057, 0xa4000057, 0xa4004057, 0xa0003057, 0xa0000057, 0xa0004057, 0x8005027, 0x8006027, 0x8007027, 0x8000027, 0xac003057, 0xac000057, 0xac004057, 0xa8003057, 0xa8000057, 0xa8004057, 0x8c000057, 0x8c004057, 0x88000057, 0x88004057, 0x8000057, 0x8004057, 0x4005027, 0x4006027, 0x4007027, 0x4000027, 0xc4002057, 0xc4006057, 0xd4002057, 0xd4006057, 0xc0002057, 0xc0006057, 0xd0002057, 0xd0006057, 0xf4002057, 0xf4006057, 0xfc002057, 0xfc006057, 0xf0002057, 0xf0006057, 0xf8006057, 0xec002057, 0xec006057, 0xe8002057, 0xe8006057, 0xe0002057, 0xe0006057, 0xc4000057, 0xc0000057, 0xd4003057, 0xd4000057, 0xd4004057, 0xcc002057, 0xcc006057, 0xdc002057, 0xdc006057, 0xc8002057, 0xc8006057, 0xd8002057, 0xd8006057, 0x2c003057, 0x2c000057, 0x2c004057, 0x48032057, 0x48022057, 0x48012057, 0x10500073, 0xd00073, 0x1d00073, 0x40004033, 0x4033, 0x4013, 0x28002033, 0x28004033, 0x7013, 0x800403b, 0xffff_ffff, 0x800003b, 0xffff_ffff, ];
6157pub static OPCODE64_MASK: [u32; 1021] = [
6158 0xfe00707f, 0xfe00707f, 0x707f, 0x707f, 0xfe00707f, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xffff_ffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xff00707f, 0xfe00707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xfe00707f, 0x707f, 0xfe00707f, 0x7f, 0xfe00707f, 0xfc00707f, 0xffff_ffff, 0x707f, 0x1f0707f, 0xfe00707f, 0xfc00707f, 0xffff_ffff, 0x707f, 0x707f, 0x1f0707f, 0x707f, 0x707f, 0xff07f, 0xfe00707f, 0xfc00707f, 0xffff_ffff, 0x707f, 0x707f, 0xff07f, 0x707f, 0x707f, 0x1f0707f, 0x707f, 0x1f0707f, 0xfff0707f, 0xfe00707f, 0xfc00707f, 0xffff_ffff, 0xf003, 0xe003, 0xef83, 0xe003, 0xe003, 0xfc63, 0xfc63, 0xec03, 0xe003, 0xe003, 0xffff, 0xe003, 0xe003, 0xffff_ffff, 0xffff_ffff, 0xe003, 0xe003, 0xffff_ffff, 0xffff_ffff, 0xe003, 0xffff_ffff, 0xf07f, 0xf07f, 0xfc03, 0xe003, 0xe003, 0xfc43, 0xfc43, 0xe003, 0xe003, 0xe003, 0xe003, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8ff, 0xfc63, 0xf003, 0xef83, 0xfc7f, 0xffff, 0xffff, 0xffff, 0xffff, 0xfc63, 0xfc03, 0xe003, 0xe003, 0xfc7f, 0xfc7f, 0xf07f, 0xfc43, 0xe003, 0xffff_ffff, 0xec03, 0xffff_ffff, 0xec03, 0xffff_ffff, 0xfc63, 0xfc63, 0xe003, 0xe003, 0xfc63, 0xfc7f, 0xfc7f, 0xfc7f, 0xfff07fff, 0xfff07fff, 0xfff07fff, 0xfff07fff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfc03, 0xfc63, 0xfc63, 0xff03, 0xff03, 0xff03, 0xff03, 0xfff0707f, 0xfff0707f, 0x7fff, 0x7fff, 0xff07f, 0x707f, 0x707f, 0x707f, 0x707f, 0x707f, 0x707f, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0xfff0707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xffffffff, 0xffffffff, 0xffffffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0707f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0x707f, 0x707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00707f, 0xfff0707f, 0xfe00707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xffff_ffff, 0xfff0707f, 0xffff_ffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0xfffff07f, 0xfffff07f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfffff07f, 0xfff0707f, 0x707f, 0xfff0707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0x707f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0707f, 0xfff0707f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0x707f, 0xfe007fff, 0xfe007fff, 0xfe007fff, 0xfe007fff, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfe007fff, 0xfe007fff, 0xfe007fff, 0xfe007fff, 0xfff, 0x7f, 0xfff, 0x707f, 0xfff07fff, 0xfff07fff, 0x707f, 0x707f, 0x707f, 0x707f, 0x707f, 0xf9f0707f, 0xf9f0707f, 0x7f, 0x707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xb3c0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xb200707f, 0xffffffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfe00707f, 0xfff0707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xffffffff, 0x1f07fff, 0x1f07fff, 0x1f07fff, 0xfffff07f, 0xffff_ffff, 0xfffff07f, 0xffff_ffff, 0xfffff07f, 0xffff_ffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xffffffff, 0xfff0707f, 0xffff_ffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xffff_ffff, 0xfe00707f, 0xfe00707f, 0x707f, 0xffffffff, 0xf800707f, 0xf800707f, 0xffffffff, 0x707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xffffffff, 0xfe007fff, 0xffffffff, 0xfe0ff07f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xffff_ffff, 0xffff_ffff, 0xfff0707f, 0xffff_ffff, 0xffff_ffff, 0xfff0707f, 0xffff_ffff, 0xfff0707f, 0xffff_ffff, 0xfe007fff, 0xfe00707f, 0xfc00707f, 0xffff_ffff, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0x707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0x3e00707f, 0x3e00707f, 0xfe0ff07f, 0xfe00707f, 0xfc00707f, 0xffff_ffff, 0xfe00707f, 0xfe00707f, 0xffffffff, 0xfe00707f, 0xfc00707f, 0xffff_ffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0xffff_ffff, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe00707f, 0xfe00707f, 0xfe0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfe00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe0ff07f, 0xfff0707f, 0xfff0707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe0ff07f, 0xfdfff07f, 0xfc0ff07f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0x1df0707f, 0x1df0707f, 0xfff0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0xfff0707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfe0ff07f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xf800707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0x1df0707f, 0xfff0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0xc000707f, 0xfe00707f, 0x8000707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe0ff07f, 0xfe0ff07f, 0xfff0707f, 0xfc00707f, 0xfc00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xffffffff, 0xffffffff, 0xffffffff, 0xfe00707f, 0xfe00707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xffff_ffff, 0xfff0707f, 0xffff_ffff, ];
7180pub static OPCODE_MATCH: [u32; 1021] = [
7181 0x33, 0x800003b, 0x13, 0x1b, 0x3b, 0x2a000033, 0x2e000033, 0x22000033, 0x26000033, 0x3a000033,
7182 0x3e000033, 0x32000033, 0x36000033, 0x30001013, 0x31001013, 0x7e000033, 0x2f, 0x302f, 0x102f,
7183 0x202f, 0x6000002f, 0x6000302f, 0x6000102f, 0x6000202f, 0x2800002f, 0x2800302f, 0x2800102f,
7184 0x2800402f, 0x2800202f, 0xa000002f, 0xa000302f, 0xa000102f, 0xa000202f, 0xe000002f, 0xe000302f,
7185 0xe000102f, 0xe000202f, 0x8000002f, 0x8000302f, 0x8000102f, 0x8000202f, 0xc000002f, 0xc000302f,
7186 0xc000102f, 0xc000202f, 0x4000002f, 0x4000302f, 0x4000102f, 0x4000202f, 0x800002f, 0x800302f,
7187 0x800102f, 0x800202f, 0x2000002f, 0x2000302f, 0x2000102f, 0x2000202f, 0x7033, 0x7013,
7188 0x40007033, 0x17, 0x48001033, 0x48001013, 0x48001013, 0x63, 0x63, 0x48005033, 0x48005013,
7189 0x48005013, 0x5063, 0x7063, 0x5063, 0x4063, 0x6063, 0x4063, 0x68001033, 0x68001013, 0x68001013,
7190 0x5063, 0x7063, 0x5063, 0x4063, 0x6063, 0x4063, 0x1063, 0x1063, 0x68705013, 0x28001033,
7191 0x28001013, 0x28001013, 0x9002, 0x1, 0x6101, 0x0, 0x2001, 0x9c21, 0x8c61, 0x8801, 0xc001,
7192 0xe001, 0x9002, 0x2000, 0x2002, 0x6000, 0x6002, 0xa000, 0xa002, 0xe000, 0xe002, 0xa001, 0x2001,
7193 0x9002, 0x8002, 0x8000, 0x6000, 0x6002, 0x8440, 0x8400, 0x4001, 0x6001, 0x4000, 0x4002, 0x6081,
7194 0x6581, 0x6681, 0x6781, 0x6181, 0x6281, 0x6381, 0x6481, 0x6081, 0x9c41, 0x8002, 0x1, 0x9c75,
7195 0x9016, 0x900a, 0x900e, 0x9012, 0x8c41, 0x8800, 0xe000, 0xe002, 0x9c65, 0x9c6d, 0x2001, 0x8c00,
7196 0x2, 0x2, 0x8401, 0x8401, 0x8001, 0x8001, 0x8c01, 0x9c01, 0xc000, 0xc002, 0x8c21, 0x9c61,
7197 0x9c69, 0x9c71, 0x10200f, 0x20200f, 0x200f, 0x40200f, 0xa001033, 0xa003033, 0xa002033,
7198 0x60001013, 0x6000101b, 0xa002, 0xac62, 0xac22, 0xba02, 0xbe02, 0xbc02, 0xb802, 0x60201013,
7199 0x6020101b, 0x3073, 0x7073, 0x2073, 0x3073, 0x7073, 0x2073, 0x6073, 0x1073, 0x5073, 0x2073,
7200 0x6073, 0x1073, 0x5073, 0x60101013, 0x6010101b, 0xe005033, 0xe007033, 0x2004033, 0x2005033,
7201 0x200503b, 0x200403b, 0x7b200073, 0x100073, 0x73, 0x22002053, 0x24002053, 0x26002053,
7202 0x20002053, 0x2000053, 0x4000053, 0x6000053, 0x53, 0xe2001053, 0xe4001053, 0xe6001053,
7203 0xe0001053, 0x42200053, 0xd2200053, 0xd2300053, 0x42300053, 0x42000053, 0xd2000053, 0xd2100053,
7204 0x44100053, 0xd4200053, 0xd4300053, 0x44300053, 0x44000053, 0xd4000053, 0xd4100053, 0xc2200053,
7205 0xc4200053, 0xc6200053, 0xc0200053, 0xc2300053, 0xc4300053, 0xc6300053, 0xc0300053, 0x46100053,
7206 0x46200053, 0xd6200053, 0xd6300053, 0x46000053, 0xd6000053, 0xd6100053, 0x40100053, 0x40200053,
7207 0xd0200053, 0xd0300053, 0x40300053, 0xd0000053, 0xd0100053, 0xc2000053, 0xc4000053, 0xc6000053,
7208 0xc0000053, 0xc2100053, 0xc4100053, 0xc6100053, 0xc0100053, 0xc2801053, 0x1a000053, 0x1c000053,
7209 0x1e000053, 0x18000053, 0xf, 0x100f, 0x8330000f, 0xa2002053, 0xa4002053, 0xa6002053,
7210 0xa0002053, 0x3007, 0xa2000053, 0xa4000053, 0xa6000053, 0xa0000053, 0xa2004053, 0xa4004053,
7211 0xa6004053, 0xa0004053, 0x1007, 0xf2100053, 0xf4100053, 0xf6100053, 0xf0100053, 0x4007,
7212 0xa2001053, 0xa4001053, 0xa6001053, 0xa0001053, 0xa2005053, 0xa4005053, 0xa6005053, 0xa0005053,
7213 0x2007, 0x2000043, 0x4000043, 0x6000043, 0x43, 0x2a001053, 0x2c001053, 0x2e001053, 0x28001053,
7214 0x2a003053, 0x2c003053, 0x2e003053, 0x28003053, 0x2a000053, 0x2c000053, 0x2e000053, 0x28000053,
7215 0x2a002053, 0x2c002053, 0x2e002053, 0x28002053, 0x2000047, 0x4000047, 0x6000047, 0x47,
7216 0x12000053, 0x14000053, 0x16000053, 0x10000053, 0x22000053, 0xf2000053, 0x24000053, 0xf4000053,
7217 0x26000053, 0x20000053, 0xf0000053, 0xf0000053, 0xe2000053, 0xe4000053, 0xe0000053, 0xe0000053,
7218 0xe2100053, 0xe6100053, 0xb2000053, 0xb6000053, 0x22001053, 0x24001053, 0x26001053, 0x20001053,
7219 0x200004f, 0x400004f, 0x600004f, 0x4f, 0x200004b, 0x400004b, 0x600004b, 0x4b, 0x302073,
7220 0x102073, 0x42400053, 0x44400053, 0x46400053, 0x40400053, 0x42500053, 0x44500053, 0x46500053,
7221 0x40500053, 0x202073, 0x301073, 0x3027, 0x101073, 0x105073, 0x22000053, 0x24000053, 0x26000053,
7222 0x20000053, 0x22001053, 0x24001053, 0x26001053, 0x20001053, 0x22002053, 0x24002053, 0x26002053,
7223 0x20002053, 0x1027, 0x4027, 0x5a000053, 0x5c000053, 0x5e000053, 0x58000053, 0x201073, 0x205073,
7224 0xa000053, 0xc000053, 0xe000053, 0x8000053, 0x2027, 0x62000073, 0x22000073, 0x66000073,
7225 0x26000073, 0x60004073, 0x60104073, 0x6c004073, 0x64004073, 0x64104073, 0x68004073, 0x68104073,
7226 0x64304073, 0x68304073, 0x62004073, 0x6e004073, 0x66004073, 0x6a004073, 0x6f, 0x6f, 0xef, 0x67,
7227 0xe7, 0x67, 0x3, 0x4003, 0x3003, 0x1003, 0x5003, 0x1000302f, 0x1000202f, 0x37, 0x2003, 0x6003,
7228 0xa006033, 0xa007033, 0xa004033, 0xa005033, 0x81c04073, 0x81d04073, 0x89e04073, 0x89f04073,
7229 0x8dc04073, 0x8dd04073, 0x8de04073, 0x8df04073, 0xc1c04073, 0xc1d04073, 0xc1e04073, 0xc1f04073,
7230 0x81e04073, 0xc5c04073, 0xc5d04073, 0xc5e04073, 0xc5f04073, 0xc9c04073, 0xc9d04073, 0xc9e04073,
7231 0xc9f04073, 0xcdc04073, 0xcdd04073, 0x81f04073, 0xcde04073, 0xcdf04073, 0x85c04073, 0x85d04073,
7232 0x85e04073, 0x85f04073, 0x89c04073, 0x89d04073, 0x81c04073, 0x82004073, 0x86004073, 0x8a004073,
7233 0x8e004073, 0xc2004073, 0xc6004073, 0xca004073, 0xce004073, 0x82004073, 0x30200073, 0x2000033,
7234 0x2001033, 0x2002033, 0x2003033, 0x200003b, 0x13, 0x40000033, 0x13, 0x500033, 0x200033,
7235 0x300033, 0x400033, 0x6033, 0x28705013, 0x6013, 0x40006033, 0x8004033, 0x8007033, 0x800403b,
7236 0x100000f, 0x6013, 0x106013, 0x306013, 0xc0002073, 0xc8002073, 0xc0202073, 0xc8202073,
7237 0xc0102073, 0xc8102073, 0x2006033, 0x2007033, 0x200703b, 0x200603b, 0x8067, 0x6b805013,
7238 0x69805013, 0x60001033, 0x6000103b, 0x60005033, 0x60005013, 0x60005013, 0x6000501b, 0x6000503b,
7239 0x23, 0x100073, 0x1800302f, 0x1800202f, 0x73, 0x3023, 0x103013, 0x60401013, 0x60501013, 0x1b,
7240 0x18100073, 0x12000073, 0x18000073, 0x2033, 0x1023, 0x20002033, 0x2000203b, 0x20004033,
7241 0x2000403b, 0x20006033, 0x2000603b, 0x10201013, 0x10301013, 0x10001013, 0x10101013, 0x10601013,
7242 0x5c000033, 0x54000033, 0x10701013, 0x5e000033, 0x56000033, 0x10401013, 0x50000033, 0x10501013,
7243 0x52000033, 0x16000073, 0x1033, 0x1013, 0x1013, 0x800101b, 0x101b, 0x103b, 0x2033, 0x2013,
7244 0x3013, 0x3033, 0x2033, 0x10801013, 0x10901013, 0x30000033, 0x34000033, 0x3033, 0x40005033,
7245 0x40005013, 0x40005013, 0x4000501b, 0x4000503b, 0x10200073, 0x5033, 0x5013, 0x5013, 0x501b,
7246 0x503b, 0x40000033, 0x4000003b, 0x2023, 0x8f05013, 0x24002057, 0x24006057, 0x20002057,
7247 0x20006057, 0x40003057, 0x40000057, 0x40004057, 0x3057, 0x57, 0x4057, 0xa600a077, 0xa200a077,
7248 0xa6002077, 0xa2002077, 0xa601a077, 0xa201a077, 0xa6012077, 0xa2012077, 0x8a002077, 0xaa002077,
7249 0xa603a077, 0x24003057, 0x24000057, 0x24004057, 0x4000057, 0x4004057, 0x2c002057, 0x2c006057,
7250 0x28002057, 0x28006057, 0x48042057, 0x48052057, 0x30002057, 0x30006057, 0x34002057, 0x34006057,
7251 0x48062057, 0x5e002057, 0x40082057, 0x48072057, 0x4806a057, 0x84002057, 0x84006057, 0x80002057,
7252 0x80006057, 0x5057, 0x1057, 0x4c081057, 0x48019057, 0x48011057, 0x48039057, 0x48031057,
7253 0x48009057, 0x48001057, 0x80005057, 0x80001057, 0x4008a057, 0xb0005057, 0xb0001057, 0xa0005057,
7254 0xa0001057, 0x18005057, 0x18001057, 0x5c005057, 0x10005057, 0x10001057, 0xb8005057, 0xb8001057,
7255 0xa8005057, 0xa8001057, 0x90005057, 0x90001057, 0x42001057, 0x42005057, 0x5e005057, 0x480a1057,
7256 0x48099057, 0x48091057, 0x480a9057, 0x480b9057, 0x480b1057, 0x48089057, 0x48081057, 0xb4005057,
7257 0xb4001057, 0xa4005057, 0xa4001057, 0xbc005057, 0xbc001057, 0xac005057, 0xac001057, 0x84005057,
7258 0x4c029057, 0x1c001057, 0x14001057, 0xc001057, 0x4001057, 0x4001057, 0x4c021057, 0x9c005057,
7259 0x20005057, 0x20001057, 0x24005057, 0x24001057, 0x28005057, 0x28001057, 0x3c005057, 0x38005057,
7260 0x4c001057, 0x8005057, 0x8001057, 0xc0005057, 0xc0001057, 0xd0005057, 0xd0001057, 0x48061057,
7261 0x48059057, 0x48051057, 0x48079057, 0x48071057, 0x48049057, 0x48041057, 0xf0005057, 0xf0001057,
7262 0xf8005057, 0xf8001057, 0xe0005057, 0xe0001057, 0xf4005057, 0xf4001057, 0xfc005057, 0xfc001057,
7263 0xcc001057, 0xc4001057, 0xc4001057, 0xc8005057, 0xc8001057, 0xd8005057, 0xd8001057, 0xb2002077,
7264 0xa208a077, 0x5008a057, 0x50082057, 0x2800007, 0x2805007, 0x2806007, 0x2807007, 0x2800007,
7265 0x22800007, 0x22805007, 0x22806007, 0x22807007, 0x22800007, 0x62800007, 0x62805007, 0x62806007,
7266 0x62807007, 0x62800007, 0xe2800007, 0xe2805007, 0xe2806007, 0xe2807007, 0xe2800007, 0x5007,
7267 0x1005007, 0x2b00007, 0x6007, 0x1006007, 0x7007, 0x1007007, 0x7, 0x1000007, 0x2b00007,
7268 0xc005007, 0xc006007, 0xc007007, 0xc000007, 0x8005007, 0x8006007, 0x8007007, 0x8000007,
7269 0x4005007, 0x4006007, 0x4007007, 0x4000007, 0xb4002057, 0xb4006057, 0x46003057, 0x44003057,
7270 0x46000057, 0x44000057, 0x46004057, 0x44004057, 0xa4002057, 0xa4006057, 0x66002057, 0x62002057,
7271 0x60002057, 0x1c000057, 0x1c004057, 0x18000057, 0x18004057, 0x5c003057, 0x5c000057, 0x5c004057,
7272 0x60005057, 0x60001057, 0x7c005057, 0x74005057, 0x64005057, 0x64001057, 0x6c005057, 0x6c001057,
7273 0x70005057, 0x70001057, 0x14000057, 0x14004057, 0x10000057, 0x10004057, 0x76002057, 0x7a002057,
7274 0x6a002057, 0x72002057, 0x70002057, 0x4e000057, 0x4c000057, 0x4e004057, 0x4c004057, 0x5000a057,
7275 0x60003057, 0x60000057, 0x60004057, 0x7c003057, 0x7c004057, 0x78003057, 0x78004057, 0x5001a057,
7276 0x74003057, 0x74000057, 0x74004057, 0x70003057, 0x70000057, 0x70004057, 0x6c000057, 0x6c004057,
7277 0x68000057, 0x68004057, 0x64003057, 0x64000057, 0x64004057, 0x50012057, 0x94002057, 0x94006057,
7278 0x9c002057, 0x9c006057, 0x98002057, 0x98006057, 0x90002057, 0x90006057, 0x9e003057, 0x9e00b057,
7279 0x9e01b057, 0x9e03b057, 0x42006057, 0x5e003057, 0x5e000057, 0x5e004057, 0x42002057, 0x7e002057,
7280 0x6e002057, 0xbc003057, 0xbc000057, 0xbc004057, 0xb8003057, 0xb8000057, 0xb8004057, 0xbc002057,
7281 0xbc006057, 0xac002057, 0xac006057, 0xb4003057, 0xb4000057, 0xb4004057, 0xb0003057, 0xb0000057,
7282 0xb0004057, 0x28003057, 0x28000057, 0x28004057, 0x40082057, 0x4002057, 0x1c002057, 0x18002057,
7283 0x14002057, 0x10002057, 0x8002057, 0x2057, 0xc002057, 0x8c002057, 0x8c006057, 0x88002057,
7284 0x88006057, 0x4804a057, 0x30003057, 0x30000057, 0x30004057, 0x38000057, 0x54000057, 0x54004057,
7285 0x50003057, 0x50000057, 0x50004057, 0xc003057, 0xc004057, 0x2800027, 0x22800027, 0x62800027,
7286 0xe2800027, 0x84003057, 0x84000057, 0x84004057, 0x80003057, 0x80000057, 0x80004057, 0x48000057,
7287 0x48004057, 0x5027, 0x2b00027, 0x6027, 0x7027, 0x27, 0xc0007057, 0x80007057, 0x7057,
7288 0x4803a057, 0x4802a057, 0x4801a057, 0xba002077, 0xbe002077, 0xb6002077, 0x3c006057, 0x38006057,
7289 0x3c003057, 0x3c004057, 0x38003057, 0x38004057, 0x94003057, 0x94000057, 0x94004057, 0xae002077,
7290 0x82002077, 0x86002077, 0xa6082077, 0xa2082077, 0x2b00027, 0x9c000057, 0x9c004057, 0xc005027,
7291 0xc006027, 0xc007027, 0xc000027, 0xa4003057, 0xa4000057, 0xa4004057, 0xa0003057, 0xa0000057,
7292 0xa0004057, 0x8005027, 0x8006027, 0x8007027, 0x8000027, 0xac003057, 0xac000057, 0xac004057,
7293 0xa8003057, 0xa8000057, 0xa8004057, 0x8c000057, 0x8c004057, 0x88000057, 0x88004057, 0x8000057,
7294 0x8004057, 0x4005027, 0x4006027, 0x4007027, 0x4000027, 0xc4002057, 0xc4006057, 0xd4002057,
7295 0xd4006057, 0xc0002057, 0xc0006057, 0xd0002057, 0xd0006057, 0xf4002057, 0xf4006057, 0xfc002057,
7296 0xfc006057, 0xf0002057, 0xf0006057, 0xf8006057, 0xec002057, 0xec006057, 0xe8002057, 0xe8006057,
7297 0xe0002057, 0xe0006057, 0xc4000057, 0xc0000057, 0xd4003057, 0xd4000057, 0xd4004057, 0xcc002057,
7298 0xcc006057, 0xdc002057, 0xdc006057, 0xc8002057, 0xc8006057, 0xd8002057, 0xd8006057, 0x2c003057,
7299 0x2c000057, 0x2c004057, 0x48032057, 0x48022057, 0x48012057, 0x10500073, 0xd00073, 0x1d00073,
7300 0x40004033, 0x4033, 0x4013, 0x28002033, 0x28004033, 0x7013, 0x800403b, 0x8004033, 0x800003b,
7301 0x8f01013,
7302];
7303pub static OPCODE_MASK: [u32; 1021] = [
7304 0xfe00707f, 0xfe00707f, 0x707f, 0x707f, 0xfe00707f, 0x3e00707f, 0x3e00707f, 0x3e00707f,
7305 0x3e00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xff00707f, 0xfe00707f,
7306 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f,
7307 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f,
7308 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f,
7309 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f,
7310 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f,
7311 0xf800707f, 0xfe00707f, 0x707f, 0xfe00707f, 0x7f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0x707f,
7312 0x1f0707f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0x707f, 0x707f, 0x1f0707f, 0x707f, 0x707f,
7313 0xff07f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0x707f, 0x707f, 0xff07f, 0x707f, 0x707f,
7314 0x1f0707f, 0x707f, 0x1f0707f, 0xfff0707f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xf003, 0xe003,
7315 0xef83, 0xe003, 0xe003, 0xfc63, 0xfc63, 0xec03, 0xe003, 0xe003, 0xffff, 0xe003, 0xe003, 0xe003,
7316 0xe003, 0xe003, 0xe003, 0xe003, 0xe003, 0xe003, 0xe003, 0xf07f, 0xf07f, 0xfc03, 0xe003, 0xe003,
7317 0xfc43, 0xfc43, 0xe003, 0xe003, 0xe003, 0xe003, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
7318 0xffff, 0xffff, 0xf8ff, 0xfc63, 0xf003, 0xef83, 0xfc7f, 0xffff, 0xffff, 0xffff, 0xffff, 0xfc63,
7319 0xfc03, 0xe003, 0xe003, 0xfc7f, 0xfc7f, 0xf07f, 0xfc43, 0xe003, 0xf003, 0xec03, 0xfc03, 0xec03,
7320 0xfc03, 0xfc63, 0xfc63, 0xe003, 0xe003, 0xfc63, 0xfc7f, 0xfc7f, 0xfc7f, 0xfff07fff, 0xfff07fff,
7321 0xfff07fff, 0xfff07fff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfc03,
7322 0xfc63, 0xfc63, 0xff03, 0xff03, 0xff03, 0xff03, 0xfff0707f, 0xfff0707f, 0x7fff, 0x7fff,
7323 0xff07f, 0x707f, 0x707f, 0x707f, 0x707f, 0x707f, 0x707f, 0x7fff, 0x7fff, 0x7fff, 0x7fff,
7324 0xfff0707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
7325 0xffffffff, 0xffffffff, 0xffffffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00007f,
7326 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0007f,
7327 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f,
7328 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f,
7329 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f,
7330 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f,
7331 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f,
7332 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0707f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00007f,
7333 0x707f, 0x707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0xfe00707f,
7334 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f,
7335 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
7336 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0x600007f, 0x600007f,
7337 0x600007f, 0x600007f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
7338 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
7339 0xfe00707f, 0xfe00707f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0xfe00007f, 0xfe00007f,
7340 0xfe00007f, 0xfe00007f, 0xfe00707f, 0xfff0707f, 0xfe00707f, 0xfff0707f, 0xfe00707f, 0xfe00707f,
7341 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
7342 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x600007f, 0x600007f,
7343 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0xfffff07f, 0xfffff07f,
7344 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f,
7345 0xfffff07f, 0xfff0707f, 0x707f, 0xfff0707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
7346 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
7347 0xfe00707f, 0x707f, 0x707f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0707f,
7348 0xfff0707f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0x707f, 0xfe007fff, 0xfe007fff,
7349 0xfe007fff, 0xfe007fff, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
7350 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfe007fff, 0xfe007fff, 0xfe007fff, 0xfe007fff, 0xfff,
7351 0x7f, 0xfff, 0x707f, 0xfff07fff, 0xfff07fff, 0x707f, 0x707f, 0x707f, 0x707f, 0x707f,
7352 0xf9f0707f, 0xf9f0707f, 0x7f, 0x707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
7353 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
7354 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
7355 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
7356 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
7357 0xb3c0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
7358 0xfe00707f, 0xb200707f, 0xffffffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
7359 0xfff0707f, 0xfff0707f, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfe00707f,
7360 0xfff0707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xffffffff, 0x1f07fff,
7361 0x1f07fff, 0x1f07fff, 0xfffff07f, 0xfffff07f, 0xfffff07f, 0xfffff07f, 0xfffff07f, 0xfffff07f,
7362 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xffffffff, 0xfff0707f, 0xfff0707f, 0xfe00707f,
7363 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0xffffffff,
7364 0xf800707f, 0xf800707f, 0xffffffff, 0x707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
7365 0xffffffff, 0xfe007fff, 0xffffffff, 0xfe0ff07f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
7366 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
7367 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfe00707f, 0xfff0707f,
7368 0xfe00707f, 0xfe007fff, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f,
7369 0xfe00707f, 0x707f, 0x707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0x3e00707f,
7370 0x3e00707f, 0xfe0ff07f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xffffffff,
7371 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f,
7372 0xfff0707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
7373 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f,
7374 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe00707f, 0xfe00707f, 0xfe0ff07f, 0xfc00707f, 0xfc00707f,
7375 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f,
7376 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfe00707f, 0xfc0ff07f,
7377 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7378 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f,
7379 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7380 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7381 0xfc00707f, 0xfe0ff07f, 0xfff0707f, 0xfff0707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f,
7382 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7383 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f,
7384 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7385 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f,
7386 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f,
7387 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7388 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7389 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe0ff07f, 0xfdfff07f, 0xfc0ff07f,
7390 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
7391 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
7392 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0x1df0707f, 0x1df0707f, 0xfff0707f, 0x1df0707f,
7393 0x1df0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0xfff0707f, 0x1c00707f, 0x1c00707f,
7394 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f,
7395 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
7396 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f,
7397 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f,
7398 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7399 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
7400 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f,
7401 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f,
7402 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7403 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7404 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f,
7405 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfe0ff07f, 0xfe00707f, 0xfe00707f, 0xfc00707f,
7406 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7407 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7408 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7409 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f,
7410 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xf800707f, 0xfc00707f,
7411 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfc00707f,
7412 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0x1df0707f,
7413 0xfff0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0xc000707f, 0xfe00707f, 0x8000707f, 0xfc0ff07f,
7414 0xfc0ff07f, 0xfc0ff07f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7415 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f,
7416 0xfe00707f, 0xfe0ff07f, 0xfe0ff07f, 0xfff0707f, 0xfc00707f, 0xfc00707f, 0x1c00707f, 0x1c00707f,
7417 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7418 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7419 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7420 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7421 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7422 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7423 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7424 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
7425 0xfc00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xffffffff, 0xffffffff, 0xffffffff, 0xfe00707f,
7426 0xfe00707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
7427 0xfff0707f,
7428];
7429pub static OPCODE_MASK_COMPRESSED: [u16; 1021] = [
7430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61443, 57347,
7433 61315, 57347, 57347, 64611, 64611, 60419, 57347, 57347, 65535, 57347, 57347, 57347, 57347,
7434 57347, 57347, 57347, 57347, 57347, 57347, 61567, 61567, 64515, 57347, 57347, 64579, 64579,
7435 57347, 57347, 57347, 57347, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 63743,
7436 64611, 61443, 61315, 64639, 65535, 65535, 65535, 65535, 64611, 64515, 57347, 57347, 64639,
7437 64639, 61567, 64579, 57347, 61443, 60419, 64515, 60419, 64515, 64611, 64611, 57347, 57347,
7438 64611, 64639, 64639, 64639, 32767, 32767, 32767, 32767, 28799, 28799, 28799, 28799, 28799,
7439 64515, 64611, 64611, 65283, 65283, 65283, 65283, 28799, 28799, 32767, 32767, 61567, 28799,
7440 28799, 28799, 28799, 28799, 28799, 32767, 32767, 32767, 32767, 28799, 28799, 28799, 28799, 0,
7441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7467];
7468
7469pub static OPCODE_MATCH_COMPRESSED: [u16; 1021] = [
7470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36866, 1, 24833,
7473 0, 8193, 39969, 35937, 34817, 49153, 57345, 36866, 8192, 8194, 24576, 24578, 40960, 40962,
7474 57344, 57346, 40961, 8193, 36866, 32770, 32768, 24576, 24578, 33856, 33792, 16385, 24577,
7475 16384, 16386, 24705, 25985, 26241, 26497, 24961, 25217, 25473, 25729, 24705, 40001, 32770, 1,
7476 40053, 36886, 36874, 36878, 36882, 35905, 34816, 57344, 57346, 40037, 40045, 8193, 35840, 2, 2,
7477 33793, 33793, 32769, 32769, 35841, 39937, 49152, 49154, 35873, 40033, 40041, 40049, 8207, 8207,
7478 8207, 8207, 4147, 12339, 8243, 4115, 4123, 40962, 44130, 44066, 47618, 48642, 48130, 47106,
7479 4115, 4123, 12403, 28787, 8307, 12403, 28787, 8307, 24691, 4211, 20595, 8307, 24691, 4211,
7480 20595, 4115, 4123, 20531, 28723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7506 0, 0, 0, 0,
7507];
7508
7509pub static ALL_OPCODES: [Opcode; 1021] = [
7510 Opcode::ADD,
7511 Opcode::ADDUW,
7512 Opcode::ADDI,
7513 Opcode::ADDIW,
7514 Opcode::ADDW,
7515 Opcode::AES32DSI,
7516 Opcode::AES32DSMI,
7517 Opcode::AES32ESI,
7518 Opcode::AES32ESMI,
7519 Opcode::AES64DS,
7520 Opcode::AES64DSM,
7521 Opcode::AES64ES,
7522 Opcode::AES64ESM,
7523 Opcode::AES64IM,
7524 Opcode::AES64KS1I,
7525 Opcode::AES64KS2,
7526 Opcode::AMOADDB,
7527 Opcode::AMOADDD,
7528 Opcode::AMOADDH,
7529 Opcode::AMOADDW,
7530 Opcode::AMOANDB,
7531 Opcode::AMOANDD,
7532 Opcode::AMOANDH,
7533 Opcode::AMOANDW,
7534 Opcode::AMOCASB,
7535 Opcode::AMOCASD,
7536 Opcode::AMOCASH,
7537 Opcode::AMOCASQ,
7538 Opcode::AMOCASW,
7539 Opcode::AMOMAXB,
7540 Opcode::AMOMAXD,
7541 Opcode::AMOMAXH,
7542 Opcode::AMOMAXW,
7543 Opcode::AMOMAXUB,
7544 Opcode::AMOMAXUD,
7545 Opcode::AMOMAXUH,
7546 Opcode::AMOMAXUW,
7547 Opcode::AMOMINB,
7548 Opcode::AMOMIND,
7549 Opcode::AMOMINH,
7550 Opcode::AMOMINW,
7551 Opcode::AMOMINUB,
7552 Opcode::AMOMINUD,
7553 Opcode::AMOMINUH,
7554 Opcode::AMOMINUW,
7555 Opcode::AMOORB,
7556 Opcode::AMOORD,
7557 Opcode::AMOORH,
7558 Opcode::AMOORW,
7559 Opcode::AMOSWAPB,
7560 Opcode::AMOSWAPD,
7561 Opcode::AMOSWAPH,
7562 Opcode::AMOSWAPW,
7563 Opcode::AMOXORB,
7564 Opcode::AMOXORD,
7565 Opcode::AMOXORH,
7566 Opcode::AMOXORW,
7567 Opcode::AND,
7568 Opcode::ANDI,
7569 Opcode::ANDN,
7570 Opcode::AUIPC,
7571 Opcode::BCLR,
7572 Opcode::BCLRI,
7573 Opcode::BCLRIRV32,
7574 Opcode::BEQ,
7575 Opcode::BEQZ,
7576 Opcode::BEXT,
7577 Opcode::BEXTI,
7578 Opcode::BEXTIRV32,
7579 Opcode::BGE,
7580 Opcode::BGEU,
7581 Opcode::BGEZ,
7582 Opcode::BGT,
7583 Opcode::BGTU,
7584 Opcode::BGTZ,
7585 Opcode::BINV,
7586 Opcode::BINVI,
7587 Opcode::BINVIRV32,
7588 Opcode::BLE,
7589 Opcode::BLEU,
7590 Opcode::BLEZ,
7591 Opcode::BLT,
7592 Opcode::BLTU,
7593 Opcode::BLTZ,
7594 Opcode::BNE,
7595 Opcode::BNEZ,
7596 Opcode::BREV8,
7597 Opcode::BSET,
7598 Opcode::BSETI,
7599 Opcode::BSETIRV32,
7600 Opcode::CADD,
7601 Opcode::CADDI,
7602 Opcode::CADDI16SP,
7603 Opcode::CADDI4SPN,
7604 Opcode::CADDIW,
7605 Opcode::CADDW,
7606 Opcode::CAND,
7607 Opcode::CANDI,
7608 Opcode::CBEQZ,
7609 Opcode::CBNEZ,
7610 Opcode::CEBREAK,
7611 Opcode::CFLD,
7612 Opcode::CFLDSP,
7613 Opcode::CFLW,
7614 Opcode::CFLWSP,
7615 Opcode::CFSD,
7616 Opcode::CFSDSP,
7617 Opcode::CFSW,
7618 Opcode::CFSWSP,
7619 Opcode::CJ,
7620 Opcode::CJAL,
7621 Opcode::CJALR,
7622 Opcode::CJR,
7623 Opcode::CLBU,
7624 Opcode::CLD,
7625 Opcode::CLDSP,
7626 Opcode::CLH,
7627 Opcode::CLHU,
7628 Opcode::CLI,
7629 Opcode::CLUI,
7630 Opcode::CLW,
7631 Opcode::CLWSP,
7632 Opcode::CMOP1,
7633 Opcode::CMOP11,
7634 Opcode::CMOP13,
7635 Opcode::CMOP15,
7636 Opcode::CMOP3,
7637 Opcode::CMOP5,
7638 Opcode::CMOP7,
7639 Opcode::CMOP9,
7640 Opcode::CMOPN,
7641 Opcode::CMUL,
7642 Opcode::CMV,
7643 Opcode::CNOP,
7644 Opcode::CNOT,
7645 Opcode::CNTLALL,
7646 Opcode::CNTLP1,
7647 Opcode::CNTLPALL,
7648 Opcode::CNTLS1,
7649 Opcode::COR,
7650 Opcode::CSB,
7651 Opcode::CSD,
7652 Opcode::CSDSP,
7653 Opcode::CSEXTB,
7654 Opcode::CSEXTH,
7655 Opcode::CSEXTW,
7656 Opcode::CSH,
7657 Opcode::CSLLI,
7658 Opcode::CSLLIRV32,
7659 Opcode::CSRAI,
7660 Opcode::CSRAIRV32,
7661 Opcode::CSRLI,
7662 Opcode::CSRLIRV32,
7663 Opcode::CSUB,
7664 Opcode::CSUBW,
7665 Opcode::CSW,
7666 Opcode::CSWSP,
7667 Opcode::CXOR,
7668 Opcode::CZEXTB,
7669 Opcode::CZEXTH,
7670 Opcode::CZEXTW,
7671 Opcode::CBOCLEAN,
7672 Opcode::CBOFLUSH,
7673 Opcode::CBOINVAL,
7674 Opcode::CBOZERO,
7675 Opcode::CLMUL,
7676 Opcode::CLMULH,
7677 Opcode::CLMULR,
7678 Opcode::CLZ,
7679 Opcode::CLZW,
7680 Opcode::CMJALT,
7681 Opcode::CMMVA01S,
7682 Opcode::CMMVSA01,
7683 Opcode::CMPOP,
7684 Opcode::CMPOPRET,
7685 Opcode::CMPOPRETZ,
7686 Opcode::CMPUSH,
7687 Opcode::CPOP,
7688 Opcode::CPOPW,
7689 Opcode::CSRC,
7690 Opcode::CSRCI,
7691 Opcode::CSRR,
7692 Opcode::CSRRC,
7693 Opcode::CSRRCI,
7694 Opcode::CSRRS,
7695 Opcode::CSRRSI,
7696 Opcode::CSRRW,
7697 Opcode::CSRRWI,
7698 Opcode::CSRS,
7699 Opcode::CSRSI,
7700 Opcode::CSRW,
7701 Opcode::CSRWI,
7702 Opcode::CTZ,
7703 Opcode::CTZW,
7704 Opcode::CZEROEQZ,
7705 Opcode::CZERONEZ,
7706 Opcode::DIV,
7707 Opcode::DIVU,
7708 Opcode::DIVUW,
7709 Opcode::DIVW,
7710 Opcode::DRET,
7711 Opcode::EBREAK,
7712 Opcode::ECALL,
7713 Opcode::FABSD,
7714 Opcode::FABSH,
7715 Opcode::FABSQ,
7716 Opcode::FABSS,
7717 Opcode::FADDD,
7718 Opcode::FADDH,
7719 Opcode::FADDQ,
7720 Opcode::FADDS,
7721 Opcode::FCLASSD,
7722 Opcode::FCLASSH,
7723 Opcode::FCLASSQ,
7724 Opcode::FCLASSS,
7725 Opcode::FCVTDH,
7726 Opcode::FCVTDL,
7727 Opcode::FCVTDLU,
7728 Opcode::FCVTDQ,
7729 Opcode::FCVTDS,
7730 Opcode::FCVTDW,
7731 Opcode::FCVTDWU,
7732 Opcode::FCVTHD,
7733 Opcode::FCVTHL,
7734 Opcode::FCVTHLU,
7735 Opcode::FCVTHQ,
7736 Opcode::FCVTHS,
7737 Opcode::FCVTHW,
7738 Opcode::FCVTHWU,
7739 Opcode::FCVTLD,
7740 Opcode::FCVTLH,
7741 Opcode::FCVTLQ,
7742 Opcode::FCVTLS,
7743 Opcode::FCVTLUD,
7744 Opcode::FCVTLUH,
7745 Opcode::FCVTLUQ,
7746 Opcode::FCVTLUS,
7747 Opcode::FCVTQD,
7748 Opcode::FCVTQH,
7749 Opcode::FCVTQL,
7750 Opcode::FCVTQLU,
7751 Opcode::FCVTQS,
7752 Opcode::FCVTQW,
7753 Opcode::FCVTQWU,
7754 Opcode::FCVTSD,
7755 Opcode::FCVTSH,
7756 Opcode::FCVTSL,
7757 Opcode::FCVTSLU,
7758 Opcode::FCVTSQ,
7759 Opcode::FCVTSW,
7760 Opcode::FCVTSWU,
7761 Opcode::FCVTWD,
7762 Opcode::FCVTWH,
7763 Opcode::FCVTWQ,
7764 Opcode::FCVTWS,
7765 Opcode::FCVTWUD,
7766 Opcode::FCVTWUH,
7767 Opcode::FCVTWUQ,
7768 Opcode::FCVTWUS,
7769 Opcode::FCVTMODWD,
7770 Opcode::FDIVD,
7771 Opcode::FDIVH,
7772 Opcode::FDIVQ,
7773 Opcode::FDIVS,
7774 Opcode::FENCE,
7775 Opcode::FENCEI,
7776 Opcode::FENCETSO,
7777 Opcode::FEQD,
7778 Opcode::FEQH,
7779 Opcode::FEQQ,
7780 Opcode::FEQS,
7781 Opcode::FLD,
7782 Opcode::FLED,
7783 Opcode::FLEH,
7784 Opcode::FLEQ,
7785 Opcode::FLES,
7786 Opcode::FLEQD,
7787 Opcode::FLEQH,
7788 Opcode::FLEQQ,
7789 Opcode::FLEQS,
7790 Opcode::FLH,
7791 Opcode::FLID,
7792 Opcode::FLIH,
7793 Opcode::FLIQ,
7794 Opcode::FLIS,
7795 Opcode::FLQ,
7796 Opcode::FLTD,
7797 Opcode::FLTH,
7798 Opcode::FLTQ,
7799 Opcode::FLTS,
7800 Opcode::FLTQD,
7801 Opcode::FLTQH,
7802 Opcode::FLTQQ,
7803 Opcode::FLTQS,
7804 Opcode::FLW,
7805 Opcode::FMADDD,
7806 Opcode::FMADDH,
7807 Opcode::FMADDQ,
7808 Opcode::FMADDS,
7809 Opcode::FMAXD,
7810 Opcode::FMAXH,
7811 Opcode::FMAXQ,
7812 Opcode::FMAXS,
7813 Opcode::FMAXMD,
7814 Opcode::FMAXMH,
7815 Opcode::FMAXMQ,
7816 Opcode::FMAXMS,
7817 Opcode::FMIND,
7818 Opcode::FMINH,
7819 Opcode::FMINQ,
7820 Opcode::FMINS,
7821 Opcode::FMINMD,
7822 Opcode::FMINMH,
7823 Opcode::FMINMQ,
7824 Opcode::FMINMS,
7825 Opcode::FMSUBD,
7826 Opcode::FMSUBH,
7827 Opcode::FMSUBQ,
7828 Opcode::FMSUBS,
7829 Opcode::FMULD,
7830 Opcode::FMULH,
7831 Opcode::FMULQ,
7832 Opcode::FMULS,
7833 Opcode::FMVD,
7834 Opcode::FMVDX,
7835 Opcode::FMVH,
7836 Opcode::FMVHX,
7837 Opcode::FMVQ,
7838 Opcode::FMVS,
7839 Opcode::FMVSX,
7840 Opcode::FMVWX,
7841 Opcode::FMVXD,
7842 Opcode::FMVXH,
7843 Opcode::FMVXS,
7844 Opcode::FMVXW,
7845 Opcode::FMVHXD,
7846 Opcode::FMVHXQ,
7847 Opcode::FMVPDX,
7848 Opcode::FMVPQX,
7849 Opcode::FNEGD,
7850 Opcode::FNEGH,
7851 Opcode::FNEGQ,
7852 Opcode::FNEGS,
7853 Opcode::FNMADDD,
7854 Opcode::FNMADDH,
7855 Opcode::FNMADDQ,
7856 Opcode::FNMADDS,
7857 Opcode::FNMSUBD,
7858 Opcode::FNMSUBH,
7859 Opcode::FNMSUBQ,
7860 Opcode::FNMSUBS,
7861 Opcode::FRCSR,
7862 Opcode::FRFLAGS,
7863 Opcode::FROUNDD,
7864 Opcode::FROUNDH,
7865 Opcode::FROUNDQ,
7866 Opcode::FROUNDS,
7867 Opcode::FROUNDNXD,
7868 Opcode::FROUNDNXH,
7869 Opcode::FROUNDNXQ,
7870 Opcode::FROUNDNXS,
7871 Opcode::FRRM,
7872 Opcode::FSCSR,
7873 Opcode::FSD,
7874 Opcode::FSFLAGS,
7875 Opcode::FSFLAGSI,
7876 Opcode::FSGNJD,
7877 Opcode::FSGNJH,
7878 Opcode::FSGNJQ,
7879 Opcode::FSGNJS,
7880 Opcode::FSGNJND,
7881 Opcode::FSGNJNH,
7882 Opcode::FSGNJNQ,
7883 Opcode::FSGNJNS,
7884 Opcode::FSGNJXD,
7885 Opcode::FSGNJXH,
7886 Opcode::FSGNJXQ,
7887 Opcode::FSGNJXS,
7888 Opcode::FSH,
7889 Opcode::FSQ,
7890 Opcode::FSQRTD,
7891 Opcode::FSQRTH,
7892 Opcode::FSQRTQ,
7893 Opcode::FSQRTS,
7894 Opcode::FSRM,
7895 Opcode::FSRMI,
7896 Opcode::FSUBD,
7897 Opcode::FSUBH,
7898 Opcode::FSUBQ,
7899 Opcode::FSUBS,
7900 Opcode::FSW,
7901 Opcode::HFENCEGVMA,
7902 Opcode::HFENCEVVMA,
7903 Opcode::HINVALGVMA,
7904 Opcode::HINVALVVMA,
7905 Opcode::HLVB,
7906 Opcode::HLVBU,
7907 Opcode::HLVD,
7908 Opcode::HLVH,
7909 Opcode::HLVHU,
7910 Opcode::HLVW,
7911 Opcode::HLVWU,
7912 Opcode::HLVXHU,
7913 Opcode::HLVXWU,
7914 Opcode::HSVB,
7915 Opcode::HSVD,
7916 Opcode::HSVH,
7917 Opcode::HSVW,
7918 Opcode::J,
7919 Opcode::JAL,
7920 Opcode::JALPSEUDO,
7921 Opcode::JALR,
7922 Opcode::JALRPSEUDO,
7923 Opcode::JR,
7924 Opcode::LB,
7925 Opcode::LBU,
7926 Opcode::LD,
7927 Opcode::LH,
7928 Opcode::LHU,
7929 Opcode::LRD,
7930 Opcode::LRW,
7931 Opcode::LUI,
7932 Opcode::LW,
7933 Opcode::LWU,
7934 Opcode::MAX,
7935 Opcode::MAXU,
7936 Opcode::MIN,
7937 Opcode::MINU,
7938 Opcode::MOPR0,
7939 Opcode::MOPR1,
7940 Opcode::MOPR10,
7941 Opcode::MOPR11,
7942 Opcode::MOPR12,
7943 Opcode::MOPR13,
7944 Opcode::MOPR14,
7945 Opcode::MOPR15,
7946 Opcode::MOPR16,
7947 Opcode::MOPR17,
7948 Opcode::MOPR18,
7949 Opcode::MOPR19,
7950 Opcode::MOPR2,
7951 Opcode::MOPR20,
7952 Opcode::MOPR21,
7953 Opcode::MOPR22,
7954 Opcode::MOPR23,
7955 Opcode::MOPR24,
7956 Opcode::MOPR25,
7957 Opcode::MOPR26,
7958 Opcode::MOPR27,
7959 Opcode::MOPR28,
7960 Opcode::MOPR29,
7961 Opcode::MOPR3,
7962 Opcode::MOPR30,
7963 Opcode::MOPR31,
7964 Opcode::MOPR4,
7965 Opcode::MOPR5,
7966 Opcode::MOPR6,
7967 Opcode::MOPR7,
7968 Opcode::MOPR8,
7969 Opcode::MOPR9,
7970 Opcode::MOPRN,
7971 Opcode::MOPRR0,
7972 Opcode::MOPRR1,
7973 Opcode::MOPRR2,
7974 Opcode::MOPRR3,
7975 Opcode::MOPRR4,
7976 Opcode::MOPRR5,
7977 Opcode::MOPRR6,
7978 Opcode::MOPRR7,
7979 Opcode::MOPRRN,
7980 Opcode::MRET,
7981 Opcode::MUL,
7982 Opcode::MULH,
7983 Opcode::MULHSU,
7984 Opcode::MULHU,
7985 Opcode::MULW,
7986 Opcode::MV,
7987 Opcode::NEG,
7988 Opcode::NOP,
7989 Opcode::NTLALL,
7990 Opcode::NTLP1,
7991 Opcode::NTLPALL,
7992 Opcode::NTLS1,
7993 Opcode::OR,
7994 Opcode::ORCB,
7995 Opcode::ORI,
7996 Opcode::ORN,
7997 Opcode::PACK,
7998 Opcode::PACKH,
7999 Opcode::PACKW,
8000 Opcode::PAUSE,
8001 Opcode::PREFETCHI,
8002 Opcode::PREFETCHR,
8003 Opcode::PREFETCHW,
8004 Opcode::RDCYCLE,
8005 Opcode::RDCYCLEH,
8006 Opcode::RDINSTRET,
8007 Opcode::RDINSTRETH,
8008 Opcode::RDTIME,
8009 Opcode::RDTIMEH,
8010 Opcode::REM,
8011 Opcode::REMU,
8012 Opcode::REMUW,
8013 Opcode::REMW,
8014 Opcode::RET,
8015 Opcode::REV8,
8016 Opcode::REV8RV32,
8017 Opcode::ROL,
8018 Opcode::ROLW,
8019 Opcode::ROR,
8020 Opcode::RORI,
8021 Opcode::RORIRV32,
8022 Opcode::RORIW,
8023 Opcode::RORW,
8024 Opcode::SB,
8025 Opcode::SBREAK,
8026 Opcode::SCD,
8027 Opcode::SCW,
8028 Opcode::SCALL,
8029 Opcode::SD,
8030 Opcode::SEQZ,
8031 Opcode::SEXTB,
8032 Opcode::SEXTH,
8033 Opcode::SEXTW,
8034 Opcode::SFENCEINVALIR,
8035 Opcode::SFENCEVMA,
8036 Opcode::SFENCEWINVAL,
8037 Opcode::SGTZ,
8038 Opcode::SH,
8039 Opcode::SH1ADD,
8040 Opcode::SH1ADDUW,
8041 Opcode::SH2ADD,
8042 Opcode::SH2ADDUW,
8043 Opcode::SH3ADD,
8044 Opcode::SH3ADDUW,
8045 Opcode::SHA256SIG0,
8046 Opcode::SHA256SIG1,
8047 Opcode::SHA256SUM0,
8048 Opcode::SHA256SUM1,
8049 Opcode::SHA512SIG0,
8050 Opcode::SHA512SIG0H,
8051 Opcode::SHA512SIG0L,
8052 Opcode::SHA512SIG1,
8053 Opcode::SHA512SIG1H,
8054 Opcode::SHA512SIG1L,
8055 Opcode::SHA512SUM0,
8056 Opcode::SHA512SUM0R,
8057 Opcode::SHA512SUM1,
8058 Opcode::SHA512SUM1R,
8059 Opcode::SINVALVMA,
8060 Opcode::SLL,
8061 Opcode::SLLI,
8062 Opcode::SLLIRV32,
8063 Opcode::SLLIUW,
8064 Opcode::SLLIW,
8065 Opcode::SLLW,
8066 Opcode::SLT,
8067 Opcode::SLTI,
8068 Opcode::SLTIU,
8069 Opcode::SLTU,
8070 Opcode::SLTZ,
8071 Opcode::SM3P0,
8072 Opcode::SM3P1,
8073 Opcode::SM4ED,
8074 Opcode::SM4KS,
8075 Opcode::SNEZ,
8076 Opcode::SRA,
8077 Opcode::SRAI,
8078 Opcode::SRAIRV32,
8079 Opcode::SRAIW,
8080 Opcode::SRAW,
8081 Opcode::SRET,
8082 Opcode::SRL,
8083 Opcode::SRLI,
8084 Opcode::SRLIRV32,
8085 Opcode::SRLIW,
8086 Opcode::SRLW,
8087 Opcode::SUB,
8088 Opcode::SUBW,
8089 Opcode::SW,
8090 Opcode::UNZIP,
8091 Opcode::VAADDVV,
8092 Opcode::VAADDVX,
8093 Opcode::VAADDUVV,
8094 Opcode::VAADDUVX,
8095 Opcode::VADCVIM,
8096 Opcode::VADCVVM,
8097 Opcode::VADCVXM,
8098 Opcode::VADDVI,
8099 Opcode::VADDVV,
8100 Opcode::VADDVX,
8101 Opcode::VAESDFVS,
8102 Opcode::VAESDFVV,
8103 Opcode::VAESDMVS,
8104 Opcode::VAESDMVV,
8105 Opcode::VAESEFVS,
8106 Opcode::VAESEFVV,
8107 Opcode::VAESEMVS,
8108 Opcode::VAESEMVV,
8109 Opcode::VAESKF1VI,
8110 Opcode::VAESKF2VI,
8111 Opcode::VAESZVS,
8112 Opcode::VANDVI,
8113 Opcode::VANDVV,
8114 Opcode::VANDVX,
8115 Opcode::VANDNVV,
8116 Opcode::VANDNVX,
8117 Opcode::VASUBVV,
8118 Opcode::VASUBVX,
8119 Opcode::VASUBUVV,
8120 Opcode::VASUBUVX,
8121 Opcode::VBREV8V,
8122 Opcode::VBREVV,
8123 Opcode::VCLMULVV,
8124 Opcode::VCLMULVX,
8125 Opcode::VCLMULHVV,
8126 Opcode::VCLMULHVX,
8127 Opcode::VCLZV,
8128 Opcode::VCOMPRESSVM,
8129 Opcode::VCPOPM,
8130 Opcode::VCPOPV,
8131 Opcode::VCTZV,
8132 Opcode::VDIVVV,
8133 Opcode::VDIVVX,
8134 Opcode::VDIVUVV,
8135 Opcode::VDIVUVX,
8136 Opcode::VFADDVF,
8137 Opcode::VFADDVV,
8138 Opcode::VFCLASSV,
8139 Opcode::VFCVTFXV,
8140 Opcode::VFCVTFXUV,
8141 Opcode::VFCVTRTZXFV,
8142 Opcode::VFCVTRTZXUFV,
8143 Opcode::VFCVTXFV,
8144 Opcode::VFCVTXUFV,
8145 Opcode::VFDIVVF,
8146 Opcode::VFDIVVV,
8147 Opcode::VFIRSTM,
8148 Opcode::VFMACCVF,
8149 Opcode::VFMACCVV,
8150 Opcode::VFMADDVF,
8151 Opcode::VFMADDVV,
8152 Opcode::VFMAXVF,
8153 Opcode::VFMAXVV,
8154 Opcode::VFMERGEVFM,
8155 Opcode::VFMINVF,
8156 Opcode::VFMINVV,
8157 Opcode::VFMSACVF,
8158 Opcode::VFMSACVV,
8159 Opcode::VFMSUBVF,
8160 Opcode::VFMSUBVV,
8161 Opcode::VFMULVF,
8162 Opcode::VFMULVV,
8163 Opcode::VFMVFS,
8164 Opcode::VFMVSF,
8165 Opcode::VFMVVF,
8166 Opcode::VFNCVTFFW,
8167 Opcode::VFNCVTFXW,
8168 Opcode::VFNCVTFXUW,
8169 Opcode::VFNCVTRODFFW,
8170 Opcode::VFNCVTRTZXFW,
8171 Opcode::VFNCVTRTZXUFW,
8172 Opcode::VFNCVTXFW,
8173 Opcode::VFNCVTXUFW,
8174 Opcode::VFNMACCVF,
8175 Opcode::VFNMACCVV,
8176 Opcode::VFNMADDVF,
8177 Opcode::VFNMADDVV,
8178 Opcode::VFNMSACVF,
8179 Opcode::VFNMSACVV,
8180 Opcode::VFNMSUBVF,
8181 Opcode::VFNMSUBVV,
8182 Opcode::VFRDIVVF,
8183 Opcode::VFREC7V,
8184 Opcode::VFREDMAXVS,
8185 Opcode::VFREDMINVS,
8186 Opcode::VFREDOSUMVS,
8187 Opcode::VFREDSUMVS,
8188 Opcode::VFREDUSUMVS,
8189 Opcode::VFRSQRT7V,
8190 Opcode::VFRSUBVF,
8191 Opcode::VFSGNJVF,
8192 Opcode::VFSGNJVV,
8193 Opcode::VFSGNJNVF,
8194 Opcode::VFSGNJNVV,
8195 Opcode::VFSGNJXVF,
8196 Opcode::VFSGNJXVV,
8197 Opcode::VFSLIDE1DOWNVF,
8198 Opcode::VFSLIDE1UPVF,
8199 Opcode::VFSQRTV,
8200 Opcode::VFSUBVF,
8201 Opcode::VFSUBVV,
8202 Opcode::VFWADDVF,
8203 Opcode::VFWADDVV,
8204 Opcode::VFWADDWF,
8205 Opcode::VFWADDWV,
8206 Opcode::VFWCVTFFV,
8207 Opcode::VFWCVTFXV,
8208 Opcode::VFWCVTFXUV,
8209 Opcode::VFWCVTRTZXFV,
8210 Opcode::VFWCVTRTZXUFV,
8211 Opcode::VFWCVTXFV,
8212 Opcode::VFWCVTXUFV,
8213 Opcode::VFWMACCVF,
8214 Opcode::VFWMACCVV,
8215 Opcode::VFWMSACVF,
8216 Opcode::VFWMSACVV,
8217 Opcode::VFWMULVF,
8218 Opcode::VFWMULVV,
8219 Opcode::VFWNMACCVF,
8220 Opcode::VFWNMACCVV,
8221 Opcode::VFWNMSACVF,
8222 Opcode::VFWNMSACVV,
8223 Opcode::VFWREDOSUMVS,
8224 Opcode::VFWREDSUMVS,
8225 Opcode::VFWREDUSUMVS,
8226 Opcode::VFWSUBVF,
8227 Opcode::VFWSUBVV,
8228 Opcode::VFWSUBWF,
8229 Opcode::VFWSUBWV,
8230 Opcode::VGHSHVV,
8231 Opcode::VGMULVV,
8232 Opcode::VIDV,
8233 Opcode::VIOTAM,
8234 Opcode::VL1RV,
8235 Opcode::VL1RE16V,
8236 Opcode::VL1RE32V,
8237 Opcode::VL1RE64V,
8238 Opcode::VL1RE8V,
8239 Opcode::VL2RV,
8240 Opcode::VL2RE16V,
8241 Opcode::VL2RE32V,
8242 Opcode::VL2RE64V,
8243 Opcode::VL2RE8V,
8244 Opcode::VL4RV,
8245 Opcode::VL4RE16V,
8246 Opcode::VL4RE32V,
8247 Opcode::VL4RE64V,
8248 Opcode::VL4RE8V,
8249 Opcode::VL8RV,
8250 Opcode::VL8RE16V,
8251 Opcode::VL8RE32V,
8252 Opcode::VL8RE64V,
8253 Opcode::VL8RE8V,
8254 Opcode::VLE16V,
8255 Opcode::VLE16FFV,
8256 Opcode::VLE1V,
8257 Opcode::VLE32V,
8258 Opcode::VLE32FFV,
8259 Opcode::VLE64V,
8260 Opcode::VLE64FFV,
8261 Opcode::VLE8V,
8262 Opcode::VLE8FFV,
8263 Opcode::VLMV,
8264 Opcode::VLOXEI16V,
8265 Opcode::VLOXEI32V,
8266 Opcode::VLOXEI64V,
8267 Opcode::VLOXEI8V,
8268 Opcode::VLSE16V,
8269 Opcode::VLSE32V,
8270 Opcode::VLSE64V,
8271 Opcode::VLSE8V,
8272 Opcode::VLUXEI16V,
8273 Opcode::VLUXEI32V,
8274 Opcode::VLUXEI64V,
8275 Opcode::VLUXEI8V,
8276 Opcode::VMACCVV,
8277 Opcode::VMACCVX,
8278 Opcode::VMADCVI,
8279 Opcode::VMADCVIM,
8280 Opcode::VMADCVV,
8281 Opcode::VMADCVVM,
8282 Opcode::VMADCVX,
8283 Opcode::VMADCVXM,
8284 Opcode::VMADDVV,
8285 Opcode::VMADDVX,
8286 Opcode::VMANDMM,
8287 Opcode::VMANDNMM,
8288 Opcode::VMANDNOTMM,
8289 Opcode::VMAXVV,
8290 Opcode::VMAXVX,
8291 Opcode::VMAXUVV,
8292 Opcode::VMAXUVX,
8293 Opcode::VMERGEVIM,
8294 Opcode::VMERGEVVM,
8295 Opcode::VMERGEVXM,
8296 Opcode::VMFEQVF,
8297 Opcode::VMFEQVV,
8298 Opcode::VMFGEVF,
8299 Opcode::VMFGTVF,
8300 Opcode::VMFLEVF,
8301 Opcode::VMFLEVV,
8302 Opcode::VMFLTVF,
8303 Opcode::VMFLTVV,
8304 Opcode::VMFNEVF,
8305 Opcode::VMFNEVV,
8306 Opcode::VMINVV,
8307 Opcode::VMINVX,
8308 Opcode::VMINUVV,
8309 Opcode::VMINUVX,
8310 Opcode::VMNANDMM,
8311 Opcode::VMNORMM,
8312 Opcode::VMORMM,
8313 Opcode::VMORNMM,
8314 Opcode::VMORNOTMM,
8315 Opcode::VMSBCVV,
8316 Opcode::VMSBCVVM,
8317 Opcode::VMSBCVX,
8318 Opcode::VMSBCVXM,
8319 Opcode::VMSBFM,
8320 Opcode::VMSEQVI,
8321 Opcode::VMSEQVV,
8322 Opcode::VMSEQVX,
8323 Opcode::VMSGTVI,
8324 Opcode::VMSGTVX,
8325 Opcode::VMSGTUVI,
8326 Opcode::VMSGTUVX,
8327 Opcode::VMSIFM,
8328 Opcode::VMSLEVI,
8329 Opcode::VMSLEVV,
8330 Opcode::VMSLEVX,
8331 Opcode::VMSLEUVI,
8332 Opcode::VMSLEUVV,
8333 Opcode::VMSLEUVX,
8334 Opcode::VMSLTVV,
8335 Opcode::VMSLTVX,
8336 Opcode::VMSLTUVV,
8337 Opcode::VMSLTUVX,
8338 Opcode::VMSNEVI,
8339 Opcode::VMSNEVV,
8340 Opcode::VMSNEVX,
8341 Opcode::VMSOFM,
8342 Opcode::VMULVV,
8343 Opcode::VMULVX,
8344 Opcode::VMULHVV,
8345 Opcode::VMULHVX,
8346 Opcode::VMULHSUVV,
8347 Opcode::VMULHSUVX,
8348 Opcode::VMULHUVV,
8349 Opcode::VMULHUVX,
8350 Opcode::VMV1RV,
8351 Opcode::VMV2RV,
8352 Opcode::VMV4RV,
8353 Opcode::VMV8RV,
8354 Opcode::VMVSX,
8355 Opcode::VMVVI,
8356 Opcode::VMVVV,
8357 Opcode::VMVVX,
8358 Opcode::VMVXS,
8359 Opcode::VMXNORMM,
8360 Opcode::VMXORMM,
8361 Opcode::VNCLIPWI,
8362 Opcode::VNCLIPWV,
8363 Opcode::VNCLIPWX,
8364 Opcode::VNCLIPUWI,
8365 Opcode::VNCLIPUWV,
8366 Opcode::VNCLIPUWX,
8367 Opcode::VNMSACVV,
8368 Opcode::VNMSACVX,
8369 Opcode::VNMSUBVV,
8370 Opcode::VNMSUBVX,
8371 Opcode::VNSRAWI,
8372 Opcode::VNSRAWV,
8373 Opcode::VNSRAWX,
8374 Opcode::VNSRLWI,
8375 Opcode::VNSRLWV,
8376 Opcode::VNSRLWX,
8377 Opcode::VORVI,
8378 Opcode::VORVV,
8379 Opcode::VORVX,
8380 Opcode::VPOPCM,
8381 Opcode::VREDANDVS,
8382 Opcode::VREDMAXVS,
8383 Opcode::VREDMAXUVS,
8384 Opcode::VREDMINVS,
8385 Opcode::VREDMINUVS,
8386 Opcode::VREDORVS,
8387 Opcode::VREDSUMVS,
8388 Opcode::VREDXORVS,
8389 Opcode::VREMVV,
8390 Opcode::VREMVX,
8391 Opcode::VREMUVV,
8392 Opcode::VREMUVX,
8393 Opcode::VREV8V,
8394 Opcode::VRGATHERVI,
8395 Opcode::VRGATHERVV,
8396 Opcode::VRGATHERVX,
8397 Opcode::VRGATHEREI16VV,
8398 Opcode::VROLVV,
8399 Opcode::VROLVX,
8400 Opcode::VRORVI,
8401 Opcode::VRORVV,
8402 Opcode::VRORVX,
8403 Opcode::VRSUBVI,
8404 Opcode::VRSUBVX,
8405 Opcode::VS1RV,
8406 Opcode::VS2RV,
8407 Opcode::VS4RV,
8408 Opcode::VS8RV,
8409 Opcode::VSADDVI,
8410 Opcode::VSADDVV,
8411 Opcode::VSADDVX,
8412 Opcode::VSADDUVI,
8413 Opcode::VSADDUVV,
8414 Opcode::VSADDUVX,
8415 Opcode::VSBCVVM,
8416 Opcode::VSBCVXM,
8417 Opcode::VSE16V,
8418 Opcode::VSE1V,
8419 Opcode::VSE32V,
8420 Opcode::VSE64V,
8421 Opcode::VSE8V,
8422 Opcode::VSETIVLI,
8423 Opcode::VSETVL,
8424 Opcode::VSETVLI,
8425 Opcode::VSEXTVF2,
8426 Opcode::VSEXTVF4,
8427 Opcode::VSEXTVF8,
8428 Opcode::VSHA2CHVV,
8429 Opcode::VSHA2CLVV,
8430 Opcode::VSHA2MSVV,
8431 Opcode::VSLIDE1DOWNVX,
8432 Opcode::VSLIDE1UPVX,
8433 Opcode::VSLIDEDOWNVI,
8434 Opcode::VSLIDEDOWNVX,
8435 Opcode::VSLIDEUPVI,
8436 Opcode::VSLIDEUPVX,
8437 Opcode::VSLLVI,
8438 Opcode::VSLLVV,
8439 Opcode::VSLLVX,
8440 Opcode::VSM3CVI,
8441 Opcode::VSM3MEVV,
8442 Opcode::VSM4KVI,
8443 Opcode::VSM4RVS,
8444 Opcode::VSM4RVV,
8445 Opcode::VSMV,
8446 Opcode::VSMULVV,
8447 Opcode::VSMULVX,
8448 Opcode::VSOXEI16V,
8449 Opcode::VSOXEI32V,
8450 Opcode::VSOXEI64V,
8451 Opcode::VSOXEI8V,
8452 Opcode::VSRAVI,
8453 Opcode::VSRAVV,
8454 Opcode::VSRAVX,
8455 Opcode::VSRLVI,
8456 Opcode::VSRLVV,
8457 Opcode::VSRLVX,
8458 Opcode::VSSE16V,
8459 Opcode::VSSE32V,
8460 Opcode::VSSE64V,
8461 Opcode::VSSE8V,
8462 Opcode::VSSRAVI,
8463 Opcode::VSSRAVV,
8464 Opcode::VSSRAVX,
8465 Opcode::VSSRLVI,
8466 Opcode::VSSRLVV,
8467 Opcode::VSSRLVX,
8468 Opcode::VSSUBVV,
8469 Opcode::VSSUBVX,
8470 Opcode::VSSUBUVV,
8471 Opcode::VSSUBUVX,
8472 Opcode::VSUBVV,
8473 Opcode::VSUBVX,
8474 Opcode::VSUXEI16V,
8475 Opcode::VSUXEI32V,
8476 Opcode::VSUXEI64V,
8477 Opcode::VSUXEI8V,
8478 Opcode::VWADDVV,
8479 Opcode::VWADDVX,
8480 Opcode::VWADDWV,
8481 Opcode::VWADDWX,
8482 Opcode::VWADDUVV,
8483 Opcode::VWADDUVX,
8484 Opcode::VWADDUWV,
8485 Opcode::VWADDUWX,
8486 Opcode::VWMACCVV,
8487 Opcode::VWMACCVX,
8488 Opcode::VWMACCSUVV,
8489 Opcode::VWMACCSUVX,
8490 Opcode::VWMACCUVV,
8491 Opcode::VWMACCUVX,
8492 Opcode::VWMACCUSVX,
8493 Opcode::VWMULVV,
8494 Opcode::VWMULVX,
8495 Opcode::VWMULSUVV,
8496 Opcode::VWMULSUVX,
8497 Opcode::VWMULUVV,
8498 Opcode::VWMULUVX,
8499 Opcode::VWREDSUMVS,
8500 Opcode::VWREDSUMUVS,
8501 Opcode::VWSLLVI,
8502 Opcode::VWSLLVV,
8503 Opcode::VWSLLVX,
8504 Opcode::VWSUBVV,
8505 Opcode::VWSUBVX,
8506 Opcode::VWSUBWV,
8507 Opcode::VWSUBWX,
8508 Opcode::VWSUBUVV,
8509 Opcode::VWSUBUVX,
8510 Opcode::VWSUBUWV,
8511 Opcode::VWSUBUWX,
8512 Opcode::VXORVI,
8513 Opcode::VXORVV,
8514 Opcode::VXORVX,
8515 Opcode::VZEXTVF2,
8516 Opcode::VZEXTVF4,
8517 Opcode::VZEXTVF8,
8518 Opcode::WFI,
8519 Opcode::WRSNTO,
8520 Opcode::WRSSTO,
8521 Opcode::XNOR,
8522 Opcode::XOR,
8523 Opcode::XORI,
8524 Opcode::XPERM4,
8525 Opcode::XPERM8,
8526 Opcode::ZEXTB,
8527 Opcode::ZEXTH,
8528 Opcode::ZEXTHRV32,
8529 Opcode::ZEXTW,
8530 Opcode::ZIP,
8531];
8532pub static SHORT_OPCODE: [bool; 1021] = [
8533 false, false, false, false, false, false, false, false, false, false, false, false, false,
8534 false, false, false, false, false, false, false, false, false, false, false, false, false,
8535 false, false, false, false, false, false, false, false, false, false, false, false, false,
8536 false, false, false, false, false, false, false, false, false, false, false, false, false,
8537 false, false, false, false, false, false, false, false, false, false, false, false, false,
8538 false, false, false, false, false, false, false, false, false, false, false, false, false,
8539 false, false, false, false, false, false, false, false, false, false, false, false, true, true,
8540 true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
8541 true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
8542 true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
8543 true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
8544 true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
8545 true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
8546 true, true, true, true, true, true, true, true, false, false, false, false, false, false,
8547 false, false, false, false, false, false, false, false, false, false, false, false, false,
8548 false, false, false, false, false, false, false, false, false, false, false, false, false,
8549 false, false, false, false, false, false, false, false, false, false, false, false, false,
8550 false, false, false, false, false, false, false, false, false, false, false, false, false,
8551 false, false, false, false, false, false, false, false, false, false, false, false, false,
8552 false, false, false, false, false, false, false, false, false, false, false, false, false,
8553 false, false, false, false, false, false, false, false, false, false, false, false, false,
8554 false, false, false, false, false, false, false, false, false, false, false, false, false,
8555 false, false, false, false, false, false, false, false, false, false, false, false, false,
8556 false, false, false, false, false, false, false, false, false, false, false, false, false,
8557 false, false, false, false, false, false, false, false, false, false, false, false, false,
8558 false, false, false, false, false, false, false, false, false, false, false, false, false,
8559 false, false, false, false, false, false, false, false, false, false, false, false, false,
8560 false, false, false, false, false, false, false, false, false, false, false, false, false,
8561 false, false, false, false, false, false, false, false, false, false, false, false, false,
8562 false, false, false, false, false, false, false, false, false, false, false, false, false,
8563 false, false, false, false, false, false, false, false, false, false, false, false, false,
8564 false, false, false, false, false, false, false, false, false, false, false, false, false,
8565 false, false, false, false, false, false, false, false, false, false, false, false, false,
8566 false, false, false, false, false, false, false, false, false, false, false, false, false,
8567 false, false, false, false, false, false, false, false, false, false, false, false, false,
8568 false, false, false, false, false, false, false, false, false, false, false, false, false,
8569 false, false, false, false, false, false, false, false, false, false, false, false, false,
8570 false, false, false, false, false, false, false, false, false, false, false, false, false,
8571 false, false, false, false, false, false, false, false, false, false, false, false, false,
8572 false, false, false, false, false, false, false, false, false, false, false, false, false,
8573 false, false, false, false, false, false, false, false, false, false, false, false, false,
8574 false, false, false, false, false, false, false, false, false, false, false, false, false,
8575 false, false, false, false, false, false, false, false, false, false, false, false, false,
8576 false, false, false, false, false, false, false, false, false, false, false, false, false,
8577 false, false, false, false, false, false, false, false, false, false, false, false, false,
8578 false, false, false, false, false, false, false, false, false, false, false, false, false,
8579 false, false, false, false, false, false, false, false, false, false, false, false, false,
8580 false, false, false, false, false, false, false, false, false, false, false, false, false,
8581 false, false, false, false, false, false, false, false, false, false, false, false, false,
8582 false, false, false, false, false, false, false, false, false, false, false, false, false,
8583 false, false, false, false, false, false, false, false, false, false, false, false, false,
8584 false, false, false, false, false, false, false, false, false, false, false, false, false,
8585 false, false, false, false, false, false, false, false, false, false, false, false, false,
8586 false, false, false, false, false, false, false, false, false, false, false, false, false,
8587 false, false, false, false, false, false, false, false, false, false, false, false, false,
8588 false, false, false, false, false, false, false, false, false, false, false, false, false,
8589 false, false, false, false, false, false, false, false, false, false, false, false, false,
8590 false, false, false, false, false, false, false, false, false, false, false, false, false,
8591 false, false, false, false, false, false, false, false, false, false, false, false, false,
8592 false, false, false, false, false, false, false, false, false, false, false, false, false,
8593 false, false, false, false, false, false, false, false, false, false, false, false, false,
8594 false, false, false, false, false, false, false, false, false, false, false, false, false,
8595 false, false, false, false, false, false, false, false, false, false, false, false, false,
8596 false, false, false, false, false, false, false, false, false, false, false, false, false,
8597 false, false, false, false, false, false, false, false, false, false, false, false, false,
8598 false, false, false, false, false, false, false, false, false, false, false, false, false,
8599 false, false, false, false, false, false, false, false, false, false, false, false, false,
8600 false, false, false, false, false, false, false, false, false, false, false, false, false,
8601 false, false, false, false, false, false, false, false, false, false, false, false, false,
8602 false, false, false, false, false, false, false, false, false, false, false, false, false,
8603 false, false, false, false, false, false, false, false, false, false, false, false, false,
8604 false, false, false, false, false, false, false, false, false, false, false, false, false,
8605 false, false, false, false, false, false, false, false, false, false, false, false, false,
8606 false, false, false, false, false, false, false, false, false, false, false, false, false,
8607 false, false, false, false, false, false, false, false, false, false, false, false, false,
8608 false, false, false, false, false, false, false, false, false, false, false, false, false,
8609 false, false, false, false, false, false, false, false, false, false, false, false, false,
8610];
8611pub const SHORT_OPCODES: [Opcode; 106] = [
8612 Opcode::CADD,
8613 Opcode::CADDI,
8614 Opcode::CADDI16SP,
8615 Opcode::CADDI4SPN,
8616 Opcode::CADDIW,
8617 Opcode::CADDW,
8618 Opcode::CAND,
8619 Opcode::CANDI,
8620 Opcode::CBEQZ,
8621 Opcode::CBNEZ,
8622 Opcode::CEBREAK,
8623 Opcode::CFLD,
8624 Opcode::CFLDSP,
8625 Opcode::CFLW,
8626 Opcode::CFLWSP,
8627 Opcode::CFSD,
8628 Opcode::CFSDSP,
8629 Opcode::CFSW,
8630 Opcode::CFSWSP,
8631 Opcode::CJ,
8632 Opcode::CJAL,
8633 Opcode::CJALR,
8634 Opcode::CJR,
8635 Opcode::CLBU,
8636 Opcode::CLD,
8637 Opcode::CLDSP,
8638 Opcode::CLH,
8639 Opcode::CLHU,
8640 Opcode::CLI,
8641 Opcode::CLUI,
8642 Opcode::CLW,
8643 Opcode::CLWSP,
8644 Opcode::CMOP1,
8645 Opcode::CMOP11,
8646 Opcode::CMOP13,
8647 Opcode::CMOP15,
8648 Opcode::CMOP3,
8649 Opcode::CMOP5,
8650 Opcode::CMOP7,
8651 Opcode::CMOP9,
8652 Opcode::CMOPN,
8653 Opcode::CMUL,
8654 Opcode::CMV,
8655 Opcode::CNOP,
8656 Opcode::CNOT,
8657 Opcode::CNTLALL,
8658 Opcode::CNTLP1,
8659 Opcode::CNTLPALL,
8660 Opcode::CNTLS1,
8661 Opcode::COR,
8662 Opcode::CSB,
8663 Opcode::CSD,
8664 Opcode::CSDSP,
8665 Opcode::CSEXTB,
8666 Opcode::CSEXTH,
8667 Opcode::CSEXTW,
8668 Opcode::CSH,
8669 Opcode::CSLLI,
8670 Opcode::CSLLIRV32,
8671 Opcode::CSRAI,
8672 Opcode::CSRAIRV32,
8673 Opcode::CSRLI,
8674 Opcode::CSRLIRV32,
8675 Opcode::CSUB,
8676 Opcode::CSUBW,
8677 Opcode::CSW,
8678 Opcode::CSWSP,
8679 Opcode::CXOR,
8680 Opcode::CZEXTB,
8681 Opcode::CZEXTH,
8682 Opcode::CZEXTW,
8683 Opcode::CBOCLEAN,
8684 Opcode::CBOFLUSH,
8685 Opcode::CBOINVAL,
8686 Opcode::CBOZERO,
8687 Opcode::CLMUL,
8688 Opcode::CLMULH,
8689 Opcode::CLMULR,
8690 Opcode::CLZ,
8691 Opcode::CLZW,
8692 Opcode::CMJALT,
8693 Opcode::CMMVA01S,
8694 Opcode::CMMVSA01,
8695 Opcode::CMPOP,
8696 Opcode::CMPOPRET,
8697 Opcode::CMPOPRETZ,
8698 Opcode::CMPUSH,
8699 Opcode::CPOP,
8700 Opcode::CPOPW,
8701 Opcode::CSRC,
8702 Opcode::CSRCI,
8703 Opcode::CSRR,
8704 Opcode::CSRRC,
8705 Opcode::CSRRCI,
8706 Opcode::CSRRS,
8707 Opcode::CSRRSI,
8708 Opcode::CSRRW,
8709 Opcode::CSRRWI,
8710 Opcode::CSRS,
8711 Opcode::CSRSI,
8712 Opcode::CSRW,
8713 Opcode::CSRWI,
8714 Opcode::CTZ,
8715 Opcode::CTZW,
8716 Opcode::CZEROEQZ,
8717 Opcode::CZERONEZ,
8718];
8719
8720#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)]
8721#[repr(u32)]
8722pub enum Opcode {
8723 ADD,
8724 ADDUW,
8725 ADDI,
8726 ADDIW,
8727 ADDW,
8728 AES32DSI,
8729 AES32DSMI,
8730 AES32ESI,
8731 AES32ESMI,
8732 AES64DS,
8733 AES64DSM,
8734 AES64ES,
8735 AES64ESM,
8736 AES64IM,
8737 AES64KS1I,
8738 AES64KS2,
8739 AMOADDB,
8740 AMOADDD,
8741 AMOADDH,
8742 AMOADDW,
8743 AMOANDB,
8744 AMOANDD,
8745 AMOANDH,
8746 AMOANDW,
8747 AMOCASB,
8748 AMOCASD,
8749 AMOCASH,
8750 AMOCASQ,
8751 AMOCASW,
8752 AMOMAXB,
8753 AMOMAXD,
8754 AMOMAXH,
8755 AMOMAXW,
8756 AMOMAXUB,
8757 AMOMAXUD,
8758 AMOMAXUH,
8759 AMOMAXUW,
8760 AMOMINB,
8761 AMOMIND,
8762 AMOMINH,
8763 AMOMINW,
8764 AMOMINUB,
8765 AMOMINUD,
8766 AMOMINUH,
8767 AMOMINUW,
8768 AMOORB,
8769 AMOORD,
8770 AMOORH,
8771 AMOORW,
8772 AMOSWAPB,
8773 AMOSWAPD,
8774 AMOSWAPH,
8775 AMOSWAPW,
8776 AMOXORB,
8777 AMOXORD,
8778 AMOXORH,
8779 AMOXORW,
8780 AND,
8781 ANDI,
8782 ANDN,
8783 AUIPC,
8784 BCLR,
8785 BCLRI,
8786 BCLRIRV32,
8787 BEQ,
8788 BEQZ,
8789 BEXT,
8790 BEXTI,
8791 BEXTIRV32,
8792 BGE,
8793 BGEU,
8794 BGEZ,
8795 BGT,
8796 BGTU,
8797 BGTZ,
8798 BINV,
8799 BINVI,
8800 BINVIRV32,
8801 BLE,
8802 BLEU,
8803 BLEZ,
8804 BLT,
8805 BLTU,
8806 BLTZ,
8807 BNE,
8808 BNEZ,
8809 BREV8,
8810 BSET,
8811 BSETI,
8812 BSETIRV32,
8813 CADD,
8814 CADDI,
8815 CADDI16SP,
8816 CADDI4SPN,
8817 CADDIW,
8818 CADDW,
8819 CAND,
8820 CANDI,
8821 CBEQZ,
8822 CBNEZ,
8823 CEBREAK,
8824 CFLD,
8825 CFLDSP,
8826 CFLW,
8827 CFLWSP,
8828 CFSD,
8829 CFSDSP,
8830 CFSW,
8831 CFSWSP,
8832 CJ,
8833 CJAL,
8834 CJALR,
8835 CJR,
8836 CLBU,
8837 CLD,
8838 CLDSP,
8839 CLH,
8840 CLHU,
8841 CLI,
8842 CLUI,
8843 CLW,
8844 CLWSP,
8845 CMOP1,
8846 CMOP11,
8847 CMOP13,
8848 CMOP15,
8849 CMOP3,
8850 CMOP5,
8851 CMOP7,
8852 CMOP9,
8853 CMOPN,
8854 CMUL,
8855 CMV,
8856 CNOP,
8857 CNOT,
8858 CNTLALL,
8859 CNTLP1,
8860 CNTLPALL,
8861 CNTLS1,
8862 COR,
8863 CSB,
8864 CSD,
8865 CSDSP,
8866 CSEXTB,
8867 CSEXTH,
8868 CSEXTW,
8869 CSH,
8870 CSLLI,
8871 CSLLIRV32,
8872 CSRAI,
8873 CSRAIRV32,
8874 CSRLI,
8875 CSRLIRV32,
8876 CSUB,
8877 CSUBW,
8878 CSW,
8879 CSWSP,
8880 CXOR,
8881 CZEXTB,
8882 CZEXTH,
8883 CZEXTW,
8884 CBOCLEAN,
8885 CBOFLUSH,
8886 CBOINVAL,
8887 CBOZERO,
8888 CLMUL,
8889 CLMULH,
8890 CLMULR,
8891 CLZ,
8892 CLZW,
8893 CMJALT,
8894 CMMVA01S,
8895 CMMVSA01,
8896 CMPOP,
8897 CMPOPRET,
8898 CMPOPRETZ,
8899 CMPUSH,
8900 CPOP,
8901 CPOPW,
8902 CSRC,
8903 CSRCI,
8904 CSRR,
8905 CSRRC,
8906 CSRRCI,
8907 CSRRS,
8908 CSRRSI,
8909 CSRRW,
8910 CSRRWI,
8911 CSRS,
8912 CSRSI,
8913 CSRW,
8914 CSRWI,
8915 CTZ,
8916 CTZW,
8917 CZEROEQZ,
8918 CZERONEZ,
8919 DIV,
8920 DIVU,
8921 DIVUW,
8922 DIVW,
8923 DRET,
8924 EBREAK,
8925 ECALL,
8926 FABSD,
8927 FABSH,
8928 FABSQ,
8929 FABSS,
8930 FADDD,
8931 FADDH,
8932 FADDQ,
8933 FADDS,
8934 FCLASSD,
8935 FCLASSH,
8936 FCLASSQ,
8937 FCLASSS,
8938 FCVTDH,
8939 FCVTDL,
8940 FCVTDLU,
8941 FCVTDQ,
8942 FCVTDS,
8943 FCVTDW,
8944 FCVTDWU,
8945 FCVTHD,
8946 FCVTHL,
8947 FCVTHLU,
8948 FCVTHQ,
8949 FCVTHS,
8950 FCVTHW,
8951 FCVTHWU,
8952 FCVTLD,
8953 FCVTLH,
8954 FCVTLQ,
8955 FCVTLS,
8956 FCVTLUD,
8957 FCVTLUH,
8958 FCVTLUQ,
8959 FCVTLUS,
8960 FCVTQD,
8961 FCVTQH,
8962 FCVTQL,
8963 FCVTQLU,
8964 FCVTQS,
8965 FCVTQW,
8966 FCVTQWU,
8967 FCVTSD,
8968 FCVTSH,
8969 FCVTSL,
8970 FCVTSLU,
8971 FCVTSQ,
8972 FCVTSW,
8973 FCVTSWU,
8974 FCVTWD,
8975 FCVTWH,
8976 FCVTWQ,
8977 FCVTWS,
8978 FCVTWUD,
8979 FCVTWUH,
8980 FCVTWUQ,
8981 FCVTWUS,
8982 FCVTMODWD,
8983 FDIVD,
8984 FDIVH,
8985 FDIVQ,
8986 FDIVS,
8987 FENCE,
8988 FENCEI,
8989 FENCETSO,
8990 FEQD,
8991 FEQH,
8992 FEQQ,
8993 FEQS,
8994 FLD,
8995 FLED,
8996 FLEH,
8997 FLEQ,
8998 FLES,
8999 FLEQD,
9000 FLEQH,
9001 FLEQQ,
9002 FLEQS,
9003 FLH,
9004 FLID,
9005 FLIH,
9006 FLIQ,
9007 FLIS,
9008 FLQ,
9009 FLTD,
9010 FLTH,
9011 FLTQ,
9012 FLTS,
9013 FLTQD,
9014 FLTQH,
9015 FLTQQ,
9016 FLTQS,
9017 FLW,
9018 FMADDD,
9019 FMADDH,
9020 FMADDQ,
9021 FMADDS,
9022 FMAXD,
9023 FMAXH,
9024 FMAXQ,
9025 FMAXS,
9026 FMAXMD,
9027 FMAXMH,
9028 FMAXMQ,
9029 FMAXMS,
9030 FMIND,
9031 FMINH,
9032 FMINQ,
9033 FMINS,
9034 FMINMD,
9035 FMINMH,
9036 FMINMQ,
9037 FMINMS,
9038 FMSUBD,
9039 FMSUBH,
9040 FMSUBQ,
9041 FMSUBS,
9042 FMULD,
9043 FMULH,
9044 FMULQ,
9045 FMULS,
9046 FMVD,
9047 FMVDX,
9048 FMVH,
9049 FMVHX,
9050 FMVQ,
9051 FMVS,
9052 FMVSX,
9053 FMVWX,
9054 FMVXD,
9055 FMVXH,
9056 FMVXS,
9057 FMVXW,
9058 FMVHXD,
9059 FMVHXQ,
9060 FMVPDX,
9061 FMVPQX,
9062 FNEGD,
9063 FNEGH,
9064 FNEGQ,
9065 FNEGS,
9066 FNMADDD,
9067 FNMADDH,
9068 FNMADDQ,
9069 FNMADDS,
9070 FNMSUBD,
9071 FNMSUBH,
9072 FNMSUBQ,
9073 FNMSUBS,
9074 FRCSR,
9075 FRFLAGS,
9076 FROUNDD,
9077 FROUNDH,
9078 FROUNDQ,
9079 FROUNDS,
9080 FROUNDNXD,
9081 FROUNDNXH,
9082 FROUNDNXQ,
9083 FROUNDNXS,
9084 FRRM,
9085 FSCSR,
9086 FSD,
9087 FSFLAGS,
9088 FSFLAGSI,
9089 FSGNJD,
9090 FSGNJH,
9091 FSGNJQ,
9092 FSGNJS,
9093 FSGNJND,
9094 FSGNJNH,
9095 FSGNJNQ,
9096 FSGNJNS,
9097 FSGNJXD,
9098 FSGNJXH,
9099 FSGNJXQ,
9100 FSGNJXS,
9101 FSH,
9102 FSQ,
9103 FSQRTD,
9104 FSQRTH,
9105 FSQRTQ,
9106 FSQRTS,
9107 FSRM,
9108 FSRMI,
9109 FSUBD,
9110 FSUBH,
9111 FSUBQ,
9112 FSUBS,
9113 FSW,
9114 HFENCEGVMA,
9115 HFENCEVVMA,
9116 HINVALGVMA,
9117 HINVALVVMA,
9118 HLVB,
9119 HLVBU,
9120 HLVD,
9121 HLVH,
9122 HLVHU,
9123 HLVW,
9124 HLVWU,
9125 HLVXHU,
9126 HLVXWU,
9127 HSVB,
9128 HSVD,
9129 HSVH,
9130 HSVW,
9131 J,
9132 JAL,
9133 JALPSEUDO,
9134 JALR,
9135 JALRPSEUDO,
9136 JR,
9137 LB,
9138 LBU,
9139 LD,
9140 LH,
9141 LHU,
9142 LRD,
9143 LRW,
9144 LUI,
9145 LW,
9146 LWU,
9147 MAX,
9148 MAXU,
9149 MIN,
9150 MINU,
9151 MOPR0,
9152 MOPR1,
9153 MOPR10,
9154 MOPR11,
9155 MOPR12,
9156 MOPR13,
9157 MOPR14,
9158 MOPR15,
9159 MOPR16,
9160 MOPR17,
9161 MOPR18,
9162 MOPR19,
9163 MOPR2,
9164 MOPR20,
9165 MOPR21,
9166 MOPR22,
9167 MOPR23,
9168 MOPR24,
9169 MOPR25,
9170 MOPR26,
9171 MOPR27,
9172 MOPR28,
9173 MOPR29,
9174 MOPR3,
9175 MOPR30,
9176 MOPR31,
9177 MOPR4,
9178 MOPR5,
9179 MOPR6,
9180 MOPR7,
9181 MOPR8,
9182 MOPR9,
9183 MOPRN,
9184 MOPRR0,
9185 MOPRR1,
9186 MOPRR2,
9187 MOPRR3,
9188 MOPRR4,
9189 MOPRR5,
9190 MOPRR6,
9191 MOPRR7,
9192 MOPRRN,
9193 MRET,
9194 MUL,
9195 MULH,
9196 MULHSU,
9197 MULHU,
9198 MULW,
9199 MV,
9200 NEG,
9201 NOP,
9202 NTLALL,
9203 NTLP1,
9204 NTLPALL,
9205 NTLS1,
9206 OR,
9207 ORCB,
9208 ORI,
9209 ORN,
9210 PACK,
9211 PACKH,
9212 PACKW,
9213 PAUSE,
9214 PREFETCHI,
9215 PREFETCHR,
9216 PREFETCHW,
9217 RDCYCLE,
9218 RDCYCLEH,
9219 RDINSTRET,
9220 RDINSTRETH,
9221 RDTIME,
9222 RDTIMEH,
9223 REM,
9224 REMU,
9225 REMUW,
9226 REMW,
9227 RET,
9228 REV8,
9229 REV8RV32,
9230 ROL,
9231 ROLW,
9232 ROR,
9233 RORI,
9234 RORIRV32,
9235 RORIW,
9236 RORW,
9237 SB,
9238 SBREAK,
9239 SCD,
9240 SCW,
9241 SCALL,
9242 SD,
9243 SEQZ,
9244 SEXTB,
9245 SEXTH,
9246 SEXTW,
9247 SFENCEINVALIR,
9248 SFENCEVMA,
9249 SFENCEWINVAL,
9250 SGTZ,
9251 SH,
9252 SH1ADD,
9253 SH1ADDUW,
9254 SH2ADD,
9255 SH2ADDUW,
9256 SH3ADD,
9257 SH3ADDUW,
9258 SHA256SIG0,
9259 SHA256SIG1,
9260 SHA256SUM0,
9261 SHA256SUM1,
9262 SHA512SIG0,
9263 SHA512SIG0H,
9264 SHA512SIG0L,
9265 SHA512SIG1,
9266 SHA512SIG1H,
9267 SHA512SIG1L,
9268 SHA512SUM0,
9269 SHA512SUM0R,
9270 SHA512SUM1,
9271 SHA512SUM1R,
9272 SINVALVMA,
9273 SLL,
9274 SLLI,
9275 SLLIRV32,
9276 SLLIUW,
9277 SLLIW,
9278 SLLW,
9279 SLT,
9280 SLTI,
9281 SLTIU,
9282 SLTU,
9283 SLTZ,
9284 SM3P0,
9285 SM3P1,
9286 SM4ED,
9287 SM4KS,
9288 SNEZ,
9289 SRA,
9290 SRAI,
9291 SRAIRV32,
9292 SRAIW,
9293 SRAW,
9294 SRET,
9295 SRL,
9296 SRLI,
9297 SRLIRV32,
9298 SRLIW,
9299 SRLW,
9300 SUB,
9301 SUBW,
9302 SW,
9303 UNZIP,
9304 VAADDVV,
9305 VAADDVX,
9306 VAADDUVV,
9307 VAADDUVX,
9308 VADCVIM,
9309 VADCVVM,
9310 VADCVXM,
9311 VADDVI,
9312 VADDVV,
9313 VADDVX,
9314 VAESDFVS,
9315 VAESDFVV,
9316 VAESDMVS,
9317 VAESDMVV,
9318 VAESEFVS,
9319 VAESEFVV,
9320 VAESEMVS,
9321 VAESEMVV,
9322 VAESKF1VI,
9323 VAESKF2VI,
9324 VAESZVS,
9325 VANDVI,
9326 VANDVV,
9327 VANDVX,
9328 VANDNVV,
9329 VANDNVX,
9330 VASUBVV,
9331 VASUBVX,
9332 VASUBUVV,
9333 VASUBUVX,
9334 VBREV8V,
9335 VBREVV,
9336 VCLMULVV,
9337 VCLMULVX,
9338 VCLMULHVV,
9339 VCLMULHVX,
9340 VCLZV,
9341 VCOMPRESSVM,
9342 VCPOPM,
9343 VCPOPV,
9344 VCTZV,
9345 VDIVVV,
9346 VDIVVX,
9347 VDIVUVV,
9348 VDIVUVX,
9349 VFADDVF,
9350 VFADDVV,
9351 VFCLASSV,
9352 VFCVTFXV,
9353 VFCVTFXUV,
9354 VFCVTRTZXFV,
9355 VFCVTRTZXUFV,
9356 VFCVTXFV,
9357 VFCVTXUFV,
9358 VFDIVVF,
9359 VFDIVVV,
9360 VFIRSTM,
9361 VFMACCVF,
9362 VFMACCVV,
9363 VFMADDVF,
9364 VFMADDVV,
9365 VFMAXVF,
9366 VFMAXVV,
9367 VFMERGEVFM,
9368 VFMINVF,
9369 VFMINVV,
9370 VFMSACVF,
9371 VFMSACVV,
9372 VFMSUBVF,
9373 VFMSUBVV,
9374 VFMULVF,
9375 VFMULVV,
9376 VFMVFS,
9377 VFMVSF,
9378 VFMVVF,
9379 VFNCVTFFW,
9380 VFNCVTFXW,
9381 VFNCVTFXUW,
9382 VFNCVTRODFFW,
9383 VFNCVTRTZXFW,
9384 VFNCVTRTZXUFW,
9385 VFNCVTXFW,
9386 VFNCVTXUFW,
9387 VFNMACCVF,
9388 VFNMACCVV,
9389 VFNMADDVF,
9390 VFNMADDVV,
9391 VFNMSACVF,
9392 VFNMSACVV,
9393 VFNMSUBVF,
9394 VFNMSUBVV,
9395 VFRDIVVF,
9396 VFREC7V,
9397 VFREDMAXVS,
9398 VFREDMINVS,
9399 VFREDOSUMVS,
9400 VFREDSUMVS,
9401 VFREDUSUMVS,
9402 VFRSQRT7V,
9403 VFRSUBVF,
9404 VFSGNJVF,
9405 VFSGNJVV,
9406 VFSGNJNVF,
9407 VFSGNJNVV,
9408 VFSGNJXVF,
9409 VFSGNJXVV,
9410 VFSLIDE1DOWNVF,
9411 VFSLIDE1UPVF,
9412 VFSQRTV,
9413 VFSUBVF,
9414 VFSUBVV,
9415 VFWADDVF,
9416 VFWADDVV,
9417 VFWADDWF,
9418 VFWADDWV,
9419 VFWCVTFFV,
9420 VFWCVTFXV,
9421 VFWCVTFXUV,
9422 VFWCVTRTZXFV,
9423 VFWCVTRTZXUFV,
9424 VFWCVTXFV,
9425 VFWCVTXUFV,
9426 VFWMACCVF,
9427 VFWMACCVV,
9428 VFWMSACVF,
9429 VFWMSACVV,
9430 VFWMULVF,
9431 VFWMULVV,
9432 VFWNMACCVF,
9433 VFWNMACCVV,
9434 VFWNMSACVF,
9435 VFWNMSACVV,
9436 VFWREDOSUMVS,
9437 VFWREDSUMVS,
9438 VFWREDUSUMVS,
9439 VFWSUBVF,
9440 VFWSUBVV,
9441 VFWSUBWF,
9442 VFWSUBWV,
9443 VGHSHVV,
9444 VGMULVV,
9445 VIDV,
9446 VIOTAM,
9447 VL1RV,
9448 VL1RE16V,
9449 VL1RE32V,
9450 VL1RE64V,
9451 VL1RE8V,
9452 VL2RV,
9453 VL2RE16V,
9454 VL2RE32V,
9455 VL2RE64V,
9456 VL2RE8V,
9457 VL4RV,
9458 VL4RE16V,
9459 VL4RE32V,
9460 VL4RE64V,
9461 VL4RE8V,
9462 VL8RV,
9463 VL8RE16V,
9464 VL8RE32V,
9465 VL8RE64V,
9466 VL8RE8V,
9467 VLE16V,
9468 VLE16FFV,
9469 VLE1V,
9470 VLE32V,
9471 VLE32FFV,
9472 VLE64V,
9473 VLE64FFV,
9474 VLE8V,
9475 VLE8FFV,
9476 VLMV,
9477 VLOXEI16V,
9478 VLOXEI32V,
9479 VLOXEI64V,
9480 VLOXEI8V,
9481 VLSE16V,
9482 VLSE32V,
9483 VLSE64V,
9484 VLSE8V,
9485 VLUXEI16V,
9486 VLUXEI32V,
9487 VLUXEI64V,
9488 VLUXEI8V,
9489 VMACCVV,
9490 VMACCVX,
9491 VMADCVI,
9492 VMADCVIM,
9493 VMADCVV,
9494 VMADCVVM,
9495 VMADCVX,
9496 VMADCVXM,
9497 VMADDVV,
9498 VMADDVX,
9499 VMANDMM,
9500 VMANDNMM,
9501 VMANDNOTMM,
9502 VMAXVV,
9503 VMAXVX,
9504 VMAXUVV,
9505 VMAXUVX,
9506 VMERGEVIM,
9507 VMERGEVVM,
9508 VMERGEVXM,
9509 VMFEQVF,
9510 VMFEQVV,
9511 VMFGEVF,
9512 VMFGTVF,
9513 VMFLEVF,
9514 VMFLEVV,
9515 VMFLTVF,
9516 VMFLTVV,
9517 VMFNEVF,
9518 VMFNEVV,
9519 VMINVV,
9520 VMINVX,
9521 VMINUVV,
9522 VMINUVX,
9523 VMNANDMM,
9524 VMNORMM,
9525 VMORMM,
9526 VMORNMM,
9527 VMORNOTMM,
9528 VMSBCVV,
9529 VMSBCVVM,
9530 VMSBCVX,
9531 VMSBCVXM,
9532 VMSBFM,
9533 VMSEQVI,
9534 VMSEQVV,
9535 VMSEQVX,
9536 VMSGTVI,
9537 VMSGTVX,
9538 VMSGTUVI,
9539 VMSGTUVX,
9540 VMSIFM,
9541 VMSLEVI,
9542 VMSLEVV,
9543 VMSLEVX,
9544 VMSLEUVI,
9545 VMSLEUVV,
9546 VMSLEUVX,
9547 VMSLTVV,
9548 VMSLTVX,
9549 VMSLTUVV,
9550 VMSLTUVX,
9551 VMSNEVI,
9552 VMSNEVV,
9553 VMSNEVX,
9554 VMSOFM,
9555 VMULVV,
9556 VMULVX,
9557 VMULHVV,
9558 VMULHVX,
9559 VMULHSUVV,
9560 VMULHSUVX,
9561 VMULHUVV,
9562 VMULHUVX,
9563 VMV1RV,
9564 VMV2RV,
9565 VMV4RV,
9566 VMV8RV,
9567 VMVSX,
9568 VMVVI,
9569 VMVVV,
9570 VMVVX,
9571 VMVXS,
9572 VMXNORMM,
9573 VMXORMM,
9574 VNCLIPWI,
9575 VNCLIPWV,
9576 VNCLIPWX,
9577 VNCLIPUWI,
9578 VNCLIPUWV,
9579 VNCLIPUWX,
9580 VNMSACVV,
9581 VNMSACVX,
9582 VNMSUBVV,
9583 VNMSUBVX,
9584 VNSRAWI,
9585 VNSRAWV,
9586 VNSRAWX,
9587 VNSRLWI,
9588 VNSRLWV,
9589 VNSRLWX,
9590 VORVI,
9591 VORVV,
9592 VORVX,
9593 VPOPCM,
9594 VREDANDVS,
9595 VREDMAXVS,
9596 VREDMAXUVS,
9597 VREDMINVS,
9598 VREDMINUVS,
9599 VREDORVS,
9600 VREDSUMVS,
9601 VREDXORVS,
9602 VREMVV,
9603 VREMVX,
9604 VREMUVV,
9605 VREMUVX,
9606 VREV8V,
9607 VRGATHERVI,
9608 VRGATHERVV,
9609 VRGATHERVX,
9610 VRGATHEREI16VV,
9611 VROLVV,
9612 VROLVX,
9613 VRORVI,
9614 VRORVV,
9615 VRORVX,
9616 VRSUBVI,
9617 VRSUBVX,
9618 VS1RV,
9619 VS2RV,
9620 VS4RV,
9621 VS8RV,
9622 VSADDVI,
9623 VSADDVV,
9624 VSADDVX,
9625 VSADDUVI,
9626 VSADDUVV,
9627 VSADDUVX,
9628 VSBCVVM,
9629 VSBCVXM,
9630 VSE16V,
9631 VSE1V,
9632 VSE32V,
9633 VSE64V,
9634 VSE8V,
9635 VSETIVLI,
9636 VSETVL,
9637 VSETVLI,
9638 VSEXTVF2,
9639 VSEXTVF4,
9640 VSEXTVF8,
9641 VSHA2CHVV,
9642 VSHA2CLVV,
9643 VSHA2MSVV,
9644 VSLIDE1DOWNVX,
9645 VSLIDE1UPVX,
9646 VSLIDEDOWNVI,
9647 VSLIDEDOWNVX,
9648 VSLIDEUPVI,
9649 VSLIDEUPVX,
9650 VSLLVI,
9651 VSLLVV,
9652 VSLLVX,
9653 VSM3CVI,
9654 VSM3MEVV,
9655 VSM4KVI,
9656 VSM4RVS,
9657 VSM4RVV,
9658 VSMV,
9659 VSMULVV,
9660 VSMULVX,
9661 VSOXEI16V,
9662 VSOXEI32V,
9663 VSOXEI64V,
9664 VSOXEI8V,
9665 VSRAVI,
9666 VSRAVV,
9667 VSRAVX,
9668 VSRLVI,
9669 VSRLVV,
9670 VSRLVX,
9671 VSSE16V,
9672 VSSE32V,
9673 VSSE64V,
9674 VSSE8V,
9675 VSSRAVI,
9676 VSSRAVV,
9677 VSSRAVX,
9678 VSSRLVI,
9679 VSSRLVV,
9680 VSSRLVX,
9681 VSSUBVV,
9682 VSSUBVX,
9683 VSSUBUVV,
9684 VSSUBUVX,
9685 VSUBVV,
9686 VSUBVX,
9687 VSUXEI16V,
9688 VSUXEI32V,
9689 VSUXEI64V,
9690 VSUXEI8V,
9691 VWADDVV,
9692 VWADDVX,
9693 VWADDWV,
9694 VWADDWX,
9695 VWADDUVV,
9696 VWADDUVX,
9697 VWADDUWV,
9698 VWADDUWX,
9699 VWMACCVV,
9700 VWMACCVX,
9701 VWMACCSUVV,
9702 VWMACCSUVX,
9703 VWMACCUVV,
9704 VWMACCUVX,
9705 VWMACCUSVX,
9706 VWMULVV,
9707 VWMULVX,
9708 VWMULSUVV,
9709 VWMULSUVX,
9710 VWMULUVV,
9711 VWMULUVX,
9712 VWREDSUMVS,
9713 VWREDSUMUVS,
9714 VWSLLVI,
9715 VWSLLVV,
9716 VWSLLVX,
9717 VWSUBVV,
9718 VWSUBVX,
9719 VWSUBWV,
9720 VWSUBWX,
9721 VWSUBUVV,
9722 VWSUBUVX,
9723 VWSUBUWV,
9724 VWSUBUWX,
9725 VXORVI,
9726 VXORVV,
9727 VXORVX,
9728 VZEXTVF2,
9729 VZEXTVF4,
9730 VZEXTVF8,
9731 WFI,
9732 WRSNTO,
9733 WRSSTO,
9734 XNOR,
9735 XOR,
9736 XORI,
9737 XPERM4,
9738 XPERM8,
9739 ZEXTB,
9740 ZEXTH,
9741 ZEXTHRV32,
9742 ZEXTW,
9743 ZIP,
9744 Invalid,
9745}
9746
9747pub const OPCODE_STR: &[&str] = &[
9748 "add",
9749 "add.uw",
9750 "addi",
9751 "addiw",
9752 "addw",
9753 "aes32dsi",
9754 "aes32dsmi",
9755 "aes32esi",
9756 "aes32esmi",
9757 "aes64ds",
9758 "aes64dsm",
9759 "aes64es",
9760 "aes64esm",
9761 "aes64im",
9762 "aes64ks1i",
9763 "aes64ks2",
9764 "amoadd.b",
9765 "amoadd.d",
9766 "amoadd.h",
9767 "amoadd.w",
9768 "amoand.b",
9769 "amoand.d",
9770 "amoand.h",
9771 "amoand.w",
9772 "amocas.b",
9773 "amocas.d",
9774 "amocas.h",
9775 "amocas.q",
9776 "amocas.w",
9777 "amomax.b",
9778 "amomax.d",
9779 "amomax.h",
9780 "amomax.w",
9781 "amomaxu.b",
9782 "amomaxu.d",
9783 "amomaxu.h",
9784 "amomaxu.w",
9785 "amomin.b",
9786 "amomin.d",
9787 "amomin.h",
9788 "amomin.w",
9789 "amominu.b",
9790 "amominu.d",
9791 "amominu.h",
9792 "amominu.w",
9793 "amoor.b",
9794 "amoor.d",
9795 "amoor.h",
9796 "amoor.w",
9797 "amoswap.b",
9798 "amoswap.d",
9799 "amoswap.h",
9800 "amoswap.w",
9801 "amoxor.b",
9802 "amoxor.d",
9803 "amoxor.h",
9804 "amoxor.w",
9805 "and",
9806 "andi",
9807 "andn",
9808 "auipc",
9809 "bclr",
9810 "bclri",
9811 "bclri.rv32",
9812 "beq",
9813 "beqz",
9814 "bext",
9815 "bexti",
9816 "bexti.rv32",
9817 "bge",
9818 "bgeu",
9819 "bgez",
9820 "bgt",
9821 "bgtu",
9822 "bgtz",
9823 "binv",
9824 "binvi",
9825 "binvi.rv32",
9826 "ble",
9827 "bleu",
9828 "blez",
9829 "blt",
9830 "bltu",
9831 "bltz",
9832 "bne",
9833 "bnez",
9834 "brev8",
9835 "bset",
9836 "bseti",
9837 "bseti.rv32",
9838 "c.add",
9839 "c.addi",
9840 "c.addi16sp",
9841 "c.addi4spn",
9842 "c.addiw",
9843 "c.addw",
9844 "c.and",
9845 "c.andi",
9846 "c.beqz",
9847 "c.bnez",
9848 "c.ebreak",
9849 "c.fld",
9850 "c.fldsp",
9851 "c.flw",
9852 "c.flwsp",
9853 "c.fsd",
9854 "c.fsdsp",
9855 "c.fsw",
9856 "c.fswsp",
9857 "c.j",
9858 "c.jal",
9859 "c.jalr",
9860 "c.jr",
9861 "c.lbu",
9862 "c.ld",
9863 "c.ldsp",
9864 "c.lh",
9865 "c.lhu",
9866 "c.li",
9867 "c.lui",
9868 "c.lw",
9869 "c.lwsp",
9870 "c.mop.1",
9871 "c.mop.11",
9872 "c.mop.13",
9873 "c.mop.15",
9874 "c.mop.3",
9875 "c.mop.5",
9876 "c.mop.7",
9877 "c.mop.9",
9878 "c.mop.n",
9879 "c.mul",
9880 "c.mv",
9881 "c.nop",
9882 "c.not",
9883 "c.ntl.all",
9884 "c.ntl.p1",
9885 "c.ntl.pall",
9886 "c.ntl.s1",
9887 "c.or",
9888 "c.sb",
9889 "c.sd",
9890 "c.sdsp",
9891 "c.sext.b",
9892 "c.sext.h",
9893 "c.sext.w",
9894 "c.sh",
9895 "c.slli",
9896 "c.slli.rv32",
9897 "c.srai",
9898 "c.srai.rv32",
9899 "c.srli",
9900 "c.srli.rv32",
9901 "c.sub",
9902 "c.subw",
9903 "c.sw",
9904 "c.swsp",
9905 "c.xor",
9906 "c.zext.b",
9907 "c.zext.h",
9908 "c.zext.w",
9909 "cbo.clean",
9910 "cbo.flush",
9911 "cbo.inval",
9912 "cbo.zero",
9913 "clmul",
9914 "clmulh",
9915 "clmulr",
9916 "clz",
9917 "clzw",
9918 "cm.jalt",
9919 "cm.mva01s",
9920 "cm.mvsa01",
9921 "cm.pop",
9922 "cm.popret",
9923 "cm.popretz",
9924 "cm.push",
9925 "cpop",
9926 "cpopw",
9927 "csrc",
9928 "csrci",
9929 "csrr",
9930 "csrrc",
9931 "csrrci",
9932 "csrrs",
9933 "csrrsi",
9934 "csrrw",
9935 "csrrwi",
9936 "csrs",
9937 "csrsi",
9938 "csrw",
9939 "csrwi",
9940 "ctz",
9941 "ctzw",
9942 "czero.eqz",
9943 "czero.nez",
9944 "div",
9945 "divu",
9946 "divuw",
9947 "divw",
9948 "dret",
9949 "ebreak",
9950 "ecall",
9951 "fabs.d",
9952 "fabs.h",
9953 "fabs.q",
9954 "fabs.s",
9955 "fadd.d",
9956 "fadd.h",
9957 "fadd.q",
9958 "fadd.s",
9959 "fclass.d",
9960 "fclass.h",
9961 "fclass.q",
9962 "fclass.s",
9963 "fcvt.d.h",
9964 "fcvt.d.l",
9965 "fcvt.d.lu",
9966 "fcvt.d.q",
9967 "fcvt.d.s",
9968 "fcvt.d.w",
9969 "fcvt.d.wu",
9970 "fcvt.h.d",
9971 "fcvt.h.l",
9972 "fcvt.h.lu",
9973 "fcvt.h.q",
9974 "fcvt.h.s",
9975 "fcvt.h.w",
9976 "fcvt.h.wu",
9977 "fcvt.l.d",
9978 "fcvt.l.h",
9979 "fcvt.l.q",
9980 "fcvt.l.s",
9981 "fcvt.lu.d",
9982 "fcvt.lu.h",
9983 "fcvt.lu.q",
9984 "fcvt.lu.s",
9985 "fcvt.q.d",
9986 "fcvt.q.h",
9987 "fcvt.q.l",
9988 "fcvt.q.lu",
9989 "fcvt.q.s",
9990 "fcvt.q.w",
9991 "fcvt.q.wu",
9992 "fcvt.s.d",
9993 "fcvt.s.h",
9994 "fcvt.s.l",
9995 "fcvt.s.lu",
9996 "fcvt.s.q",
9997 "fcvt.s.w",
9998 "fcvt.s.wu",
9999 "fcvt.w.d",
10000 "fcvt.w.h",
10001 "fcvt.w.q",
10002 "fcvt.w.s",
10003 "fcvt.wu.d",
10004 "fcvt.wu.h",
10005 "fcvt.wu.q",
10006 "fcvt.wu.s",
10007 "fcvtmod.w.d",
10008 "fdiv.d",
10009 "fdiv.h",
10010 "fdiv.q",
10011 "fdiv.s",
10012 "fence",
10013 "fence.i",
10014 "fence.tso",
10015 "feq.d",
10016 "feq.h",
10017 "feq.q",
10018 "feq.s",
10019 "fld",
10020 "fle.d",
10021 "fle.h",
10022 "fle.q",
10023 "fle.s",
10024 "fleq.d",
10025 "fleq.h",
10026 "fleq.q",
10027 "fleq.s",
10028 "flh",
10029 "fli.d",
10030 "fli.h",
10031 "fli.q",
10032 "fli.s",
10033 "flq",
10034 "flt.d",
10035 "flt.h",
10036 "flt.q",
10037 "flt.s",
10038 "fltq.d",
10039 "fltq.h",
10040 "fltq.q",
10041 "fltq.s",
10042 "flw",
10043 "fmadd.d",
10044 "fmadd.h",
10045 "fmadd.q",
10046 "fmadd.s",
10047 "fmax.d",
10048 "fmax.h",
10049 "fmax.q",
10050 "fmax.s",
10051 "fmaxm.d",
10052 "fmaxm.h",
10053 "fmaxm.q",
10054 "fmaxm.s",
10055 "fmin.d",
10056 "fmin.h",
10057 "fmin.q",
10058 "fmin.s",
10059 "fminm.d",
10060 "fminm.h",
10061 "fminm.q",
10062 "fminm.s",
10063 "fmsub.d",
10064 "fmsub.h",
10065 "fmsub.q",
10066 "fmsub.s",
10067 "fmul.d",
10068 "fmul.h",
10069 "fmul.q",
10070 "fmul.s",
10071 "fmv.d",
10072 "fmv.d.x",
10073 "fmv.h",
10074 "fmv.h.x",
10075 "fmv.q",
10076 "fmv.s",
10077 "fmv.s.x",
10078 "fmv.w.x",
10079 "fmv.x.d",
10080 "fmv.x.h",
10081 "fmv.x.s",
10082 "fmv.x.w",
10083 "fmvh.x.d",
10084 "fmvh.x.q",
10085 "fmvp.d.x",
10086 "fmvp.q.x",
10087 "fneg.d",
10088 "fneg.h",
10089 "fneg.q",
10090 "fneg.s",
10091 "fnmadd.d",
10092 "fnmadd.h",
10093 "fnmadd.q",
10094 "fnmadd.s",
10095 "fnmsub.d",
10096 "fnmsub.h",
10097 "fnmsub.q",
10098 "fnmsub.s",
10099 "frcsr",
10100 "frflags",
10101 "fround.d",
10102 "fround.h",
10103 "fround.q",
10104 "fround.s",
10105 "froundnx.d",
10106 "froundnx.h",
10107 "froundnx.q",
10108 "froundnx.s",
10109 "frrm",
10110 "fscsr",
10111 "fsd",
10112 "fsflags",
10113 "fsflagsi",
10114 "fsgnj.d",
10115 "fsgnj.h",
10116 "fsgnj.q",
10117 "fsgnj.s",
10118 "fsgnjn.d",
10119 "fsgnjn.h",
10120 "fsgnjn.q",
10121 "fsgnjn.s",
10122 "fsgnjx.d",
10123 "fsgnjx.h",
10124 "fsgnjx.q",
10125 "fsgnjx.s",
10126 "fsh",
10127 "fsq",
10128 "fsqrt.d",
10129 "fsqrt.h",
10130 "fsqrt.q",
10131 "fsqrt.s",
10132 "fsrm",
10133 "fsrmi",
10134 "fsub.d",
10135 "fsub.h",
10136 "fsub.q",
10137 "fsub.s",
10138 "fsw",
10139 "hfence.gvma",
10140 "hfence.vvma",
10141 "hinval.gvma",
10142 "hinval.vvma",
10143 "hlv.b",
10144 "hlv.bu",
10145 "hlv.d",
10146 "hlv.h",
10147 "hlv.hu",
10148 "hlv.w",
10149 "hlv.wu",
10150 "hlvx.hu",
10151 "hlvx.wu",
10152 "hsv.b",
10153 "hsv.d",
10154 "hsv.h",
10155 "hsv.w",
10156 "j",
10157 "jal",
10158 "jal.pseudo",
10159 "jalr",
10160 "jalr.pseudo",
10161 "jr",
10162 "lb",
10163 "lbu",
10164 "ld",
10165 "lh",
10166 "lhu",
10167 "lr.d",
10168 "lr.w",
10169 "lui",
10170 "lw",
10171 "lwu",
10172 "max",
10173 "maxu",
10174 "min",
10175 "minu",
10176 "mop.r.0",
10177 "mop.r.1",
10178 "mop.r.10",
10179 "mop.r.11",
10180 "mop.r.12",
10181 "mop.r.13",
10182 "mop.r.14",
10183 "mop.r.15",
10184 "mop.r.16",
10185 "mop.r.17",
10186 "mop.r.18",
10187 "mop.r.19",
10188 "mop.r.2",
10189 "mop.r.20",
10190 "mop.r.21",
10191 "mop.r.22",
10192 "mop.r.23",
10193 "mop.r.24",
10194 "mop.r.25",
10195 "mop.r.26",
10196 "mop.r.27",
10197 "mop.r.28",
10198 "mop.r.29",
10199 "mop.r.3",
10200 "mop.r.30",
10201 "mop.r.31",
10202 "mop.r.4",
10203 "mop.r.5",
10204 "mop.r.6",
10205 "mop.r.7",
10206 "mop.r.8",
10207 "mop.r.9",
10208 "mop.r.n",
10209 "mop.rr.0",
10210 "mop.rr.1",
10211 "mop.rr.2",
10212 "mop.rr.3",
10213 "mop.rr.4",
10214 "mop.rr.5",
10215 "mop.rr.6",
10216 "mop.rr.7",
10217 "mop.rr.n",
10218 "mret",
10219 "mul",
10220 "mulh",
10221 "mulhsu",
10222 "mulhu",
10223 "mulw",
10224 "mv",
10225 "neg",
10226 "nop",
10227 "ntl.all",
10228 "ntl.p1",
10229 "ntl.pall",
10230 "ntl.s1",
10231 "or",
10232 "orc.b",
10233 "ori",
10234 "orn",
10235 "pack",
10236 "packh",
10237 "packw",
10238 "pause",
10239 "prefetch.i",
10240 "prefetch.r",
10241 "prefetch.w",
10242 "rdcycle",
10243 "rdcycleh",
10244 "rdinstret",
10245 "rdinstreth",
10246 "rdtime",
10247 "rdtimeh",
10248 "rem",
10249 "remu",
10250 "remuw",
10251 "remw",
10252 "ret",
10253 "rev8",
10254 "rev8.rv32",
10255 "rol",
10256 "rolw",
10257 "ror",
10258 "rori",
10259 "rori.rv32",
10260 "roriw",
10261 "rorw",
10262 "sb",
10263 "sbreak",
10264 "sc.d",
10265 "sc.w",
10266 "scall",
10267 "sd",
10268 "seqz",
10269 "sext.b",
10270 "sext.h",
10271 "sext.w",
10272 "sfence.inval.ir",
10273 "sfence.vma",
10274 "sfence.w.inval",
10275 "sgtz",
10276 "sh",
10277 "sh1add",
10278 "sh1add.uw",
10279 "sh2add",
10280 "sh2add.uw",
10281 "sh3add",
10282 "sh3add.uw",
10283 "sha256sig0",
10284 "sha256sig1",
10285 "sha256sum0",
10286 "sha256sum1",
10287 "sha512sig0",
10288 "sha512sig0h",
10289 "sha512sig0l",
10290 "sha512sig1",
10291 "sha512sig1h",
10292 "sha512sig1l",
10293 "sha512sum0",
10294 "sha512sum0r",
10295 "sha512sum1",
10296 "sha512sum1r",
10297 "sinval.vma",
10298 "sll",
10299 "slli",
10300 "slli.rv32",
10301 "slli.uw",
10302 "slliw",
10303 "sllw",
10304 "slt",
10305 "slti",
10306 "sltiu",
10307 "sltu",
10308 "sltz",
10309 "sm3p0",
10310 "sm3p1",
10311 "sm4ed",
10312 "sm4ks",
10313 "snez",
10314 "sra",
10315 "srai",
10316 "srai.rv32",
10317 "sraiw",
10318 "sraw",
10319 "sret",
10320 "srl",
10321 "srli",
10322 "srli.rv32",
10323 "srliw",
10324 "srlw",
10325 "sub",
10326 "subw",
10327 "sw",
10328 "unzip",
10329 "vaadd.vv",
10330 "vaadd.vx",
10331 "vaaddu.vv",
10332 "vaaddu.vx",
10333 "vadc.vim",
10334 "vadc.vvm",
10335 "vadc.vxm",
10336 "vadd.vi",
10337 "vadd.vv",
10338 "vadd.vx",
10339 "vaesdf.vs",
10340 "vaesdf.vv",
10341 "vaesdm.vs",
10342 "vaesdm.vv",
10343 "vaesef.vs",
10344 "vaesef.vv",
10345 "vaesem.vs",
10346 "vaesem.vv",
10347 "vaeskf1.vi",
10348 "vaeskf2.vi",
10349 "vaesz.vs",
10350 "vand.vi",
10351 "vand.vv",
10352 "vand.vx",
10353 "vandn.vv",
10354 "vandn.vx",
10355 "vasub.vv",
10356 "vasub.vx",
10357 "vasubu.vv",
10358 "vasubu.vx",
10359 "vbrev8.v",
10360 "vbrev.v",
10361 "vclmul.vv",
10362 "vclmul.vx",
10363 "vclmulh.vv",
10364 "vclmulh.vx",
10365 "vclz.v",
10366 "vcompress.vm",
10367 "vcpop.m",
10368 "vcpop.v",
10369 "vctz.v",
10370 "vdiv.vv",
10371 "vdiv.vx",
10372 "vdivu.vv",
10373 "vdivu.vx",
10374 "vfadd.vf",
10375 "vfadd.vv",
10376 "vfclass.v",
10377 "vfcvt.f.x.v",
10378 "vfcvt.f.xu.v",
10379 "vfcvt.rtz.x.f.v",
10380 "vfcvt.rtz.xu.f.v",
10381 "vfcvt.x.f.v",
10382 "vfcvt.xu.f.v",
10383 "vfdiv.vf",
10384 "vfdiv.vv",
10385 "vfirst.m",
10386 "vfmacc.vf",
10387 "vfmacc.vv",
10388 "vfmadd.vf",
10389 "vfmadd.vv",
10390 "vfmax.vf",
10391 "vfmax.vv",
10392 "vfmerge.vfm",
10393 "vfmin.vf",
10394 "vfmin.vv",
10395 "vfmsac.vf",
10396 "vfmsac.vv",
10397 "vfmsub.vf",
10398 "vfmsub.vv",
10399 "vfmul.vf",
10400 "vfmul.vv",
10401 "vfmv.f.s",
10402 "vfmv.s.f",
10403 "vfmv.v.f",
10404 "vfncvt.f.f.w",
10405 "vfncvt.f.x.w",
10406 "vfncvt.f.xu.w",
10407 "vfncvt.rod.f.f.w",
10408 "vfncvt.rtz.x.f.w",
10409 "vfncvt.rtz.xu.f.w",
10410 "vfncvt.x.f.w",
10411 "vfncvt.xu.f.w",
10412 "vfnmacc.vf",
10413 "vfnmacc.vv",
10414 "vfnmadd.vf",
10415 "vfnmadd.vv",
10416 "vfnmsac.vf",
10417 "vfnmsac.vv",
10418 "vfnmsub.vf",
10419 "vfnmsub.vv",
10420 "vfrdiv.vf",
10421 "vfrec7.v",
10422 "vfredmax.vs",
10423 "vfredmin.vs",
10424 "vfredosum.vs",
10425 "vfredsum.vs",
10426 "vfredusum.vs",
10427 "vfrsqrt7.v",
10428 "vfrsub.vf",
10429 "vfsgnj.vf",
10430 "vfsgnj.vv",
10431 "vfsgnjn.vf",
10432 "vfsgnjn.vv",
10433 "vfsgnjx.vf",
10434 "vfsgnjx.vv",
10435 "vfslide1down.vf",
10436 "vfslide1up.vf",
10437 "vfsqrt.v",
10438 "vfsub.vf",
10439 "vfsub.vv",
10440 "vfwadd.vf",
10441 "vfwadd.vv",
10442 "vfwadd.wf",
10443 "vfwadd.wv",
10444 "vfwcvt.f.f.v",
10445 "vfwcvt.f.x.v",
10446 "vfwcvt.f.xu.v",
10447 "vfwcvt.rtz.x.f.v",
10448 "vfwcvt.rtz.xu.f.v",
10449 "vfwcvt.x.f.v",
10450 "vfwcvt.xu.f.v",
10451 "vfwmacc.vf",
10452 "vfwmacc.vv",
10453 "vfwmsac.vf",
10454 "vfwmsac.vv",
10455 "vfwmul.vf",
10456 "vfwmul.vv",
10457 "vfwnmacc.vf",
10458 "vfwnmacc.vv",
10459 "vfwnmsac.vf",
10460 "vfwnmsac.vv",
10461 "vfwredosum.vs",
10462 "vfwredsum.vs",
10463 "vfwredusum.vs",
10464 "vfwsub.vf",
10465 "vfwsub.vv",
10466 "vfwsub.wf",
10467 "vfwsub.wv",
10468 "vghsh.vv",
10469 "vgmul.vv",
10470 "vid.v",
10471 "viota.m",
10472 "vl1r.v",
10473 "vl1re16.v",
10474 "vl1re32.v",
10475 "vl1re64.v",
10476 "vl1re8.v",
10477 "vl2r.v",
10478 "vl2re16.v",
10479 "vl2re32.v",
10480 "vl2re64.v",
10481 "vl2re8.v",
10482 "vl4r.v",
10483 "vl4re16.v",
10484 "vl4re32.v",
10485 "vl4re64.v",
10486 "vl4re8.v",
10487 "vl8r.v",
10488 "vl8re16.v",
10489 "vl8re32.v",
10490 "vl8re64.v",
10491 "vl8re8.v",
10492 "vle16.v",
10493 "vle16ff.v",
10494 "vle1.v",
10495 "vle32.v",
10496 "vle32ff.v",
10497 "vle64.v",
10498 "vle64ff.v",
10499 "vle8.v",
10500 "vle8ff.v",
10501 "vlm.v",
10502 "vloxei16.v",
10503 "vloxei32.v",
10504 "vloxei64.v",
10505 "vloxei8.v",
10506 "vlse16.v",
10507 "vlse32.v",
10508 "vlse64.v",
10509 "vlse8.v",
10510 "vluxei16.v",
10511 "vluxei32.v",
10512 "vluxei64.v",
10513 "vluxei8.v",
10514 "vmacc.vv",
10515 "vmacc.vx",
10516 "vmadc.vi",
10517 "vmadc.vim",
10518 "vmadc.vv",
10519 "vmadc.vvm",
10520 "vmadc.vx",
10521 "vmadc.vxm",
10522 "vmadd.vv",
10523 "vmadd.vx",
10524 "vmand.mm",
10525 "vmandn.mm",
10526 "vmandnot.mm",
10527 "vmax.vv",
10528 "vmax.vx",
10529 "vmaxu.vv",
10530 "vmaxu.vx",
10531 "vmerge.vim",
10532 "vmerge.vvm",
10533 "vmerge.vxm",
10534 "vmfeq.vf",
10535 "vmfeq.vv",
10536 "vmfge.vf",
10537 "vmfgt.vf",
10538 "vmfle.vf",
10539 "vmfle.vv",
10540 "vmflt.vf",
10541 "vmflt.vv",
10542 "vmfne.vf",
10543 "vmfne.vv",
10544 "vmin.vv",
10545 "vmin.vx",
10546 "vminu.vv",
10547 "vminu.vx",
10548 "vmnand.mm",
10549 "vmnor.mm",
10550 "vmor.mm",
10551 "vmorn.mm",
10552 "vmornot.mm",
10553 "vmsbc.vv",
10554 "vmsbc.vvm",
10555 "vmsbc.vx",
10556 "vmsbc.vxm",
10557 "vmsbf.m",
10558 "vmseq.vi",
10559 "vmseq.vv",
10560 "vmseq.vx",
10561 "vmsgt.vi",
10562 "vmsgt.vx",
10563 "vmsgtu.vi",
10564 "vmsgtu.vx",
10565 "vmsif.m",
10566 "vmsle.vi",
10567 "vmsle.vv",
10568 "vmsle.vx",
10569 "vmsleu.vi",
10570 "vmsleu.vv",
10571 "vmsleu.vx",
10572 "vmslt.vv",
10573 "vmslt.vx",
10574 "vmsltu.vv",
10575 "vmsltu.vx",
10576 "vmsne.vi",
10577 "vmsne.vv",
10578 "vmsne.vx",
10579 "vmsof.m",
10580 "vmul.vv",
10581 "vmul.vx",
10582 "vmulh.vv",
10583 "vmulh.vx",
10584 "vmulhsu.vv",
10585 "vmulhsu.vx",
10586 "vmulhu.vv",
10587 "vmulhu.vx",
10588 "vmv1r.v",
10589 "vmv2r.v",
10590 "vmv4r.v",
10591 "vmv8r.v",
10592 "vmv.s.x",
10593 "vmv.v.i",
10594 "vmv.v.v",
10595 "vmv.v.x",
10596 "vmv.x.s",
10597 "vmxnor.mm",
10598 "vmxor.mm",
10599 "vnclip.wi",
10600 "vnclip.wv",
10601 "vnclip.wx",
10602 "vnclipu.wi",
10603 "vnclipu.wv",
10604 "vnclipu.wx",
10605 "vnmsac.vv",
10606 "vnmsac.vx",
10607 "vnmsub.vv",
10608 "vnmsub.vx",
10609 "vnsra.wi",
10610 "vnsra.wv",
10611 "vnsra.wx",
10612 "vnsrl.wi",
10613 "vnsrl.wv",
10614 "vnsrl.wx",
10615 "vor.vi",
10616 "vor.vv",
10617 "vor.vx",
10618 "vpopc.m",
10619 "vredand.vs",
10620 "vredmax.vs",
10621 "vredmaxu.vs",
10622 "vredmin.vs",
10623 "vredminu.vs",
10624 "vredor.vs",
10625 "vredsum.vs",
10626 "vredxor.vs",
10627 "vrem.vv",
10628 "vrem.vx",
10629 "vremu.vv",
10630 "vremu.vx",
10631 "vrev8.v",
10632 "vrgather.vi",
10633 "vrgather.vv",
10634 "vrgather.vx",
10635 "vrgatherei16.vv",
10636 "vrol.vv",
10637 "vrol.vx",
10638 "vror.vi",
10639 "vror.vv",
10640 "vror.vx",
10641 "vrsub.vi",
10642 "vrsub.vx",
10643 "vs1r.v",
10644 "vs2r.v",
10645 "vs4r.v",
10646 "vs8r.v",
10647 "vsadd.vi",
10648 "vsadd.vv",
10649 "vsadd.vx",
10650 "vsaddu.vi",
10651 "vsaddu.vv",
10652 "vsaddu.vx",
10653 "vsbc.vvm",
10654 "vsbc.vxm",
10655 "vse16.v",
10656 "vse1.v",
10657 "vse32.v",
10658 "vse64.v",
10659 "vse8.v",
10660 "vsetivli",
10661 "vsetvl",
10662 "vsetvli",
10663 "vsext.vf2",
10664 "vsext.vf4",
10665 "vsext.vf8",
10666 "vsha2ch.vv",
10667 "vsha2cl.vv",
10668 "vsha2ms.vv",
10669 "vslide1down.vx",
10670 "vslide1up.vx",
10671 "vslidedown.vi",
10672 "vslidedown.vx",
10673 "vslideup.vi",
10674 "vslideup.vx",
10675 "vsll.vi",
10676 "vsll.vv",
10677 "vsll.vx",
10678 "vsm3c.vi",
10679 "vsm3me.vv",
10680 "vsm4k.vi",
10681 "vsm4r.vs",
10682 "vsm4r.vv",
10683 "vsm.v",
10684 "vsmul.vv",
10685 "vsmul.vx",
10686 "vsoxei16.v",
10687 "vsoxei32.v",
10688 "vsoxei64.v",
10689 "vsoxei8.v",
10690 "vsra.vi",
10691 "vsra.vv",
10692 "vsra.vx",
10693 "vsrl.vi",
10694 "vsrl.vv",
10695 "vsrl.vx",
10696 "vsse16.v",
10697 "vsse32.v",
10698 "vsse64.v",
10699 "vsse8.v",
10700 "vssra.vi",
10701 "vssra.vv",
10702 "vssra.vx",
10703 "vssrl.vi",
10704 "vssrl.vv",
10705 "vssrl.vx",
10706 "vssub.vv",
10707 "vssub.vx",
10708 "vssubu.vv",
10709 "vssubu.vx",
10710 "vsub.vv",
10711 "vsub.vx",
10712 "vsuxei16.v",
10713 "vsuxei32.v",
10714 "vsuxei64.v",
10715 "vsuxei8.v",
10716 "vwadd.vv",
10717 "vwadd.vx",
10718 "vwadd.wv",
10719 "vwadd.wx",
10720 "vwaddu.vv",
10721 "vwaddu.vx",
10722 "vwaddu.wv",
10723 "vwaddu.wx",
10724 "vwmacc.vv",
10725 "vwmacc.vx",
10726 "vwmaccsu.vv",
10727 "vwmaccsu.vx",
10728 "vwmaccu.vv",
10729 "vwmaccu.vx",
10730 "vwmaccus.vx",
10731 "vwmul.vv",
10732 "vwmul.vx",
10733 "vwmulsu.vv",
10734 "vwmulsu.vx",
10735 "vwmulu.vv",
10736 "vwmulu.vx",
10737 "vwredsum.vs",
10738 "vwredsumu.vs",
10739 "vwsll.vi",
10740 "vwsll.vv",
10741 "vwsll.vx",
10742 "vwsub.vv",
10743 "vwsub.vx",
10744 "vwsub.wv",
10745 "vwsub.wx",
10746 "vwsubu.vv",
10747 "vwsubu.vx",
10748 "vwsubu.wv",
10749 "vwsubu.wx",
10750 "vxor.vi",
10751 "vxor.vv",
10752 "vxor.vx",
10753 "vzext.vf2",
10754 "vzext.vf4",
10755 "vzext.vf8",
10756 "wfi",
10757 "wrs.nto",
10758 "wrs.sto",
10759 "xnor",
10760 "xor",
10761 "xori",
10762 "xperm4",
10763 "xperm8",
10764 "zext.b",
10765 "zext.h",
10766 "zext.h.rv32",
10767 "zext.w",
10768 "zip",
10769 "<invalid>",
10770];
10771
10772#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)]
10773pub struct Inst {
10774 pub opcode: u32,
10775 pub funct3: u32,
10776 pub rs1: u32,
10777 pub rs2: u32,
10778 pub csr: i64,
10779 pub funct7: u32,
10780}
10781
10782impl Inst {
10783 pub const fn encode(&self) -> InstructionValue {
10784 InstructionValue::new(
10785 0 | (self.funct7 << 25)
10786 | (self.rs2 << 20)
10787 | (self.rs1 << 15)
10788 | (self.funct3 << 12)
10789 | self.opcode,
10790 )
10791 }
10792
10793 pub const fn new(op: Opcode) -> Self {
10794 match op {
10795 Opcode::Invalid => unreachable!(),
10796 Opcode::ADD => Inst {
10797 opcode: 0x33,
10798 funct3: 0x0,
10799 rs1: 0x0,
10800 rs2: 0x0,
10801 csr: 0x0,
10802 funct7: 0x0,
10803 },
10804 Opcode::ADDUW => Inst {
10805 opcode: 0x3b,
10806 funct3: 0x0,
10807 rs1: 0x0,
10808 rs2: 0x0,
10809 csr: 0x80,
10810 funct7: 0x4,
10811 },
10812 Opcode::ADDI => Inst {
10813 opcode: 0x13,
10814 funct3: 0x0,
10815 rs1: 0x0,
10816 rs2: 0x0,
10817 csr: 0x0,
10818 funct7: 0x0,
10819 },
10820 Opcode::ADDIW => Inst {
10821 opcode: 0x1b,
10822 funct3: 0x0,
10823 rs1: 0x0,
10824 rs2: 0x0,
10825 csr: 0x0,
10826 funct7: 0x0,
10827 },
10828 Opcode::ADDW => Inst {
10829 opcode: 0x3b,
10830 funct3: 0x0,
10831 rs1: 0x0,
10832 rs2: 0x0,
10833 csr: 0x0,
10834 funct7: 0x0,
10835 },
10836 Opcode::AES32DSI => Inst {
10837 opcode: 0x33,
10838 funct3: 0x0,
10839 rs1: 0x0,
10840 rs2: 0x0,
10841 csr: 0x2a0,
10842 funct7: 0x15,
10843 },
10844 Opcode::AES32DSMI => Inst {
10845 opcode: 0x33,
10846 funct3: 0x0,
10847 rs1: 0x0,
10848 rs2: 0x0,
10849 csr: 0x2e0,
10850 funct7: 0x17,
10851 },
10852 Opcode::AES32ESI => Inst {
10853 opcode: 0x33,
10854 funct3: 0x0,
10855 rs1: 0x0,
10856 rs2: 0x0,
10857 csr: 0x220,
10858 funct7: 0x11,
10859 },
10860 Opcode::AES32ESMI => Inst {
10861 opcode: 0x33,
10862 funct3: 0x0,
10863 rs1: 0x0,
10864 rs2: 0x0,
10865 csr: 0x260,
10866 funct7: 0x13,
10867 },
10868 Opcode::AES64DS => Inst {
10869 opcode: 0x33,
10870 funct3: 0x0,
10871 rs1: 0x0,
10872 rs2: 0x0,
10873 csr: 0x3a0,
10874 funct7: 0x1d,
10875 },
10876 Opcode::AES64DSM => Inst {
10877 opcode: 0x33,
10878 funct3: 0x0,
10879 rs1: 0x0,
10880 rs2: 0x0,
10881 csr: 0x3e0,
10882 funct7: 0x1f,
10883 },
10884 Opcode::AES64ES => Inst {
10885 opcode: 0x33,
10886 funct3: 0x0,
10887 rs1: 0x0,
10888 rs2: 0x0,
10889 csr: 0x320,
10890 funct7: 0x19,
10891 },
10892 Opcode::AES64ESM => Inst {
10893 opcode: 0x33,
10894 funct3: 0x0,
10895 rs1: 0x0,
10896 rs2: 0x0,
10897 csr: 0x360,
10898 funct7: 0x1b,
10899 },
10900 Opcode::AES64IM => Inst {
10901 opcode: 0x13,
10902 funct3: 0x1,
10903 rs1: 0x0,
10904 rs2: 0x0,
10905 csr: 0x300,
10906 funct7: 0x18,
10907 },
10908 Opcode::AES64KS1I => Inst {
10909 opcode: 0x13,
10910 funct3: 0x1,
10911 rs1: 0x0,
10912 rs2: 0x10,
10913 csr: 0x310,
10914 funct7: 0x18,
10915 },
10916 Opcode::AES64KS2 => Inst {
10917 opcode: 0x33,
10918 funct3: 0x0,
10919 rs1: 0x0,
10920 rs2: 0x0,
10921 csr: 0x7e0,
10922 funct7: 0x3f,
10923 },
10924 Opcode::AMOADDB => Inst {
10925 opcode: 0x2f,
10926 funct3: 0x0,
10927 rs1: 0x0,
10928 rs2: 0x0,
10929 csr: 0x0,
10930 funct7: 0x0,
10931 },
10932 Opcode::AMOADDD => Inst {
10933 opcode: 0x2f,
10934 funct3: 0x3,
10935 rs1: 0x0,
10936 rs2: 0x0,
10937 csr: 0x0,
10938 funct7: 0x0,
10939 },
10940 Opcode::AMOADDH => Inst {
10941 opcode: 0x2f,
10942 funct3: 0x1,
10943 rs1: 0x0,
10944 rs2: 0x0,
10945 csr: 0x0,
10946 funct7: 0x0,
10947 },
10948 Opcode::AMOADDW => Inst {
10949 opcode: 0x2f,
10950 funct3: 0x2,
10951 rs1: 0x0,
10952 rs2: 0x0,
10953 csr: 0x0,
10954 funct7: 0x0,
10955 },
10956 Opcode::AMOANDB => Inst {
10957 opcode: 0x2f,
10958 funct3: 0x0,
10959 rs1: 0x0,
10960 rs2: 0x0,
10961 csr: 0x600,
10962 funct7: 0x30,
10963 },
10964 Opcode::AMOANDD => Inst {
10965 opcode: 0x2f,
10966 funct3: 0x3,
10967 rs1: 0x0,
10968 rs2: 0x0,
10969 csr: 0x600,
10970 funct7: 0x30,
10971 },
10972 Opcode::AMOANDH => Inst {
10973 opcode: 0x2f,
10974 funct3: 0x1,
10975 rs1: 0x0,
10976 rs2: 0x0,
10977 csr: 0x600,
10978 funct7: 0x30,
10979 },
10980 Opcode::AMOANDW => Inst {
10981 opcode: 0x2f,
10982 funct3: 0x2,
10983 rs1: 0x0,
10984 rs2: 0x0,
10985 csr: 0x600,
10986 funct7: 0x30,
10987 },
10988 Opcode::AMOCASB => Inst {
10989 opcode: 0x2f,
10990 funct3: 0x0,
10991 rs1: 0x0,
10992 rs2: 0x0,
10993 csr: 0x280,
10994 funct7: 0x14,
10995 },
10996 Opcode::AMOCASD => Inst {
10997 opcode: 0x2f,
10998 funct3: 0x3,
10999 rs1: 0x0,
11000 rs2: 0x0,
11001 csr: 0x280,
11002 funct7: 0x14,
11003 },
11004 Opcode::AMOCASH => Inst {
11005 opcode: 0x2f,
11006 funct3: 0x1,
11007 rs1: 0x0,
11008 rs2: 0x0,
11009 csr: 0x280,
11010 funct7: 0x14,
11011 },
11012 Opcode::AMOCASQ => Inst {
11013 opcode: 0x2f,
11014 funct3: 0x4,
11015 rs1: 0x0,
11016 rs2: 0x0,
11017 csr: 0x280,
11018 funct7: 0x14,
11019 },
11020 Opcode::AMOCASW => Inst {
11021 opcode: 0x2f,
11022 funct3: 0x2,
11023 rs1: 0x0,
11024 rs2: 0x0,
11025 csr: 0x280,
11026 funct7: 0x14,
11027 },
11028 Opcode::AMOMAXB => Inst {
11029 opcode: 0x2f,
11030 funct3: 0x0,
11031 rs1: 0x0,
11032 rs2: 0x0,
11033 csr: 0xa00,
11034 funct7: 0x50,
11035 },
11036 Opcode::AMOMAXD => Inst {
11037 opcode: 0x2f,
11038 funct3: 0x3,
11039 rs1: 0x0,
11040 rs2: 0x0,
11041 csr: 0xa00,
11042 funct7: 0x50,
11043 },
11044 Opcode::AMOMAXH => Inst {
11045 opcode: 0x2f,
11046 funct3: 0x1,
11047 rs1: 0x0,
11048 rs2: 0x0,
11049 csr: 0xa00,
11050 funct7: 0x50,
11051 },
11052 Opcode::AMOMAXW => Inst {
11053 opcode: 0x2f,
11054 funct3: 0x2,
11055 rs1: 0x0,
11056 rs2: 0x0,
11057 csr: 0xa00,
11058 funct7: 0x50,
11059 },
11060 Opcode::AMOMAXUB => Inst {
11061 opcode: 0x2f,
11062 funct3: 0x0,
11063 rs1: 0x0,
11064 rs2: 0x0,
11065 csr: 0xe00,
11066 funct7: 0x70,
11067 },
11068 Opcode::AMOMAXUD => Inst {
11069 opcode: 0x2f,
11070 funct3: 0x3,
11071 rs1: 0x0,
11072 rs2: 0x0,
11073 csr: 0xe00,
11074 funct7: 0x70,
11075 },
11076 Opcode::AMOMAXUH => Inst {
11077 opcode: 0x2f,
11078 funct3: 0x1,
11079 rs1: 0x0,
11080 rs2: 0x0,
11081 csr: 0xe00,
11082 funct7: 0x70,
11083 },
11084 Opcode::AMOMAXUW => Inst {
11085 opcode: 0x2f,
11086 funct3: 0x2,
11087 rs1: 0x0,
11088 rs2: 0x0,
11089 csr: 0xe00,
11090 funct7: 0x70,
11091 },
11092 Opcode::AMOMINB => Inst {
11093 opcode: 0x2f,
11094 funct3: 0x0,
11095 rs1: 0x0,
11096 rs2: 0x0,
11097 csr: 0x800,
11098 funct7: 0x40,
11099 },
11100 Opcode::AMOMIND => Inst {
11101 opcode: 0x2f,
11102 funct3: 0x3,
11103 rs1: 0x0,
11104 rs2: 0x0,
11105 csr: 0x800,
11106 funct7: 0x40,
11107 },
11108 Opcode::AMOMINH => Inst {
11109 opcode: 0x2f,
11110 funct3: 0x1,
11111 rs1: 0x0,
11112 rs2: 0x0,
11113 csr: 0x800,
11114 funct7: 0x40,
11115 },
11116 Opcode::AMOMINW => Inst {
11117 opcode: 0x2f,
11118 funct3: 0x2,
11119 rs1: 0x0,
11120 rs2: 0x0,
11121 csr: 0x800,
11122 funct7: 0x40,
11123 },
11124 Opcode::AMOMINUB => Inst {
11125 opcode: 0x2f,
11126 funct3: 0x0,
11127 rs1: 0x0,
11128 rs2: 0x0,
11129 csr: 0xc00,
11130 funct7: 0x60,
11131 },
11132 Opcode::AMOMINUD => Inst {
11133 opcode: 0x2f,
11134 funct3: 0x3,
11135 rs1: 0x0,
11136 rs2: 0x0,
11137 csr: 0xc00,
11138 funct7: 0x60,
11139 },
11140 Opcode::AMOMINUH => Inst {
11141 opcode: 0x2f,
11142 funct3: 0x1,
11143 rs1: 0x0,
11144 rs2: 0x0,
11145 csr: 0xc00,
11146 funct7: 0x60,
11147 },
11148 Opcode::AMOMINUW => Inst {
11149 opcode: 0x2f,
11150 funct3: 0x2,
11151 rs1: 0x0,
11152 rs2: 0x0,
11153 csr: 0xc00,
11154 funct7: 0x60,
11155 },
11156 Opcode::AMOORB => Inst {
11157 opcode: 0x2f,
11158 funct3: 0x0,
11159 rs1: 0x0,
11160 rs2: 0x0,
11161 csr: 0x400,
11162 funct7: 0x20,
11163 },
11164 Opcode::AMOORD => Inst {
11165 opcode: 0x2f,
11166 funct3: 0x3,
11167 rs1: 0x0,
11168 rs2: 0x0,
11169 csr: 0x400,
11170 funct7: 0x20,
11171 },
11172 Opcode::AMOORH => Inst {
11173 opcode: 0x2f,
11174 funct3: 0x1,
11175 rs1: 0x0,
11176 rs2: 0x0,
11177 csr: 0x400,
11178 funct7: 0x20,
11179 },
11180 Opcode::AMOORW => Inst {
11181 opcode: 0x2f,
11182 funct3: 0x2,
11183 rs1: 0x0,
11184 rs2: 0x0,
11185 csr: 0x400,
11186 funct7: 0x20,
11187 },
11188 Opcode::AMOSWAPB => Inst {
11189 opcode: 0x2f,
11190 funct3: 0x0,
11191 rs1: 0x0,
11192 rs2: 0x0,
11193 csr: 0x80,
11194 funct7: 0x4,
11195 },
11196 Opcode::AMOSWAPD => Inst {
11197 opcode: 0x2f,
11198 funct3: 0x3,
11199 rs1: 0x0,
11200 rs2: 0x0,
11201 csr: 0x80,
11202 funct7: 0x4,
11203 },
11204 Opcode::AMOSWAPH => Inst {
11205 opcode: 0x2f,
11206 funct3: 0x1,
11207 rs1: 0x0,
11208 rs2: 0x0,
11209 csr: 0x80,
11210 funct7: 0x4,
11211 },
11212 Opcode::AMOSWAPW => Inst {
11213 opcode: 0x2f,
11214 funct3: 0x2,
11215 rs1: 0x0,
11216 rs2: 0x0,
11217 csr: 0x80,
11218 funct7: 0x4,
11219 },
11220 Opcode::AMOXORB => Inst {
11221 opcode: 0x2f,
11222 funct3: 0x0,
11223 rs1: 0x0,
11224 rs2: 0x0,
11225 csr: 0x200,
11226 funct7: 0x10,
11227 },
11228 Opcode::AMOXORD => Inst {
11229 opcode: 0x2f,
11230 funct3: 0x3,
11231 rs1: 0x0,
11232 rs2: 0x0,
11233 csr: 0x200,
11234 funct7: 0x10,
11235 },
11236 Opcode::AMOXORH => Inst {
11237 opcode: 0x2f,
11238 funct3: 0x1,
11239 rs1: 0x0,
11240 rs2: 0x0,
11241 csr: 0x200,
11242 funct7: 0x10,
11243 },
11244 Opcode::AMOXORW => Inst {
11245 opcode: 0x2f,
11246 funct3: 0x2,
11247 rs1: 0x0,
11248 rs2: 0x0,
11249 csr: 0x200,
11250 funct7: 0x10,
11251 },
11252 Opcode::AND => Inst {
11253 opcode: 0x33,
11254 funct3: 0x7,
11255 rs1: 0x0,
11256 rs2: 0x0,
11257 csr: 0x0,
11258 funct7: 0x0,
11259 },
11260 Opcode::ANDI => Inst {
11261 opcode: 0x13,
11262 funct3: 0x7,
11263 rs1: 0x0,
11264 rs2: 0x0,
11265 csr: 0x0,
11266 funct7: 0x0,
11267 },
11268 Opcode::ANDN => Inst {
11269 opcode: 0x33,
11270 funct3: 0x7,
11271 rs1: 0x0,
11272 rs2: 0x0,
11273 csr: 0x400,
11274 funct7: 0x20,
11275 },
11276 Opcode::AUIPC => Inst {
11277 opcode: 0x17,
11278 funct3: 0x0,
11279 rs1: 0x0,
11280 rs2: 0x0,
11281 csr: 0x0,
11282 funct7: 0x0,
11283 },
11284 Opcode::BCLR => Inst {
11285 opcode: 0x33,
11286 funct3: 0x1,
11287 rs1: 0x0,
11288 rs2: 0x0,
11289 csr: 0x480,
11290 funct7: 0x24,
11291 },
11292 Opcode::BCLRI => Inst {
11293 opcode: 0x13,
11294 funct3: 0x1,
11295 rs1: 0x0,
11296 rs2: 0x0,
11297 csr: 0x480,
11298 funct7: 0x24,
11299 },
11300 Opcode::BCLRIRV32 => Inst {
11301 opcode: 0x13,
11302 funct3: 0x1,
11303 rs1: 0x0,
11304 rs2: 0x0,
11305 csr: 0x480,
11306 funct7: 0x24,
11307 },
11308 Opcode::BEQ => Inst {
11309 opcode: 0x63,
11310 funct3: 0x0,
11311 rs1: 0x0,
11312 rs2: 0x0,
11313 csr: 0x0,
11314 funct7: 0x0,
11315 },
11316 Opcode::BEQZ => Inst {
11317 opcode: 0x63,
11318 funct3: 0x0,
11319 rs1: 0x0,
11320 rs2: 0x0,
11321 csr: 0x0,
11322 funct7: 0x0,
11323 },
11324 Opcode::BEXT => Inst {
11325 opcode: 0x33,
11326 funct3: 0x5,
11327 rs1: 0x0,
11328 rs2: 0x0,
11329 csr: 0x480,
11330 funct7: 0x24,
11331 },
11332 Opcode::BEXTI => Inst {
11333 opcode: 0x13,
11334 funct3: 0x5,
11335 rs1: 0x0,
11336 rs2: 0x0,
11337 csr: 0x480,
11338 funct7: 0x24,
11339 },
11340 Opcode::BEXTIRV32 => Inst {
11341 opcode: 0x13,
11342 funct3: 0x5,
11343 rs1: 0x0,
11344 rs2: 0x0,
11345 csr: 0x480,
11346 funct7: 0x24,
11347 },
11348 Opcode::BGE => Inst {
11349 opcode: 0x63,
11350 funct3: 0x5,
11351 rs1: 0x0,
11352 rs2: 0x0,
11353 csr: 0x0,
11354 funct7: 0x0,
11355 },
11356 Opcode::BGEU => Inst {
11357 opcode: 0x63,
11358 funct3: 0x7,
11359 rs1: 0x0,
11360 rs2: 0x0,
11361 csr: 0x0,
11362 funct7: 0x0,
11363 },
11364 Opcode::BGEZ => Inst {
11365 opcode: 0x63,
11366 funct3: 0x5,
11367 rs1: 0x0,
11368 rs2: 0x0,
11369 csr: 0x0,
11370 funct7: 0x0,
11371 },
11372 Opcode::BGT => Inst {
11373 opcode: 0x63,
11374 funct3: 0x4,
11375 rs1: 0x0,
11376 rs2: 0x0,
11377 csr: 0x0,
11378 funct7: 0x0,
11379 },
11380 Opcode::BGTU => Inst {
11381 opcode: 0x63,
11382 funct3: 0x6,
11383 rs1: 0x0,
11384 rs2: 0x0,
11385 csr: 0x0,
11386 funct7: 0x0,
11387 },
11388 Opcode::BGTZ => Inst {
11389 opcode: 0x63,
11390 funct3: 0x4,
11391 rs1: 0x0,
11392 rs2: 0x0,
11393 csr: 0x0,
11394 funct7: 0x0,
11395 },
11396 Opcode::BINV => Inst {
11397 opcode: 0x33,
11398 funct3: 0x1,
11399 rs1: 0x0,
11400 rs2: 0x0,
11401 csr: 0x680,
11402 funct7: 0x34,
11403 },
11404 Opcode::BINVI => Inst {
11405 opcode: 0x13,
11406 funct3: 0x1,
11407 rs1: 0x0,
11408 rs2: 0x0,
11409 csr: 0x680,
11410 funct7: 0x34,
11411 },
11412 Opcode::BINVIRV32 => Inst {
11413 opcode: 0x13,
11414 funct3: 0x1,
11415 rs1: 0x0,
11416 rs2: 0x0,
11417 csr: 0x680,
11418 funct7: 0x34,
11419 },
11420 Opcode::BLE => Inst {
11421 opcode: 0x63,
11422 funct3: 0x5,
11423 rs1: 0x0,
11424 rs2: 0x0,
11425 csr: 0x0,
11426 funct7: 0x0,
11427 },
11428 Opcode::BLEU => Inst {
11429 opcode: 0x63,
11430 funct3: 0x7,
11431 rs1: 0x0,
11432 rs2: 0x0,
11433 csr: 0x0,
11434 funct7: 0x0,
11435 },
11436 Opcode::BLEZ => Inst {
11437 opcode: 0x63,
11438 funct3: 0x5,
11439 rs1: 0x0,
11440 rs2: 0x0,
11441 csr: 0x0,
11442 funct7: 0x0,
11443 },
11444 Opcode::BLT => Inst {
11445 opcode: 0x63,
11446 funct3: 0x4,
11447 rs1: 0x0,
11448 rs2: 0x0,
11449 csr: 0x0,
11450 funct7: 0x0,
11451 },
11452 Opcode::BLTU => Inst {
11453 opcode: 0x63,
11454 funct3: 0x6,
11455 rs1: 0x0,
11456 rs2: 0x0,
11457 csr: 0x0,
11458 funct7: 0x0,
11459 },
11460 Opcode::BLTZ => Inst {
11461 opcode: 0x63,
11462 funct3: 0x4,
11463 rs1: 0x0,
11464 rs2: 0x0,
11465 csr: 0x0,
11466 funct7: 0x0,
11467 },
11468 Opcode::BNE => Inst {
11469 opcode: 0x63,
11470 funct3: 0x1,
11471 rs1: 0x0,
11472 rs2: 0x0,
11473 csr: 0x0,
11474 funct7: 0x0,
11475 },
11476 Opcode::BNEZ => Inst {
11477 opcode: 0x63,
11478 funct3: 0x1,
11479 rs1: 0x0,
11480 rs2: 0x0,
11481 csr: 0x0,
11482 funct7: 0x0,
11483 },
11484 Opcode::BREV8 => Inst {
11485 opcode: 0x13,
11486 funct3: 0x5,
11487 rs1: 0x0,
11488 rs2: 0x7,
11489 csr: 0x687,
11490 funct7: 0x34,
11491 },
11492 Opcode::BSET => Inst {
11493 opcode: 0x33,
11494 funct3: 0x1,
11495 rs1: 0x0,
11496 rs2: 0x0,
11497 csr: 0x280,
11498 funct7: 0x14,
11499 },
11500 Opcode::BSETI => Inst {
11501 opcode: 0x13,
11502 funct3: 0x1,
11503 rs1: 0x0,
11504 rs2: 0x0,
11505 csr: 0x280,
11506 funct7: 0x14,
11507 },
11508 Opcode::BSETIRV32 => Inst {
11509 opcode: 0x13,
11510 funct3: 0x1,
11511 rs1: 0x0,
11512 rs2: 0x0,
11513 csr: 0x280,
11514 funct7: 0x14,
11515 },
11516 Opcode::CADD => Inst {
11517 opcode: 0x2,
11518 funct3: 0x1,
11519 rs1: 0x1,
11520 rs2: 0x0,
11521 csr: 0x0,
11522 funct7: 0x0,
11523 },
11524 Opcode::CADDI => Inst {
11525 opcode: 0x1,
11526 funct3: 0x0,
11527 rs1: 0x0,
11528 rs2: 0x0,
11529 csr: 0x0,
11530 funct7: 0x0,
11531 },
11532 Opcode::CADDI16SP => Inst {
11533 opcode: 0x1,
11534 funct3: 0x6,
11535 rs1: 0x0,
11536 rs2: 0x0,
11537 csr: 0x0,
11538 funct7: 0x0,
11539 },
11540 Opcode::CADDI4SPN => Inst {
11541 opcode: 0x0,
11542 funct3: 0x0,
11543 rs1: 0x0,
11544 rs2: 0x0,
11545 csr: 0x0,
11546 funct7: 0x0,
11547 },
11548 Opcode::CADDIW => Inst {
11549 opcode: 0x1,
11550 funct3: 0x2,
11551 rs1: 0x0,
11552 rs2: 0x0,
11553 csr: 0x0,
11554 funct7: 0x0,
11555 },
11556 Opcode::CADDW => Inst {
11557 opcode: 0x21,
11558 funct3: 0x1,
11559 rs1: 0x1,
11560 rs2: 0x0,
11561 csr: 0x0,
11562 funct7: 0x0,
11563 },
11564 Opcode::CAND => Inst {
11565 opcode: 0x61,
11566 funct3: 0x0,
11567 rs1: 0x1,
11568 rs2: 0x0,
11569 csr: 0x0,
11570 funct7: 0x0,
11571 },
11572 Opcode::CANDI => Inst {
11573 opcode: 0x1,
11574 funct3: 0x0,
11575 rs1: 0x1,
11576 rs2: 0x0,
11577 csr: 0x0,
11578 funct7: 0x0,
11579 },
11580 Opcode::CBEQZ => Inst {
11581 opcode: 0x1,
11582 funct3: 0x4,
11583 rs1: 0x1,
11584 rs2: 0x0,
11585 csr: 0x0,
11586 funct7: 0x0,
11587 },
11588 Opcode::CBNEZ => Inst {
11589 opcode: 0x1,
11590 funct3: 0x6,
11591 rs1: 0x1,
11592 rs2: 0x0,
11593 csr: 0x0,
11594 funct7: 0x0,
11595 },
11596 Opcode::CEBREAK => Inst {
11597 opcode: 0x2,
11598 funct3: 0x1,
11599 rs1: 0x1,
11600 rs2: 0x0,
11601 csr: 0x0,
11602 funct7: 0x0,
11603 },
11604 Opcode::CFLD => Inst {
11605 opcode: 0x0,
11606 funct3: 0x2,
11607 rs1: 0x0,
11608 rs2: 0x0,
11609 csr: 0x0,
11610 funct7: 0x0,
11611 },
11612 Opcode::CFLDSP => Inst {
11613 opcode: 0x2,
11614 funct3: 0x2,
11615 rs1: 0x0,
11616 rs2: 0x0,
11617 csr: 0x0,
11618 funct7: 0x0,
11619 },
11620 Opcode::CFLW => Inst {
11621 opcode: 0x0,
11622 funct3: 0x6,
11623 rs1: 0x0,
11624 rs2: 0x0,
11625 csr: 0x0,
11626 funct7: 0x0,
11627 },
11628 Opcode::CFLWSP => Inst {
11629 opcode: 0x2,
11630 funct3: 0x6,
11631 rs1: 0x0,
11632 rs2: 0x0,
11633 csr: 0x0,
11634 funct7: 0x0,
11635 },
11636 Opcode::CFSD => Inst {
11637 opcode: 0x0,
11638 funct3: 0x2,
11639 rs1: 0x1,
11640 rs2: 0x0,
11641 csr: 0x0,
11642 funct7: 0x0,
11643 },
11644 Opcode::CFSDSP => Inst {
11645 opcode: 0x2,
11646 funct3: 0x2,
11647 rs1: 0x1,
11648 rs2: 0x0,
11649 csr: 0x0,
11650 funct7: 0x0,
11651 },
11652 Opcode::CFSW => Inst {
11653 opcode: 0x0,
11654 funct3: 0x6,
11655 rs1: 0x1,
11656 rs2: 0x0,
11657 csr: 0x0,
11658 funct7: 0x0,
11659 },
11660 Opcode::CFSWSP => Inst {
11661 opcode: 0x2,
11662 funct3: 0x6,
11663 rs1: 0x1,
11664 rs2: 0x0,
11665 csr: 0x0,
11666 funct7: 0x0,
11667 },
11668 Opcode::CJ => Inst {
11669 opcode: 0x1,
11670 funct3: 0x2,
11671 rs1: 0x1,
11672 rs2: 0x0,
11673 csr: 0x0,
11674 funct7: 0x0,
11675 },
11676 Opcode::CJAL => Inst {
11677 opcode: 0x1,
11678 funct3: 0x2,
11679 rs1: 0x0,
11680 rs2: 0x0,
11681 csr: 0x0,
11682 funct7: 0x0,
11683 },
11684 Opcode::CJALR => Inst {
11685 opcode: 0x2,
11686 funct3: 0x1,
11687 rs1: 0x1,
11688 rs2: 0x0,
11689 csr: 0x0,
11690 funct7: 0x0,
11691 },
11692 Opcode::CJR => Inst {
11693 opcode: 0x2,
11694 funct3: 0x0,
11695 rs1: 0x1,
11696 rs2: 0x0,
11697 csr: 0x0,
11698 funct7: 0x0,
11699 },
11700 Opcode::CLBU => Inst {
11701 opcode: 0x0,
11702 funct3: 0x0,
11703 rs1: 0x1,
11704 rs2: 0x0,
11705 csr: 0x0,
11706 funct7: 0x0,
11707 },
11708 Opcode::CLD => Inst {
11709 opcode: 0x0,
11710 funct3: 0x6,
11711 rs1: 0x0,
11712 rs2: 0x0,
11713 csr: 0x0,
11714 funct7: 0x0,
11715 },
11716 Opcode::CLDSP => Inst {
11717 opcode: 0x2,
11718 funct3: 0x6,
11719 rs1: 0x0,
11720 rs2: 0x0,
11721 csr: 0x0,
11722 funct7: 0x0,
11723 },
11724 Opcode::CLH => Inst {
11725 opcode: 0x40,
11726 funct3: 0x0,
11727 rs1: 0x1,
11728 rs2: 0x0,
11729 csr: 0x0,
11730 funct7: 0x0,
11731 },
11732 Opcode::CLHU => Inst {
11733 opcode: 0x0,
11734 funct3: 0x0,
11735 rs1: 0x1,
11736 rs2: 0x0,
11737 csr: 0x0,
11738 funct7: 0x0,
11739 },
11740 Opcode::CLI => Inst {
11741 opcode: 0x1,
11742 funct3: 0x4,
11743 rs1: 0x0,
11744 rs2: 0x0,
11745 csr: 0x0,
11746 funct7: 0x0,
11747 },
11748 Opcode::CLUI => Inst {
11749 opcode: 0x1,
11750 funct3: 0x6,
11751 rs1: 0x0,
11752 rs2: 0x0,
11753 csr: 0x0,
11754 funct7: 0x0,
11755 },
11756 Opcode::CLW => Inst {
11757 opcode: 0x0,
11758 funct3: 0x4,
11759 rs1: 0x0,
11760 rs2: 0x0,
11761 csr: 0x0,
11762 funct7: 0x0,
11763 },
11764 Opcode::CLWSP => Inst {
11765 opcode: 0x2,
11766 funct3: 0x4,
11767 rs1: 0x0,
11768 rs2: 0x0,
11769 csr: 0x0,
11770 funct7: 0x0,
11771 },
11772 Opcode::CMOP1 => Inst {
11773 opcode: 0x1,
11774 funct3: 0x6,
11775 rs1: 0x0,
11776 rs2: 0x0,
11777 csr: 0x0,
11778 funct7: 0x0,
11779 },
11780 Opcode::CMOP11 => Inst {
11781 opcode: 0x1,
11782 funct3: 0x6,
11783 rs1: 0x0,
11784 rs2: 0x0,
11785 csr: 0x0,
11786 funct7: 0x0,
11787 },
11788 Opcode::CMOP13 => Inst {
11789 opcode: 0x1,
11790 funct3: 0x6,
11791 rs1: 0x0,
11792 rs2: 0x0,
11793 csr: 0x0,
11794 funct7: 0x0,
11795 },
11796 Opcode::CMOP15 => Inst {
11797 opcode: 0x1,
11798 funct3: 0x6,
11799 rs1: 0x0,
11800 rs2: 0x0,
11801 csr: 0x0,
11802 funct7: 0x0,
11803 },
11804 Opcode::CMOP3 => Inst {
11805 opcode: 0x1,
11806 funct3: 0x6,
11807 rs1: 0x0,
11808 rs2: 0x0,
11809 csr: 0x0,
11810 funct7: 0x0,
11811 },
11812 Opcode::CMOP5 => Inst {
11813 opcode: 0x1,
11814 funct3: 0x6,
11815 rs1: 0x0,
11816 rs2: 0x0,
11817 csr: 0x0,
11818 funct7: 0x0,
11819 },
11820 Opcode::CMOP7 => Inst {
11821 opcode: 0x1,
11822 funct3: 0x6,
11823 rs1: 0x0,
11824 rs2: 0x0,
11825 csr: 0x0,
11826 funct7: 0x0,
11827 },
11828 Opcode::CMOP9 => Inst {
11829 opcode: 0x1,
11830 funct3: 0x6,
11831 rs1: 0x0,
11832 rs2: 0x0,
11833 csr: 0x0,
11834 funct7: 0x0,
11835 },
11836 Opcode::CMOPN => Inst {
11837 opcode: 0x1,
11838 funct3: 0x6,
11839 rs1: 0x0,
11840 rs2: 0x0,
11841 csr: 0x0,
11842 funct7: 0x0,
11843 },
11844 Opcode::CMUL => Inst {
11845 opcode: 0x41,
11846 funct3: 0x1,
11847 rs1: 0x1,
11848 rs2: 0x0,
11849 csr: 0x0,
11850 funct7: 0x0,
11851 },
11852 Opcode::CMV => Inst {
11853 opcode: 0x2,
11854 funct3: 0x0,
11855 rs1: 0x1,
11856 rs2: 0x0,
11857 csr: 0x0,
11858 funct7: 0x0,
11859 },
11860 Opcode::CNOP => Inst {
11861 opcode: 0x1,
11862 funct3: 0x0,
11863 rs1: 0x0,
11864 rs2: 0x0,
11865 csr: 0x0,
11866 funct7: 0x0,
11867 },
11868 Opcode::CNOT => Inst {
11869 opcode: 0x75,
11870 funct3: 0x1,
11871 rs1: 0x1,
11872 rs2: 0x0,
11873 csr: 0x0,
11874 funct7: 0x0,
11875 },
11876 Opcode::CNTLALL => Inst {
11877 opcode: 0x16,
11878 funct3: 0x1,
11879 rs1: 0x1,
11880 rs2: 0x0,
11881 csr: 0x0,
11882 funct7: 0x0,
11883 },
11884 Opcode::CNTLP1 => Inst {
11885 opcode: 0xa,
11886 funct3: 0x1,
11887 rs1: 0x1,
11888 rs2: 0x0,
11889 csr: 0x0,
11890 funct7: 0x0,
11891 },
11892 Opcode::CNTLPALL => Inst {
11893 opcode: 0xe,
11894 funct3: 0x1,
11895 rs1: 0x1,
11896 rs2: 0x0,
11897 csr: 0x0,
11898 funct7: 0x0,
11899 },
11900 Opcode::CNTLS1 => Inst {
11901 opcode: 0x12,
11902 funct3: 0x1,
11903 rs1: 0x1,
11904 rs2: 0x0,
11905 csr: 0x0,
11906 funct7: 0x0,
11907 },
11908 Opcode::COR => Inst {
11909 opcode: 0x41,
11910 funct3: 0x0,
11911 rs1: 0x1,
11912 rs2: 0x0,
11913 csr: 0x0,
11914 funct7: 0x0,
11915 },
11916 Opcode::CSB => Inst {
11917 opcode: 0x0,
11918 funct3: 0x0,
11919 rs1: 0x1,
11920 rs2: 0x0,
11921 csr: 0x0,
11922 funct7: 0x0,
11923 },
11924 Opcode::CSD => Inst {
11925 opcode: 0x0,
11926 funct3: 0x6,
11927 rs1: 0x1,
11928 rs2: 0x0,
11929 csr: 0x0,
11930 funct7: 0x0,
11931 },
11932 Opcode::CSDSP => Inst {
11933 opcode: 0x2,
11934 funct3: 0x6,
11935 rs1: 0x1,
11936 rs2: 0x0,
11937 csr: 0x0,
11938 funct7: 0x0,
11939 },
11940 Opcode::CSEXTB => Inst {
11941 opcode: 0x65,
11942 funct3: 0x1,
11943 rs1: 0x1,
11944 rs2: 0x0,
11945 csr: 0x0,
11946 funct7: 0x0,
11947 },
11948 Opcode::CSEXTH => Inst {
11949 opcode: 0x6d,
11950 funct3: 0x1,
11951 rs1: 0x1,
11952 rs2: 0x0,
11953 csr: 0x0,
11954 funct7: 0x0,
11955 },
11956 Opcode::CSEXTW => Inst {
11957 opcode: 0x1,
11958 funct3: 0x2,
11959 rs1: 0x0,
11960 rs2: 0x0,
11961 csr: 0x0,
11962 funct7: 0x0,
11963 },
11964 Opcode::CSH => Inst {
11965 opcode: 0x0,
11966 funct3: 0x0,
11967 rs1: 0x1,
11968 rs2: 0x0,
11969 csr: 0x0,
11970 funct7: 0x0,
11971 },
11972 Opcode::CSLLI => Inst {
11973 opcode: 0x2,
11974 funct3: 0x0,
11975 rs1: 0x0,
11976 rs2: 0x0,
11977 csr: 0x0,
11978 funct7: 0x0,
11979 },
11980 Opcode::CSLLIRV32 => Inst {
11981 opcode: 0x2,
11982 funct3: 0x0,
11983 rs1: 0x0,
11984 rs2: 0x0,
11985 csr: 0x0,
11986 funct7: 0x0,
11987 },
11988 Opcode::CSRAI => Inst {
11989 opcode: 0x1,
11990 funct3: 0x0,
11991 rs1: 0x1,
11992 rs2: 0x0,
11993 csr: 0x0,
11994 funct7: 0x0,
11995 },
11996 Opcode::CSRAIRV32 => Inst {
11997 opcode: 0x1,
11998 funct3: 0x0,
11999 rs1: 0x1,
12000 rs2: 0x0,
12001 csr: 0x0,
12002 funct7: 0x0,
12003 },
12004 Opcode::CSRLI => Inst {
12005 opcode: 0x1,
12006 funct3: 0x0,
12007 rs1: 0x1,
12008 rs2: 0x0,
12009 csr: 0x0,
12010 funct7: 0x0,
12011 },
12012 Opcode::CSRLIRV32 => Inst {
12013 opcode: 0x1,
12014 funct3: 0x0,
12015 rs1: 0x1,
12016 rs2: 0x0,
12017 csr: 0x0,
12018 funct7: 0x0,
12019 },
12020 Opcode::CSUB => Inst {
12021 opcode: 0x1,
12022 funct3: 0x0,
12023 rs1: 0x1,
12024 rs2: 0x0,
12025 csr: 0x0,
12026 funct7: 0x0,
12027 },
12028 Opcode::CSUBW => Inst {
12029 opcode: 0x1,
12030 funct3: 0x1,
12031 rs1: 0x1,
12032 rs2: 0x0,
12033 csr: 0x0,
12034 funct7: 0x0,
12035 },
12036 Opcode::CSW => Inst {
12037 opcode: 0x0,
12038 funct3: 0x4,
12039 rs1: 0x1,
12040 rs2: 0x0,
12041 csr: 0x0,
12042 funct7: 0x0,
12043 },
12044 Opcode::CSWSP => Inst {
12045 opcode: 0x2,
12046 funct3: 0x4,
12047 rs1: 0x1,
12048 rs2: 0x0,
12049 csr: 0x0,
12050 funct7: 0x0,
12051 },
12052 Opcode::CXOR => Inst {
12053 opcode: 0x21,
12054 funct3: 0x0,
12055 rs1: 0x1,
12056 rs2: 0x0,
12057 csr: 0x0,
12058 funct7: 0x0,
12059 },
12060 Opcode::CZEXTB => Inst {
12061 opcode: 0x61,
12062 funct3: 0x1,
12063 rs1: 0x1,
12064 rs2: 0x0,
12065 csr: 0x0,
12066 funct7: 0x0,
12067 },
12068 Opcode::CZEXTH => Inst {
12069 opcode: 0x69,
12070 funct3: 0x1,
12071 rs1: 0x1,
12072 rs2: 0x0,
12073 csr: 0x0,
12074 funct7: 0x0,
12075 },
12076 Opcode::CZEXTW => Inst {
12077 opcode: 0x71,
12078 funct3: 0x1,
12079 rs1: 0x1,
12080 rs2: 0x0,
12081 csr: 0x0,
12082 funct7: 0x0,
12083 },
12084 Opcode::CBOCLEAN => Inst {
12085 opcode: 0xf,
12086 funct3: 0x2,
12087 rs1: 0x0,
12088 rs2: 0x1,
12089 csr: 0x1,
12090 funct7: 0x0,
12091 },
12092 Opcode::CBOFLUSH => Inst {
12093 opcode: 0xf,
12094 funct3: 0x2,
12095 rs1: 0x0,
12096 rs2: 0x2,
12097 csr: 0x2,
12098 funct7: 0x0,
12099 },
12100 Opcode::CBOINVAL => Inst {
12101 opcode: 0xf,
12102 funct3: 0x2,
12103 rs1: 0x0,
12104 rs2: 0x0,
12105 csr: 0x0,
12106 funct7: 0x0,
12107 },
12108 Opcode::CBOZERO => Inst {
12109 opcode: 0xf,
12110 funct3: 0x2,
12111 rs1: 0x0,
12112 rs2: 0x4,
12113 csr: 0x4,
12114 funct7: 0x0,
12115 },
12116 Opcode::CLMUL => Inst {
12117 opcode: 0x33,
12118 funct3: 0x1,
12119 rs1: 0x0,
12120 rs2: 0x0,
12121 csr: 0xa0,
12122 funct7: 0x5,
12123 },
12124 Opcode::CLMULH => Inst {
12125 opcode: 0x33,
12126 funct3: 0x3,
12127 rs1: 0x0,
12128 rs2: 0x0,
12129 csr: 0xa0,
12130 funct7: 0x5,
12131 },
12132 Opcode::CLMULR => Inst {
12133 opcode: 0x33,
12134 funct3: 0x2,
12135 rs1: 0x0,
12136 rs2: 0x0,
12137 csr: 0xa0,
12138 funct7: 0x5,
12139 },
12140 Opcode::CLZ => Inst {
12141 opcode: 0x13,
12142 funct3: 0x1,
12143 rs1: 0x0,
12144 rs2: 0x0,
12145 csr: 0x600,
12146 funct7: 0x30,
12147 },
12148 Opcode::CLZW => Inst {
12149 opcode: 0x1b,
12150 funct3: 0x1,
12151 rs1: 0x0,
12152 rs2: 0x0,
12153 csr: 0x600,
12154 funct7: 0x30,
12155 },
12156 Opcode::CMJALT => Inst {
12157 opcode: 0x2,
12158 funct3: 0x2,
12159 rs1: 0x1,
12160 rs2: 0x0,
12161 csr: 0x0,
12162 funct7: 0x0,
12163 },
12164 Opcode::CMMVA01S => Inst {
12165 opcode: 0x62,
12166 funct3: 0x2,
12167 rs1: 0x1,
12168 rs2: 0x0,
12169 csr: 0x0,
12170 funct7: 0x0,
12171 },
12172 Opcode::CMMVSA01 => Inst {
12173 opcode: 0x22,
12174 funct3: 0x2,
12175 rs1: 0x1,
12176 rs2: 0x0,
12177 csr: 0x0,
12178 funct7: 0x0,
12179 },
12180 Opcode::CMPOP => Inst {
12181 opcode: 0x2,
12182 funct3: 0x3,
12183 rs1: 0x1,
12184 rs2: 0x0,
12185 csr: 0x0,
12186 funct7: 0x0,
12187 },
12188 Opcode::CMPOPRET => Inst {
12189 opcode: 0x2,
12190 funct3: 0x3,
12191 rs1: 0x1,
12192 rs2: 0x0,
12193 csr: 0x0,
12194 funct7: 0x0,
12195 },
12196 Opcode::CMPOPRETZ => Inst {
12197 opcode: 0x2,
12198 funct3: 0x3,
12199 rs1: 0x1,
12200 rs2: 0x0,
12201 csr: 0x0,
12202 funct7: 0x0,
12203 },
12204 Opcode::CMPUSH => Inst {
12205 opcode: 0x2,
12206 funct3: 0x3,
12207 rs1: 0x1,
12208 rs2: 0x0,
12209 csr: 0x0,
12210 funct7: 0x0,
12211 },
12212 Opcode::CPOP => Inst {
12213 opcode: 0x13,
12214 funct3: 0x1,
12215 rs1: 0x0,
12216 rs2: 0x2,
12217 csr: 0x602,
12218 funct7: 0x30,
12219 },
12220 Opcode::CPOPW => Inst {
12221 opcode: 0x1b,
12222 funct3: 0x1,
12223 rs1: 0x0,
12224 rs2: 0x2,
12225 csr: 0x602,
12226 funct7: 0x30,
12227 },
12228 Opcode::CSRC => Inst {
12229 opcode: 0x73,
12230 funct3: 0x3,
12231 rs1: 0x0,
12232 rs2: 0x0,
12233 csr: 0x0,
12234 funct7: 0x0,
12235 },
12236 Opcode::CSRCI => Inst {
12237 opcode: 0x73,
12238 funct3: 0x7,
12239 rs1: 0x0,
12240 rs2: 0x0,
12241 csr: 0x0,
12242 funct7: 0x0,
12243 },
12244 Opcode::CSRR => Inst {
12245 opcode: 0x73,
12246 funct3: 0x2,
12247 rs1: 0x0,
12248 rs2: 0x0,
12249 csr: 0x0,
12250 funct7: 0x0,
12251 },
12252 Opcode::CSRRC => Inst {
12253 opcode: 0x73,
12254 funct3: 0x3,
12255 rs1: 0x0,
12256 rs2: 0x0,
12257 csr: 0x0,
12258 funct7: 0x0,
12259 },
12260 Opcode::CSRRCI => Inst {
12261 opcode: 0x73,
12262 funct3: 0x7,
12263 rs1: 0x0,
12264 rs2: 0x0,
12265 csr: 0x0,
12266 funct7: 0x0,
12267 },
12268 Opcode::CSRRS => Inst {
12269 opcode: 0x73,
12270 funct3: 0x2,
12271 rs1: 0x0,
12272 rs2: 0x0,
12273 csr: 0x0,
12274 funct7: 0x0,
12275 },
12276 Opcode::CSRRSI => Inst {
12277 opcode: 0x73,
12278 funct3: 0x6,
12279 rs1: 0x0,
12280 rs2: 0x0,
12281 csr: 0x0,
12282 funct7: 0x0,
12283 },
12284 Opcode::CSRRW => Inst {
12285 opcode: 0x73,
12286 funct3: 0x1,
12287 rs1: 0x0,
12288 rs2: 0x0,
12289 csr: 0x0,
12290 funct7: 0x0,
12291 },
12292 Opcode::CSRRWI => Inst {
12293 opcode: 0x73,
12294 funct3: 0x5,
12295 rs1: 0x0,
12296 rs2: 0x0,
12297 csr: 0x0,
12298 funct7: 0x0,
12299 },
12300 Opcode::CSRS => Inst {
12301 opcode: 0x73,
12302 funct3: 0x2,
12303 rs1: 0x0,
12304 rs2: 0x0,
12305 csr: 0x0,
12306 funct7: 0x0,
12307 },
12308 Opcode::CSRSI => Inst {
12309 opcode: 0x73,
12310 funct3: 0x6,
12311 rs1: 0x0,
12312 rs2: 0x0,
12313 csr: 0x0,
12314 funct7: 0x0,
12315 },
12316 Opcode::CSRW => Inst {
12317 opcode: 0x73,
12318 funct3: 0x1,
12319 rs1: 0x0,
12320 rs2: 0x0,
12321 csr: 0x0,
12322 funct7: 0x0,
12323 },
12324 Opcode::CSRWI => Inst {
12325 opcode: 0x73,
12326 funct3: 0x5,
12327 rs1: 0x0,
12328 rs2: 0x0,
12329 csr: 0x0,
12330 funct7: 0x0,
12331 },
12332 Opcode::CTZ => Inst {
12333 opcode: 0x13,
12334 funct3: 0x1,
12335 rs1: 0x0,
12336 rs2: 0x1,
12337 csr: 0x601,
12338 funct7: 0x30,
12339 },
12340 Opcode::CTZW => Inst {
12341 opcode: 0x1b,
12342 funct3: 0x1,
12343 rs1: 0x0,
12344 rs2: 0x1,
12345 csr: 0x601,
12346 funct7: 0x30,
12347 },
12348 Opcode::CZEROEQZ => Inst {
12349 opcode: 0x33,
12350 funct3: 0x5,
12351 rs1: 0x0,
12352 rs2: 0x0,
12353 csr: 0xe0,
12354 funct7: 0x7,
12355 },
12356 Opcode::CZERONEZ => Inst {
12357 opcode: 0x33,
12358 funct3: 0x7,
12359 rs1: 0x0,
12360 rs2: 0x0,
12361 csr: 0xe0,
12362 funct7: 0x7,
12363 },
12364 Opcode::DIV => Inst {
12365 opcode: 0x33,
12366 funct3: 0x4,
12367 rs1: 0x0,
12368 rs2: 0x0,
12369 csr: 0x20,
12370 funct7: 0x1,
12371 },
12372 Opcode::DIVU => Inst {
12373 opcode: 0x33,
12374 funct3: 0x5,
12375 rs1: 0x0,
12376 rs2: 0x0,
12377 csr: 0x20,
12378 funct7: 0x1,
12379 },
12380 Opcode::DIVUW => Inst {
12381 opcode: 0x3b,
12382 funct3: 0x5,
12383 rs1: 0x0,
12384 rs2: 0x0,
12385 csr: 0x20,
12386 funct7: 0x1,
12387 },
12388 Opcode::DIVW => Inst {
12389 opcode: 0x3b,
12390 funct3: 0x4,
12391 rs1: 0x0,
12392 rs2: 0x0,
12393 csr: 0x20,
12394 funct7: 0x1,
12395 },
12396 Opcode::DRET => Inst {
12397 opcode: 0x73,
12398 funct3: 0x0,
12399 rs1: 0x0,
12400 rs2: 0x12,
12401 csr: 0x7b2,
12402 funct7: 0x3d,
12403 },
12404 Opcode::EBREAK => Inst {
12405 opcode: 0x73,
12406 funct3: 0x0,
12407 rs1: 0x0,
12408 rs2: 0x1,
12409 csr: 0x1,
12410 funct7: 0x0,
12411 },
12412 Opcode::ECALL => Inst {
12413 opcode: 0x73,
12414 funct3: 0x0,
12415 rs1: 0x0,
12416 rs2: 0x0,
12417 csr: 0x0,
12418 funct7: 0x0,
12419 },
12420 Opcode::FABSD => Inst {
12421 opcode: 0x53,
12422 funct3: 0x2,
12423 rs1: 0x0,
12424 rs2: 0x0,
12425 csr: 0x220,
12426 funct7: 0x11,
12427 },
12428 Opcode::FABSH => Inst {
12429 opcode: 0x53,
12430 funct3: 0x2,
12431 rs1: 0x0,
12432 rs2: 0x0,
12433 csr: 0x240,
12434 funct7: 0x12,
12435 },
12436 Opcode::FABSQ => Inst {
12437 opcode: 0x53,
12438 funct3: 0x2,
12439 rs1: 0x0,
12440 rs2: 0x0,
12441 csr: 0x260,
12442 funct7: 0x13,
12443 },
12444 Opcode::FABSS => Inst {
12445 opcode: 0x53,
12446 funct3: 0x2,
12447 rs1: 0x0,
12448 rs2: 0x0,
12449 csr: 0x200,
12450 funct7: 0x10,
12451 },
12452 Opcode::FADDD => Inst {
12453 opcode: 0x53,
12454 funct3: 0x0,
12455 rs1: 0x0,
12456 rs2: 0x0,
12457 csr: 0x20,
12458 funct7: 0x1,
12459 },
12460 Opcode::FADDH => Inst {
12461 opcode: 0x53,
12462 funct3: 0x0,
12463 rs1: 0x0,
12464 rs2: 0x0,
12465 csr: 0x40,
12466 funct7: 0x2,
12467 },
12468 Opcode::FADDQ => Inst {
12469 opcode: 0x53,
12470 funct3: 0x0,
12471 rs1: 0x0,
12472 rs2: 0x0,
12473 csr: 0x60,
12474 funct7: 0x3,
12475 },
12476 Opcode::FADDS => Inst {
12477 opcode: 0x53,
12478 funct3: 0x0,
12479 rs1: 0x0,
12480 rs2: 0x0,
12481 csr: 0x0,
12482 funct7: 0x0,
12483 },
12484 Opcode::FCLASSD => Inst {
12485 opcode: 0x53,
12486 funct3: 0x1,
12487 rs1: 0x0,
12488 rs2: 0x0,
12489 csr: 0xe20,
12490 funct7: 0x71,
12491 },
12492 Opcode::FCLASSH => Inst {
12493 opcode: 0x53,
12494 funct3: 0x1,
12495 rs1: 0x0,
12496 rs2: 0x0,
12497 csr: 0xe40,
12498 funct7: 0x72,
12499 },
12500 Opcode::FCLASSQ => Inst {
12501 opcode: 0x53,
12502 funct3: 0x1,
12503 rs1: 0x0,
12504 rs2: 0x0,
12505 csr: 0xe60,
12506 funct7: 0x73,
12507 },
12508 Opcode::FCLASSS => Inst {
12509 opcode: 0x53,
12510 funct3: 0x1,
12511 rs1: 0x0,
12512 rs2: 0x0,
12513 csr: 0xe00,
12514 funct7: 0x70,
12515 },
12516 Opcode::FCVTDH => Inst {
12517 opcode: 0x53,
12518 funct3: 0x0,
12519 rs1: 0x0,
12520 rs2: 0x2,
12521 csr: 0x422,
12522 funct7: 0x21,
12523 },
12524 Opcode::FCVTDL => Inst {
12525 opcode: 0x53,
12526 funct3: 0x0,
12527 rs1: 0x0,
12528 rs2: 0x2,
12529 csr: 0xd22,
12530 funct7: 0x69,
12531 },
12532 Opcode::FCVTDLU => Inst {
12533 opcode: 0x53,
12534 funct3: 0x0,
12535 rs1: 0x0,
12536 rs2: 0x3,
12537 csr: 0xd23,
12538 funct7: 0x69,
12539 },
12540 Opcode::FCVTDQ => Inst {
12541 opcode: 0x53,
12542 funct3: 0x0,
12543 rs1: 0x0,
12544 rs2: 0x3,
12545 csr: 0x423,
12546 funct7: 0x21,
12547 },
12548 Opcode::FCVTDS => Inst {
12549 opcode: 0x53,
12550 funct3: 0x0,
12551 rs1: 0x0,
12552 rs2: 0x0,
12553 csr: 0x420,
12554 funct7: 0x21,
12555 },
12556 Opcode::FCVTDW => Inst {
12557 opcode: 0x53,
12558 funct3: 0x0,
12559 rs1: 0x0,
12560 rs2: 0x0,
12561 csr: 0xd20,
12562 funct7: 0x69,
12563 },
12564 Opcode::FCVTDWU => Inst {
12565 opcode: 0x53,
12566 funct3: 0x0,
12567 rs1: 0x0,
12568 rs2: 0x1,
12569 csr: 0xd21,
12570 funct7: 0x69,
12571 },
12572 Opcode::FCVTHD => Inst {
12573 opcode: 0x53,
12574 funct3: 0x0,
12575 rs1: 0x0,
12576 rs2: 0x1,
12577 csr: 0x441,
12578 funct7: 0x22,
12579 },
12580 Opcode::FCVTHL => Inst {
12581 opcode: 0x53,
12582 funct3: 0x0,
12583 rs1: 0x0,
12584 rs2: 0x2,
12585 csr: 0xd42,
12586 funct7: 0x6a,
12587 },
12588 Opcode::FCVTHLU => Inst {
12589 opcode: 0x53,
12590 funct3: 0x0,
12591 rs1: 0x0,
12592 rs2: 0x3,
12593 csr: 0xd43,
12594 funct7: 0x6a,
12595 },
12596 Opcode::FCVTHQ => Inst {
12597 opcode: 0x53,
12598 funct3: 0x0,
12599 rs1: 0x0,
12600 rs2: 0x3,
12601 csr: 0x443,
12602 funct7: 0x22,
12603 },
12604 Opcode::FCVTHS => Inst {
12605 opcode: 0x53,
12606 funct3: 0x0,
12607 rs1: 0x0,
12608 rs2: 0x0,
12609 csr: 0x440,
12610 funct7: 0x22,
12611 },
12612 Opcode::FCVTHW => Inst {
12613 opcode: 0x53,
12614 funct3: 0x0,
12615 rs1: 0x0,
12616 rs2: 0x0,
12617 csr: 0xd40,
12618 funct7: 0x6a,
12619 },
12620 Opcode::FCVTHWU => Inst {
12621 opcode: 0x53,
12622 funct3: 0x0,
12623 rs1: 0x0,
12624 rs2: 0x1,
12625 csr: 0xd41,
12626 funct7: 0x6a,
12627 },
12628 Opcode::FCVTLD => Inst {
12629 opcode: 0x53,
12630 funct3: 0x0,
12631 rs1: 0x0,
12632 rs2: 0x2,
12633 csr: 0xc22,
12634 funct7: 0x61,
12635 },
12636 Opcode::FCVTLH => Inst {
12637 opcode: 0x53,
12638 funct3: 0x0,
12639 rs1: 0x0,
12640 rs2: 0x2,
12641 csr: 0xc42,
12642 funct7: 0x62,
12643 },
12644 Opcode::FCVTLQ => Inst {
12645 opcode: 0x53,
12646 funct3: 0x0,
12647 rs1: 0x0,
12648 rs2: 0x2,
12649 csr: 0xc62,
12650 funct7: 0x63,
12651 },
12652 Opcode::FCVTLS => Inst {
12653 opcode: 0x53,
12654 funct3: 0x0,
12655 rs1: 0x0,
12656 rs2: 0x2,
12657 csr: 0xc02,
12658 funct7: 0x60,
12659 },
12660 Opcode::FCVTLUD => Inst {
12661 opcode: 0x53,
12662 funct3: 0x0,
12663 rs1: 0x0,
12664 rs2: 0x3,
12665 csr: 0xc23,
12666 funct7: 0x61,
12667 },
12668 Opcode::FCVTLUH => Inst {
12669 opcode: 0x53,
12670 funct3: 0x0,
12671 rs1: 0x0,
12672 rs2: 0x3,
12673 csr: 0xc43,
12674 funct7: 0x62,
12675 },
12676 Opcode::FCVTLUQ => Inst {
12677 opcode: 0x53,
12678 funct3: 0x0,
12679 rs1: 0x0,
12680 rs2: 0x3,
12681 csr: 0xc63,
12682 funct7: 0x63,
12683 },
12684 Opcode::FCVTLUS => Inst {
12685 opcode: 0x53,
12686 funct3: 0x0,
12687 rs1: 0x0,
12688 rs2: 0x3,
12689 csr: 0xc03,
12690 funct7: 0x60,
12691 },
12692 Opcode::FCVTQD => Inst {
12693 opcode: 0x53,
12694 funct3: 0x0,
12695 rs1: 0x0,
12696 rs2: 0x1,
12697 csr: 0x461,
12698 funct7: 0x23,
12699 },
12700 Opcode::FCVTQH => Inst {
12701 opcode: 0x53,
12702 funct3: 0x0,
12703 rs1: 0x0,
12704 rs2: 0x2,
12705 csr: 0x462,
12706 funct7: 0x23,
12707 },
12708 Opcode::FCVTQL => Inst {
12709 opcode: 0x53,
12710 funct3: 0x0,
12711 rs1: 0x0,
12712 rs2: 0x2,
12713 csr: 0xd62,
12714 funct7: 0x6b,
12715 },
12716 Opcode::FCVTQLU => Inst {
12717 opcode: 0x53,
12718 funct3: 0x0,
12719 rs1: 0x0,
12720 rs2: 0x3,
12721 csr: 0xd63,
12722 funct7: 0x6b,
12723 },
12724 Opcode::FCVTQS => Inst {
12725 opcode: 0x53,
12726 funct3: 0x0,
12727 rs1: 0x0,
12728 rs2: 0x0,
12729 csr: 0x460,
12730 funct7: 0x23,
12731 },
12732 Opcode::FCVTQW => Inst {
12733 opcode: 0x53,
12734 funct3: 0x0,
12735 rs1: 0x0,
12736 rs2: 0x0,
12737 csr: 0xd60,
12738 funct7: 0x6b,
12739 },
12740 Opcode::FCVTQWU => Inst {
12741 opcode: 0x53,
12742 funct3: 0x0,
12743 rs1: 0x0,
12744 rs2: 0x1,
12745 csr: 0xd61,
12746 funct7: 0x6b,
12747 },
12748 Opcode::FCVTSD => Inst {
12749 opcode: 0x53,
12750 funct3: 0x0,
12751 rs1: 0x0,
12752 rs2: 0x1,
12753 csr: 0x401,
12754 funct7: 0x20,
12755 },
12756 Opcode::FCVTSH => Inst {
12757 opcode: 0x53,
12758 funct3: 0x0,
12759 rs1: 0x0,
12760 rs2: 0x2,
12761 csr: 0x402,
12762 funct7: 0x20,
12763 },
12764 Opcode::FCVTSL => Inst {
12765 opcode: 0x53,
12766 funct3: 0x0,
12767 rs1: 0x0,
12768 rs2: 0x2,
12769 csr: 0xd02,
12770 funct7: 0x68,
12771 },
12772 Opcode::FCVTSLU => Inst {
12773 opcode: 0x53,
12774 funct3: 0x0,
12775 rs1: 0x0,
12776 rs2: 0x3,
12777 csr: 0xd03,
12778 funct7: 0x68,
12779 },
12780 Opcode::FCVTSQ => Inst {
12781 opcode: 0x53,
12782 funct3: 0x0,
12783 rs1: 0x0,
12784 rs2: 0x3,
12785 csr: 0x403,
12786 funct7: 0x20,
12787 },
12788 Opcode::FCVTSW => Inst {
12789 opcode: 0x53,
12790 funct3: 0x0,
12791 rs1: 0x0,
12792 rs2: 0x0,
12793 csr: 0xd00,
12794 funct7: 0x68,
12795 },
12796 Opcode::FCVTSWU => Inst {
12797 opcode: 0x53,
12798 funct3: 0x0,
12799 rs1: 0x0,
12800 rs2: 0x1,
12801 csr: 0xd01,
12802 funct7: 0x68,
12803 },
12804 Opcode::FCVTWD => Inst {
12805 opcode: 0x53,
12806 funct3: 0x0,
12807 rs1: 0x0,
12808 rs2: 0x0,
12809 csr: 0xc20,
12810 funct7: 0x61,
12811 },
12812 Opcode::FCVTWH => Inst {
12813 opcode: 0x53,
12814 funct3: 0x0,
12815 rs1: 0x0,
12816 rs2: 0x0,
12817 csr: 0xc40,
12818 funct7: 0x62,
12819 },
12820 Opcode::FCVTWQ => Inst {
12821 opcode: 0x53,
12822 funct3: 0x0,
12823 rs1: 0x0,
12824 rs2: 0x0,
12825 csr: 0xc60,
12826 funct7: 0x63,
12827 },
12828 Opcode::FCVTWS => Inst {
12829 opcode: 0x53,
12830 funct3: 0x0,
12831 rs1: 0x0,
12832 rs2: 0x0,
12833 csr: 0xc00,
12834 funct7: 0x60,
12835 },
12836 Opcode::FCVTWUD => Inst {
12837 opcode: 0x53,
12838 funct3: 0x0,
12839 rs1: 0x0,
12840 rs2: 0x1,
12841 csr: 0xc21,
12842 funct7: 0x61,
12843 },
12844 Opcode::FCVTWUH => Inst {
12845 opcode: 0x53,
12846 funct3: 0x0,
12847 rs1: 0x0,
12848 rs2: 0x1,
12849 csr: 0xc41,
12850 funct7: 0x62,
12851 },
12852 Opcode::FCVTWUQ => Inst {
12853 opcode: 0x53,
12854 funct3: 0x0,
12855 rs1: 0x0,
12856 rs2: 0x1,
12857 csr: 0xc61,
12858 funct7: 0x63,
12859 },
12860 Opcode::FCVTWUS => Inst {
12861 opcode: 0x53,
12862 funct3: 0x0,
12863 rs1: 0x0,
12864 rs2: 0x1,
12865 csr: 0xc01,
12866 funct7: 0x60,
12867 },
12868 Opcode::FCVTMODWD => Inst {
12869 opcode: 0x53,
12870 funct3: 0x1,
12871 rs1: 0x0,
12872 rs2: 0x8,
12873 csr: 0xc28,
12874 funct7: 0x61,
12875 },
12876 Opcode::FDIVD => Inst {
12877 opcode: 0x53,
12878 funct3: 0x0,
12879 rs1: 0x0,
12880 rs2: 0x0,
12881 csr: 0x1a0,
12882 funct7: 0xd,
12883 },
12884 Opcode::FDIVH => Inst {
12885 opcode: 0x53,
12886 funct3: 0x0,
12887 rs1: 0x0,
12888 rs2: 0x0,
12889 csr: 0x1c0,
12890 funct7: 0xe,
12891 },
12892 Opcode::FDIVQ => Inst {
12893 opcode: 0x53,
12894 funct3: 0x0,
12895 rs1: 0x0,
12896 rs2: 0x0,
12897 csr: 0x1e0,
12898 funct7: 0xf,
12899 },
12900 Opcode::FDIVS => Inst {
12901 opcode: 0x53,
12902 funct3: 0x0,
12903 rs1: 0x0,
12904 rs2: 0x0,
12905 csr: 0x180,
12906 funct7: 0xc,
12907 },
12908 Opcode::FENCE => Inst {
12909 opcode: 0xf,
12910 funct3: 0x0,
12911 rs1: 0x0,
12912 rs2: 0x0,
12913 csr: 0x0,
12914 funct7: 0x0,
12915 },
12916 Opcode::FENCEI => Inst {
12917 opcode: 0xf,
12918 funct3: 0x1,
12919 rs1: 0x0,
12920 rs2: 0x0,
12921 csr: 0x0,
12922 funct7: 0x0,
12923 },
12924 Opcode::FENCETSO => Inst {
12925 opcode: 0xf,
12926 funct3: 0x0,
12927 rs1: 0x0,
12928 rs2: 0x13,
12929 csr: 0x833,
12930 funct7: 0x41,
12931 },
12932 Opcode::FEQD => Inst {
12933 opcode: 0x53,
12934 funct3: 0x2,
12935 rs1: 0x0,
12936 rs2: 0x0,
12937 csr: 0xa20,
12938 funct7: 0x51,
12939 },
12940 Opcode::FEQH => Inst {
12941 opcode: 0x53,
12942 funct3: 0x2,
12943 rs1: 0x0,
12944 rs2: 0x0,
12945 csr: 0xa40,
12946 funct7: 0x52,
12947 },
12948 Opcode::FEQQ => Inst {
12949 opcode: 0x53,
12950 funct3: 0x2,
12951 rs1: 0x0,
12952 rs2: 0x0,
12953 csr: 0xa60,
12954 funct7: 0x53,
12955 },
12956 Opcode::FEQS => Inst {
12957 opcode: 0x53,
12958 funct3: 0x2,
12959 rs1: 0x0,
12960 rs2: 0x0,
12961 csr: 0xa00,
12962 funct7: 0x50,
12963 },
12964 Opcode::FLD => Inst {
12965 opcode: 0x7,
12966 funct3: 0x3,
12967 rs1: 0x0,
12968 rs2: 0x0,
12969 csr: 0x0,
12970 funct7: 0x0,
12971 },
12972 Opcode::FLED => Inst {
12973 opcode: 0x53,
12974 funct3: 0x0,
12975 rs1: 0x0,
12976 rs2: 0x0,
12977 csr: 0xa20,
12978 funct7: 0x51,
12979 },
12980 Opcode::FLEH => Inst {
12981 opcode: 0x53,
12982 funct3: 0x0,
12983 rs1: 0x0,
12984 rs2: 0x0,
12985 csr: 0xa40,
12986 funct7: 0x52,
12987 },
12988 Opcode::FLEQ => Inst {
12989 opcode: 0x53,
12990 funct3: 0x0,
12991 rs1: 0x0,
12992 rs2: 0x0,
12993 csr: 0xa60,
12994 funct7: 0x53,
12995 },
12996 Opcode::FLES => Inst {
12997 opcode: 0x53,
12998 funct3: 0x0,
12999 rs1: 0x0,
13000 rs2: 0x0,
13001 csr: 0xa00,
13002 funct7: 0x50,
13003 },
13004 Opcode::FLEQD => Inst {
13005 opcode: 0x53,
13006 funct3: 0x4,
13007 rs1: 0x0,
13008 rs2: 0x0,
13009 csr: 0xa20,
13010 funct7: 0x51,
13011 },
13012 Opcode::FLEQH => Inst {
13013 opcode: 0x53,
13014 funct3: 0x4,
13015 rs1: 0x0,
13016 rs2: 0x0,
13017 csr: 0xa40,
13018 funct7: 0x52,
13019 },
13020 Opcode::FLEQQ => Inst {
13021 opcode: 0x53,
13022 funct3: 0x4,
13023 rs1: 0x0,
13024 rs2: 0x0,
13025 csr: 0xa60,
13026 funct7: 0x53,
13027 },
13028 Opcode::FLEQS => Inst {
13029 opcode: 0x53,
13030 funct3: 0x4,
13031 rs1: 0x0,
13032 rs2: 0x0,
13033 csr: 0xa00,
13034 funct7: 0x50,
13035 },
13036 Opcode::FLH => Inst {
13037 opcode: 0x7,
13038 funct3: 0x1,
13039 rs1: 0x0,
13040 rs2: 0x0,
13041 csr: 0x0,
13042 funct7: 0x0,
13043 },
13044 Opcode::FLID => Inst {
13045 opcode: 0x53,
13046 funct3: 0x0,
13047 rs1: 0x0,
13048 rs2: 0x1,
13049 csr: 0xf21,
13050 funct7: 0x79,
13051 },
13052 Opcode::FLIH => Inst {
13053 opcode: 0x53,
13054 funct3: 0x0,
13055 rs1: 0x0,
13056 rs2: 0x1,
13057 csr: 0xf41,
13058 funct7: 0x7a,
13059 },
13060 Opcode::FLIQ => Inst {
13061 opcode: 0x53,
13062 funct3: 0x0,
13063 rs1: 0x0,
13064 rs2: 0x1,
13065 csr: 0xf61,
13066 funct7: 0x7b,
13067 },
13068 Opcode::FLIS => Inst {
13069 opcode: 0x53,
13070 funct3: 0x0,
13071 rs1: 0x0,
13072 rs2: 0x1,
13073 csr: 0xf01,
13074 funct7: 0x78,
13075 },
13076 Opcode::FLQ => Inst {
13077 opcode: 0x7,
13078 funct3: 0x4,
13079 rs1: 0x0,
13080 rs2: 0x0,
13081 csr: 0x0,
13082 funct7: 0x0,
13083 },
13084 Opcode::FLTD => Inst {
13085 opcode: 0x53,
13086 funct3: 0x1,
13087 rs1: 0x0,
13088 rs2: 0x0,
13089 csr: 0xa20,
13090 funct7: 0x51,
13091 },
13092 Opcode::FLTH => Inst {
13093 opcode: 0x53,
13094 funct3: 0x1,
13095 rs1: 0x0,
13096 rs2: 0x0,
13097 csr: 0xa40,
13098 funct7: 0x52,
13099 },
13100 Opcode::FLTQ => Inst {
13101 opcode: 0x53,
13102 funct3: 0x1,
13103 rs1: 0x0,
13104 rs2: 0x0,
13105 csr: 0xa60,
13106 funct7: 0x53,
13107 },
13108 Opcode::FLTS => Inst {
13109 opcode: 0x53,
13110 funct3: 0x1,
13111 rs1: 0x0,
13112 rs2: 0x0,
13113 csr: 0xa00,
13114 funct7: 0x50,
13115 },
13116 Opcode::FLTQD => Inst {
13117 opcode: 0x53,
13118 funct3: 0x5,
13119 rs1: 0x0,
13120 rs2: 0x0,
13121 csr: 0xa20,
13122 funct7: 0x51,
13123 },
13124 Opcode::FLTQH => Inst {
13125 opcode: 0x53,
13126 funct3: 0x5,
13127 rs1: 0x0,
13128 rs2: 0x0,
13129 csr: 0xa40,
13130 funct7: 0x52,
13131 },
13132 Opcode::FLTQQ => Inst {
13133 opcode: 0x53,
13134 funct3: 0x5,
13135 rs1: 0x0,
13136 rs2: 0x0,
13137 csr: 0xa60,
13138 funct7: 0x53,
13139 },
13140 Opcode::FLTQS => Inst {
13141 opcode: 0x53,
13142 funct3: 0x5,
13143 rs1: 0x0,
13144 rs2: 0x0,
13145 csr: 0xa00,
13146 funct7: 0x50,
13147 },
13148 Opcode::FLW => Inst {
13149 opcode: 0x7,
13150 funct3: 0x2,
13151 rs1: 0x0,
13152 rs2: 0x0,
13153 csr: 0x0,
13154 funct7: 0x0,
13155 },
13156 Opcode::FMADDD => Inst {
13157 opcode: 0x43,
13158 funct3: 0x0,
13159 rs1: 0x0,
13160 rs2: 0x0,
13161 csr: 0x20,
13162 funct7: 0x1,
13163 },
13164 Opcode::FMADDH => Inst {
13165 opcode: 0x43,
13166 funct3: 0x0,
13167 rs1: 0x0,
13168 rs2: 0x0,
13169 csr: 0x40,
13170 funct7: 0x2,
13171 },
13172 Opcode::FMADDQ => Inst {
13173 opcode: 0x43,
13174 funct3: 0x0,
13175 rs1: 0x0,
13176 rs2: 0x0,
13177 csr: 0x60,
13178 funct7: 0x3,
13179 },
13180 Opcode::FMADDS => Inst {
13181 opcode: 0x43,
13182 funct3: 0x0,
13183 rs1: 0x0,
13184 rs2: 0x0,
13185 csr: 0x0,
13186 funct7: 0x0,
13187 },
13188 Opcode::FMAXD => Inst {
13189 opcode: 0x53,
13190 funct3: 0x1,
13191 rs1: 0x0,
13192 rs2: 0x0,
13193 csr: 0x2a0,
13194 funct7: 0x15,
13195 },
13196 Opcode::FMAXH => Inst {
13197 opcode: 0x53,
13198 funct3: 0x1,
13199 rs1: 0x0,
13200 rs2: 0x0,
13201 csr: 0x2c0,
13202 funct7: 0x16,
13203 },
13204 Opcode::FMAXQ => Inst {
13205 opcode: 0x53,
13206 funct3: 0x1,
13207 rs1: 0x0,
13208 rs2: 0x0,
13209 csr: 0x2e0,
13210 funct7: 0x17,
13211 },
13212 Opcode::FMAXS => Inst {
13213 opcode: 0x53,
13214 funct3: 0x1,
13215 rs1: 0x0,
13216 rs2: 0x0,
13217 csr: 0x280,
13218 funct7: 0x14,
13219 },
13220 Opcode::FMAXMD => Inst {
13221 opcode: 0x53,
13222 funct3: 0x3,
13223 rs1: 0x0,
13224 rs2: 0x0,
13225 csr: 0x2a0,
13226 funct7: 0x15,
13227 },
13228 Opcode::FMAXMH => Inst {
13229 opcode: 0x53,
13230 funct3: 0x3,
13231 rs1: 0x0,
13232 rs2: 0x0,
13233 csr: 0x2c0,
13234 funct7: 0x16,
13235 },
13236 Opcode::FMAXMQ => Inst {
13237 opcode: 0x53,
13238 funct3: 0x3,
13239 rs1: 0x0,
13240 rs2: 0x0,
13241 csr: 0x2e0,
13242 funct7: 0x17,
13243 },
13244 Opcode::FMAXMS => Inst {
13245 opcode: 0x53,
13246 funct3: 0x3,
13247 rs1: 0x0,
13248 rs2: 0x0,
13249 csr: 0x280,
13250 funct7: 0x14,
13251 },
13252 Opcode::FMIND => Inst {
13253 opcode: 0x53,
13254 funct3: 0x0,
13255 rs1: 0x0,
13256 rs2: 0x0,
13257 csr: 0x2a0,
13258 funct7: 0x15,
13259 },
13260 Opcode::FMINH => Inst {
13261 opcode: 0x53,
13262 funct3: 0x0,
13263 rs1: 0x0,
13264 rs2: 0x0,
13265 csr: 0x2c0,
13266 funct7: 0x16,
13267 },
13268 Opcode::FMINQ => Inst {
13269 opcode: 0x53,
13270 funct3: 0x0,
13271 rs1: 0x0,
13272 rs2: 0x0,
13273 csr: 0x2e0,
13274 funct7: 0x17,
13275 },
13276 Opcode::FMINS => Inst {
13277 opcode: 0x53,
13278 funct3: 0x0,
13279 rs1: 0x0,
13280 rs2: 0x0,
13281 csr: 0x280,
13282 funct7: 0x14,
13283 },
13284 Opcode::FMINMD => Inst {
13285 opcode: 0x53,
13286 funct3: 0x2,
13287 rs1: 0x0,
13288 rs2: 0x0,
13289 csr: 0x2a0,
13290 funct7: 0x15,
13291 },
13292 Opcode::FMINMH => Inst {
13293 opcode: 0x53,
13294 funct3: 0x2,
13295 rs1: 0x0,
13296 rs2: 0x0,
13297 csr: 0x2c0,
13298 funct7: 0x16,
13299 },
13300 Opcode::FMINMQ => Inst {
13301 opcode: 0x53,
13302 funct3: 0x2,
13303 rs1: 0x0,
13304 rs2: 0x0,
13305 csr: 0x2e0,
13306 funct7: 0x17,
13307 },
13308 Opcode::FMINMS => Inst {
13309 opcode: 0x53,
13310 funct3: 0x2,
13311 rs1: 0x0,
13312 rs2: 0x0,
13313 csr: 0x280,
13314 funct7: 0x14,
13315 },
13316 Opcode::FMSUBD => Inst {
13317 opcode: 0x47,
13318 funct3: 0x0,
13319 rs1: 0x0,
13320 rs2: 0x0,
13321 csr: 0x20,
13322 funct7: 0x1,
13323 },
13324 Opcode::FMSUBH => Inst {
13325 opcode: 0x47,
13326 funct3: 0x0,
13327 rs1: 0x0,
13328 rs2: 0x0,
13329 csr: 0x40,
13330 funct7: 0x2,
13331 },
13332 Opcode::FMSUBQ => Inst {
13333 opcode: 0x47,
13334 funct3: 0x0,
13335 rs1: 0x0,
13336 rs2: 0x0,
13337 csr: 0x60,
13338 funct7: 0x3,
13339 },
13340 Opcode::FMSUBS => Inst {
13341 opcode: 0x47,
13342 funct3: 0x0,
13343 rs1: 0x0,
13344 rs2: 0x0,
13345 csr: 0x0,
13346 funct7: 0x0,
13347 },
13348 Opcode::FMULD => Inst {
13349 opcode: 0x53,
13350 funct3: 0x0,
13351 rs1: 0x0,
13352 rs2: 0x0,
13353 csr: 0x120,
13354 funct7: 0x9,
13355 },
13356 Opcode::FMULH => Inst {
13357 opcode: 0x53,
13358 funct3: 0x0,
13359 rs1: 0x0,
13360 rs2: 0x0,
13361 csr: 0x140,
13362 funct7: 0xa,
13363 },
13364 Opcode::FMULQ => Inst {
13365 opcode: 0x53,
13366 funct3: 0x0,
13367 rs1: 0x0,
13368 rs2: 0x0,
13369 csr: 0x160,
13370 funct7: 0xb,
13371 },
13372 Opcode::FMULS => Inst {
13373 opcode: 0x53,
13374 funct3: 0x0,
13375 rs1: 0x0,
13376 rs2: 0x0,
13377 csr: 0x100,
13378 funct7: 0x8,
13379 },
13380 Opcode::FMVD => Inst {
13381 opcode: 0x53,
13382 funct3: 0x0,
13383 rs1: 0x0,
13384 rs2: 0x0,
13385 csr: 0x220,
13386 funct7: 0x11,
13387 },
13388 Opcode::FMVDX => Inst {
13389 opcode: 0x53,
13390 funct3: 0x0,
13391 rs1: 0x0,
13392 rs2: 0x0,
13393 csr: 0xf20,
13394 funct7: 0x79,
13395 },
13396 Opcode::FMVH => Inst {
13397 opcode: 0x53,
13398 funct3: 0x0,
13399 rs1: 0x0,
13400 rs2: 0x0,
13401 csr: 0x240,
13402 funct7: 0x12,
13403 },
13404 Opcode::FMVHX => Inst {
13405 opcode: 0x53,
13406 funct3: 0x0,
13407 rs1: 0x0,
13408 rs2: 0x0,
13409 csr: 0xf40,
13410 funct7: 0x7a,
13411 },
13412 Opcode::FMVQ => Inst {
13413 opcode: 0x53,
13414 funct3: 0x0,
13415 rs1: 0x0,
13416 rs2: 0x0,
13417 csr: 0x260,
13418 funct7: 0x13,
13419 },
13420 Opcode::FMVS => Inst {
13421 opcode: 0x53,
13422 funct3: 0x0,
13423 rs1: 0x0,
13424 rs2: 0x0,
13425 csr: 0x200,
13426 funct7: 0x10,
13427 },
13428 Opcode::FMVSX => Inst {
13429 opcode: 0x53,
13430 funct3: 0x0,
13431 rs1: 0x0,
13432 rs2: 0x0,
13433 csr: 0xf00,
13434 funct7: 0x78,
13435 },
13436 Opcode::FMVWX => Inst {
13437 opcode: 0x53,
13438 funct3: 0x0,
13439 rs1: 0x0,
13440 rs2: 0x0,
13441 csr: 0xf00,
13442 funct7: 0x78,
13443 },
13444 Opcode::FMVXD => Inst {
13445 opcode: 0x53,
13446 funct3: 0x0,
13447 rs1: 0x0,
13448 rs2: 0x0,
13449 csr: 0xe20,
13450 funct7: 0x71,
13451 },
13452 Opcode::FMVXH => Inst {
13453 opcode: 0x53,
13454 funct3: 0x0,
13455 rs1: 0x0,
13456 rs2: 0x0,
13457 csr: 0xe40,
13458 funct7: 0x72,
13459 },
13460 Opcode::FMVXS => Inst {
13461 opcode: 0x53,
13462 funct3: 0x0,
13463 rs1: 0x0,
13464 rs2: 0x0,
13465 csr: 0xe00,
13466 funct7: 0x70,
13467 },
13468 Opcode::FMVXW => Inst {
13469 opcode: 0x53,
13470 funct3: 0x0,
13471 rs1: 0x0,
13472 rs2: 0x0,
13473 csr: 0xe00,
13474 funct7: 0x70,
13475 },
13476 Opcode::FMVHXD => Inst {
13477 opcode: 0x53,
13478 funct3: 0x0,
13479 rs1: 0x0,
13480 rs2: 0x1,
13481 csr: 0xe21,
13482 funct7: 0x71,
13483 },
13484 Opcode::FMVHXQ => Inst {
13485 opcode: 0x53,
13486 funct3: 0x0,
13487 rs1: 0x0,
13488 rs2: 0x1,
13489 csr: 0xe61,
13490 funct7: 0x73,
13491 },
13492 Opcode::FMVPDX => Inst {
13493 opcode: 0x53,
13494 funct3: 0x0,
13495 rs1: 0x0,
13496 rs2: 0x0,
13497 csr: 0xb20,
13498 funct7: 0x59,
13499 },
13500 Opcode::FMVPQX => Inst {
13501 opcode: 0x53,
13502 funct3: 0x0,
13503 rs1: 0x0,
13504 rs2: 0x0,
13505 csr: 0xb60,
13506 funct7: 0x5b,
13507 },
13508 Opcode::FNEGD => Inst {
13509 opcode: 0x53,
13510 funct3: 0x1,
13511 rs1: 0x0,
13512 rs2: 0x0,
13513 csr: 0x220,
13514 funct7: 0x11,
13515 },
13516 Opcode::FNEGH => Inst {
13517 opcode: 0x53,
13518 funct3: 0x1,
13519 rs1: 0x0,
13520 rs2: 0x0,
13521 csr: 0x240,
13522 funct7: 0x12,
13523 },
13524 Opcode::FNEGQ => Inst {
13525 opcode: 0x53,
13526 funct3: 0x1,
13527 rs1: 0x0,
13528 rs2: 0x0,
13529 csr: 0x260,
13530 funct7: 0x13,
13531 },
13532 Opcode::FNEGS => Inst {
13533 opcode: 0x53,
13534 funct3: 0x1,
13535 rs1: 0x0,
13536 rs2: 0x0,
13537 csr: 0x200,
13538 funct7: 0x10,
13539 },
13540 Opcode::FNMADDD => Inst {
13541 opcode: 0x4f,
13542 funct3: 0x0,
13543 rs1: 0x0,
13544 rs2: 0x0,
13545 csr: 0x20,
13546 funct7: 0x1,
13547 },
13548 Opcode::FNMADDH => Inst {
13549 opcode: 0x4f,
13550 funct3: 0x0,
13551 rs1: 0x0,
13552 rs2: 0x0,
13553 csr: 0x40,
13554 funct7: 0x2,
13555 },
13556 Opcode::FNMADDQ => Inst {
13557 opcode: 0x4f,
13558 funct3: 0x0,
13559 rs1: 0x0,
13560 rs2: 0x0,
13561 csr: 0x60,
13562 funct7: 0x3,
13563 },
13564 Opcode::FNMADDS => Inst {
13565 opcode: 0x4f,
13566 funct3: 0x0,
13567 rs1: 0x0,
13568 rs2: 0x0,
13569 csr: 0x0,
13570 funct7: 0x0,
13571 },
13572 Opcode::FNMSUBD => Inst {
13573 opcode: 0x4b,
13574 funct3: 0x0,
13575 rs1: 0x0,
13576 rs2: 0x0,
13577 csr: 0x20,
13578 funct7: 0x1,
13579 },
13580 Opcode::FNMSUBH => Inst {
13581 opcode: 0x4b,
13582 funct3: 0x0,
13583 rs1: 0x0,
13584 rs2: 0x0,
13585 csr: 0x40,
13586 funct7: 0x2,
13587 },
13588 Opcode::FNMSUBQ => Inst {
13589 opcode: 0x4b,
13590 funct3: 0x0,
13591 rs1: 0x0,
13592 rs2: 0x0,
13593 csr: 0x60,
13594 funct7: 0x3,
13595 },
13596 Opcode::FNMSUBS => Inst {
13597 opcode: 0x4b,
13598 funct3: 0x0,
13599 rs1: 0x0,
13600 rs2: 0x0,
13601 csr: 0x0,
13602 funct7: 0x0,
13603 },
13604 Opcode::FRCSR => Inst {
13605 opcode: 0x73,
13606 funct3: 0x2,
13607 rs1: 0x0,
13608 rs2: 0x3,
13609 csr: 0x3,
13610 funct7: 0x0,
13611 },
13612 Opcode::FRFLAGS => Inst {
13613 opcode: 0x73,
13614 funct3: 0x2,
13615 rs1: 0x0,
13616 rs2: 0x1,
13617 csr: 0x1,
13618 funct7: 0x0,
13619 },
13620 Opcode::FROUNDD => Inst {
13621 opcode: 0x53,
13622 funct3: 0x0,
13623 rs1: 0x0,
13624 rs2: 0x4,
13625 csr: 0x424,
13626 funct7: 0x21,
13627 },
13628 Opcode::FROUNDH => Inst {
13629 opcode: 0x53,
13630 funct3: 0x0,
13631 rs1: 0x0,
13632 rs2: 0x4,
13633 csr: 0x444,
13634 funct7: 0x22,
13635 },
13636 Opcode::FROUNDQ => Inst {
13637 opcode: 0x53,
13638 funct3: 0x0,
13639 rs1: 0x0,
13640 rs2: 0x4,
13641 csr: 0x464,
13642 funct7: 0x23,
13643 },
13644 Opcode::FROUNDS => Inst {
13645 opcode: 0x53,
13646 funct3: 0x0,
13647 rs1: 0x0,
13648 rs2: 0x4,
13649 csr: 0x404,
13650 funct7: 0x20,
13651 },
13652 Opcode::FROUNDNXD => Inst {
13653 opcode: 0x53,
13654 funct3: 0x0,
13655 rs1: 0x0,
13656 rs2: 0x5,
13657 csr: 0x425,
13658 funct7: 0x21,
13659 },
13660 Opcode::FROUNDNXH => Inst {
13661 opcode: 0x53,
13662 funct3: 0x0,
13663 rs1: 0x0,
13664 rs2: 0x5,
13665 csr: 0x445,
13666 funct7: 0x22,
13667 },
13668 Opcode::FROUNDNXQ => Inst {
13669 opcode: 0x53,
13670 funct3: 0x0,
13671 rs1: 0x0,
13672 rs2: 0x5,
13673 csr: 0x465,
13674 funct7: 0x23,
13675 },
13676 Opcode::FROUNDNXS => Inst {
13677 opcode: 0x53,
13678 funct3: 0x0,
13679 rs1: 0x0,
13680 rs2: 0x5,
13681 csr: 0x405,
13682 funct7: 0x20,
13683 },
13684 Opcode::FRRM => Inst {
13685 opcode: 0x73,
13686 funct3: 0x2,
13687 rs1: 0x0,
13688 rs2: 0x2,
13689 csr: 0x2,
13690 funct7: 0x0,
13691 },
13692 Opcode::FSCSR => Inst {
13693 opcode: 0x73,
13694 funct3: 0x1,
13695 rs1: 0x0,
13696 rs2: 0x3,
13697 csr: 0x3,
13698 funct7: 0x0,
13699 },
13700 Opcode::FSD => Inst {
13701 opcode: 0x27,
13702 funct3: 0x3,
13703 rs1: 0x0,
13704 rs2: 0x0,
13705 csr: 0x0,
13706 funct7: 0x0,
13707 },
13708 Opcode::FSFLAGS => Inst {
13709 opcode: 0x73,
13710 funct3: 0x1,
13711 rs1: 0x0,
13712 rs2: 0x1,
13713 csr: 0x1,
13714 funct7: 0x0,
13715 },
13716 Opcode::FSFLAGSI => Inst {
13717 opcode: 0x73,
13718 funct3: 0x5,
13719 rs1: 0x0,
13720 rs2: 0x1,
13721 csr: 0x1,
13722 funct7: 0x0,
13723 },
13724 Opcode::FSGNJD => Inst {
13725 opcode: 0x53,
13726 funct3: 0x0,
13727 rs1: 0x0,
13728 rs2: 0x0,
13729 csr: 0x220,
13730 funct7: 0x11,
13731 },
13732 Opcode::FSGNJH => Inst {
13733 opcode: 0x53,
13734 funct3: 0x0,
13735 rs1: 0x0,
13736 rs2: 0x0,
13737 csr: 0x240,
13738 funct7: 0x12,
13739 },
13740 Opcode::FSGNJQ => Inst {
13741 opcode: 0x53,
13742 funct3: 0x0,
13743 rs1: 0x0,
13744 rs2: 0x0,
13745 csr: 0x260,
13746 funct7: 0x13,
13747 },
13748 Opcode::FSGNJS => Inst {
13749 opcode: 0x53,
13750 funct3: 0x0,
13751 rs1: 0x0,
13752 rs2: 0x0,
13753 csr: 0x200,
13754 funct7: 0x10,
13755 },
13756 Opcode::FSGNJND => Inst {
13757 opcode: 0x53,
13758 funct3: 0x1,
13759 rs1: 0x0,
13760 rs2: 0x0,
13761 csr: 0x220,
13762 funct7: 0x11,
13763 },
13764 Opcode::FSGNJNH => Inst {
13765 opcode: 0x53,
13766 funct3: 0x1,
13767 rs1: 0x0,
13768 rs2: 0x0,
13769 csr: 0x240,
13770 funct7: 0x12,
13771 },
13772 Opcode::FSGNJNQ => Inst {
13773 opcode: 0x53,
13774 funct3: 0x1,
13775 rs1: 0x0,
13776 rs2: 0x0,
13777 csr: 0x260,
13778 funct7: 0x13,
13779 },
13780 Opcode::FSGNJNS => Inst {
13781 opcode: 0x53,
13782 funct3: 0x1,
13783 rs1: 0x0,
13784 rs2: 0x0,
13785 csr: 0x200,
13786 funct7: 0x10,
13787 },
13788 Opcode::FSGNJXD => Inst {
13789 opcode: 0x53,
13790 funct3: 0x2,
13791 rs1: 0x0,
13792 rs2: 0x0,
13793 csr: 0x220,
13794 funct7: 0x11,
13795 },
13796 Opcode::FSGNJXH => Inst {
13797 opcode: 0x53,
13798 funct3: 0x2,
13799 rs1: 0x0,
13800 rs2: 0x0,
13801 csr: 0x240,
13802 funct7: 0x12,
13803 },
13804 Opcode::FSGNJXQ => Inst {
13805 opcode: 0x53,
13806 funct3: 0x2,
13807 rs1: 0x0,
13808 rs2: 0x0,
13809 csr: 0x260,
13810 funct7: 0x13,
13811 },
13812 Opcode::FSGNJXS => Inst {
13813 opcode: 0x53,
13814 funct3: 0x2,
13815 rs1: 0x0,
13816 rs2: 0x0,
13817 csr: 0x200,
13818 funct7: 0x10,
13819 },
13820 Opcode::FSH => Inst {
13821 opcode: 0x27,
13822 funct3: 0x1,
13823 rs1: 0x0,
13824 rs2: 0x0,
13825 csr: 0x0,
13826 funct7: 0x0,
13827 },
13828 Opcode::FSQ => Inst {
13829 opcode: 0x27,
13830 funct3: 0x4,
13831 rs1: 0x0,
13832 rs2: 0x0,
13833 csr: 0x0,
13834 funct7: 0x0,
13835 },
13836 Opcode::FSQRTD => Inst {
13837 opcode: 0x53,
13838 funct3: 0x0,
13839 rs1: 0x0,
13840 rs2: 0x0,
13841 csr: 0x5a0,
13842 funct7: 0x2d,
13843 },
13844 Opcode::FSQRTH => Inst {
13845 opcode: 0x53,
13846 funct3: 0x0,
13847 rs1: 0x0,
13848 rs2: 0x0,
13849 csr: 0x5c0,
13850 funct7: 0x2e,
13851 },
13852 Opcode::FSQRTQ => Inst {
13853 opcode: 0x53,
13854 funct3: 0x0,
13855 rs1: 0x0,
13856 rs2: 0x0,
13857 csr: 0x5e0,
13858 funct7: 0x2f,
13859 },
13860 Opcode::FSQRTS => Inst {
13861 opcode: 0x53,
13862 funct3: 0x0,
13863 rs1: 0x0,
13864 rs2: 0x0,
13865 csr: 0x580,
13866 funct7: 0x2c,
13867 },
13868 Opcode::FSRM => Inst {
13869 opcode: 0x73,
13870 funct3: 0x1,
13871 rs1: 0x0,
13872 rs2: 0x2,
13873 csr: 0x2,
13874 funct7: 0x0,
13875 },
13876 Opcode::FSRMI => Inst {
13877 opcode: 0x73,
13878 funct3: 0x5,
13879 rs1: 0x0,
13880 rs2: 0x2,
13881 csr: 0x2,
13882 funct7: 0x0,
13883 },
13884 Opcode::FSUBD => Inst {
13885 opcode: 0x53,
13886 funct3: 0x0,
13887 rs1: 0x0,
13888 rs2: 0x0,
13889 csr: 0xa0,
13890 funct7: 0x5,
13891 },
13892 Opcode::FSUBH => Inst {
13893 opcode: 0x53,
13894 funct3: 0x0,
13895 rs1: 0x0,
13896 rs2: 0x0,
13897 csr: 0xc0,
13898 funct7: 0x6,
13899 },
13900 Opcode::FSUBQ => Inst {
13901 opcode: 0x53,
13902 funct3: 0x0,
13903 rs1: 0x0,
13904 rs2: 0x0,
13905 csr: 0xe0,
13906 funct7: 0x7,
13907 },
13908 Opcode::FSUBS => Inst {
13909 opcode: 0x53,
13910 funct3: 0x0,
13911 rs1: 0x0,
13912 rs2: 0x0,
13913 csr: 0x80,
13914 funct7: 0x4,
13915 },
13916 Opcode::FSW => Inst {
13917 opcode: 0x27,
13918 funct3: 0x2,
13919 rs1: 0x0,
13920 rs2: 0x0,
13921 csr: 0x0,
13922 funct7: 0x0,
13923 },
13924 Opcode::HFENCEGVMA => Inst {
13925 opcode: 0x73,
13926 funct3: 0x0,
13927 rs1: 0x0,
13928 rs2: 0x0,
13929 csr: 0x620,
13930 funct7: 0x31,
13931 },
13932 Opcode::HFENCEVVMA => Inst {
13933 opcode: 0x73,
13934 funct3: 0x0,
13935 rs1: 0x0,
13936 rs2: 0x0,
13937 csr: 0x220,
13938 funct7: 0x11,
13939 },
13940 Opcode::HINVALGVMA => Inst {
13941 opcode: 0x73,
13942 funct3: 0x0,
13943 rs1: 0x0,
13944 rs2: 0x0,
13945 csr: 0x660,
13946 funct7: 0x33,
13947 },
13948 Opcode::HINVALVVMA => Inst {
13949 opcode: 0x73,
13950 funct3: 0x0,
13951 rs1: 0x0,
13952 rs2: 0x0,
13953 csr: 0x260,
13954 funct7: 0x13,
13955 },
13956 Opcode::HLVB => Inst {
13957 opcode: 0x73,
13958 funct3: 0x4,
13959 rs1: 0x0,
13960 rs2: 0x0,
13961 csr: 0x600,
13962 funct7: 0x30,
13963 },
13964 Opcode::HLVBU => Inst {
13965 opcode: 0x73,
13966 funct3: 0x4,
13967 rs1: 0x0,
13968 rs2: 0x1,
13969 csr: 0x601,
13970 funct7: 0x30,
13971 },
13972 Opcode::HLVD => Inst {
13973 opcode: 0x73,
13974 funct3: 0x4,
13975 rs1: 0x0,
13976 rs2: 0x0,
13977 csr: 0x6c0,
13978 funct7: 0x36,
13979 },
13980 Opcode::HLVH => Inst {
13981 opcode: 0x73,
13982 funct3: 0x4,
13983 rs1: 0x0,
13984 rs2: 0x0,
13985 csr: 0x640,
13986 funct7: 0x32,
13987 },
13988 Opcode::HLVHU => Inst {
13989 opcode: 0x73,
13990 funct3: 0x4,
13991 rs1: 0x0,
13992 rs2: 0x1,
13993 csr: 0x641,
13994 funct7: 0x32,
13995 },
13996 Opcode::HLVW => Inst {
13997 opcode: 0x73,
13998 funct3: 0x4,
13999 rs1: 0x0,
14000 rs2: 0x0,
14001 csr: 0x680,
14002 funct7: 0x34,
14003 },
14004 Opcode::HLVWU => Inst {
14005 opcode: 0x73,
14006 funct3: 0x4,
14007 rs1: 0x0,
14008 rs2: 0x1,
14009 csr: 0x681,
14010 funct7: 0x34,
14011 },
14012 Opcode::HLVXHU => Inst {
14013 opcode: 0x73,
14014 funct3: 0x4,
14015 rs1: 0x0,
14016 rs2: 0x3,
14017 csr: 0x643,
14018 funct7: 0x32,
14019 },
14020 Opcode::HLVXWU => Inst {
14021 opcode: 0x73,
14022 funct3: 0x4,
14023 rs1: 0x0,
14024 rs2: 0x3,
14025 csr: 0x683,
14026 funct7: 0x34,
14027 },
14028 Opcode::HSVB => Inst {
14029 opcode: 0x73,
14030 funct3: 0x4,
14031 rs1: 0x0,
14032 rs2: 0x0,
14033 csr: 0x620,
14034 funct7: 0x31,
14035 },
14036 Opcode::HSVD => Inst {
14037 opcode: 0x73,
14038 funct3: 0x4,
14039 rs1: 0x0,
14040 rs2: 0x0,
14041 csr: 0x6e0,
14042 funct7: 0x37,
14043 },
14044 Opcode::HSVH => Inst {
14045 opcode: 0x73,
14046 funct3: 0x4,
14047 rs1: 0x0,
14048 rs2: 0x0,
14049 csr: 0x660,
14050 funct7: 0x33,
14051 },
14052 Opcode::HSVW => Inst {
14053 opcode: 0x73,
14054 funct3: 0x4,
14055 rs1: 0x0,
14056 rs2: 0x0,
14057 csr: 0x6a0,
14058 funct7: 0x35,
14059 },
14060 Opcode::J => Inst {
14061 opcode: 0x6f,
14062 funct3: 0x0,
14063 rs1: 0x0,
14064 rs2: 0x0,
14065 csr: 0x0,
14066 funct7: 0x0,
14067 },
14068 Opcode::JAL => Inst {
14069 opcode: 0x6f,
14070 funct3: 0x0,
14071 rs1: 0x0,
14072 rs2: 0x0,
14073 csr: 0x0,
14074 funct7: 0x0,
14075 },
14076 Opcode::JALPSEUDO => Inst {
14077 opcode: 0x6f,
14078 funct3: 0x0,
14079 rs1: 0x0,
14080 rs2: 0x0,
14081 csr: 0x0,
14082 funct7: 0x0,
14083 },
14084 Opcode::JALR => Inst {
14085 opcode: 0x67,
14086 funct3: 0x0,
14087 rs1: 0x0,
14088 rs2: 0x0,
14089 csr: 0x0,
14090 funct7: 0x0,
14091 },
14092 Opcode::JALRPSEUDO => Inst {
14093 opcode: 0x67,
14094 funct3: 0x0,
14095 rs1: 0x0,
14096 rs2: 0x0,
14097 csr: 0x0,
14098 funct7: 0x0,
14099 },
14100 Opcode::JR => Inst {
14101 opcode: 0x67,
14102 funct3: 0x0,
14103 rs1: 0x0,
14104 rs2: 0x0,
14105 csr: 0x0,
14106 funct7: 0x0,
14107 },
14108 Opcode::LB => Inst {
14109 opcode: 0x3,
14110 funct3: 0x0,
14111 rs1: 0x0,
14112 rs2: 0x0,
14113 csr: 0x0,
14114 funct7: 0x0,
14115 },
14116 Opcode::LBU => Inst {
14117 opcode: 0x3,
14118 funct3: 0x4,
14119 rs1: 0x0,
14120 rs2: 0x0,
14121 csr: 0x0,
14122 funct7: 0x0,
14123 },
14124 Opcode::LD => Inst {
14125 opcode: 0x3,
14126 funct3: 0x3,
14127 rs1: 0x0,
14128 rs2: 0x0,
14129 csr: 0x0,
14130 funct7: 0x0,
14131 },
14132 Opcode::LH => Inst {
14133 opcode: 0x3,
14134 funct3: 0x1,
14135 rs1: 0x0,
14136 rs2: 0x0,
14137 csr: 0x0,
14138 funct7: 0x0,
14139 },
14140 Opcode::LHU => Inst {
14141 opcode: 0x3,
14142 funct3: 0x5,
14143 rs1: 0x0,
14144 rs2: 0x0,
14145 csr: 0x0,
14146 funct7: 0x0,
14147 },
14148 Opcode::LRD => Inst {
14149 opcode: 0x2f,
14150 funct3: 0x3,
14151 rs1: 0x0,
14152 rs2: 0x0,
14153 csr: 0x100,
14154 funct7: 0x8,
14155 },
14156 Opcode::LRW => Inst {
14157 opcode: 0x2f,
14158 funct3: 0x2,
14159 rs1: 0x0,
14160 rs2: 0x0,
14161 csr: 0x100,
14162 funct7: 0x8,
14163 },
14164 Opcode::LUI => Inst {
14165 opcode: 0x37,
14166 funct3: 0x0,
14167 rs1: 0x0,
14168 rs2: 0x0,
14169 csr: 0x0,
14170 funct7: 0x0,
14171 },
14172 Opcode::LW => Inst {
14173 opcode: 0x3,
14174 funct3: 0x2,
14175 rs1: 0x0,
14176 rs2: 0x0,
14177 csr: 0x0,
14178 funct7: 0x0,
14179 },
14180 Opcode::LWU => Inst {
14181 opcode: 0x3,
14182 funct3: 0x6,
14183 rs1: 0x0,
14184 rs2: 0x0,
14185 csr: 0x0,
14186 funct7: 0x0,
14187 },
14188 Opcode::MAX => Inst {
14189 opcode: 0x33,
14190 funct3: 0x6,
14191 rs1: 0x0,
14192 rs2: 0x0,
14193 csr: 0xa0,
14194 funct7: 0x5,
14195 },
14196 Opcode::MAXU => Inst {
14197 opcode: 0x33,
14198 funct3: 0x7,
14199 rs1: 0x0,
14200 rs2: 0x0,
14201 csr: 0xa0,
14202 funct7: 0x5,
14203 },
14204 Opcode::MIN => Inst {
14205 opcode: 0x33,
14206 funct3: 0x4,
14207 rs1: 0x0,
14208 rs2: 0x0,
14209 csr: 0xa0,
14210 funct7: 0x5,
14211 },
14212 Opcode::MINU => Inst {
14213 opcode: 0x33,
14214 funct3: 0x5,
14215 rs1: 0x0,
14216 rs2: 0x0,
14217 csr: 0xa0,
14218 funct7: 0x5,
14219 },
14220 Opcode::MOPR0 => Inst {
14221 opcode: 0x73,
14222 funct3: 0x4,
14223 rs1: 0x0,
14224 rs2: 0x1c,
14225 csr: 0x81c,
14226 funct7: 0x40,
14227 },
14228 Opcode::MOPR1 => Inst {
14229 opcode: 0x73,
14230 funct3: 0x4,
14231 rs1: 0x0,
14232 rs2: 0x1d,
14233 csr: 0x81d,
14234 funct7: 0x40,
14235 },
14236 Opcode::MOPR10 => Inst {
14237 opcode: 0x73,
14238 funct3: 0x4,
14239 rs1: 0x0,
14240 rs2: 0x1e,
14241 csr: 0x89e,
14242 funct7: 0x44,
14243 },
14244 Opcode::MOPR11 => Inst {
14245 opcode: 0x73,
14246 funct3: 0x4,
14247 rs1: 0x0,
14248 rs2: 0x1f,
14249 csr: 0x89f,
14250 funct7: 0x44,
14251 },
14252 Opcode::MOPR12 => Inst {
14253 opcode: 0x73,
14254 funct3: 0x4,
14255 rs1: 0x0,
14256 rs2: 0x1c,
14257 csr: 0x8dc,
14258 funct7: 0x46,
14259 },
14260 Opcode::MOPR13 => Inst {
14261 opcode: 0x73,
14262 funct3: 0x4,
14263 rs1: 0x0,
14264 rs2: 0x1d,
14265 csr: 0x8dd,
14266 funct7: 0x46,
14267 },
14268 Opcode::MOPR14 => Inst {
14269 opcode: 0x73,
14270 funct3: 0x4,
14271 rs1: 0x0,
14272 rs2: 0x1e,
14273 csr: 0x8de,
14274 funct7: 0x46,
14275 },
14276 Opcode::MOPR15 => Inst {
14277 opcode: 0x73,
14278 funct3: 0x4,
14279 rs1: 0x0,
14280 rs2: 0x1f,
14281 csr: 0x8df,
14282 funct7: 0x46,
14283 },
14284 Opcode::MOPR16 => Inst {
14285 opcode: 0x73,
14286 funct3: 0x4,
14287 rs1: 0x0,
14288 rs2: 0x1c,
14289 csr: 0xc1c,
14290 funct7: 0x60,
14291 },
14292 Opcode::MOPR17 => Inst {
14293 opcode: 0x73,
14294 funct3: 0x4,
14295 rs1: 0x0,
14296 rs2: 0x1d,
14297 csr: 0xc1d,
14298 funct7: 0x60,
14299 },
14300 Opcode::MOPR18 => Inst {
14301 opcode: 0x73,
14302 funct3: 0x4,
14303 rs1: 0x0,
14304 rs2: 0x1e,
14305 csr: 0xc1e,
14306 funct7: 0x60,
14307 },
14308 Opcode::MOPR19 => Inst {
14309 opcode: 0x73,
14310 funct3: 0x4,
14311 rs1: 0x0,
14312 rs2: 0x1f,
14313 csr: 0xc1f,
14314 funct7: 0x60,
14315 },
14316 Opcode::MOPR2 => Inst {
14317 opcode: 0x73,
14318 funct3: 0x4,
14319 rs1: 0x0,
14320 rs2: 0x1e,
14321 csr: 0x81e,
14322 funct7: 0x40,
14323 },
14324 Opcode::MOPR20 => Inst {
14325 opcode: 0x73,
14326 funct3: 0x4,
14327 rs1: 0x0,
14328 rs2: 0x1c,
14329 csr: 0xc5c,
14330 funct7: 0x62,
14331 },
14332 Opcode::MOPR21 => Inst {
14333 opcode: 0x73,
14334 funct3: 0x4,
14335 rs1: 0x0,
14336 rs2: 0x1d,
14337 csr: 0xc5d,
14338 funct7: 0x62,
14339 },
14340 Opcode::MOPR22 => Inst {
14341 opcode: 0x73,
14342 funct3: 0x4,
14343 rs1: 0x0,
14344 rs2: 0x1e,
14345 csr: 0xc5e,
14346 funct7: 0x62,
14347 },
14348 Opcode::MOPR23 => Inst {
14349 opcode: 0x73,
14350 funct3: 0x4,
14351 rs1: 0x0,
14352 rs2: 0x1f,
14353 csr: 0xc5f,
14354 funct7: 0x62,
14355 },
14356 Opcode::MOPR24 => Inst {
14357 opcode: 0x73,
14358 funct3: 0x4,
14359 rs1: 0x0,
14360 rs2: 0x1c,
14361 csr: 0xc9c,
14362 funct7: 0x64,
14363 },
14364 Opcode::MOPR25 => Inst {
14365 opcode: 0x73,
14366 funct3: 0x4,
14367 rs1: 0x0,
14368 rs2: 0x1d,
14369 csr: 0xc9d,
14370 funct7: 0x64,
14371 },
14372 Opcode::MOPR26 => Inst {
14373 opcode: 0x73,
14374 funct3: 0x4,
14375 rs1: 0x0,
14376 rs2: 0x1e,
14377 csr: 0xc9e,
14378 funct7: 0x64,
14379 },
14380 Opcode::MOPR27 => Inst {
14381 opcode: 0x73,
14382 funct3: 0x4,
14383 rs1: 0x0,
14384 rs2: 0x1f,
14385 csr: 0xc9f,
14386 funct7: 0x64,
14387 },
14388 Opcode::MOPR28 => Inst {
14389 opcode: 0x73,
14390 funct3: 0x4,
14391 rs1: 0x0,
14392 rs2: 0x1c,
14393 csr: 0xcdc,
14394 funct7: 0x66,
14395 },
14396 Opcode::MOPR29 => Inst {
14397 opcode: 0x73,
14398 funct3: 0x4,
14399 rs1: 0x0,
14400 rs2: 0x1d,
14401 csr: 0xcdd,
14402 funct7: 0x66,
14403 },
14404 Opcode::MOPR3 => Inst {
14405 opcode: 0x73,
14406 funct3: 0x4,
14407 rs1: 0x0,
14408 rs2: 0x1f,
14409 csr: 0x81f,
14410 funct7: 0x40,
14411 },
14412 Opcode::MOPR30 => Inst {
14413 opcode: 0x73,
14414 funct3: 0x4,
14415 rs1: 0x0,
14416 rs2: 0x1e,
14417 csr: 0xcde,
14418 funct7: 0x66,
14419 },
14420 Opcode::MOPR31 => Inst {
14421 opcode: 0x73,
14422 funct3: 0x4,
14423 rs1: 0x0,
14424 rs2: 0x1f,
14425 csr: 0xcdf,
14426 funct7: 0x66,
14427 },
14428 Opcode::MOPR4 => Inst {
14429 opcode: 0x73,
14430 funct3: 0x4,
14431 rs1: 0x0,
14432 rs2: 0x1c,
14433 csr: 0x85c,
14434 funct7: 0x42,
14435 },
14436 Opcode::MOPR5 => Inst {
14437 opcode: 0x73,
14438 funct3: 0x4,
14439 rs1: 0x0,
14440 rs2: 0x1d,
14441 csr: 0x85d,
14442 funct7: 0x42,
14443 },
14444 Opcode::MOPR6 => Inst {
14445 opcode: 0x73,
14446 funct3: 0x4,
14447 rs1: 0x0,
14448 rs2: 0x1e,
14449 csr: 0x85e,
14450 funct7: 0x42,
14451 },
14452 Opcode::MOPR7 => Inst {
14453 opcode: 0x73,
14454 funct3: 0x4,
14455 rs1: 0x0,
14456 rs2: 0x1f,
14457 csr: 0x85f,
14458 funct7: 0x42,
14459 },
14460 Opcode::MOPR8 => Inst {
14461 opcode: 0x73,
14462 funct3: 0x4,
14463 rs1: 0x0,
14464 rs2: 0x1c,
14465 csr: 0x89c,
14466 funct7: 0x44,
14467 },
14468 Opcode::MOPR9 => Inst {
14469 opcode: 0x73,
14470 funct3: 0x4,
14471 rs1: 0x0,
14472 rs2: 0x1d,
14473 csr: 0x89d,
14474 funct7: 0x44,
14475 },
14476 Opcode::MOPRN => Inst {
14477 opcode: 0x73,
14478 funct3: 0x4,
14479 rs1: 0x0,
14480 rs2: 0x1c,
14481 csr: 0x81c,
14482 funct7: 0x40,
14483 },
14484 Opcode::MOPRR0 => Inst {
14485 opcode: 0x73,
14486 funct3: 0x4,
14487 rs1: 0x0,
14488 rs2: 0x0,
14489 csr: 0x820,
14490 funct7: 0x41,
14491 },
14492 Opcode::MOPRR1 => Inst {
14493 opcode: 0x73,
14494 funct3: 0x4,
14495 rs1: 0x0,
14496 rs2: 0x0,
14497 csr: 0x860,
14498 funct7: 0x43,
14499 },
14500 Opcode::MOPRR2 => Inst {
14501 opcode: 0x73,
14502 funct3: 0x4,
14503 rs1: 0x0,
14504 rs2: 0x0,
14505 csr: 0x8a0,
14506 funct7: 0x45,
14507 },
14508 Opcode::MOPRR3 => Inst {
14509 opcode: 0x73,
14510 funct3: 0x4,
14511 rs1: 0x0,
14512 rs2: 0x0,
14513 csr: 0x8e0,
14514 funct7: 0x47,
14515 },
14516 Opcode::MOPRR4 => Inst {
14517 opcode: 0x73,
14518 funct3: 0x4,
14519 rs1: 0x0,
14520 rs2: 0x0,
14521 csr: 0xc20,
14522 funct7: 0x61,
14523 },
14524 Opcode::MOPRR5 => Inst {
14525 opcode: 0x73,
14526 funct3: 0x4,
14527 rs1: 0x0,
14528 rs2: 0x0,
14529 csr: 0xc60,
14530 funct7: 0x63,
14531 },
14532 Opcode::MOPRR6 => Inst {
14533 opcode: 0x73,
14534 funct3: 0x4,
14535 rs1: 0x0,
14536 rs2: 0x0,
14537 csr: 0xca0,
14538 funct7: 0x65,
14539 },
14540 Opcode::MOPRR7 => Inst {
14541 opcode: 0x73,
14542 funct3: 0x4,
14543 rs1: 0x0,
14544 rs2: 0x0,
14545 csr: 0xce0,
14546 funct7: 0x67,
14547 },
14548 Opcode::MOPRRN => Inst {
14549 opcode: 0x73,
14550 funct3: 0x4,
14551 rs1: 0x0,
14552 rs2: 0x0,
14553 csr: 0x820,
14554 funct7: 0x41,
14555 },
14556 Opcode::MRET => Inst {
14557 opcode: 0x73,
14558 funct3: 0x0,
14559 rs1: 0x0,
14560 rs2: 0x2,
14561 csr: 0x302,
14562 funct7: 0x18,
14563 },
14564 Opcode::MUL => Inst {
14565 opcode: 0x33,
14566 funct3: 0x0,
14567 rs1: 0x0,
14568 rs2: 0x0,
14569 csr: 0x20,
14570 funct7: 0x1,
14571 },
14572 Opcode::MULH => Inst {
14573 opcode: 0x33,
14574 funct3: 0x1,
14575 rs1: 0x0,
14576 rs2: 0x0,
14577 csr: 0x20,
14578 funct7: 0x1,
14579 },
14580 Opcode::MULHSU => Inst {
14581 opcode: 0x33,
14582 funct3: 0x2,
14583 rs1: 0x0,
14584 rs2: 0x0,
14585 csr: 0x20,
14586 funct7: 0x1,
14587 },
14588 Opcode::MULHU => Inst {
14589 opcode: 0x33,
14590 funct3: 0x3,
14591 rs1: 0x0,
14592 rs2: 0x0,
14593 csr: 0x20,
14594 funct7: 0x1,
14595 },
14596 Opcode::MULW => Inst {
14597 opcode: 0x3b,
14598 funct3: 0x0,
14599 rs1: 0x0,
14600 rs2: 0x0,
14601 csr: 0x20,
14602 funct7: 0x1,
14603 },
14604 Opcode::MV => Inst {
14605 opcode: 0x13,
14606 funct3: 0x0,
14607 rs1: 0x0,
14608 rs2: 0x0,
14609 csr: 0x0,
14610 funct7: 0x0,
14611 },
14612 Opcode::NEG => Inst {
14613 opcode: 0x33,
14614 funct3: 0x0,
14615 rs1: 0x0,
14616 rs2: 0x0,
14617 csr: 0x400,
14618 funct7: 0x20,
14619 },
14620 Opcode::NOP => Inst {
14621 opcode: 0x13,
14622 funct3: 0x0,
14623 rs1: 0x0,
14624 rs2: 0x0,
14625 csr: 0x0,
14626 funct7: 0x0,
14627 },
14628 Opcode::NTLALL => Inst {
14629 opcode: 0x33,
14630 funct3: 0x0,
14631 rs1: 0x0,
14632 rs2: 0x5,
14633 csr: 0x5,
14634 funct7: 0x0,
14635 },
14636 Opcode::NTLP1 => Inst {
14637 opcode: 0x33,
14638 funct3: 0x0,
14639 rs1: 0x0,
14640 rs2: 0x2,
14641 csr: 0x2,
14642 funct7: 0x0,
14643 },
14644 Opcode::NTLPALL => Inst {
14645 opcode: 0x33,
14646 funct3: 0x0,
14647 rs1: 0x0,
14648 rs2: 0x3,
14649 csr: 0x3,
14650 funct7: 0x0,
14651 },
14652 Opcode::NTLS1 => Inst {
14653 opcode: 0x33,
14654 funct3: 0x0,
14655 rs1: 0x0,
14656 rs2: 0x4,
14657 csr: 0x4,
14658 funct7: 0x0,
14659 },
14660 Opcode::OR => Inst {
14661 opcode: 0x33,
14662 funct3: 0x6,
14663 rs1: 0x0,
14664 rs2: 0x0,
14665 csr: 0x0,
14666 funct7: 0x0,
14667 },
14668 Opcode::ORCB => Inst {
14669 opcode: 0x13,
14670 funct3: 0x5,
14671 rs1: 0x0,
14672 rs2: 0x7,
14673 csr: 0x287,
14674 funct7: 0x14,
14675 },
14676 Opcode::ORI => Inst {
14677 opcode: 0x13,
14678 funct3: 0x6,
14679 rs1: 0x0,
14680 rs2: 0x0,
14681 csr: 0x0,
14682 funct7: 0x0,
14683 },
14684 Opcode::ORN => Inst {
14685 opcode: 0x33,
14686 funct3: 0x6,
14687 rs1: 0x0,
14688 rs2: 0x0,
14689 csr: 0x400,
14690 funct7: 0x20,
14691 },
14692 Opcode::PACK => Inst {
14693 opcode: 0x33,
14694 funct3: 0x4,
14695 rs1: 0x0,
14696 rs2: 0x0,
14697 csr: 0x80,
14698 funct7: 0x4,
14699 },
14700 Opcode::PACKH => Inst {
14701 opcode: 0x33,
14702 funct3: 0x7,
14703 rs1: 0x0,
14704 rs2: 0x0,
14705 csr: 0x80,
14706 funct7: 0x4,
14707 },
14708 Opcode::PACKW => Inst {
14709 opcode: 0x3b,
14710 funct3: 0x4,
14711 rs1: 0x0,
14712 rs2: 0x0,
14713 csr: 0x80,
14714 funct7: 0x4,
14715 },
14716 Opcode::PAUSE => Inst {
14717 opcode: 0xf,
14718 funct3: 0x0,
14719 rs1: 0x0,
14720 rs2: 0x10,
14721 csr: 0x10,
14722 funct7: 0x0,
14723 },
14724 Opcode::PREFETCHI => Inst {
14725 opcode: 0x13,
14726 funct3: 0x6,
14727 rs1: 0x0,
14728 rs2: 0x0,
14729 csr: 0x0,
14730 funct7: 0x0,
14731 },
14732 Opcode::PREFETCHR => Inst {
14733 opcode: 0x13,
14734 funct3: 0x6,
14735 rs1: 0x0,
14736 rs2: 0x1,
14737 csr: 0x1,
14738 funct7: 0x0,
14739 },
14740 Opcode::PREFETCHW => Inst {
14741 opcode: 0x13,
14742 funct3: 0x6,
14743 rs1: 0x0,
14744 rs2: 0x3,
14745 csr: 0x3,
14746 funct7: 0x0,
14747 },
14748 Opcode::RDCYCLE => Inst {
14749 opcode: 0x73,
14750 funct3: 0x2,
14751 rs1: 0x0,
14752 rs2: 0x0,
14753 csr: 0xc00,
14754 funct7: 0x60,
14755 },
14756 Opcode::RDCYCLEH => Inst {
14757 opcode: 0x73,
14758 funct3: 0x2,
14759 rs1: 0x0,
14760 rs2: 0x0,
14761 csr: 0xc80,
14762 funct7: 0x64,
14763 },
14764 Opcode::RDINSTRET => Inst {
14765 opcode: 0x73,
14766 funct3: 0x2,
14767 rs1: 0x0,
14768 rs2: 0x2,
14769 csr: 0xc02,
14770 funct7: 0x60,
14771 },
14772 Opcode::RDINSTRETH => Inst {
14773 opcode: 0x73,
14774 funct3: 0x2,
14775 rs1: 0x0,
14776 rs2: 0x2,
14777 csr: 0xc82,
14778 funct7: 0x64,
14779 },
14780 Opcode::RDTIME => Inst {
14781 opcode: 0x73,
14782 funct3: 0x2,
14783 rs1: 0x0,
14784 rs2: 0x1,
14785 csr: 0xc01,
14786 funct7: 0x60,
14787 },
14788 Opcode::RDTIMEH => Inst {
14789 opcode: 0x73,
14790 funct3: 0x2,
14791 rs1: 0x0,
14792 rs2: 0x1,
14793 csr: 0xc81,
14794 funct7: 0x64,
14795 },
14796 Opcode::REM => Inst {
14797 opcode: 0x33,
14798 funct3: 0x6,
14799 rs1: 0x0,
14800 rs2: 0x0,
14801 csr: 0x20,
14802 funct7: 0x1,
14803 },
14804 Opcode::REMU => Inst {
14805 opcode: 0x33,
14806 funct3: 0x7,
14807 rs1: 0x0,
14808 rs2: 0x0,
14809 csr: 0x20,
14810 funct7: 0x1,
14811 },
14812 Opcode::REMUW => Inst {
14813 opcode: 0x3b,
14814 funct3: 0x7,
14815 rs1: 0x0,
14816 rs2: 0x0,
14817 csr: 0x20,
14818 funct7: 0x1,
14819 },
14820 Opcode::REMW => Inst {
14821 opcode: 0x3b,
14822 funct3: 0x6,
14823 rs1: 0x0,
14824 rs2: 0x0,
14825 csr: 0x20,
14826 funct7: 0x1,
14827 },
14828 Opcode::RET => Inst {
14829 opcode: 0x67,
14830 funct3: 0x0,
14831 rs1: 0x1,
14832 rs2: 0x0,
14833 csr: 0x0,
14834 funct7: 0x0,
14835 },
14836 Opcode::REV8 => Inst {
14837 opcode: 0x13,
14838 funct3: 0x5,
14839 rs1: 0x0,
14840 rs2: 0x18,
14841 csr: 0x6b8,
14842 funct7: 0x35,
14843 },
14844 Opcode::REV8RV32 => Inst {
14845 opcode: 0x13,
14846 funct3: 0x5,
14847 rs1: 0x0,
14848 rs2: 0x18,
14849 csr: 0x698,
14850 funct7: 0x34,
14851 },
14852 Opcode::ROL => Inst {
14853 opcode: 0x33,
14854 funct3: 0x1,
14855 rs1: 0x0,
14856 rs2: 0x0,
14857 csr: 0x600,
14858 funct7: 0x30,
14859 },
14860 Opcode::ROLW => Inst {
14861 opcode: 0x3b,
14862 funct3: 0x1,
14863 rs1: 0x0,
14864 rs2: 0x0,
14865 csr: 0x600,
14866 funct7: 0x30,
14867 },
14868 Opcode::ROR => Inst {
14869 opcode: 0x33,
14870 funct3: 0x5,
14871 rs1: 0x0,
14872 rs2: 0x0,
14873 csr: 0x600,
14874 funct7: 0x30,
14875 },
14876 Opcode::RORI => Inst {
14877 opcode: 0x13,
14878 funct3: 0x5,
14879 rs1: 0x0,
14880 rs2: 0x0,
14881 csr: 0x600,
14882 funct7: 0x30,
14883 },
14884 Opcode::RORIRV32 => Inst {
14885 opcode: 0x13,
14886 funct3: 0x5,
14887 rs1: 0x0,
14888 rs2: 0x0,
14889 csr: 0x600,
14890 funct7: 0x30,
14891 },
14892 Opcode::RORIW => Inst {
14893 opcode: 0x1b,
14894 funct3: 0x5,
14895 rs1: 0x0,
14896 rs2: 0x0,
14897 csr: 0x600,
14898 funct7: 0x30,
14899 },
14900 Opcode::RORW => Inst {
14901 opcode: 0x3b,
14902 funct3: 0x5,
14903 rs1: 0x0,
14904 rs2: 0x0,
14905 csr: 0x600,
14906 funct7: 0x30,
14907 },
14908 Opcode::SB => Inst {
14909 opcode: 0x23,
14910 funct3: 0x0,
14911 rs1: 0x0,
14912 rs2: 0x0,
14913 csr: 0x0,
14914 funct7: 0x0,
14915 },
14916 Opcode::SBREAK => Inst {
14917 opcode: 0x73,
14918 funct3: 0x0,
14919 rs1: 0x0,
14920 rs2: 0x1,
14921 csr: 0x1,
14922 funct7: 0x0,
14923 },
14924 Opcode::SCD => Inst {
14925 opcode: 0x2f,
14926 funct3: 0x3,
14927 rs1: 0x0,
14928 rs2: 0x0,
14929 csr: 0x180,
14930 funct7: 0xc,
14931 },
14932 Opcode::SCW => Inst {
14933 opcode: 0x2f,
14934 funct3: 0x2,
14935 rs1: 0x0,
14936 rs2: 0x0,
14937 csr: 0x180,
14938 funct7: 0xc,
14939 },
14940 Opcode::SCALL => Inst {
14941 opcode: 0x73,
14942 funct3: 0x0,
14943 rs1: 0x0,
14944 rs2: 0x0,
14945 csr: 0x0,
14946 funct7: 0x0,
14947 },
14948 Opcode::SD => Inst {
14949 opcode: 0x23,
14950 funct3: 0x3,
14951 rs1: 0x0,
14952 rs2: 0x0,
14953 csr: 0x0,
14954 funct7: 0x0,
14955 },
14956 Opcode::SEQZ => Inst {
14957 opcode: 0x13,
14958 funct3: 0x3,
14959 rs1: 0x0,
14960 rs2: 0x1,
14961 csr: 0x1,
14962 funct7: 0x0,
14963 },
14964 Opcode::SEXTB => Inst {
14965 opcode: 0x13,
14966 funct3: 0x1,
14967 rs1: 0x0,
14968 rs2: 0x4,
14969 csr: 0x604,
14970 funct7: 0x30,
14971 },
14972 Opcode::SEXTH => Inst {
14973 opcode: 0x13,
14974 funct3: 0x1,
14975 rs1: 0x0,
14976 rs2: 0x5,
14977 csr: 0x605,
14978 funct7: 0x30,
14979 },
14980 Opcode::SEXTW => Inst {
14981 opcode: 0x1b,
14982 funct3: 0x0,
14983 rs1: 0x0,
14984 rs2: 0x0,
14985 csr: 0x0,
14986 funct7: 0x0,
14987 },
14988 Opcode::SFENCEINVALIR => Inst {
14989 opcode: 0x73,
14990 funct3: 0x0,
14991 rs1: 0x0,
14992 rs2: 0x1,
14993 csr: 0x181,
14994 funct7: 0xc,
14995 },
14996 Opcode::SFENCEVMA => Inst {
14997 opcode: 0x73,
14998 funct3: 0x0,
14999 rs1: 0x0,
15000 rs2: 0x0,
15001 csr: 0x120,
15002 funct7: 0x9,
15003 },
15004 Opcode::SFENCEWINVAL => Inst {
15005 opcode: 0x73,
15006 funct3: 0x0,
15007 rs1: 0x0,
15008 rs2: 0x0,
15009 csr: 0x180,
15010 funct7: 0xc,
15011 },
15012 Opcode::SGTZ => Inst {
15013 opcode: 0x33,
15014 funct3: 0x2,
15015 rs1: 0x0,
15016 rs2: 0x0,
15017 csr: 0x0,
15018 funct7: 0x0,
15019 },
15020 Opcode::SH => Inst {
15021 opcode: 0x23,
15022 funct3: 0x1,
15023 rs1: 0x0,
15024 rs2: 0x0,
15025 csr: 0x0,
15026 funct7: 0x0,
15027 },
15028 Opcode::SH1ADD => Inst {
15029 opcode: 0x33,
15030 funct3: 0x2,
15031 rs1: 0x0,
15032 rs2: 0x0,
15033 csr: 0x200,
15034 funct7: 0x10,
15035 },
15036 Opcode::SH1ADDUW => Inst {
15037 opcode: 0x3b,
15038 funct3: 0x2,
15039 rs1: 0x0,
15040 rs2: 0x0,
15041 csr: 0x200,
15042 funct7: 0x10,
15043 },
15044 Opcode::SH2ADD => Inst {
15045 opcode: 0x33,
15046 funct3: 0x4,
15047 rs1: 0x0,
15048 rs2: 0x0,
15049 csr: 0x200,
15050 funct7: 0x10,
15051 },
15052 Opcode::SH2ADDUW => Inst {
15053 opcode: 0x3b,
15054 funct3: 0x4,
15055 rs1: 0x0,
15056 rs2: 0x0,
15057 csr: 0x200,
15058 funct7: 0x10,
15059 },
15060 Opcode::SH3ADD => Inst {
15061 opcode: 0x33,
15062 funct3: 0x6,
15063 rs1: 0x0,
15064 rs2: 0x0,
15065 csr: 0x200,
15066 funct7: 0x10,
15067 },
15068 Opcode::SH3ADDUW => Inst {
15069 opcode: 0x3b,
15070 funct3: 0x6,
15071 rs1: 0x0,
15072 rs2: 0x0,
15073 csr: 0x200,
15074 funct7: 0x10,
15075 },
15076 Opcode::SHA256SIG0 => Inst {
15077 opcode: 0x13,
15078 funct3: 0x1,
15079 rs1: 0x0,
15080 rs2: 0x2,
15081 csr: 0x102,
15082 funct7: 0x8,
15083 },
15084 Opcode::SHA256SIG1 => Inst {
15085 opcode: 0x13,
15086 funct3: 0x1,
15087 rs1: 0x0,
15088 rs2: 0x3,
15089 csr: 0x103,
15090 funct7: 0x8,
15091 },
15092 Opcode::SHA256SUM0 => Inst {
15093 opcode: 0x13,
15094 funct3: 0x1,
15095 rs1: 0x0,
15096 rs2: 0x0,
15097 csr: 0x100,
15098 funct7: 0x8,
15099 },
15100 Opcode::SHA256SUM1 => Inst {
15101 opcode: 0x13,
15102 funct3: 0x1,
15103 rs1: 0x0,
15104 rs2: 0x1,
15105 csr: 0x101,
15106 funct7: 0x8,
15107 },
15108 Opcode::SHA512SIG0 => Inst {
15109 opcode: 0x13,
15110 funct3: 0x1,
15111 rs1: 0x0,
15112 rs2: 0x6,
15113 csr: 0x106,
15114 funct7: 0x8,
15115 },
15116 Opcode::SHA512SIG0H => Inst {
15117 opcode: 0x33,
15118 funct3: 0x0,
15119 rs1: 0x0,
15120 rs2: 0x0,
15121 csr: 0x5c0,
15122 funct7: 0x2e,
15123 },
15124 Opcode::SHA512SIG0L => Inst {
15125 opcode: 0x33,
15126 funct3: 0x0,
15127 rs1: 0x0,
15128 rs2: 0x0,
15129 csr: 0x540,
15130 funct7: 0x2a,
15131 },
15132 Opcode::SHA512SIG1 => Inst {
15133 opcode: 0x13,
15134 funct3: 0x1,
15135 rs1: 0x0,
15136 rs2: 0x7,
15137 csr: 0x107,
15138 funct7: 0x8,
15139 },
15140 Opcode::SHA512SIG1H => Inst {
15141 opcode: 0x33,
15142 funct3: 0x0,
15143 rs1: 0x0,
15144 rs2: 0x0,
15145 csr: 0x5e0,
15146 funct7: 0x2f,
15147 },
15148 Opcode::SHA512SIG1L => Inst {
15149 opcode: 0x33,
15150 funct3: 0x0,
15151 rs1: 0x0,
15152 rs2: 0x0,
15153 csr: 0x560,
15154 funct7: 0x2b,
15155 },
15156 Opcode::SHA512SUM0 => Inst {
15157 opcode: 0x13,
15158 funct3: 0x1,
15159 rs1: 0x0,
15160 rs2: 0x4,
15161 csr: 0x104,
15162 funct7: 0x8,
15163 },
15164 Opcode::SHA512SUM0R => Inst {
15165 opcode: 0x33,
15166 funct3: 0x0,
15167 rs1: 0x0,
15168 rs2: 0x0,
15169 csr: 0x500,
15170 funct7: 0x28,
15171 },
15172 Opcode::SHA512SUM1 => Inst {
15173 opcode: 0x13,
15174 funct3: 0x1,
15175 rs1: 0x0,
15176 rs2: 0x5,
15177 csr: 0x105,
15178 funct7: 0x8,
15179 },
15180 Opcode::SHA512SUM1R => Inst {
15181 opcode: 0x33,
15182 funct3: 0x0,
15183 rs1: 0x0,
15184 rs2: 0x0,
15185 csr: 0x520,
15186 funct7: 0x29,
15187 },
15188 Opcode::SINVALVMA => Inst {
15189 opcode: 0x73,
15190 funct3: 0x0,
15191 rs1: 0x0,
15192 rs2: 0x0,
15193 csr: 0x160,
15194 funct7: 0xb,
15195 },
15196 Opcode::SLL => Inst {
15197 opcode: 0x33,
15198 funct3: 0x1,
15199 rs1: 0x0,
15200 rs2: 0x0,
15201 csr: 0x0,
15202 funct7: 0x0,
15203 },
15204 Opcode::SLLI => Inst {
15205 opcode: 0x13,
15206 funct3: 0x1,
15207 rs1: 0x0,
15208 rs2: 0x0,
15209 csr: 0x0,
15210 funct7: 0x0,
15211 },
15212 Opcode::SLLIRV32 => Inst {
15213 opcode: 0x13,
15214 funct3: 0x1,
15215 rs1: 0x0,
15216 rs2: 0x0,
15217 csr: 0x0,
15218 funct7: 0x0,
15219 },
15220 Opcode::SLLIUW => Inst {
15221 opcode: 0x1b,
15222 funct3: 0x1,
15223 rs1: 0x0,
15224 rs2: 0x0,
15225 csr: 0x80,
15226 funct7: 0x4,
15227 },
15228 Opcode::SLLIW => Inst {
15229 opcode: 0x1b,
15230 funct3: 0x1,
15231 rs1: 0x0,
15232 rs2: 0x0,
15233 csr: 0x0,
15234 funct7: 0x0,
15235 },
15236 Opcode::SLLW => Inst {
15237 opcode: 0x3b,
15238 funct3: 0x1,
15239 rs1: 0x0,
15240 rs2: 0x0,
15241 csr: 0x0,
15242 funct7: 0x0,
15243 },
15244 Opcode::SLT => Inst {
15245 opcode: 0x33,
15246 funct3: 0x2,
15247 rs1: 0x0,
15248 rs2: 0x0,
15249 csr: 0x0,
15250 funct7: 0x0,
15251 },
15252 Opcode::SLTI => Inst {
15253 opcode: 0x13,
15254 funct3: 0x2,
15255 rs1: 0x0,
15256 rs2: 0x0,
15257 csr: 0x0,
15258 funct7: 0x0,
15259 },
15260 Opcode::SLTIU => Inst {
15261 opcode: 0x13,
15262 funct3: 0x3,
15263 rs1: 0x0,
15264 rs2: 0x0,
15265 csr: 0x0,
15266 funct7: 0x0,
15267 },
15268 Opcode::SLTU => Inst {
15269 opcode: 0x33,
15270 funct3: 0x3,
15271 rs1: 0x0,
15272 rs2: 0x0,
15273 csr: 0x0,
15274 funct7: 0x0,
15275 },
15276 Opcode::SLTZ => Inst {
15277 opcode: 0x33,
15278 funct3: 0x2,
15279 rs1: 0x0,
15280 rs2: 0x0,
15281 csr: 0x0,
15282 funct7: 0x0,
15283 },
15284 Opcode::SM3P0 => Inst {
15285 opcode: 0x13,
15286 funct3: 0x1,
15287 rs1: 0x0,
15288 rs2: 0x8,
15289 csr: 0x108,
15290 funct7: 0x8,
15291 },
15292 Opcode::SM3P1 => Inst {
15293 opcode: 0x13,
15294 funct3: 0x1,
15295 rs1: 0x0,
15296 rs2: 0x9,
15297 csr: 0x109,
15298 funct7: 0x8,
15299 },
15300 Opcode::SM4ED => Inst {
15301 opcode: 0x33,
15302 funct3: 0x0,
15303 rs1: 0x0,
15304 rs2: 0x0,
15305 csr: 0x300,
15306 funct7: 0x18,
15307 },
15308 Opcode::SM4KS => Inst {
15309 opcode: 0x33,
15310 funct3: 0x0,
15311 rs1: 0x0,
15312 rs2: 0x0,
15313 csr: 0x340,
15314 funct7: 0x1a,
15315 },
15316 Opcode::SNEZ => Inst {
15317 opcode: 0x33,
15318 funct3: 0x3,
15319 rs1: 0x0,
15320 rs2: 0x0,
15321 csr: 0x0,
15322 funct7: 0x0,
15323 },
15324 Opcode::SRA => Inst {
15325 opcode: 0x33,
15326 funct3: 0x5,
15327 rs1: 0x0,
15328 rs2: 0x0,
15329 csr: 0x400,
15330 funct7: 0x20,
15331 },
15332 Opcode::SRAI => Inst {
15333 opcode: 0x13,
15334 funct3: 0x5,
15335 rs1: 0x0,
15336 rs2: 0x0,
15337 csr: 0x400,
15338 funct7: 0x20,
15339 },
15340 Opcode::SRAIRV32 => Inst {
15341 opcode: 0x13,
15342 funct3: 0x5,
15343 rs1: 0x0,
15344 rs2: 0x0,
15345 csr: 0x400,
15346 funct7: 0x20,
15347 },
15348 Opcode::SRAIW => Inst {
15349 opcode: 0x1b,
15350 funct3: 0x5,
15351 rs1: 0x0,
15352 rs2: 0x0,
15353 csr: 0x400,
15354 funct7: 0x20,
15355 },
15356 Opcode::SRAW => Inst {
15357 opcode: 0x3b,
15358 funct3: 0x5,
15359 rs1: 0x0,
15360 rs2: 0x0,
15361 csr: 0x400,
15362 funct7: 0x20,
15363 },
15364 Opcode::SRET => Inst {
15365 opcode: 0x73,
15366 funct3: 0x0,
15367 rs1: 0x0,
15368 rs2: 0x2,
15369 csr: 0x102,
15370 funct7: 0x8,
15371 },
15372 Opcode::SRL => Inst {
15373 opcode: 0x33,
15374 funct3: 0x5,
15375 rs1: 0x0,
15376 rs2: 0x0,
15377 csr: 0x0,
15378 funct7: 0x0,
15379 },
15380 Opcode::SRLI => Inst {
15381 opcode: 0x13,
15382 funct3: 0x5,
15383 rs1: 0x0,
15384 rs2: 0x0,
15385 csr: 0x0,
15386 funct7: 0x0,
15387 },
15388 Opcode::SRLIRV32 => Inst {
15389 opcode: 0x13,
15390 funct3: 0x5,
15391 rs1: 0x0,
15392 rs2: 0x0,
15393 csr: 0x0,
15394 funct7: 0x0,
15395 },
15396 Opcode::SRLIW => Inst {
15397 opcode: 0x1b,
15398 funct3: 0x5,
15399 rs1: 0x0,
15400 rs2: 0x0,
15401 csr: 0x0,
15402 funct7: 0x0,
15403 },
15404 Opcode::SRLW => Inst {
15405 opcode: 0x3b,
15406 funct3: 0x5,
15407 rs1: 0x0,
15408 rs2: 0x0,
15409 csr: 0x0,
15410 funct7: 0x0,
15411 },
15412 Opcode::SUB => Inst {
15413 opcode: 0x33,
15414 funct3: 0x0,
15415 rs1: 0x0,
15416 rs2: 0x0,
15417 csr: 0x400,
15418 funct7: 0x20,
15419 },
15420 Opcode::SUBW => Inst {
15421 opcode: 0x3b,
15422 funct3: 0x0,
15423 rs1: 0x0,
15424 rs2: 0x0,
15425 csr: 0x400,
15426 funct7: 0x20,
15427 },
15428 Opcode::SW => Inst {
15429 opcode: 0x23,
15430 funct3: 0x2,
15431 rs1: 0x0,
15432 rs2: 0x0,
15433 csr: 0x0,
15434 funct7: 0x0,
15435 },
15436 Opcode::UNZIP => Inst {
15437 opcode: 0x13,
15438 funct3: 0x5,
15439 rs1: 0x0,
15440 rs2: 0xf,
15441 csr: 0x8f,
15442 funct7: 0x4,
15443 },
15444 Opcode::VAADDVV => Inst {
15445 opcode: 0x57,
15446 funct3: 0x2,
15447 rs1: 0x0,
15448 rs2: 0x0,
15449 csr: 0x240,
15450 funct7: 0x12,
15451 },
15452 Opcode::VAADDVX => Inst {
15453 opcode: 0x57,
15454 funct3: 0x6,
15455 rs1: 0x0,
15456 rs2: 0x0,
15457 csr: 0x240,
15458 funct7: 0x12,
15459 },
15460 Opcode::VAADDUVV => Inst {
15461 opcode: 0x57,
15462 funct3: 0x2,
15463 rs1: 0x0,
15464 rs2: 0x0,
15465 csr: 0x200,
15466 funct7: 0x10,
15467 },
15468 Opcode::VAADDUVX => Inst {
15469 opcode: 0x57,
15470 funct3: 0x6,
15471 rs1: 0x0,
15472 rs2: 0x0,
15473 csr: 0x200,
15474 funct7: 0x10,
15475 },
15476 Opcode::VADCVIM => Inst {
15477 opcode: 0x57,
15478 funct3: 0x3,
15479 rs1: 0x0,
15480 rs2: 0x0,
15481 csr: 0x400,
15482 funct7: 0x20,
15483 },
15484 Opcode::VADCVVM => Inst {
15485 opcode: 0x57,
15486 funct3: 0x0,
15487 rs1: 0x0,
15488 rs2: 0x0,
15489 csr: 0x400,
15490 funct7: 0x20,
15491 },
15492 Opcode::VADCVXM => Inst {
15493 opcode: 0x57,
15494 funct3: 0x4,
15495 rs1: 0x0,
15496 rs2: 0x0,
15497 csr: 0x400,
15498 funct7: 0x20,
15499 },
15500 Opcode::VADDVI => Inst {
15501 opcode: 0x57,
15502 funct3: 0x3,
15503 rs1: 0x0,
15504 rs2: 0x0,
15505 csr: 0x0,
15506 funct7: 0x0,
15507 },
15508 Opcode::VADDVV => Inst {
15509 opcode: 0x57,
15510 funct3: 0x0,
15511 rs1: 0x0,
15512 rs2: 0x0,
15513 csr: 0x0,
15514 funct7: 0x0,
15515 },
15516 Opcode::VADDVX => Inst {
15517 opcode: 0x57,
15518 funct3: 0x4,
15519 rs1: 0x0,
15520 rs2: 0x0,
15521 csr: 0x0,
15522 funct7: 0x0,
15523 },
15524 Opcode::VAESDFVS => Inst {
15525 opcode: 0x77,
15526 funct3: 0x2,
15527 rs1: 0x1,
15528 rs2: 0x0,
15529 csr: 0xa60,
15530 funct7: 0x53,
15531 },
15532 Opcode::VAESDFVV => Inst {
15533 opcode: 0x77,
15534 funct3: 0x2,
15535 rs1: 0x1,
15536 rs2: 0x0,
15537 csr: 0xa20,
15538 funct7: 0x51,
15539 },
15540 Opcode::VAESDMVS => Inst {
15541 opcode: 0x77,
15542 funct3: 0x2,
15543 rs1: 0x0,
15544 rs2: 0x0,
15545 csr: 0xa60,
15546 funct7: 0x53,
15547 },
15548 Opcode::VAESDMVV => Inst {
15549 opcode: 0x77,
15550 funct3: 0x2,
15551 rs1: 0x0,
15552 rs2: 0x0,
15553 csr: 0xa20,
15554 funct7: 0x51,
15555 },
15556 Opcode::VAESEFVS => Inst {
15557 opcode: 0x77,
15558 funct3: 0x2,
15559 rs1: 0x3,
15560 rs2: 0x0,
15561 csr: 0xa60,
15562 funct7: 0x53,
15563 },
15564 Opcode::VAESEFVV => Inst {
15565 opcode: 0x77,
15566 funct3: 0x2,
15567 rs1: 0x3,
15568 rs2: 0x0,
15569 csr: 0xa20,
15570 funct7: 0x51,
15571 },
15572 Opcode::VAESEMVS => Inst {
15573 opcode: 0x77,
15574 funct3: 0x2,
15575 rs1: 0x2,
15576 rs2: 0x0,
15577 csr: 0xa60,
15578 funct7: 0x53,
15579 },
15580 Opcode::VAESEMVV => Inst {
15581 opcode: 0x77,
15582 funct3: 0x2,
15583 rs1: 0x2,
15584 rs2: 0x0,
15585 csr: 0xa20,
15586 funct7: 0x51,
15587 },
15588 Opcode::VAESKF1VI => Inst {
15589 opcode: 0x77,
15590 funct3: 0x2,
15591 rs1: 0x0,
15592 rs2: 0x0,
15593 csr: 0x8a0,
15594 funct7: 0x45,
15595 },
15596 Opcode::VAESKF2VI => Inst {
15597 opcode: 0x77,
15598 funct3: 0x2,
15599 rs1: 0x0,
15600 rs2: 0x0,
15601 csr: 0xaa0,
15602 funct7: 0x55,
15603 },
15604 Opcode::VAESZVS => Inst {
15605 opcode: 0x77,
15606 funct3: 0x2,
15607 rs1: 0x7,
15608 rs2: 0x0,
15609 csr: 0xa60,
15610 funct7: 0x53,
15611 },
15612 Opcode::VANDVI => Inst {
15613 opcode: 0x57,
15614 funct3: 0x3,
15615 rs1: 0x0,
15616 rs2: 0x0,
15617 csr: 0x240,
15618 funct7: 0x12,
15619 },
15620 Opcode::VANDVV => Inst {
15621 opcode: 0x57,
15622 funct3: 0x0,
15623 rs1: 0x0,
15624 rs2: 0x0,
15625 csr: 0x240,
15626 funct7: 0x12,
15627 },
15628 Opcode::VANDVX => Inst {
15629 opcode: 0x57,
15630 funct3: 0x4,
15631 rs1: 0x0,
15632 rs2: 0x0,
15633 csr: 0x240,
15634 funct7: 0x12,
15635 },
15636 Opcode::VANDNVV => Inst {
15637 opcode: 0x57,
15638 funct3: 0x0,
15639 rs1: 0x0,
15640 rs2: 0x0,
15641 csr: 0x40,
15642 funct7: 0x2,
15643 },
15644 Opcode::VANDNVX => Inst {
15645 opcode: 0x57,
15646 funct3: 0x4,
15647 rs1: 0x0,
15648 rs2: 0x0,
15649 csr: 0x40,
15650 funct7: 0x2,
15651 },
15652 Opcode::VASUBVV => Inst {
15653 opcode: 0x57,
15654 funct3: 0x2,
15655 rs1: 0x0,
15656 rs2: 0x0,
15657 csr: 0x2c0,
15658 funct7: 0x16,
15659 },
15660 Opcode::VASUBVX => Inst {
15661 opcode: 0x57,
15662 funct3: 0x6,
15663 rs1: 0x0,
15664 rs2: 0x0,
15665 csr: 0x2c0,
15666 funct7: 0x16,
15667 },
15668 Opcode::VASUBUVV => Inst {
15669 opcode: 0x57,
15670 funct3: 0x2,
15671 rs1: 0x0,
15672 rs2: 0x0,
15673 csr: 0x280,
15674 funct7: 0x14,
15675 },
15676 Opcode::VASUBUVX => Inst {
15677 opcode: 0x57,
15678 funct3: 0x6,
15679 rs1: 0x0,
15680 rs2: 0x0,
15681 csr: 0x280,
15682 funct7: 0x14,
15683 },
15684 Opcode::VBREV8V => Inst {
15685 opcode: 0x57,
15686 funct3: 0x2,
15687 rs1: 0x8,
15688 rs2: 0x0,
15689 csr: 0x480,
15690 funct7: 0x24,
15691 },
15692 Opcode::VBREVV => Inst {
15693 opcode: 0x57,
15694 funct3: 0x2,
15695 rs1: 0xa,
15696 rs2: 0x0,
15697 csr: 0x480,
15698 funct7: 0x24,
15699 },
15700 Opcode::VCLMULVV => Inst {
15701 opcode: 0x57,
15702 funct3: 0x2,
15703 rs1: 0x0,
15704 rs2: 0x0,
15705 csr: 0x300,
15706 funct7: 0x18,
15707 },
15708 Opcode::VCLMULVX => Inst {
15709 opcode: 0x57,
15710 funct3: 0x6,
15711 rs1: 0x0,
15712 rs2: 0x0,
15713 csr: 0x300,
15714 funct7: 0x18,
15715 },
15716 Opcode::VCLMULHVV => Inst {
15717 opcode: 0x57,
15718 funct3: 0x2,
15719 rs1: 0x0,
15720 rs2: 0x0,
15721 csr: 0x340,
15722 funct7: 0x1a,
15723 },
15724 Opcode::VCLMULHVX => Inst {
15725 opcode: 0x57,
15726 funct3: 0x6,
15727 rs1: 0x0,
15728 rs2: 0x0,
15729 csr: 0x340,
15730 funct7: 0x1a,
15731 },
15732 Opcode::VCLZV => Inst {
15733 opcode: 0x57,
15734 funct3: 0x2,
15735 rs1: 0xc,
15736 rs2: 0x0,
15737 csr: 0x480,
15738 funct7: 0x24,
15739 },
15740 Opcode::VCOMPRESSVM => Inst {
15741 opcode: 0x57,
15742 funct3: 0x2,
15743 rs1: 0x0,
15744 rs2: 0x0,
15745 csr: 0x5e0,
15746 funct7: 0x2f,
15747 },
15748 Opcode::VCPOPM => Inst {
15749 opcode: 0x57,
15750 funct3: 0x2,
15751 rs1: 0x10,
15752 rs2: 0x0,
15753 csr: 0x400,
15754 funct7: 0x20,
15755 },
15756 Opcode::VCPOPV => Inst {
15757 opcode: 0x57,
15758 funct3: 0x2,
15759 rs1: 0xe,
15760 rs2: 0x0,
15761 csr: 0x480,
15762 funct7: 0x24,
15763 },
15764 Opcode::VCTZV => Inst {
15765 opcode: 0x57,
15766 funct3: 0x2,
15767 rs1: 0xd,
15768 rs2: 0x0,
15769 csr: 0x480,
15770 funct7: 0x24,
15771 },
15772 Opcode::VDIVVV => Inst {
15773 opcode: 0x57,
15774 funct3: 0x2,
15775 rs1: 0x0,
15776 rs2: 0x0,
15777 csr: 0x840,
15778 funct7: 0x42,
15779 },
15780 Opcode::VDIVVX => Inst {
15781 opcode: 0x57,
15782 funct3: 0x6,
15783 rs1: 0x0,
15784 rs2: 0x0,
15785 csr: 0x840,
15786 funct7: 0x42,
15787 },
15788 Opcode::VDIVUVV => Inst {
15789 opcode: 0x57,
15790 funct3: 0x2,
15791 rs1: 0x0,
15792 rs2: 0x0,
15793 csr: 0x800,
15794 funct7: 0x40,
15795 },
15796 Opcode::VDIVUVX => Inst {
15797 opcode: 0x57,
15798 funct3: 0x6,
15799 rs1: 0x0,
15800 rs2: 0x0,
15801 csr: 0x800,
15802 funct7: 0x40,
15803 },
15804 Opcode::VFADDVF => Inst {
15805 opcode: 0x57,
15806 funct3: 0x5,
15807 rs1: 0x0,
15808 rs2: 0x0,
15809 csr: 0x0,
15810 funct7: 0x0,
15811 },
15812 Opcode::VFADDVV => Inst {
15813 opcode: 0x57,
15814 funct3: 0x1,
15815 rs1: 0x0,
15816 rs2: 0x0,
15817 csr: 0x0,
15818 funct7: 0x0,
15819 },
15820 Opcode::VFCLASSV => Inst {
15821 opcode: 0x57,
15822 funct3: 0x1,
15823 rs1: 0x10,
15824 rs2: 0x0,
15825 csr: 0x4c0,
15826 funct7: 0x26,
15827 },
15828 Opcode::VFCVTFXV => Inst {
15829 opcode: 0x57,
15830 funct3: 0x1,
15831 rs1: 0x3,
15832 rs2: 0x0,
15833 csr: 0x480,
15834 funct7: 0x24,
15835 },
15836 Opcode::VFCVTFXUV => Inst {
15837 opcode: 0x57,
15838 funct3: 0x1,
15839 rs1: 0x2,
15840 rs2: 0x0,
15841 csr: 0x480,
15842 funct7: 0x24,
15843 },
15844 Opcode::VFCVTRTZXFV => Inst {
15845 opcode: 0x57,
15846 funct3: 0x1,
15847 rs1: 0x7,
15848 rs2: 0x0,
15849 csr: 0x480,
15850 funct7: 0x24,
15851 },
15852 Opcode::VFCVTRTZXUFV => Inst {
15853 opcode: 0x57,
15854 funct3: 0x1,
15855 rs1: 0x6,
15856 rs2: 0x0,
15857 csr: 0x480,
15858 funct7: 0x24,
15859 },
15860 Opcode::VFCVTXFV => Inst {
15861 opcode: 0x57,
15862 funct3: 0x1,
15863 rs1: 0x1,
15864 rs2: 0x0,
15865 csr: 0x480,
15866 funct7: 0x24,
15867 },
15868 Opcode::VFCVTXUFV => Inst {
15869 opcode: 0x57,
15870 funct3: 0x1,
15871 rs1: 0x0,
15872 rs2: 0x0,
15873 csr: 0x480,
15874 funct7: 0x24,
15875 },
15876 Opcode::VFDIVVF => Inst {
15877 opcode: 0x57,
15878 funct3: 0x5,
15879 rs1: 0x0,
15880 rs2: 0x0,
15881 csr: 0x800,
15882 funct7: 0x40,
15883 },
15884 Opcode::VFDIVVV => Inst {
15885 opcode: 0x57,
15886 funct3: 0x1,
15887 rs1: 0x0,
15888 rs2: 0x0,
15889 csr: 0x800,
15890 funct7: 0x40,
15891 },
15892 Opcode::VFIRSTM => Inst {
15893 opcode: 0x57,
15894 funct3: 0x2,
15895 rs1: 0x11,
15896 rs2: 0x0,
15897 csr: 0x400,
15898 funct7: 0x20,
15899 },
15900 Opcode::VFMACCVF => Inst {
15901 opcode: 0x57,
15902 funct3: 0x5,
15903 rs1: 0x0,
15904 rs2: 0x0,
15905 csr: 0xb00,
15906 funct7: 0x58,
15907 },
15908 Opcode::VFMACCVV => Inst {
15909 opcode: 0x57,
15910 funct3: 0x1,
15911 rs1: 0x0,
15912 rs2: 0x0,
15913 csr: 0xb00,
15914 funct7: 0x58,
15915 },
15916 Opcode::VFMADDVF => Inst {
15917 opcode: 0x57,
15918 funct3: 0x5,
15919 rs1: 0x0,
15920 rs2: 0x0,
15921 csr: 0xa00,
15922 funct7: 0x50,
15923 },
15924 Opcode::VFMADDVV => Inst {
15925 opcode: 0x57,
15926 funct3: 0x1,
15927 rs1: 0x0,
15928 rs2: 0x0,
15929 csr: 0xa00,
15930 funct7: 0x50,
15931 },
15932 Opcode::VFMAXVF => Inst {
15933 opcode: 0x57,
15934 funct3: 0x5,
15935 rs1: 0x0,
15936 rs2: 0x0,
15937 csr: 0x180,
15938 funct7: 0xc,
15939 },
15940 Opcode::VFMAXVV => Inst {
15941 opcode: 0x57,
15942 funct3: 0x1,
15943 rs1: 0x0,
15944 rs2: 0x0,
15945 csr: 0x180,
15946 funct7: 0xc,
15947 },
15948 Opcode::VFMERGEVFM => Inst {
15949 opcode: 0x57,
15950 funct3: 0x5,
15951 rs1: 0x0,
15952 rs2: 0x0,
15953 csr: 0x5c0,
15954 funct7: 0x2e,
15955 },
15956 Opcode::VFMINVF => Inst {
15957 opcode: 0x57,
15958 funct3: 0x5,
15959 rs1: 0x0,
15960 rs2: 0x0,
15961 csr: 0x100,
15962 funct7: 0x8,
15963 },
15964 Opcode::VFMINVV => Inst {
15965 opcode: 0x57,
15966 funct3: 0x1,
15967 rs1: 0x0,
15968 rs2: 0x0,
15969 csr: 0x100,
15970 funct7: 0x8,
15971 },
15972 Opcode::VFMSACVF => Inst {
15973 opcode: 0x57,
15974 funct3: 0x5,
15975 rs1: 0x0,
15976 rs2: 0x0,
15977 csr: 0xb80,
15978 funct7: 0x5c,
15979 },
15980 Opcode::VFMSACVV => Inst {
15981 opcode: 0x57,
15982 funct3: 0x1,
15983 rs1: 0x0,
15984 rs2: 0x0,
15985 csr: 0xb80,
15986 funct7: 0x5c,
15987 },
15988 Opcode::VFMSUBVF => Inst {
15989 opcode: 0x57,
15990 funct3: 0x5,
15991 rs1: 0x0,
15992 rs2: 0x0,
15993 csr: 0xa80,
15994 funct7: 0x54,
15995 },
15996 Opcode::VFMSUBVV => Inst {
15997 opcode: 0x57,
15998 funct3: 0x1,
15999 rs1: 0x0,
16000 rs2: 0x0,
16001 csr: 0xa80,
16002 funct7: 0x54,
16003 },
16004 Opcode::VFMULVF => Inst {
16005 opcode: 0x57,
16006 funct3: 0x5,
16007 rs1: 0x0,
16008 rs2: 0x0,
16009 csr: 0x900,
16010 funct7: 0x48,
16011 },
16012 Opcode::VFMULVV => Inst {
16013 opcode: 0x57,
16014 funct3: 0x1,
16015 rs1: 0x0,
16016 rs2: 0x0,
16017 csr: 0x900,
16018 funct7: 0x48,
16019 },
16020 Opcode::VFMVFS => Inst {
16021 opcode: 0x57,
16022 funct3: 0x1,
16023 rs1: 0x0,
16024 rs2: 0x0,
16025 csr: 0x420,
16026 funct7: 0x21,
16027 },
16028 Opcode::VFMVSF => Inst {
16029 opcode: 0x57,
16030 funct3: 0x5,
16031 rs1: 0x0,
16032 rs2: 0x0,
16033 csr: 0x420,
16034 funct7: 0x21,
16035 },
16036 Opcode::VFMVVF => Inst {
16037 opcode: 0x57,
16038 funct3: 0x5,
16039 rs1: 0x0,
16040 rs2: 0x0,
16041 csr: 0x5e0,
16042 funct7: 0x2f,
16043 },
16044 Opcode::VFNCVTFFW => Inst {
16045 opcode: 0x57,
16046 funct3: 0x1,
16047 rs1: 0x14,
16048 rs2: 0x0,
16049 csr: 0x480,
16050 funct7: 0x24,
16051 },
16052 Opcode::VFNCVTFXW => Inst {
16053 opcode: 0x57,
16054 funct3: 0x1,
16055 rs1: 0x13,
16056 rs2: 0x0,
16057 csr: 0x480,
16058 funct7: 0x24,
16059 },
16060 Opcode::VFNCVTFXUW => Inst {
16061 opcode: 0x57,
16062 funct3: 0x1,
16063 rs1: 0x12,
16064 rs2: 0x0,
16065 csr: 0x480,
16066 funct7: 0x24,
16067 },
16068 Opcode::VFNCVTRODFFW => Inst {
16069 opcode: 0x57,
16070 funct3: 0x1,
16071 rs1: 0x15,
16072 rs2: 0x0,
16073 csr: 0x480,
16074 funct7: 0x24,
16075 },
16076 Opcode::VFNCVTRTZXFW => Inst {
16077 opcode: 0x57,
16078 funct3: 0x1,
16079 rs1: 0x17,
16080 rs2: 0x0,
16081 csr: 0x480,
16082 funct7: 0x24,
16083 },
16084 Opcode::VFNCVTRTZXUFW => Inst {
16085 opcode: 0x57,
16086 funct3: 0x1,
16087 rs1: 0x16,
16088 rs2: 0x0,
16089 csr: 0x480,
16090 funct7: 0x24,
16091 },
16092 Opcode::VFNCVTXFW => Inst {
16093 opcode: 0x57,
16094 funct3: 0x1,
16095 rs1: 0x11,
16096 rs2: 0x0,
16097 csr: 0x480,
16098 funct7: 0x24,
16099 },
16100 Opcode::VFNCVTXUFW => Inst {
16101 opcode: 0x57,
16102 funct3: 0x1,
16103 rs1: 0x10,
16104 rs2: 0x0,
16105 csr: 0x480,
16106 funct7: 0x24,
16107 },
16108 Opcode::VFNMACCVF => Inst {
16109 opcode: 0x57,
16110 funct3: 0x5,
16111 rs1: 0x0,
16112 rs2: 0x0,
16113 csr: 0xb40,
16114 funct7: 0x5a,
16115 },
16116 Opcode::VFNMACCVV => Inst {
16117 opcode: 0x57,
16118 funct3: 0x1,
16119 rs1: 0x0,
16120 rs2: 0x0,
16121 csr: 0xb40,
16122 funct7: 0x5a,
16123 },
16124 Opcode::VFNMADDVF => Inst {
16125 opcode: 0x57,
16126 funct3: 0x5,
16127 rs1: 0x0,
16128 rs2: 0x0,
16129 csr: 0xa40,
16130 funct7: 0x52,
16131 },
16132 Opcode::VFNMADDVV => Inst {
16133 opcode: 0x57,
16134 funct3: 0x1,
16135 rs1: 0x0,
16136 rs2: 0x0,
16137 csr: 0xa40,
16138 funct7: 0x52,
16139 },
16140 Opcode::VFNMSACVF => Inst {
16141 opcode: 0x57,
16142 funct3: 0x5,
16143 rs1: 0x0,
16144 rs2: 0x0,
16145 csr: 0xbc0,
16146 funct7: 0x5e,
16147 },
16148 Opcode::VFNMSACVV => Inst {
16149 opcode: 0x57,
16150 funct3: 0x1,
16151 rs1: 0x0,
16152 rs2: 0x0,
16153 csr: 0xbc0,
16154 funct7: 0x5e,
16155 },
16156 Opcode::VFNMSUBVF => Inst {
16157 opcode: 0x57,
16158 funct3: 0x5,
16159 rs1: 0x0,
16160 rs2: 0x0,
16161 csr: 0xac0,
16162 funct7: 0x56,
16163 },
16164 Opcode::VFNMSUBVV => Inst {
16165 opcode: 0x57,
16166 funct3: 0x1,
16167 rs1: 0x0,
16168 rs2: 0x0,
16169 csr: 0xac0,
16170 funct7: 0x56,
16171 },
16172 Opcode::VFRDIVVF => Inst {
16173 opcode: 0x57,
16174 funct3: 0x5,
16175 rs1: 0x0,
16176 rs2: 0x0,
16177 csr: 0x840,
16178 funct7: 0x42,
16179 },
16180 Opcode::VFREC7V => Inst {
16181 opcode: 0x57,
16182 funct3: 0x1,
16183 rs1: 0x5,
16184 rs2: 0x0,
16185 csr: 0x4c0,
16186 funct7: 0x26,
16187 },
16188 Opcode::VFREDMAXVS => Inst {
16189 opcode: 0x57,
16190 funct3: 0x1,
16191 rs1: 0x0,
16192 rs2: 0x0,
16193 csr: 0x1c0,
16194 funct7: 0xe,
16195 },
16196 Opcode::VFREDMINVS => Inst {
16197 opcode: 0x57,
16198 funct3: 0x1,
16199 rs1: 0x0,
16200 rs2: 0x0,
16201 csr: 0x140,
16202 funct7: 0xa,
16203 },
16204 Opcode::VFREDOSUMVS => Inst {
16205 opcode: 0x57,
16206 funct3: 0x1,
16207 rs1: 0x0,
16208 rs2: 0x0,
16209 csr: 0xc0,
16210 funct7: 0x6,
16211 },
16212 Opcode::VFREDSUMVS => Inst {
16213 opcode: 0x57,
16214 funct3: 0x1,
16215 rs1: 0x0,
16216 rs2: 0x0,
16217 csr: 0x40,
16218 funct7: 0x2,
16219 },
16220 Opcode::VFREDUSUMVS => Inst {
16221 opcode: 0x57,
16222 funct3: 0x1,
16223 rs1: 0x0,
16224 rs2: 0x0,
16225 csr: 0x40,
16226 funct7: 0x2,
16227 },
16228 Opcode::VFRSQRT7V => Inst {
16229 opcode: 0x57,
16230 funct3: 0x1,
16231 rs1: 0x4,
16232 rs2: 0x0,
16233 csr: 0x4c0,
16234 funct7: 0x26,
16235 },
16236 Opcode::VFRSUBVF => Inst {
16237 opcode: 0x57,
16238 funct3: 0x5,
16239 rs1: 0x0,
16240 rs2: 0x0,
16241 csr: 0x9c0,
16242 funct7: 0x4e,
16243 },
16244 Opcode::VFSGNJVF => Inst {
16245 opcode: 0x57,
16246 funct3: 0x5,
16247 rs1: 0x0,
16248 rs2: 0x0,
16249 csr: 0x200,
16250 funct7: 0x10,
16251 },
16252 Opcode::VFSGNJVV => Inst {
16253 opcode: 0x57,
16254 funct3: 0x1,
16255 rs1: 0x0,
16256 rs2: 0x0,
16257 csr: 0x200,
16258 funct7: 0x10,
16259 },
16260 Opcode::VFSGNJNVF => Inst {
16261 opcode: 0x57,
16262 funct3: 0x5,
16263 rs1: 0x0,
16264 rs2: 0x0,
16265 csr: 0x240,
16266 funct7: 0x12,
16267 },
16268 Opcode::VFSGNJNVV => Inst {
16269 opcode: 0x57,
16270 funct3: 0x1,
16271 rs1: 0x0,
16272 rs2: 0x0,
16273 csr: 0x240,
16274 funct7: 0x12,
16275 },
16276 Opcode::VFSGNJXVF => Inst {
16277 opcode: 0x57,
16278 funct3: 0x5,
16279 rs1: 0x0,
16280 rs2: 0x0,
16281 csr: 0x280,
16282 funct7: 0x14,
16283 },
16284 Opcode::VFSGNJXVV => Inst {
16285 opcode: 0x57,
16286 funct3: 0x1,
16287 rs1: 0x0,
16288 rs2: 0x0,
16289 csr: 0x280,
16290 funct7: 0x14,
16291 },
16292 Opcode::VFSLIDE1DOWNVF => Inst {
16293 opcode: 0x57,
16294 funct3: 0x5,
16295 rs1: 0x0,
16296 rs2: 0x0,
16297 csr: 0x3c0,
16298 funct7: 0x1e,
16299 },
16300 Opcode::VFSLIDE1UPVF => Inst {
16301 opcode: 0x57,
16302 funct3: 0x5,
16303 rs1: 0x0,
16304 rs2: 0x0,
16305 csr: 0x380,
16306 funct7: 0x1c,
16307 },
16308 Opcode::VFSQRTV => Inst {
16309 opcode: 0x57,
16310 funct3: 0x1,
16311 rs1: 0x0,
16312 rs2: 0x0,
16313 csr: 0x4c0,
16314 funct7: 0x26,
16315 },
16316 Opcode::VFSUBVF => Inst {
16317 opcode: 0x57,
16318 funct3: 0x5,
16319 rs1: 0x0,
16320 rs2: 0x0,
16321 csr: 0x80,
16322 funct7: 0x4,
16323 },
16324 Opcode::VFSUBVV => Inst {
16325 opcode: 0x57,
16326 funct3: 0x1,
16327 rs1: 0x0,
16328 rs2: 0x0,
16329 csr: 0x80,
16330 funct7: 0x4,
16331 },
16332 Opcode::VFWADDVF => Inst {
16333 opcode: 0x57,
16334 funct3: 0x5,
16335 rs1: 0x0,
16336 rs2: 0x0,
16337 csr: 0xc00,
16338 funct7: 0x60,
16339 },
16340 Opcode::VFWADDVV => Inst {
16341 opcode: 0x57,
16342 funct3: 0x1,
16343 rs1: 0x0,
16344 rs2: 0x0,
16345 csr: 0xc00,
16346 funct7: 0x60,
16347 },
16348 Opcode::VFWADDWF => Inst {
16349 opcode: 0x57,
16350 funct3: 0x5,
16351 rs1: 0x0,
16352 rs2: 0x0,
16353 csr: 0xd00,
16354 funct7: 0x68,
16355 },
16356 Opcode::VFWADDWV => Inst {
16357 opcode: 0x57,
16358 funct3: 0x1,
16359 rs1: 0x0,
16360 rs2: 0x0,
16361 csr: 0xd00,
16362 funct7: 0x68,
16363 },
16364 Opcode::VFWCVTFFV => Inst {
16365 opcode: 0x57,
16366 funct3: 0x1,
16367 rs1: 0xc,
16368 rs2: 0x0,
16369 csr: 0x480,
16370 funct7: 0x24,
16371 },
16372 Opcode::VFWCVTFXV => Inst {
16373 opcode: 0x57,
16374 funct3: 0x1,
16375 rs1: 0xb,
16376 rs2: 0x0,
16377 csr: 0x480,
16378 funct7: 0x24,
16379 },
16380 Opcode::VFWCVTFXUV => Inst {
16381 opcode: 0x57,
16382 funct3: 0x1,
16383 rs1: 0xa,
16384 rs2: 0x0,
16385 csr: 0x480,
16386 funct7: 0x24,
16387 },
16388 Opcode::VFWCVTRTZXFV => Inst {
16389 opcode: 0x57,
16390 funct3: 0x1,
16391 rs1: 0xf,
16392 rs2: 0x0,
16393 csr: 0x480,
16394 funct7: 0x24,
16395 },
16396 Opcode::VFWCVTRTZXUFV => Inst {
16397 opcode: 0x57,
16398 funct3: 0x1,
16399 rs1: 0xe,
16400 rs2: 0x0,
16401 csr: 0x480,
16402 funct7: 0x24,
16403 },
16404 Opcode::VFWCVTXFV => Inst {
16405 opcode: 0x57,
16406 funct3: 0x1,
16407 rs1: 0x9,
16408 rs2: 0x0,
16409 csr: 0x480,
16410 funct7: 0x24,
16411 },
16412 Opcode::VFWCVTXUFV => Inst {
16413 opcode: 0x57,
16414 funct3: 0x1,
16415 rs1: 0x8,
16416 rs2: 0x0,
16417 csr: 0x480,
16418 funct7: 0x24,
16419 },
16420 Opcode::VFWMACCVF => Inst {
16421 opcode: 0x57,
16422 funct3: 0x5,
16423 rs1: 0x0,
16424 rs2: 0x0,
16425 csr: 0xf00,
16426 funct7: 0x78,
16427 },
16428 Opcode::VFWMACCVV => Inst {
16429 opcode: 0x57,
16430 funct3: 0x1,
16431 rs1: 0x0,
16432 rs2: 0x0,
16433 csr: 0xf00,
16434 funct7: 0x78,
16435 },
16436 Opcode::VFWMSACVF => Inst {
16437 opcode: 0x57,
16438 funct3: 0x5,
16439 rs1: 0x0,
16440 rs2: 0x0,
16441 csr: 0xf80,
16442 funct7: 0x7c,
16443 },
16444 Opcode::VFWMSACVV => Inst {
16445 opcode: 0x57,
16446 funct3: 0x1,
16447 rs1: 0x0,
16448 rs2: 0x0,
16449 csr: 0xf80,
16450 funct7: 0x7c,
16451 },
16452 Opcode::VFWMULVF => Inst {
16453 opcode: 0x57,
16454 funct3: 0x5,
16455 rs1: 0x0,
16456 rs2: 0x0,
16457 csr: 0xe00,
16458 funct7: 0x70,
16459 },
16460 Opcode::VFWMULVV => Inst {
16461 opcode: 0x57,
16462 funct3: 0x1,
16463 rs1: 0x0,
16464 rs2: 0x0,
16465 csr: 0xe00,
16466 funct7: 0x70,
16467 },
16468 Opcode::VFWNMACCVF => Inst {
16469 opcode: 0x57,
16470 funct3: 0x5,
16471 rs1: 0x0,
16472 rs2: 0x0,
16473 csr: 0xf40,
16474 funct7: 0x7a,
16475 },
16476 Opcode::VFWNMACCVV => Inst {
16477 opcode: 0x57,
16478 funct3: 0x1,
16479 rs1: 0x0,
16480 rs2: 0x0,
16481 csr: 0xf40,
16482 funct7: 0x7a,
16483 },
16484 Opcode::VFWNMSACVF => Inst {
16485 opcode: 0x57,
16486 funct3: 0x5,
16487 rs1: 0x0,
16488 rs2: 0x0,
16489 csr: 0xfc0,
16490 funct7: 0x7e,
16491 },
16492 Opcode::VFWNMSACVV => Inst {
16493 opcode: 0x57,
16494 funct3: 0x1,
16495 rs1: 0x0,
16496 rs2: 0x0,
16497 csr: 0xfc0,
16498 funct7: 0x7e,
16499 },
16500 Opcode::VFWREDOSUMVS => Inst {
16501 opcode: 0x57,
16502 funct3: 0x1,
16503 rs1: 0x0,
16504 rs2: 0x0,
16505 csr: 0xcc0,
16506 funct7: 0x66,
16507 },
16508 Opcode::VFWREDSUMVS => Inst {
16509 opcode: 0x57,
16510 funct3: 0x1,
16511 rs1: 0x0,
16512 rs2: 0x0,
16513 csr: 0xc40,
16514 funct7: 0x62,
16515 },
16516 Opcode::VFWREDUSUMVS => Inst {
16517 opcode: 0x57,
16518 funct3: 0x1,
16519 rs1: 0x0,
16520 rs2: 0x0,
16521 csr: 0xc40,
16522 funct7: 0x62,
16523 },
16524 Opcode::VFWSUBVF => Inst {
16525 opcode: 0x57,
16526 funct3: 0x5,
16527 rs1: 0x0,
16528 rs2: 0x0,
16529 csr: 0xc80,
16530 funct7: 0x64,
16531 },
16532 Opcode::VFWSUBVV => Inst {
16533 opcode: 0x57,
16534 funct3: 0x1,
16535 rs1: 0x0,
16536 rs2: 0x0,
16537 csr: 0xc80,
16538 funct7: 0x64,
16539 },
16540 Opcode::VFWSUBWF => Inst {
16541 opcode: 0x57,
16542 funct3: 0x5,
16543 rs1: 0x0,
16544 rs2: 0x0,
16545 csr: 0xd80,
16546 funct7: 0x6c,
16547 },
16548 Opcode::VFWSUBWV => Inst {
16549 opcode: 0x57,
16550 funct3: 0x1,
16551 rs1: 0x0,
16552 rs2: 0x0,
16553 csr: 0xd80,
16554 funct7: 0x6c,
16555 },
16556 Opcode::VGHSHVV => Inst {
16557 opcode: 0x77,
16558 funct3: 0x2,
16559 rs1: 0x0,
16560 rs2: 0x0,
16561 csr: 0xb20,
16562 funct7: 0x59,
16563 },
16564 Opcode::VGMULVV => Inst {
16565 opcode: 0x77,
16566 funct3: 0x2,
16567 rs1: 0x11,
16568 rs2: 0x0,
16569 csr: 0xa20,
16570 funct7: 0x51,
16571 },
16572 Opcode::VIDV => Inst {
16573 opcode: 0x57,
16574 funct3: 0x2,
16575 rs1: 0x11,
16576 rs2: 0x0,
16577 csr: 0x500,
16578 funct7: 0x28,
16579 },
16580 Opcode::VIOTAM => Inst {
16581 opcode: 0x57,
16582 funct3: 0x2,
16583 rs1: 0x10,
16584 rs2: 0x0,
16585 csr: 0x500,
16586 funct7: 0x28,
16587 },
16588 Opcode::VL1RV => Inst {
16589 opcode: 0x7,
16590 funct3: 0x0,
16591 rs1: 0x0,
16592 rs2: 0x8,
16593 csr: 0x28,
16594 funct7: 0x1,
16595 },
16596 Opcode::VL1RE16V => Inst {
16597 opcode: 0x7,
16598 funct3: 0x5,
16599 rs1: 0x0,
16600 rs2: 0x8,
16601 csr: 0x28,
16602 funct7: 0x1,
16603 },
16604 Opcode::VL1RE32V => Inst {
16605 opcode: 0x7,
16606 funct3: 0x6,
16607 rs1: 0x0,
16608 rs2: 0x8,
16609 csr: 0x28,
16610 funct7: 0x1,
16611 },
16612 Opcode::VL1RE64V => Inst {
16613 opcode: 0x7,
16614 funct3: 0x7,
16615 rs1: 0x0,
16616 rs2: 0x8,
16617 csr: 0x28,
16618 funct7: 0x1,
16619 },
16620 Opcode::VL1RE8V => Inst {
16621 opcode: 0x7,
16622 funct3: 0x0,
16623 rs1: 0x0,
16624 rs2: 0x8,
16625 csr: 0x28,
16626 funct7: 0x1,
16627 },
16628 Opcode::VL2RV => Inst {
16629 opcode: 0x7,
16630 funct3: 0x0,
16631 rs1: 0x0,
16632 rs2: 0x8,
16633 csr: 0x228,
16634 funct7: 0x11,
16635 },
16636 Opcode::VL2RE16V => Inst {
16637 opcode: 0x7,
16638 funct3: 0x5,
16639 rs1: 0x0,
16640 rs2: 0x8,
16641 csr: 0x228,
16642 funct7: 0x11,
16643 },
16644 Opcode::VL2RE32V => Inst {
16645 opcode: 0x7,
16646 funct3: 0x6,
16647 rs1: 0x0,
16648 rs2: 0x8,
16649 csr: 0x228,
16650 funct7: 0x11,
16651 },
16652 Opcode::VL2RE64V => Inst {
16653 opcode: 0x7,
16654 funct3: 0x7,
16655 rs1: 0x0,
16656 rs2: 0x8,
16657 csr: 0x228,
16658 funct7: 0x11,
16659 },
16660 Opcode::VL2RE8V => Inst {
16661 opcode: 0x7,
16662 funct3: 0x0,
16663 rs1: 0x0,
16664 rs2: 0x8,
16665 csr: 0x228,
16666 funct7: 0x11,
16667 },
16668 Opcode::VL4RV => Inst {
16669 opcode: 0x7,
16670 funct3: 0x0,
16671 rs1: 0x0,
16672 rs2: 0x8,
16673 csr: 0x628,
16674 funct7: 0x31,
16675 },
16676 Opcode::VL4RE16V => Inst {
16677 opcode: 0x7,
16678 funct3: 0x5,
16679 rs1: 0x0,
16680 rs2: 0x8,
16681 csr: 0x628,
16682 funct7: 0x31,
16683 },
16684 Opcode::VL4RE32V => Inst {
16685 opcode: 0x7,
16686 funct3: 0x6,
16687 rs1: 0x0,
16688 rs2: 0x8,
16689 csr: 0x628,
16690 funct7: 0x31,
16691 },
16692 Opcode::VL4RE64V => Inst {
16693 opcode: 0x7,
16694 funct3: 0x7,
16695 rs1: 0x0,
16696 rs2: 0x8,
16697 csr: 0x628,
16698 funct7: 0x31,
16699 },
16700 Opcode::VL4RE8V => Inst {
16701 opcode: 0x7,
16702 funct3: 0x0,
16703 rs1: 0x0,
16704 rs2: 0x8,
16705 csr: 0x628,
16706 funct7: 0x31,
16707 },
16708 Opcode::VL8RV => Inst {
16709 opcode: 0x7,
16710 funct3: 0x0,
16711 rs1: 0x0,
16712 rs2: 0x8,
16713 csr: 0xe28,
16714 funct7: 0x71,
16715 },
16716 Opcode::VL8RE16V => Inst {
16717 opcode: 0x7,
16718 funct3: 0x5,
16719 rs1: 0x0,
16720 rs2: 0x8,
16721 csr: 0xe28,
16722 funct7: 0x71,
16723 },
16724 Opcode::VL8RE32V => Inst {
16725 opcode: 0x7,
16726 funct3: 0x6,
16727 rs1: 0x0,
16728 rs2: 0x8,
16729 csr: 0xe28,
16730 funct7: 0x71,
16731 },
16732 Opcode::VL8RE64V => Inst {
16733 opcode: 0x7,
16734 funct3: 0x7,
16735 rs1: 0x0,
16736 rs2: 0x8,
16737 csr: 0xe28,
16738 funct7: 0x71,
16739 },
16740 Opcode::VL8RE8V => Inst {
16741 opcode: 0x7,
16742 funct3: 0x0,
16743 rs1: 0x0,
16744 rs2: 0x8,
16745 csr: 0xe28,
16746 funct7: 0x71,
16747 },
16748 Opcode::VLE16V => Inst {
16749 opcode: 0x7,
16750 funct3: 0x5,
16751 rs1: 0x0,
16752 rs2: 0x0,
16753 csr: 0x0,
16754 funct7: 0x0,
16755 },
16756 Opcode::VLE16FFV => Inst {
16757 opcode: 0x7,
16758 funct3: 0x5,
16759 rs1: 0x0,
16760 rs2: 0x10,
16761 csr: 0x10,
16762 funct7: 0x0,
16763 },
16764 Opcode::VLE1V => Inst {
16765 opcode: 0x7,
16766 funct3: 0x0,
16767 rs1: 0x0,
16768 rs2: 0xb,
16769 csr: 0x2b,
16770 funct7: 0x1,
16771 },
16772 Opcode::VLE32V => Inst {
16773 opcode: 0x7,
16774 funct3: 0x6,
16775 rs1: 0x0,
16776 rs2: 0x0,
16777 csr: 0x0,
16778 funct7: 0x0,
16779 },
16780 Opcode::VLE32FFV => Inst {
16781 opcode: 0x7,
16782 funct3: 0x6,
16783 rs1: 0x0,
16784 rs2: 0x10,
16785 csr: 0x10,
16786 funct7: 0x0,
16787 },
16788 Opcode::VLE64V => Inst {
16789 opcode: 0x7,
16790 funct3: 0x7,
16791 rs1: 0x0,
16792 rs2: 0x0,
16793 csr: 0x0,
16794 funct7: 0x0,
16795 },
16796 Opcode::VLE64FFV => Inst {
16797 opcode: 0x7,
16798 funct3: 0x7,
16799 rs1: 0x0,
16800 rs2: 0x10,
16801 csr: 0x10,
16802 funct7: 0x0,
16803 },
16804 Opcode::VLE8V => Inst {
16805 opcode: 0x7,
16806 funct3: 0x0,
16807 rs1: 0x0,
16808 rs2: 0x0,
16809 csr: 0x0,
16810 funct7: 0x0,
16811 },
16812 Opcode::VLE8FFV => Inst {
16813 opcode: 0x7,
16814 funct3: 0x0,
16815 rs1: 0x0,
16816 rs2: 0x10,
16817 csr: 0x10,
16818 funct7: 0x0,
16819 },
16820 Opcode::VLMV => Inst {
16821 opcode: 0x7,
16822 funct3: 0x0,
16823 rs1: 0x0,
16824 rs2: 0xb,
16825 csr: 0x2b,
16826 funct7: 0x1,
16827 },
16828 Opcode::VLOXEI16V => Inst {
16829 opcode: 0x7,
16830 funct3: 0x5,
16831 rs1: 0x0,
16832 rs2: 0x0,
16833 csr: 0xc0,
16834 funct7: 0x6,
16835 },
16836 Opcode::VLOXEI32V => Inst {
16837 opcode: 0x7,
16838 funct3: 0x6,
16839 rs1: 0x0,
16840 rs2: 0x0,
16841 csr: 0xc0,
16842 funct7: 0x6,
16843 },
16844 Opcode::VLOXEI64V => Inst {
16845 opcode: 0x7,
16846 funct3: 0x7,
16847 rs1: 0x0,
16848 rs2: 0x0,
16849 csr: 0xc0,
16850 funct7: 0x6,
16851 },
16852 Opcode::VLOXEI8V => Inst {
16853 opcode: 0x7,
16854 funct3: 0x0,
16855 rs1: 0x0,
16856 rs2: 0x0,
16857 csr: 0xc0,
16858 funct7: 0x6,
16859 },
16860 Opcode::VLSE16V => Inst {
16861 opcode: 0x7,
16862 funct3: 0x5,
16863 rs1: 0x0,
16864 rs2: 0x0,
16865 csr: 0x80,
16866 funct7: 0x4,
16867 },
16868 Opcode::VLSE32V => Inst {
16869 opcode: 0x7,
16870 funct3: 0x6,
16871 rs1: 0x0,
16872 rs2: 0x0,
16873 csr: 0x80,
16874 funct7: 0x4,
16875 },
16876 Opcode::VLSE64V => Inst {
16877 opcode: 0x7,
16878 funct3: 0x7,
16879 rs1: 0x0,
16880 rs2: 0x0,
16881 csr: 0x80,
16882 funct7: 0x4,
16883 },
16884 Opcode::VLSE8V => Inst {
16885 opcode: 0x7,
16886 funct3: 0x0,
16887 rs1: 0x0,
16888 rs2: 0x0,
16889 csr: 0x80,
16890 funct7: 0x4,
16891 },
16892 Opcode::VLUXEI16V => Inst {
16893 opcode: 0x7,
16894 funct3: 0x5,
16895 rs1: 0x0,
16896 rs2: 0x0,
16897 csr: 0x40,
16898 funct7: 0x2,
16899 },
16900 Opcode::VLUXEI32V => Inst {
16901 opcode: 0x7,
16902 funct3: 0x6,
16903 rs1: 0x0,
16904 rs2: 0x0,
16905 csr: 0x40,
16906 funct7: 0x2,
16907 },
16908 Opcode::VLUXEI64V => Inst {
16909 opcode: 0x7,
16910 funct3: 0x7,
16911 rs1: 0x0,
16912 rs2: 0x0,
16913 csr: 0x40,
16914 funct7: 0x2,
16915 },
16916 Opcode::VLUXEI8V => Inst {
16917 opcode: 0x7,
16918 funct3: 0x0,
16919 rs1: 0x0,
16920 rs2: 0x0,
16921 csr: 0x40,
16922 funct7: 0x2,
16923 },
16924 Opcode::VMACCVV => Inst {
16925 opcode: 0x57,
16926 funct3: 0x2,
16927 rs1: 0x0,
16928 rs2: 0x0,
16929 csr: 0xb40,
16930 funct7: 0x5a,
16931 },
16932 Opcode::VMACCVX => Inst {
16933 opcode: 0x57,
16934 funct3: 0x6,
16935 rs1: 0x0,
16936 rs2: 0x0,
16937 csr: 0xb40,
16938 funct7: 0x5a,
16939 },
16940 Opcode::VMADCVI => Inst {
16941 opcode: 0x57,
16942 funct3: 0x3,
16943 rs1: 0x0,
16944 rs2: 0x0,
16945 csr: 0x460,
16946 funct7: 0x23,
16947 },
16948 Opcode::VMADCVIM => Inst {
16949 opcode: 0x57,
16950 funct3: 0x3,
16951 rs1: 0x0,
16952 rs2: 0x0,
16953 csr: 0x440,
16954 funct7: 0x22,
16955 },
16956 Opcode::VMADCVV => Inst {
16957 opcode: 0x57,
16958 funct3: 0x0,
16959 rs1: 0x0,
16960 rs2: 0x0,
16961 csr: 0x460,
16962 funct7: 0x23,
16963 },
16964 Opcode::VMADCVVM => Inst {
16965 opcode: 0x57,
16966 funct3: 0x0,
16967 rs1: 0x0,
16968 rs2: 0x0,
16969 csr: 0x440,
16970 funct7: 0x22,
16971 },
16972 Opcode::VMADCVX => Inst {
16973 opcode: 0x57,
16974 funct3: 0x4,
16975 rs1: 0x0,
16976 rs2: 0x0,
16977 csr: 0x460,
16978 funct7: 0x23,
16979 },
16980 Opcode::VMADCVXM => Inst {
16981 opcode: 0x57,
16982 funct3: 0x4,
16983 rs1: 0x0,
16984 rs2: 0x0,
16985 csr: 0x440,
16986 funct7: 0x22,
16987 },
16988 Opcode::VMADDVV => Inst {
16989 opcode: 0x57,
16990 funct3: 0x2,
16991 rs1: 0x0,
16992 rs2: 0x0,
16993 csr: 0xa40,
16994 funct7: 0x52,
16995 },
16996 Opcode::VMADDVX => Inst {
16997 opcode: 0x57,
16998 funct3: 0x6,
16999 rs1: 0x0,
17000 rs2: 0x0,
17001 csr: 0xa40,
17002 funct7: 0x52,
17003 },
17004 Opcode::VMANDMM => Inst {
17005 opcode: 0x57,
17006 funct3: 0x2,
17007 rs1: 0x0,
17008 rs2: 0x0,
17009 csr: 0x660,
17010 funct7: 0x33,
17011 },
17012 Opcode::VMANDNMM => Inst {
17013 opcode: 0x57,
17014 funct3: 0x2,
17015 rs1: 0x0,
17016 rs2: 0x0,
17017 csr: 0x620,
17018 funct7: 0x31,
17019 },
17020 Opcode::VMANDNOTMM => Inst {
17021 opcode: 0x57,
17022 funct3: 0x2,
17023 rs1: 0x0,
17024 rs2: 0x0,
17025 csr: 0x600,
17026 funct7: 0x30,
17027 },
17028 Opcode::VMAXVV => Inst {
17029 opcode: 0x57,
17030 funct3: 0x0,
17031 rs1: 0x0,
17032 rs2: 0x0,
17033 csr: 0x1c0,
17034 funct7: 0xe,
17035 },
17036 Opcode::VMAXVX => Inst {
17037 opcode: 0x57,
17038 funct3: 0x4,
17039 rs1: 0x0,
17040 rs2: 0x0,
17041 csr: 0x1c0,
17042 funct7: 0xe,
17043 },
17044 Opcode::VMAXUVV => Inst {
17045 opcode: 0x57,
17046 funct3: 0x0,
17047 rs1: 0x0,
17048 rs2: 0x0,
17049 csr: 0x180,
17050 funct7: 0xc,
17051 },
17052 Opcode::VMAXUVX => Inst {
17053 opcode: 0x57,
17054 funct3: 0x4,
17055 rs1: 0x0,
17056 rs2: 0x0,
17057 csr: 0x180,
17058 funct7: 0xc,
17059 },
17060 Opcode::VMERGEVIM => Inst {
17061 opcode: 0x57,
17062 funct3: 0x3,
17063 rs1: 0x0,
17064 rs2: 0x0,
17065 csr: 0x5c0,
17066 funct7: 0x2e,
17067 },
17068 Opcode::VMERGEVVM => Inst {
17069 opcode: 0x57,
17070 funct3: 0x0,
17071 rs1: 0x0,
17072 rs2: 0x0,
17073 csr: 0x5c0,
17074 funct7: 0x2e,
17075 },
17076 Opcode::VMERGEVXM => Inst {
17077 opcode: 0x57,
17078 funct3: 0x4,
17079 rs1: 0x0,
17080 rs2: 0x0,
17081 csr: 0x5c0,
17082 funct7: 0x2e,
17083 },
17084 Opcode::VMFEQVF => Inst {
17085 opcode: 0x57,
17086 funct3: 0x5,
17087 rs1: 0x0,
17088 rs2: 0x0,
17089 csr: 0x600,
17090 funct7: 0x30,
17091 },
17092 Opcode::VMFEQVV => Inst {
17093 opcode: 0x57,
17094 funct3: 0x1,
17095 rs1: 0x0,
17096 rs2: 0x0,
17097 csr: 0x600,
17098 funct7: 0x30,
17099 },
17100 Opcode::VMFGEVF => Inst {
17101 opcode: 0x57,
17102 funct3: 0x5,
17103 rs1: 0x0,
17104 rs2: 0x0,
17105 csr: 0x7c0,
17106 funct7: 0x3e,
17107 },
17108 Opcode::VMFGTVF => Inst {
17109 opcode: 0x57,
17110 funct3: 0x5,
17111 rs1: 0x0,
17112 rs2: 0x0,
17113 csr: 0x740,
17114 funct7: 0x3a,
17115 },
17116 Opcode::VMFLEVF => Inst {
17117 opcode: 0x57,
17118 funct3: 0x5,
17119 rs1: 0x0,
17120 rs2: 0x0,
17121 csr: 0x640,
17122 funct7: 0x32,
17123 },
17124 Opcode::VMFLEVV => Inst {
17125 opcode: 0x57,
17126 funct3: 0x1,
17127 rs1: 0x0,
17128 rs2: 0x0,
17129 csr: 0x640,
17130 funct7: 0x32,
17131 },
17132 Opcode::VMFLTVF => Inst {
17133 opcode: 0x57,
17134 funct3: 0x5,
17135 rs1: 0x0,
17136 rs2: 0x0,
17137 csr: 0x6c0,
17138 funct7: 0x36,
17139 },
17140 Opcode::VMFLTVV => Inst {
17141 opcode: 0x57,
17142 funct3: 0x1,
17143 rs1: 0x0,
17144 rs2: 0x0,
17145 csr: 0x6c0,
17146 funct7: 0x36,
17147 },
17148 Opcode::VMFNEVF => Inst {
17149 opcode: 0x57,
17150 funct3: 0x5,
17151 rs1: 0x0,
17152 rs2: 0x0,
17153 csr: 0x700,
17154 funct7: 0x38,
17155 },
17156 Opcode::VMFNEVV => Inst {
17157 opcode: 0x57,
17158 funct3: 0x1,
17159 rs1: 0x0,
17160 rs2: 0x0,
17161 csr: 0x700,
17162 funct7: 0x38,
17163 },
17164 Opcode::VMINVV => Inst {
17165 opcode: 0x57,
17166 funct3: 0x0,
17167 rs1: 0x0,
17168 rs2: 0x0,
17169 csr: 0x140,
17170 funct7: 0xa,
17171 },
17172 Opcode::VMINVX => Inst {
17173 opcode: 0x57,
17174 funct3: 0x4,
17175 rs1: 0x0,
17176 rs2: 0x0,
17177 csr: 0x140,
17178 funct7: 0xa,
17179 },
17180 Opcode::VMINUVV => Inst {
17181 opcode: 0x57,
17182 funct3: 0x0,
17183 rs1: 0x0,
17184 rs2: 0x0,
17185 csr: 0x100,
17186 funct7: 0x8,
17187 },
17188 Opcode::VMINUVX => Inst {
17189 opcode: 0x57,
17190 funct3: 0x4,
17191 rs1: 0x0,
17192 rs2: 0x0,
17193 csr: 0x100,
17194 funct7: 0x8,
17195 },
17196 Opcode::VMNANDMM => Inst {
17197 opcode: 0x57,
17198 funct3: 0x2,
17199 rs1: 0x0,
17200 rs2: 0x0,
17201 csr: 0x760,
17202 funct7: 0x3b,
17203 },
17204 Opcode::VMNORMM => Inst {
17205 opcode: 0x57,
17206 funct3: 0x2,
17207 rs1: 0x0,
17208 rs2: 0x0,
17209 csr: 0x7a0,
17210 funct7: 0x3d,
17211 },
17212 Opcode::VMORMM => Inst {
17213 opcode: 0x57,
17214 funct3: 0x2,
17215 rs1: 0x0,
17216 rs2: 0x0,
17217 csr: 0x6a0,
17218 funct7: 0x35,
17219 },
17220 Opcode::VMORNMM => Inst {
17221 opcode: 0x57,
17222 funct3: 0x2,
17223 rs1: 0x0,
17224 rs2: 0x0,
17225 csr: 0x720,
17226 funct7: 0x39,
17227 },
17228 Opcode::VMORNOTMM => Inst {
17229 opcode: 0x57,
17230 funct3: 0x2,
17231 rs1: 0x0,
17232 rs2: 0x0,
17233 csr: 0x700,
17234 funct7: 0x38,
17235 },
17236 Opcode::VMSBCVV => Inst {
17237 opcode: 0x57,
17238 funct3: 0x0,
17239 rs1: 0x0,
17240 rs2: 0x0,
17241 csr: 0x4e0,
17242 funct7: 0x27,
17243 },
17244 Opcode::VMSBCVVM => Inst {
17245 opcode: 0x57,
17246 funct3: 0x0,
17247 rs1: 0x0,
17248 rs2: 0x0,
17249 csr: 0x4c0,
17250 funct7: 0x26,
17251 },
17252 Opcode::VMSBCVX => Inst {
17253 opcode: 0x57,
17254 funct3: 0x4,
17255 rs1: 0x0,
17256 rs2: 0x0,
17257 csr: 0x4e0,
17258 funct7: 0x27,
17259 },
17260 Opcode::VMSBCVXM => Inst {
17261 opcode: 0x57,
17262 funct3: 0x4,
17263 rs1: 0x0,
17264 rs2: 0x0,
17265 csr: 0x4c0,
17266 funct7: 0x26,
17267 },
17268 Opcode::VMSBFM => Inst {
17269 opcode: 0x57,
17270 funct3: 0x2,
17271 rs1: 0x1,
17272 rs2: 0x0,
17273 csr: 0x500,
17274 funct7: 0x28,
17275 },
17276 Opcode::VMSEQVI => Inst {
17277 opcode: 0x57,
17278 funct3: 0x3,
17279 rs1: 0x0,
17280 rs2: 0x0,
17281 csr: 0x600,
17282 funct7: 0x30,
17283 },
17284 Opcode::VMSEQVV => Inst {
17285 opcode: 0x57,
17286 funct3: 0x0,
17287 rs1: 0x0,
17288 rs2: 0x0,
17289 csr: 0x600,
17290 funct7: 0x30,
17291 },
17292 Opcode::VMSEQVX => Inst {
17293 opcode: 0x57,
17294 funct3: 0x4,
17295 rs1: 0x0,
17296 rs2: 0x0,
17297 csr: 0x600,
17298 funct7: 0x30,
17299 },
17300 Opcode::VMSGTVI => Inst {
17301 opcode: 0x57,
17302 funct3: 0x3,
17303 rs1: 0x0,
17304 rs2: 0x0,
17305 csr: 0x7c0,
17306 funct7: 0x3e,
17307 },
17308 Opcode::VMSGTVX => Inst {
17309 opcode: 0x57,
17310 funct3: 0x4,
17311 rs1: 0x0,
17312 rs2: 0x0,
17313 csr: 0x7c0,
17314 funct7: 0x3e,
17315 },
17316 Opcode::VMSGTUVI => Inst {
17317 opcode: 0x57,
17318 funct3: 0x3,
17319 rs1: 0x0,
17320 rs2: 0x0,
17321 csr: 0x780,
17322 funct7: 0x3c,
17323 },
17324 Opcode::VMSGTUVX => Inst {
17325 opcode: 0x57,
17326 funct3: 0x4,
17327 rs1: 0x0,
17328 rs2: 0x0,
17329 csr: 0x780,
17330 funct7: 0x3c,
17331 },
17332 Opcode::VMSIFM => Inst {
17333 opcode: 0x57,
17334 funct3: 0x2,
17335 rs1: 0x3,
17336 rs2: 0x0,
17337 csr: 0x500,
17338 funct7: 0x28,
17339 },
17340 Opcode::VMSLEVI => Inst {
17341 opcode: 0x57,
17342 funct3: 0x3,
17343 rs1: 0x0,
17344 rs2: 0x0,
17345 csr: 0x740,
17346 funct7: 0x3a,
17347 },
17348 Opcode::VMSLEVV => Inst {
17349 opcode: 0x57,
17350 funct3: 0x0,
17351 rs1: 0x0,
17352 rs2: 0x0,
17353 csr: 0x740,
17354 funct7: 0x3a,
17355 },
17356 Opcode::VMSLEVX => Inst {
17357 opcode: 0x57,
17358 funct3: 0x4,
17359 rs1: 0x0,
17360 rs2: 0x0,
17361 csr: 0x740,
17362 funct7: 0x3a,
17363 },
17364 Opcode::VMSLEUVI => Inst {
17365 opcode: 0x57,
17366 funct3: 0x3,
17367 rs1: 0x0,
17368 rs2: 0x0,
17369 csr: 0x700,
17370 funct7: 0x38,
17371 },
17372 Opcode::VMSLEUVV => Inst {
17373 opcode: 0x57,
17374 funct3: 0x0,
17375 rs1: 0x0,
17376 rs2: 0x0,
17377 csr: 0x700,
17378 funct7: 0x38,
17379 },
17380 Opcode::VMSLEUVX => Inst {
17381 opcode: 0x57,
17382 funct3: 0x4,
17383 rs1: 0x0,
17384 rs2: 0x0,
17385 csr: 0x700,
17386 funct7: 0x38,
17387 },
17388 Opcode::VMSLTVV => Inst {
17389 opcode: 0x57,
17390 funct3: 0x0,
17391 rs1: 0x0,
17392 rs2: 0x0,
17393 csr: 0x6c0,
17394 funct7: 0x36,
17395 },
17396 Opcode::VMSLTVX => Inst {
17397 opcode: 0x57,
17398 funct3: 0x4,
17399 rs1: 0x0,
17400 rs2: 0x0,
17401 csr: 0x6c0,
17402 funct7: 0x36,
17403 },
17404 Opcode::VMSLTUVV => Inst {
17405 opcode: 0x57,
17406 funct3: 0x0,
17407 rs1: 0x0,
17408 rs2: 0x0,
17409 csr: 0x680,
17410 funct7: 0x34,
17411 },
17412 Opcode::VMSLTUVX => Inst {
17413 opcode: 0x57,
17414 funct3: 0x4,
17415 rs1: 0x0,
17416 rs2: 0x0,
17417 csr: 0x680,
17418 funct7: 0x34,
17419 },
17420 Opcode::VMSNEVI => Inst {
17421 opcode: 0x57,
17422 funct3: 0x3,
17423 rs1: 0x0,
17424 rs2: 0x0,
17425 csr: 0x640,
17426 funct7: 0x32,
17427 },
17428 Opcode::VMSNEVV => Inst {
17429 opcode: 0x57,
17430 funct3: 0x0,
17431 rs1: 0x0,
17432 rs2: 0x0,
17433 csr: 0x640,
17434 funct7: 0x32,
17435 },
17436 Opcode::VMSNEVX => Inst {
17437 opcode: 0x57,
17438 funct3: 0x4,
17439 rs1: 0x0,
17440 rs2: 0x0,
17441 csr: 0x640,
17442 funct7: 0x32,
17443 },
17444 Opcode::VMSOFM => Inst {
17445 opcode: 0x57,
17446 funct3: 0x2,
17447 rs1: 0x2,
17448 rs2: 0x0,
17449 csr: 0x500,
17450 funct7: 0x28,
17451 },
17452 Opcode::VMULVV => Inst {
17453 opcode: 0x57,
17454 funct3: 0x2,
17455 rs1: 0x0,
17456 rs2: 0x0,
17457 csr: 0x940,
17458 funct7: 0x4a,
17459 },
17460 Opcode::VMULVX => Inst {
17461 opcode: 0x57,
17462 funct3: 0x6,
17463 rs1: 0x0,
17464 rs2: 0x0,
17465 csr: 0x940,
17466 funct7: 0x4a,
17467 },
17468 Opcode::VMULHVV => Inst {
17469 opcode: 0x57,
17470 funct3: 0x2,
17471 rs1: 0x0,
17472 rs2: 0x0,
17473 csr: 0x9c0,
17474 funct7: 0x4e,
17475 },
17476 Opcode::VMULHVX => Inst {
17477 opcode: 0x57,
17478 funct3: 0x6,
17479 rs1: 0x0,
17480 rs2: 0x0,
17481 csr: 0x9c0,
17482 funct7: 0x4e,
17483 },
17484 Opcode::VMULHSUVV => Inst {
17485 opcode: 0x57,
17486 funct3: 0x2,
17487 rs1: 0x0,
17488 rs2: 0x0,
17489 csr: 0x980,
17490 funct7: 0x4c,
17491 },
17492 Opcode::VMULHSUVX => Inst {
17493 opcode: 0x57,
17494 funct3: 0x6,
17495 rs1: 0x0,
17496 rs2: 0x0,
17497 csr: 0x980,
17498 funct7: 0x4c,
17499 },
17500 Opcode::VMULHUVV => Inst {
17501 opcode: 0x57,
17502 funct3: 0x2,
17503 rs1: 0x0,
17504 rs2: 0x0,
17505 csr: 0x900,
17506 funct7: 0x48,
17507 },
17508 Opcode::VMULHUVX => Inst {
17509 opcode: 0x57,
17510 funct3: 0x6,
17511 rs1: 0x0,
17512 rs2: 0x0,
17513 csr: 0x900,
17514 funct7: 0x48,
17515 },
17516 Opcode::VMV1RV => Inst {
17517 opcode: 0x57,
17518 funct3: 0x3,
17519 rs1: 0x0,
17520 rs2: 0x0,
17521 csr: 0x9e0,
17522 funct7: 0x4f,
17523 },
17524 Opcode::VMV2RV => Inst {
17525 opcode: 0x57,
17526 funct3: 0x3,
17527 rs1: 0x1,
17528 rs2: 0x0,
17529 csr: 0x9e0,
17530 funct7: 0x4f,
17531 },
17532 Opcode::VMV4RV => Inst {
17533 opcode: 0x57,
17534 funct3: 0x3,
17535 rs1: 0x3,
17536 rs2: 0x0,
17537 csr: 0x9e0,
17538 funct7: 0x4f,
17539 },
17540 Opcode::VMV8RV => Inst {
17541 opcode: 0x57,
17542 funct3: 0x3,
17543 rs1: 0x7,
17544 rs2: 0x0,
17545 csr: 0x9e0,
17546 funct7: 0x4f,
17547 },
17548 Opcode::VMVSX => Inst {
17549 opcode: 0x57,
17550 funct3: 0x6,
17551 rs1: 0x0,
17552 rs2: 0x0,
17553 csr: 0x420,
17554 funct7: 0x21,
17555 },
17556 Opcode::VMVVI => Inst {
17557 opcode: 0x57,
17558 funct3: 0x3,
17559 rs1: 0x0,
17560 rs2: 0x0,
17561 csr: 0x5e0,
17562 funct7: 0x2f,
17563 },
17564 Opcode::VMVVV => Inst {
17565 opcode: 0x57,
17566 funct3: 0x0,
17567 rs1: 0x0,
17568 rs2: 0x0,
17569 csr: 0x5e0,
17570 funct7: 0x2f,
17571 },
17572 Opcode::VMVVX => Inst {
17573 opcode: 0x57,
17574 funct3: 0x4,
17575 rs1: 0x0,
17576 rs2: 0x0,
17577 csr: 0x5e0,
17578 funct7: 0x2f,
17579 },
17580 Opcode::VMVXS => Inst {
17581 opcode: 0x57,
17582 funct3: 0x2,
17583 rs1: 0x0,
17584 rs2: 0x0,
17585 csr: 0x420,
17586 funct7: 0x21,
17587 },
17588 Opcode::VMXNORMM => Inst {
17589 opcode: 0x57,
17590 funct3: 0x2,
17591 rs1: 0x0,
17592 rs2: 0x0,
17593 csr: 0x7e0,
17594 funct7: 0x3f,
17595 },
17596 Opcode::VMXORMM => Inst {
17597 opcode: 0x57,
17598 funct3: 0x2,
17599 rs1: 0x0,
17600 rs2: 0x0,
17601 csr: 0x6e0,
17602 funct7: 0x37,
17603 },
17604 Opcode::VNCLIPWI => Inst {
17605 opcode: 0x57,
17606 funct3: 0x3,
17607 rs1: 0x0,
17608 rs2: 0x0,
17609 csr: 0xbc0,
17610 funct7: 0x5e,
17611 },
17612 Opcode::VNCLIPWV => Inst {
17613 opcode: 0x57,
17614 funct3: 0x0,
17615 rs1: 0x0,
17616 rs2: 0x0,
17617 csr: 0xbc0,
17618 funct7: 0x5e,
17619 },
17620 Opcode::VNCLIPWX => Inst {
17621 opcode: 0x57,
17622 funct3: 0x4,
17623 rs1: 0x0,
17624 rs2: 0x0,
17625 csr: 0xbc0,
17626 funct7: 0x5e,
17627 },
17628 Opcode::VNCLIPUWI => Inst {
17629 opcode: 0x57,
17630 funct3: 0x3,
17631 rs1: 0x0,
17632 rs2: 0x0,
17633 csr: 0xb80,
17634 funct7: 0x5c,
17635 },
17636 Opcode::VNCLIPUWV => Inst {
17637 opcode: 0x57,
17638 funct3: 0x0,
17639 rs1: 0x0,
17640 rs2: 0x0,
17641 csr: 0xb80,
17642 funct7: 0x5c,
17643 },
17644 Opcode::VNCLIPUWX => Inst {
17645 opcode: 0x57,
17646 funct3: 0x4,
17647 rs1: 0x0,
17648 rs2: 0x0,
17649 csr: 0xb80,
17650 funct7: 0x5c,
17651 },
17652 Opcode::VNMSACVV => Inst {
17653 opcode: 0x57,
17654 funct3: 0x2,
17655 rs1: 0x0,
17656 rs2: 0x0,
17657 csr: 0xbc0,
17658 funct7: 0x5e,
17659 },
17660 Opcode::VNMSACVX => Inst {
17661 opcode: 0x57,
17662 funct3: 0x6,
17663 rs1: 0x0,
17664 rs2: 0x0,
17665 csr: 0xbc0,
17666 funct7: 0x5e,
17667 },
17668 Opcode::VNMSUBVV => Inst {
17669 opcode: 0x57,
17670 funct3: 0x2,
17671 rs1: 0x0,
17672 rs2: 0x0,
17673 csr: 0xac0,
17674 funct7: 0x56,
17675 },
17676 Opcode::VNMSUBVX => Inst {
17677 opcode: 0x57,
17678 funct3: 0x6,
17679 rs1: 0x0,
17680 rs2: 0x0,
17681 csr: 0xac0,
17682 funct7: 0x56,
17683 },
17684 Opcode::VNSRAWI => Inst {
17685 opcode: 0x57,
17686 funct3: 0x3,
17687 rs1: 0x0,
17688 rs2: 0x0,
17689 csr: 0xb40,
17690 funct7: 0x5a,
17691 },
17692 Opcode::VNSRAWV => Inst {
17693 opcode: 0x57,
17694 funct3: 0x0,
17695 rs1: 0x0,
17696 rs2: 0x0,
17697 csr: 0xb40,
17698 funct7: 0x5a,
17699 },
17700 Opcode::VNSRAWX => Inst {
17701 opcode: 0x57,
17702 funct3: 0x4,
17703 rs1: 0x0,
17704 rs2: 0x0,
17705 csr: 0xb40,
17706 funct7: 0x5a,
17707 },
17708 Opcode::VNSRLWI => Inst {
17709 opcode: 0x57,
17710 funct3: 0x3,
17711 rs1: 0x0,
17712 rs2: 0x0,
17713 csr: 0xb00,
17714 funct7: 0x58,
17715 },
17716 Opcode::VNSRLWV => Inst {
17717 opcode: 0x57,
17718 funct3: 0x0,
17719 rs1: 0x0,
17720 rs2: 0x0,
17721 csr: 0xb00,
17722 funct7: 0x58,
17723 },
17724 Opcode::VNSRLWX => Inst {
17725 opcode: 0x57,
17726 funct3: 0x4,
17727 rs1: 0x0,
17728 rs2: 0x0,
17729 csr: 0xb00,
17730 funct7: 0x58,
17731 },
17732 Opcode::VORVI => Inst {
17733 opcode: 0x57,
17734 funct3: 0x3,
17735 rs1: 0x0,
17736 rs2: 0x0,
17737 csr: 0x280,
17738 funct7: 0x14,
17739 },
17740 Opcode::VORVV => Inst {
17741 opcode: 0x57,
17742 funct3: 0x0,
17743 rs1: 0x0,
17744 rs2: 0x0,
17745 csr: 0x280,
17746 funct7: 0x14,
17747 },
17748 Opcode::VORVX => Inst {
17749 opcode: 0x57,
17750 funct3: 0x4,
17751 rs1: 0x0,
17752 rs2: 0x0,
17753 csr: 0x280,
17754 funct7: 0x14,
17755 },
17756 Opcode::VPOPCM => Inst {
17757 opcode: 0x57,
17758 funct3: 0x2,
17759 rs1: 0x10,
17760 rs2: 0x0,
17761 csr: 0x400,
17762 funct7: 0x20,
17763 },
17764 Opcode::VREDANDVS => Inst {
17765 opcode: 0x57,
17766 funct3: 0x2,
17767 rs1: 0x0,
17768 rs2: 0x0,
17769 csr: 0x40,
17770 funct7: 0x2,
17771 },
17772 Opcode::VREDMAXVS => Inst {
17773 opcode: 0x57,
17774 funct3: 0x2,
17775 rs1: 0x0,
17776 rs2: 0x0,
17777 csr: 0x1c0,
17778 funct7: 0xe,
17779 },
17780 Opcode::VREDMAXUVS => Inst {
17781 opcode: 0x57,
17782 funct3: 0x2,
17783 rs1: 0x0,
17784 rs2: 0x0,
17785 csr: 0x180,
17786 funct7: 0xc,
17787 },
17788 Opcode::VREDMINVS => Inst {
17789 opcode: 0x57,
17790 funct3: 0x2,
17791 rs1: 0x0,
17792 rs2: 0x0,
17793 csr: 0x140,
17794 funct7: 0xa,
17795 },
17796 Opcode::VREDMINUVS => Inst {
17797 opcode: 0x57,
17798 funct3: 0x2,
17799 rs1: 0x0,
17800 rs2: 0x0,
17801 csr: 0x100,
17802 funct7: 0x8,
17803 },
17804 Opcode::VREDORVS => Inst {
17805 opcode: 0x57,
17806 funct3: 0x2,
17807 rs1: 0x0,
17808 rs2: 0x0,
17809 csr: 0x80,
17810 funct7: 0x4,
17811 },
17812 Opcode::VREDSUMVS => Inst {
17813 opcode: 0x57,
17814 funct3: 0x2,
17815 rs1: 0x0,
17816 rs2: 0x0,
17817 csr: 0x0,
17818 funct7: 0x0,
17819 },
17820 Opcode::VREDXORVS => Inst {
17821 opcode: 0x57,
17822 funct3: 0x2,
17823 rs1: 0x0,
17824 rs2: 0x0,
17825 csr: 0xc0,
17826 funct7: 0x6,
17827 },
17828 Opcode::VREMVV => Inst {
17829 opcode: 0x57,
17830 funct3: 0x2,
17831 rs1: 0x0,
17832 rs2: 0x0,
17833 csr: 0x8c0,
17834 funct7: 0x46,
17835 },
17836 Opcode::VREMVX => Inst {
17837 opcode: 0x57,
17838 funct3: 0x6,
17839 rs1: 0x0,
17840 rs2: 0x0,
17841 csr: 0x8c0,
17842 funct7: 0x46,
17843 },
17844 Opcode::VREMUVV => Inst {
17845 opcode: 0x57,
17846 funct3: 0x2,
17847 rs1: 0x0,
17848 rs2: 0x0,
17849 csr: 0x880,
17850 funct7: 0x44,
17851 },
17852 Opcode::VREMUVX => Inst {
17853 opcode: 0x57,
17854 funct3: 0x6,
17855 rs1: 0x0,
17856 rs2: 0x0,
17857 csr: 0x880,
17858 funct7: 0x44,
17859 },
17860 Opcode::VREV8V => Inst {
17861 opcode: 0x57,
17862 funct3: 0x2,
17863 rs1: 0x9,
17864 rs2: 0x0,
17865 csr: 0x480,
17866 funct7: 0x24,
17867 },
17868 Opcode::VRGATHERVI => Inst {
17869 opcode: 0x57,
17870 funct3: 0x3,
17871 rs1: 0x0,
17872 rs2: 0x0,
17873 csr: 0x300,
17874 funct7: 0x18,
17875 },
17876 Opcode::VRGATHERVV => Inst {
17877 opcode: 0x57,
17878 funct3: 0x0,
17879 rs1: 0x0,
17880 rs2: 0x0,
17881 csr: 0x300,
17882 funct7: 0x18,
17883 },
17884 Opcode::VRGATHERVX => Inst {
17885 opcode: 0x57,
17886 funct3: 0x4,
17887 rs1: 0x0,
17888 rs2: 0x0,
17889 csr: 0x300,
17890 funct7: 0x18,
17891 },
17892 Opcode::VRGATHEREI16VV => Inst {
17893 opcode: 0x57,
17894 funct3: 0x0,
17895 rs1: 0x0,
17896 rs2: 0x0,
17897 csr: 0x380,
17898 funct7: 0x1c,
17899 },
17900 Opcode::VROLVV => Inst {
17901 opcode: 0x57,
17902 funct3: 0x0,
17903 rs1: 0x0,
17904 rs2: 0x0,
17905 csr: 0x540,
17906 funct7: 0x2a,
17907 },
17908 Opcode::VROLVX => Inst {
17909 opcode: 0x57,
17910 funct3: 0x4,
17911 rs1: 0x0,
17912 rs2: 0x0,
17913 csr: 0x540,
17914 funct7: 0x2a,
17915 },
17916 Opcode::VRORVI => Inst {
17917 opcode: 0x57,
17918 funct3: 0x3,
17919 rs1: 0x0,
17920 rs2: 0x0,
17921 csr: 0x500,
17922 funct7: 0x28,
17923 },
17924 Opcode::VRORVV => Inst {
17925 opcode: 0x57,
17926 funct3: 0x0,
17927 rs1: 0x0,
17928 rs2: 0x0,
17929 csr: 0x500,
17930 funct7: 0x28,
17931 },
17932 Opcode::VRORVX => Inst {
17933 opcode: 0x57,
17934 funct3: 0x4,
17935 rs1: 0x0,
17936 rs2: 0x0,
17937 csr: 0x500,
17938 funct7: 0x28,
17939 },
17940 Opcode::VRSUBVI => Inst {
17941 opcode: 0x57,
17942 funct3: 0x3,
17943 rs1: 0x0,
17944 rs2: 0x0,
17945 csr: 0xc0,
17946 funct7: 0x6,
17947 },
17948 Opcode::VRSUBVX => Inst {
17949 opcode: 0x57,
17950 funct3: 0x4,
17951 rs1: 0x0,
17952 rs2: 0x0,
17953 csr: 0xc0,
17954 funct7: 0x6,
17955 },
17956 Opcode::VS1RV => Inst {
17957 opcode: 0x27,
17958 funct3: 0x0,
17959 rs1: 0x0,
17960 rs2: 0x8,
17961 csr: 0x28,
17962 funct7: 0x1,
17963 },
17964 Opcode::VS2RV => Inst {
17965 opcode: 0x27,
17966 funct3: 0x0,
17967 rs1: 0x0,
17968 rs2: 0x8,
17969 csr: 0x228,
17970 funct7: 0x11,
17971 },
17972 Opcode::VS4RV => Inst {
17973 opcode: 0x27,
17974 funct3: 0x0,
17975 rs1: 0x0,
17976 rs2: 0x8,
17977 csr: 0x628,
17978 funct7: 0x31,
17979 },
17980 Opcode::VS8RV => Inst {
17981 opcode: 0x27,
17982 funct3: 0x0,
17983 rs1: 0x0,
17984 rs2: 0x8,
17985 csr: 0xe28,
17986 funct7: 0x71,
17987 },
17988 Opcode::VSADDVI => Inst {
17989 opcode: 0x57,
17990 funct3: 0x3,
17991 rs1: 0x0,
17992 rs2: 0x0,
17993 csr: 0x840,
17994 funct7: 0x42,
17995 },
17996 Opcode::VSADDVV => Inst {
17997 opcode: 0x57,
17998 funct3: 0x0,
17999 rs1: 0x0,
18000 rs2: 0x0,
18001 csr: 0x840,
18002 funct7: 0x42,
18003 },
18004 Opcode::VSADDVX => Inst {
18005 opcode: 0x57,
18006 funct3: 0x4,
18007 rs1: 0x0,
18008 rs2: 0x0,
18009 csr: 0x840,
18010 funct7: 0x42,
18011 },
18012 Opcode::VSADDUVI => Inst {
18013 opcode: 0x57,
18014 funct3: 0x3,
18015 rs1: 0x0,
18016 rs2: 0x0,
18017 csr: 0x800,
18018 funct7: 0x40,
18019 },
18020 Opcode::VSADDUVV => Inst {
18021 opcode: 0x57,
18022 funct3: 0x0,
18023 rs1: 0x0,
18024 rs2: 0x0,
18025 csr: 0x800,
18026 funct7: 0x40,
18027 },
18028 Opcode::VSADDUVX => Inst {
18029 opcode: 0x57,
18030 funct3: 0x4,
18031 rs1: 0x0,
18032 rs2: 0x0,
18033 csr: 0x800,
18034 funct7: 0x40,
18035 },
18036 Opcode::VSBCVVM => Inst {
18037 opcode: 0x57,
18038 funct3: 0x0,
18039 rs1: 0x0,
18040 rs2: 0x0,
18041 csr: 0x480,
18042 funct7: 0x24,
18043 },
18044 Opcode::VSBCVXM => Inst {
18045 opcode: 0x57,
18046 funct3: 0x4,
18047 rs1: 0x0,
18048 rs2: 0x0,
18049 csr: 0x480,
18050 funct7: 0x24,
18051 },
18052 Opcode::VSE16V => Inst {
18053 opcode: 0x27,
18054 funct3: 0x5,
18055 rs1: 0x0,
18056 rs2: 0x0,
18057 csr: 0x0,
18058 funct7: 0x0,
18059 },
18060 Opcode::VSE1V => Inst {
18061 opcode: 0x27,
18062 funct3: 0x0,
18063 rs1: 0x0,
18064 rs2: 0xb,
18065 csr: 0x2b,
18066 funct7: 0x1,
18067 },
18068 Opcode::VSE32V => Inst {
18069 opcode: 0x27,
18070 funct3: 0x6,
18071 rs1: 0x0,
18072 rs2: 0x0,
18073 csr: 0x0,
18074 funct7: 0x0,
18075 },
18076 Opcode::VSE64V => Inst {
18077 opcode: 0x27,
18078 funct3: 0x7,
18079 rs1: 0x0,
18080 rs2: 0x0,
18081 csr: 0x0,
18082 funct7: 0x0,
18083 },
18084 Opcode::VSE8V => Inst {
18085 opcode: 0x27,
18086 funct3: 0x0,
18087 rs1: 0x0,
18088 rs2: 0x0,
18089 csr: 0x0,
18090 funct7: 0x0,
18091 },
18092 Opcode::VSETIVLI => Inst {
18093 opcode: 0x57,
18094 funct3: 0x7,
18095 rs1: 0x0,
18096 rs2: 0x0,
18097 csr: 0xc00,
18098 funct7: 0x60,
18099 },
18100 Opcode::VSETVL => Inst {
18101 opcode: 0x57,
18102 funct3: 0x7,
18103 rs1: 0x0,
18104 rs2: 0x0,
18105 csr: 0x800,
18106 funct7: 0x40,
18107 },
18108 Opcode::VSETVLI => Inst {
18109 opcode: 0x57,
18110 funct3: 0x7,
18111 rs1: 0x0,
18112 rs2: 0x0,
18113 csr: 0x0,
18114 funct7: 0x0,
18115 },
18116 Opcode::VSEXTVF2 => Inst {
18117 opcode: 0x57,
18118 funct3: 0x2,
18119 rs1: 0x7,
18120 rs2: 0x0,
18121 csr: 0x480,
18122 funct7: 0x24,
18123 },
18124 Opcode::VSEXTVF4 => Inst {
18125 opcode: 0x57,
18126 funct3: 0x2,
18127 rs1: 0x5,
18128 rs2: 0x0,
18129 csr: 0x480,
18130 funct7: 0x24,
18131 },
18132 Opcode::VSEXTVF8 => Inst {
18133 opcode: 0x57,
18134 funct3: 0x2,
18135 rs1: 0x3,
18136 rs2: 0x0,
18137 csr: 0x480,
18138 funct7: 0x24,
18139 },
18140 Opcode::VSHA2CHVV => Inst {
18141 opcode: 0x77,
18142 funct3: 0x2,
18143 rs1: 0x0,
18144 rs2: 0x0,
18145 csr: 0xba0,
18146 funct7: 0x5d,
18147 },
18148 Opcode::VSHA2CLVV => Inst {
18149 opcode: 0x77,
18150 funct3: 0x2,
18151 rs1: 0x0,
18152 rs2: 0x0,
18153 csr: 0xbe0,
18154 funct7: 0x5f,
18155 },
18156 Opcode::VSHA2MSVV => Inst {
18157 opcode: 0x77,
18158 funct3: 0x2,
18159 rs1: 0x0,
18160 rs2: 0x0,
18161 csr: 0xb60,
18162 funct7: 0x5b,
18163 },
18164 Opcode::VSLIDE1DOWNVX => Inst {
18165 opcode: 0x57,
18166 funct3: 0x6,
18167 rs1: 0x0,
18168 rs2: 0x0,
18169 csr: 0x3c0,
18170 funct7: 0x1e,
18171 },
18172 Opcode::VSLIDE1UPVX => Inst {
18173 opcode: 0x57,
18174 funct3: 0x6,
18175 rs1: 0x0,
18176 rs2: 0x0,
18177 csr: 0x380,
18178 funct7: 0x1c,
18179 },
18180 Opcode::VSLIDEDOWNVI => Inst {
18181 opcode: 0x57,
18182 funct3: 0x3,
18183 rs1: 0x0,
18184 rs2: 0x0,
18185 csr: 0x3c0,
18186 funct7: 0x1e,
18187 },
18188 Opcode::VSLIDEDOWNVX => Inst {
18189 opcode: 0x57,
18190 funct3: 0x4,
18191 rs1: 0x0,
18192 rs2: 0x0,
18193 csr: 0x3c0,
18194 funct7: 0x1e,
18195 },
18196 Opcode::VSLIDEUPVI => Inst {
18197 opcode: 0x57,
18198 funct3: 0x3,
18199 rs1: 0x0,
18200 rs2: 0x0,
18201 csr: 0x380,
18202 funct7: 0x1c,
18203 },
18204 Opcode::VSLIDEUPVX => Inst {
18205 opcode: 0x57,
18206 funct3: 0x4,
18207 rs1: 0x0,
18208 rs2: 0x0,
18209 csr: 0x380,
18210 funct7: 0x1c,
18211 },
18212 Opcode::VSLLVI => Inst {
18213 opcode: 0x57,
18214 funct3: 0x3,
18215 rs1: 0x0,
18216 rs2: 0x0,
18217 csr: 0x940,
18218 funct7: 0x4a,
18219 },
18220 Opcode::VSLLVV => Inst {
18221 opcode: 0x57,
18222 funct3: 0x0,
18223 rs1: 0x0,
18224 rs2: 0x0,
18225 csr: 0x940,
18226 funct7: 0x4a,
18227 },
18228 Opcode::VSLLVX => Inst {
18229 opcode: 0x57,
18230 funct3: 0x4,
18231 rs1: 0x0,
18232 rs2: 0x0,
18233 csr: 0x940,
18234 funct7: 0x4a,
18235 },
18236 Opcode::VSM3CVI => Inst {
18237 opcode: 0x77,
18238 funct3: 0x2,
18239 rs1: 0x0,
18240 rs2: 0x0,
18241 csr: 0xae0,
18242 funct7: 0x57,
18243 },
18244 Opcode::VSM3MEVV => Inst {
18245 opcode: 0x77,
18246 funct3: 0x2,
18247 rs1: 0x0,
18248 rs2: 0x0,
18249 csr: 0x820,
18250 funct7: 0x41,
18251 },
18252 Opcode::VSM4KVI => Inst {
18253 opcode: 0x77,
18254 funct3: 0x2,
18255 rs1: 0x0,
18256 rs2: 0x0,
18257 csr: 0x860,
18258 funct7: 0x43,
18259 },
18260 Opcode::VSM4RVS => Inst {
18261 opcode: 0x77,
18262 funct3: 0x2,
18263 rs1: 0x10,
18264 rs2: 0x0,
18265 csr: 0xa60,
18266 funct7: 0x53,
18267 },
18268 Opcode::VSM4RVV => Inst {
18269 opcode: 0x77,
18270 funct3: 0x2,
18271 rs1: 0x10,
18272 rs2: 0x0,
18273 csr: 0xa20,
18274 funct7: 0x51,
18275 },
18276 Opcode::VSMV => Inst {
18277 opcode: 0x27,
18278 funct3: 0x0,
18279 rs1: 0x0,
18280 rs2: 0xb,
18281 csr: 0x2b,
18282 funct7: 0x1,
18283 },
18284 Opcode::VSMULVV => Inst {
18285 opcode: 0x57,
18286 funct3: 0x0,
18287 rs1: 0x0,
18288 rs2: 0x0,
18289 csr: 0x9c0,
18290 funct7: 0x4e,
18291 },
18292 Opcode::VSMULVX => Inst {
18293 opcode: 0x57,
18294 funct3: 0x4,
18295 rs1: 0x0,
18296 rs2: 0x0,
18297 csr: 0x9c0,
18298 funct7: 0x4e,
18299 },
18300 Opcode::VSOXEI16V => Inst {
18301 opcode: 0x27,
18302 funct3: 0x5,
18303 rs1: 0x0,
18304 rs2: 0x0,
18305 csr: 0xc0,
18306 funct7: 0x6,
18307 },
18308 Opcode::VSOXEI32V => Inst {
18309 opcode: 0x27,
18310 funct3: 0x6,
18311 rs1: 0x0,
18312 rs2: 0x0,
18313 csr: 0xc0,
18314 funct7: 0x6,
18315 },
18316 Opcode::VSOXEI64V => Inst {
18317 opcode: 0x27,
18318 funct3: 0x7,
18319 rs1: 0x0,
18320 rs2: 0x0,
18321 csr: 0xc0,
18322 funct7: 0x6,
18323 },
18324 Opcode::VSOXEI8V => Inst {
18325 opcode: 0x27,
18326 funct3: 0x0,
18327 rs1: 0x0,
18328 rs2: 0x0,
18329 csr: 0xc0,
18330 funct7: 0x6,
18331 },
18332 Opcode::VSRAVI => Inst {
18333 opcode: 0x57,
18334 funct3: 0x3,
18335 rs1: 0x0,
18336 rs2: 0x0,
18337 csr: 0xa40,
18338 funct7: 0x52,
18339 },
18340 Opcode::VSRAVV => Inst {
18341 opcode: 0x57,
18342 funct3: 0x0,
18343 rs1: 0x0,
18344 rs2: 0x0,
18345 csr: 0xa40,
18346 funct7: 0x52,
18347 },
18348 Opcode::VSRAVX => Inst {
18349 opcode: 0x57,
18350 funct3: 0x4,
18351 rs1: 0x0,
18352 rs2: 0x0,
18353 csr: 0xa40,
18354 funct7: 0x52,
18355 },
18356 Opcode::VSRLVI => Inst {
18357 opcode: 0x57,
18358 funct3: 0x3,
18359 rs1: 0x0,
18360 rs2: 0x0,
18361 csr: 0xa00,
18362 funct7: 0x50,
18363 },
18364 Opcode::VSRLVV => Inst {
18365 opcode: 0x57,
18366 funct3: 0x0,
18367 rs1: 0x0,
18368 rs2: 0x0,
18369 csr: 0xa00,
18370 funct7: 0x50,
18371 },
18372 Opcode::VSRLVX => Inst {
18373 opcode: 0x57,
18374 funct3: 0x4,
18375 rs1: 0x0,
18376 rs2: 0x0,
18377 csr: 0xa00,
18378 funct7: 0x50,
18379 },
18380 Opcode::VSSE16V => Inst {
18381 opcode: 0x27,
18382 funct3: 0x5,
18383 rs1: 0x0,
18384 rs2: 0x0,
18385 csr: 0x80,
18386 funct7: 0x4,
18387 },
18388 Opcode::VSSE32V => Inst {
18389 opcode: 0x27,
18390 funct3: 0x6,
18391 rs1: 0x0,
18392 rs2: 0x0,
18393 csr: 0x80,
18394 funct7: 0x4,
18395 },
18396 Opcode::VSSE64V => Inst {
18397 opcode: 0x27,
18398 funct3: 0x7,
18399 rs1: 0x0,
18400 rs2: 0x0,
18401 csr: 0x80,
18402 funct7: 0x4,
18403 },
18404 Opcode::VSSE8V => Inst {
18405 opcode: 0x27,
18406 funct3: 0x0,
18407 rs1: 0x0,
18408 rs2: 0x0,
18409 csr: 0x80,
18410 funct7: 0x4,
18411 },
18412 Opcode::VSSRAVI => Inst {
18413 opcode: 0x57,
18414 funct3: 0x3,
18415 rs1: 0x0,
18416 rs2: 0x0,
18417 csr: 0xac0,
18418 funct7: 0x56,
18419 },
18420 Opcode::VSSRAVV => Inst {
18421 opcode: 0x57,
18422 funct3: 0x0,
18423 rs1: 0x0,
18424 rs2: 0x0,
18425 csr: 0xac0,
18426 funct7: 0x56,
18427 },
18428 Opcode::VSSRAVX => Inst {
18429 opcode: 0x57,
18430 funct3: 0x4,
18431 rs1: 0x0,
18432 rs2: 0x0,
18433 csr: 0xac0,
18434 funct7: 0x56,
18435 },
18436 Opcode::VSSRLVI => Inst {
18437 opcode: 0x57,
18438 funct3: 0x3,
18439 rs1: 0x0,
18440 rs2: 0x0,
18441 csr: 0xa80,
18442 funct7: 0x54,
18443 },
18444 Opcode::VSSRLVV => Inst {
18445 opcode: 0x57,
18446 funct3: 0x0,
18447 rs1: 0x0,
18448 rs2: 0x0,
18449 csr: 0xa80,
18450 funct7: 0x54,
18451 },
18452 Opcode::VSSRLVX => Inst {
18453 opcode: 0x57,
18454 funct3: 0x4,
18455 rs1: 0x0,
18456 rs2: 0x0,
18457 csr: 0xa80,
18458 funct7: 0x54,
18459 },
18460 Opcode::VSSUBVV => Inst {
18461 opcode: 0x57,
18462 funct3: 0x0,
18463 rs1: 0x0,
18464 rs2: 0x0,
18465 csr: 0x8c0,
18466 funct7: 0x46,
18467 },
18468 Opcode::VSSUBVX => Inst {
18469 opcode: 0x57,
18470 funct3: 0x4,
18471 rs1: 0x0,
18472 rs2: 0x0,
18473 csr: 0x8c0,
18474 funct7: 0x46,
18475 },
18476 Opcode::VSSUBUVV => Inst {
18477 opcode: 0x57,
18478 funct3: 0x0,
18479 rs1: 0x0,
18480 rs2: 0x0,
18481 csr: 0x880,
18482 funct7: 0x44,
18483 },
18484 Opcode::VSSUBUVX => Inst {
18485 opcode: 0x57,
18486 funct3: 0x4,
18487 rs1: 0x0,
18488 rs2: 0x0,
18489 csr: 0x880,
18490 funct7: 0x44,
18491 },
18492 Opcode::VSUBVV => Inst {
18493 opcode: 0x57,
18494 funct3: 0x0,
18495 rs1: 0x0,
18496 rs2: 0x0,
18497 csr: 0x80,
18498 funct7: 0x4,
18499 },
18500 Opcode::VSUBVX => Inst {
18501 opcode: 0x57,
18502 funct3: 0x4,
18503 rs1: 0x0,
18504 rs2: 0x0,
18505 csr: 0x80,
18506 funct7: 0x4,
18507 },
18508 Opcode::VSUXEI16V => Inst {
18509 opcode: 0x27,
18510 funct3: 0x5,
18511 rs1: 0x0,
18512 rs2: 0x0,
18513 csr: 0x40,
18514 funct7: 0x2,
18515 },
18516 Opcode::VSUXEI32V => Inst {
18517 opcode: 0x27,
18518 funct3: 0x6,
18519 rs1: 0x0,
18520 rs2: 0x0,
18521 csr: 0x40,
18522 funct7: 0x2,
18523 },
18524 Opcode::VSUXEI64V => Inst {
18525 opcode: 0x27,
18526 funct3: 0x7,
18527 rs1: 0x0,
18528 rs2: 0x0,
18529 csr: 0x40,
18530 funct7: 0x2,
18531 },
18532 Opcode::VSUXEI8V => Inst {
18533 opcode: 0x27,
18534 funct3: 0x0,
18535 rs1: 0x0,
18536 rs2: 0x0,
18537 csr: 0x40,
18538 funct7: 0x2,
18539 },
18540 Opcode::VWADDVV => Inst {
18541 opcode: 0x57,
18542 funct3: 0x2,
18543 rs1: 0x0,
18544 rs2: 0x0,
18545 csr: 0xc40,
18546 funct7: 0x62,
18547 },
18548 Opcode::VWADDVX => Inst {
18549 opcode: 0x57,
18550 funct3: 0x6,
18551 rs1: 0x0,
18552 rs2: 0x0,
18553 csr: 0xc40,
18554 funct7: 0x62,
18555 },
18556 Opcode::VWADDWV => Inst {
18557 opcode: 0x57,
18558 funct3: 0x2,
18559 rs1: 0x0,
18560 rs2: 0x0,
18561 csr: 0xd40,
18562 funct7: 0x6a,
18563 },
18564 Opcode::VWADDWX => Inst {
18565 opcode: 0x57,
18566 funct3: 0x6,
18567 rs1: 0x0,
18568 rs2: 0x0,
18569 csr: 0xd40,
18570 funct7: 0x6a,
18571 },
18572 Opcode::VWADDUVV => Inst {
18573 opcode: 0x57,
18574 funct3: 0x2,
18575 rs1: 0x0,
18576 rs2: 0x0,
18577 csr: 0xc00,
18578 funct7: 0x60,
18579 },
18580 Opcode::VWADDUVX => Inst {
18581 opcode: 0x57,
18582 funct3: 0x6,
18583 rs1: 0x0,
18584 rs2: 0x0,
18585 csr: 0xc00,
18586 funct7: 0x60,
18587 },
18588 Opcode::VWADDUWV => Inst {
18589 opcode: 0x57,
18590 funct3: 0x2,
18591 rs1: 0x0,
18592 rs2: 0x0,
18593 csr: 0xd00,
18594 funct7: 0x68,
18595 },
18596 Opcode::VWADDUWX => Inst {
18597 opcode: 0x57,
18598 funct3: 0x6,
18599 rs1: 0x0,
18600 rs2: 0x0,
18601 csr: 0xd00,
18602 funct7: 0x68,
18603 },
18604 Opcode::VWMACCVV => Inst {
18605 opcode: 0x57,
18606 funct3: 0x2,
18607 rs1: 0x0,
18608 rs2: 0x0,
18609 csr: 0xf40,
18610 funct7: 0x7a,
18611 },
18612 Opcode::VWMACCVX => Inst {
18613 opcode: 0x57,
18614 funct3: 0x6,
18615 rs1: 0x0,
18616 rs2: 0x0,
18617 csr: 0xf40,
18618 funct7: 0x7a,
18619 },
18620 Opcode::VWMACCSUVV => Inst {
18621 opcode: 0x57,
18622 funct3: 0x2,
18623 rs1: 0x0,
18624 rs2: 0x0,
18625 csr: 0xfc0,
18626 funct7: 0x7e,
18627 },
18628 Opcode::VWMACCSUVX => Inst {
18629 opcode: 0x57,
18630 funct3: 0x6,
18631 rs1: 0x0,
18632 rs2: 0x0,
18633 csr: 0xfc0,
18634 funct7: 0x7e,
18635 },
18636 Opcode::VWMACCUVV => Inst {
18637 opcode: 0x57,
18638 funct3: 0x2,
18639 rs1: 0x0,
18640 rs2: 0x0,
18641 csr: 0xf00,
18642 funct7: 0x78,
18643 },
18644 Opcode::VWMACCUVX => Inst {
18645 opcode: 0x57,
18646 funct3: 0x6,
18647 rs1: 0x0,
18648 rs2: 0x0,
18649 csr: 0xf00,
18650 funct7: 0x78,
18651 },
18652 Opcode::VWMACCUSVX => Inst {
18653 opcode: 0x57,
18654 funct3: 0x6,
18655 rs1: 0x0,
18656 rs2: 0x0,
18657 csr: 0xf80,
18658 funct7: 0x7c,
18659 },
18660 Opcode::VWMULVV => Inst {
18661 opcode: 0x57,
18662 funct3: 0x2,
18663 rs1: 0x0,
18664 rs2: 0x0,
18665 csr: 0xec0,
18666 funct7: 0x76,
18667 },
18668 Opcode::VWMULVX => Inst {
18669 opcode: 0x57,
18670 funct3: 0x6,
18671 rs1: 0x0,
18672 rs2: 0x0,
18673 csr: 0xec0,
18674 funct7: 0x76,
18675 },
18676 Opcode::VWMULSUVV => Inst {
18677 opcode: 0x57,
18678 funct3: 0x2,
18679 rs1: 0x0,
18680 rs2: 0x0,
18681 csr: 0xe80,
18682 funct7: 0x74,
18683 },
18684 Opcode::VWMULSUVX => Inst {
18685 opcode: 0x57,
18686 funct3: 0x6,
18687 rs1: 0x0,
18688 rs2: 0x0,
18689 csr: 0xe80,
18690 funct7: 0x74,
18691 },
18692 Opcode::VWMULUVV => Inst {
18693 opcode: 0x57,
18694 funct3: 0x2,
18695 rs1: 0x0,
18696 rs2: 0x0,
18697 csr: 0xe00,
18698 funct7: 0x70,
18699 },
18700 Opcode::VWMULUVX => Inst {
18701 opcode: 0x57,
18702 funct3: 0x6,
18703 rs1: 0x0,
18704 rs2: 0x0,
18705 csr: 0xe00,
18706 funct7: 0x70,
18707 },
18708 Opcode::VWREDSUMVS => Inst {
18709 opcode: 0x57,
18710 funct3: 0x0,
18711 rs1: 0x0,
18712 rs2: 0x0,
18713 csr: 0xc40,
18714 funct7: 0x62,
18715 },
18716 Opcode::VWREDSUMUVS => Inst {
18717 opcode: 0x57,
18718 funct3: 0x0,
18719 rs1: 0x0,
18720 rs2: 0x0,
18721 csr: 0xc00,
18722 funct7: 0x60,
18723 },
18724 Opcode::VWSLLVI => Inst {
18725 opcode: 0x57,
18726 funct3: 0x3,
18727 rs1: 0x0,
18728 rs2: 0x0,
18729 csr: 0xd40,
18730 funct7: 0x6a,
18731 },
18732 Opcode::VWSLLVV => Inst {
18733 opcode: 0x57,
18734 funct3: 0x0,
18735 rs1: 0x0,
18736 rs2: 0x0,
18737 csr: 0xd40,
18738 funct7: 0x6a,
18739 },
18740 Opcode::VWSLLVX => Inst {
18741 opcode: 0x57,
18742 funct3: 0x4,
18743 rs1: 0x0,
18744 rs2: 0x0,
18745 csr: 0xd40,
18746 funct7: 0x6a,
18747 },
18748 Opcode::VWSUBVV => Inst {
18749 opcode: 0x57,
18750 funct3: 0x2,
18751 rs1: 0x0,
18752 rs2: 0x0,
18753 csr: 0xcc0,
18754 funct7: 0x66,
18755 },
18756 Opcode::VWSUBVX => Inst {
18757 opcode: 0x57,
18758 funct3: 0x6,
18759 rs1: 0x0,
18760 rs2: 0x0,
18761 csr: 0xcc0,
18762 funct7: 0x66,
18763 },
18764 Opcode::VWSUBWV => Inst {
18765 opcode: 0x57,
18766 funct3: 0x2,
18767 rs1: 0x0,
18768 rs2: 0x0,
18769 csr: 0xdc0,
18770 funct7: 0x6e,
18771 },
18772 Opcode::VWSUBWX => Inst {
18773 opcode: 0x57,
18774 funct3: 0x6,
18775 rs1: 0x0,
18776 rs2: 0x0,
18777 csr: 0xdc0,
18778 funct7: 0x6e,
18779 },
18780 Opcode::VWSUBUVV => Inst {
18781 opcode: 0x57,
18782 funct3: 0x2,
18783 rs1: 0x0,
18784 rs2: 0x0,
18785 csr: 0xc80,
18786 funct7: 0x64,
18787 },
18788 Opcode::VWSUBUVX => Inst {
18789 opcode: 0x57,
18790 funct3: 0x6,
18791 rs1: 0x0,
18792 rs2: 0x0,
18793 csr: 0xc80,
18794 funct7: 0x64,
18795 },
18796 Opcode::VWSUBUWV => Inst {
18797 opcode: 0x57,
18798 funct3: 0x2,
18799 rs1: 0x0,
18800 rs2: 0x0,
18801 csr: 0xd80,
18802 funct7: 0x6c,
18803 },
18804 Opcode::VWSUBUWX => Inst {
18805 opcode: 0x57,
18806 funct3: 0x6,
18807 rs1: 0x0,
18808 rs2: 0x0,
18809 csr: 0xd80,
18810 funct7: 0x6c,
18811 },
18812 Opcode::VXORVI => Inst {
18813 opcode: 0x57,
18814 funct3: 0x3,
18815 rs1: 0x0,
18816 rs2: 0x0,
18817 csr: 0x2c0,
18818 funct7: 0x16,
18819 },
18820 Opcode::VXORVV => Inst {
18821 opcode: 0x57,
18822 funct3: 0x0,
18823 rs1: 0x0,
18824 rs2: 0x0,
18825 csr: 0x2c0,
18826 funct7: 0x16,
18827 },
18828 Opcode::VXORVX => Inst {
18829 opcode: 0x57,
18830 funct3: 0x4,
18831 rs1: 0x0,
18832 rs2: 0x0,
18833 csr: 0x2c0,
18834 funct7: 0x16,
18835 },
18836 Opcode::VZEXTVF2 => Inst {
18837 opcode: 0x57,
18838 funct3: 0x2,
18839 rs1: 0x6,
18840 rs2: 0x0,
18841 csr: 0x480,
18842 funct7: 0x24,
18843 },
18844 Opcode::VZEXTVF4 => Inst {
18845 opcode: 0x57,
18846 funct3: 0x2,
18847 rs1: 0x4,
18848 rs2: 0x0,
18849 csr: 0x480,
18850 funct7: 0x24,
18851 },
18852 Opcode::VZEXTVF8 => Inst {
18853 opcode: 0x57,
18854 funct3: 0x2,
18855 rs1: 0x2,
18856 rs2: 0x0,
18857 csr: 0x480,
18858 funct7: 0x24,
18859 },
18860 Opcode::WFI => Inst {
18861 opcode: 0x73,
18862 funct3: 0x0,
18863 rs1: 0x0,
18864 rs2: 0x5,
18865 csr: 0x105,
18866 funct7: 0x8,
18867 },
18868 Opcode::WRSNTO => Inst {
18869 opcode: 0x73,
18870 funct3: 0x0,
18871 rs1: 0x0,
18872 rs2: 0xd,
18873 csr: 0xd,
18874 funct7: 0x0,
18875 },
18876 Opcode::WRSSTO => Inst {
18877 opcode: 0x73,
18878 funct3: 0x0,
18879 rs1: 0x0,
18880 rs2: 0x1d,
18881 csr: 0x1d,
18882 funct7: 0x0,
18883 },
18884 Opcode::XNOR => Inst {
18885 opcode: 0x33,
18886 funct3: 0x4,
18887 rs1: 0x0,
18888 rs2: 0x0,
18889 csr: 0x400,
18890 funct7: 0x20,
18891 },
18892 Opcode::XOR => Inst {
18893 opcode: 0x33,
18894 funct3: 0x4,
18895 rs1: 0x0,
18896 rs2: 0x0,
18897 csr: 0x0,
18898 funct7: 0x0,
18899 },
18900 Opcode::XORI => Inst {
18901 opcode: 0x13,
18902 funct3: 0x4,
18903 rs1: 0x0,
18904 rs2: 0x0,
18905 csr: 0x0,
18906 funct7: 0x0,
18907 },
18908 Opcode::XPERM4 => Inst {
18909 opcode: 0x33,
18910 funct3: 0x2,
18911 rs1: 0x0,
18912 rs2: 0x0,
18913 csr: 0x280,
18914 funct7: 0x14,
18915 },
18916 Opcode::XPERM8 => Inst {
18917 opcode: 0x33,
18918 funct3: 0x4,
18919 rs1: 0x0,
18920 rs2: 0x0,
18921 csr: 0x280,
18922 funct7: 0x14,
18923 },
18924 Opcode::ZEXTB => Inst {
18925 opcode: 0x13,
18926 funct3: 0x7,
18927 rs1: 0x0,
18928 rs2: 0x0,
18929 csr: 0x0,
18930 funct7: 0x0,
18931 },
18932 Opcode::ZEXTH => Inst {
18933 opcode: 0x3b,
18934 funct3: 0x4,
18935 rs1: 0x0,
18936 rs2: 0x0,
18937 csr: 0x80,
18938 funct7: 0x4,
18939 },
18940 Opcode::ZEXTHRV32 => Inst {
18941 opcode: 0x33,
18942 funct3: 0x4,
18943 rs1: 0x0,
18944 rs2: 0x0,
18945 csr: 0x80,
18946 funct7: 0x4,
18947 },
18948 Opcode::ZEXTW => Inst {
18949 opcode: 0x3b,
18950 funct3: 0x0,
18951 rs1: 0x0,
18952 rs2: 0x0,
18953 csr: 0x80,
18954 funct7: 0x4,
18955 },
18956 Opcode::ZIP => Inst {
18957 opcode: 0x13,
18958 funct3: 0x1,
18959 rs1: 0x0,
18960 rs2: 0xf,
18961 csr: 0x8f,
18962 funct7: 0x4,
18963 },
18964 }
18965 }
18966}
18967
18968#[derive(Copy, Clone, PartialEq, Eq, Debug, Hash)]
18969pub enum Encoding {
18970 Bimm12HiRs1Bimm12lo,
18971 Bimm12HiRs1Rs2Bimm12lo,
18972 Bimm12HiRs2Bimm12lo,
18973 Bimm12HiRs2Rs1Bimm12lo,
18974 CImm12,
18975 CIndex,
18976 CMopT,
18977 CNzimm10hiCNzimm10lo,
18978 CNzimm6hiCNzimm6lo,
18979 CRlistCSpimm,
18980 CRs1N0,
18981 CRs2CUimm8spS,
18982 CRs2CUimm9spS,
18983 CSreg1CSreg2,
18984 CsrZimm,
18985 Empty,
18986 FmPredSuccRs1Rd,
18987 Imm12HiRs1Rs2Imm12lo,
18988 Imm12Rs1Rd,
18989 Jimm20,
18990 MopRT30MopRT2726MopRT2120RdRs1,
18991 MopRrT30MopRrT2726RdRs1Rs2,
18992 NfVmRs1Vd,
18993 NfVmRs1Vs3,
18994 NfVmRs2Rs1Vd,
18995 NfVmRs2Rs1Vs3,
18996 NfVmVs2Rs1Vd,
18997 NfVmVs2Rs1Vs3,
18998 Rd,
18999 RdCUimm8sphiCUimm8splo,
19000 RdCUimm9sphiCUimm9splo,
19001 RdCsr,
19002 RdCsrZimm,
19003 RdImm20,
19004 RdJimm20,
19005 RdN0CImm6loCImm6hi,
19006 RdN0CRs2N0,
19007 RdN0CUimm8sphiCUimm8splo,
19008 RdN0CUimm9sphiCUimm9splo,
19009 RdN2CNzimm18hiCNzimm18lo,
19010 RdPCNzuimm10,
19011 RdPRs1PCUimm1,
19012 RdPRs1PCUimm2,
19013 RdPRs1PCUimm7loCUimm7hi,
19014 RdPRs1PCUimm8loCUimm8hi,
19015 RdRs1,
19016 RdRs1AqRl,
19017 RdRs1Csr,
19018 RdRs1Imm12,
19019 RdRs1N0,
19020 RdRs1N0CImm6loCImm6hi,
19021 RdRs1N0CNzimm6loCNzimm6hi,
19022 RdRs1N0CNzuimm6hiCNzuimm6lo,
19023 RdRs1N0CNzuimm6lo,
19024 RdRs1N0CRs2N0,
19025 RdRs1P,
19026 RdRs1PCImm6hiCImm6lo,
19027 RdRs1PCNzuimm5,
19028 RdRs1PCNzuimm6loCNzuimm6hi,
19029 RdRs1PRs2P,
19030 RdRs1Rm,
19031 RdRs1Rnum,
19032 RdRs1Rs2,
19033 RdRs1Rs2AqRl,
19034 RdRs1Rs2Bs,
19035 RdRs1Rs2EqRs1,
19036 RdRs1Rs2Rm,
19037 RdRs1Rs2Rs3Rm,
19038 RdRs1Shamtd,
19039 RdRs1Shamtw,
19040 RdRs2,
19041 RdZimm,
19042 Rs1,
19043 Rs1Csr,
19044 Rs1Imm12hi,
19045 Rs1N0,
19046 Rs1PCBimm9loCBimm9hi,
19047 Rs1PRs2PCUimm7loCUimm7hi,
19048 Rs1PRs2PCUimm8hiCUimm8lo,
19049 Rs1PRs2PCUimm8loCUimm8hi,
19050 Rs1Rd,
19051 Rs1Rs2,
19052 Rs1Vd,
19053 Rs1Vs3,
19054 Rs2PRs1PCUimm1,
19055 Rs2PRs1PCUimm2,
19056 Rs2Rs1Rd,
19057 Simm5Vd,
19058 VmVd,
19059 VmVs2Rd,
19060 VmVs2Rs1Vd,
19061 VmVs2Simm5Vd,
19062 VmVs2Vd,
19063 VmVs2Vs1Vd,
19064 VmVs2Zimm5Vd,
19065 Vs1Vd,
19066 Vs2Rd,
19067 Vs2Rs1Vd,
19068 Vs2Simm5Vd,
19069 Vs2Vd,
19070 Vs2Vs1Vd,
19071 Vs2Zimm5Vd,
19072 Zimm10ZimmRd,
19073 Zimm11Rs1Rd,
19074 Zimm6HiVmVs2Zimm6loVd,
19075}
19076
19077impl Opcode {
19078 pub fn encoding(self) -> Encoding {
19079 use Opcode::*;
19080 match self {
19081 Opcode::Invalid => unreachable!(),
19082 BEQZ | BGEZ | BLTZ | BNEZ => Encoding::Bimm12HiRs1Bimm12lo,
19083 BEQ | BGE | BGEU | BLT | BLTU | BNE => Encoding::Bimm12HiRs1Rs2Bimm12lo,
19084 BGTZ | BLEZ => Encoding::Bimm12HiRs2Bimm12lo,
19085 BGT | BGTU | BLE | BLEU => Encoding::Bimm12HiRs2Rs1Bimm12lo,
19086 CJ | CJAL => Encoding::CImm12,
19087 CMJALT => Encoding::CIndex,
19088 CMOPN => Encoding::CMopT,
19089 CADDI16SP => Encoding::CNzimm10hiCNzimm10lo,
19090 CNOP => Encoding::CNzimm6hiCNzimm6lo,
19091 CMPOP | CMPOPRET | CMPOPRETZ | CMPUSH => Encoding::CRlistCSpimm,
19092 CJALR => Encoding::CRs1N0,
19093 CFSWSP | CSWSP => Encoding::CRs2CUimm8spS,
19094 CFSDSP | CSDSP => Encoding::CRs2CUimm9spS,
19095 CMMVA01S | CMMVSA01 => Encoding::CSreg1CSreg2,
19096 CSRCI | CSRSI | CSRWI => Encoding::CsrZimm,
19097 CEBREAK | CMOP1 | CMOP11 | CMOP13 | CMOP15 | CMOP3 | CMOP5 | CMOP7 | CMOP9
19098 | CNTLALL | CNTLP1 | CNTLPALL | CNTLS1 | DRET | EBREAK | ECALL | MRET | NOP
19099 | NTLALL | NTLP1 | NTLPALL | NTLS1 | PAUSE | RET | SBREAK | SCALL | SFENCEINVALIR
19100 | SFENCEWINVAL | SRET | WFI | WRSNTO | WRSSTO => Encoding::Empty,
19101 FENCE => Encoding::FmPredSuccRs1Rd,
19102 FSD | FSH | FSQ | FSW | SB | SD | SH | SW => Encoding::Imm12HiRs1Rs2Imm12lo,
19103 FENCEI => Encoding::Imm12Rs1Rd,
19104 J | JALPSEUDO => Encoding::Jimm20,
19105 MOPRN => Encoding::MopRT30MopRT2726MopRT2120RdRs1,
19106 MOPRRN => Encoding::MopRrT30MopRrT2726RdRs1Rs2,
19107 VLE16V | VLE16FFV | VLE32V | VLE32FFV | VLE64V | VLE64FFV | VLE8V | VLE8FFV => {
19108 Encoding::NfVmRs1Vd
19109 }
19110 VSE16V | VSE32V | VSE64V | VSE8V => Encoding::NfVmRs1Vs3,
19111 VLSE16V | VLSE32V | VLSE64V | VLSE8V => Encoding::NfVmRs2Rs1Vd,
19112 VSSE16V | VSSE32V | VSSE64V | VSSE8V => Encoding::NfVmRs2Rs1Vs3,
19113 VLOXEI16V | VLOXEI32V | VLOXEI64V | VLOXEI8V | VLUXEI16V | VLUXEI32V | VLUXEI64V
19114 | VLUXEI8V => Encoding::NfVmVs2Rs1Vd,
19115 VSOXEI16V | VSOXEI32V | VSOXEI64V | VSOXEI8V | VSUXEI16V | VSUXEI32V | VSUXEI64V
19116 | VSUXEI8V => Encoding::NfVmVs2Rs1Vs3,
19117 FRCSR | FRFLAGS | FRRM | RDCYCLE | RDCYCLEH | RDINSTRET | RDINSTRETH | RDTIME
19118 | RDTIMEH => Encoding::Rd,
19119 CFLWSP => Encoding::RdCUimm8sphiCUimm8splo,
19120 CFLDSP => Encoding::RdCUimm9sphiCUimm9splo,
19121 CSRR => Encoding::RdCsr,
19122 CSRRCI | CSRRSI | CSRRWI => Encoding::RdCsrZimm,
19123 AUIPC | LUI => Encoding::RdImm20,
19124 JAL => Encoding::RdJimm20,
19125 CLI => Encoding::RdN0CImm6loCImm6hi,
19126 CMV => Encoding::RdN0CRs2N0,
19127 CLWSP => Encoding::RdN0CUimm8sphiCUimm8splo,
19128 CLDSP => Encoding::RdN0CUimm9sphiCUimm9splo,
19129 CLUI => Encoding::RdN2CNzimm18hiCNzimm18lo,
19130 CADDI4SPN => Encoding::RdPCNzuimm10,
19131 CLH | CLHU => Encoding::RdPRs1PCUimm1,
19132 CLBU => Encoding::RdPRs1PCUimm2,
19133 CFLW | CLW => Encoding::RdPRs1PCUimm7loCUimm7hi,
19134 CFLD | CLD => Encoding::RdPRs1PCUimm8loCUimm8hi,
19135 AES64IM | BREV8 | CLZ | CLZW | CPOP | CPOPW | CTZ | CTZW | FCLASSD | FCLASSH
19136 | FCLASSQ | FCLASSS | FCVTMODWD | FLID | FLIH | FLIQ | FLIS | FMVDX | FMVHX | FMVSX
19137 | FMVWX | FMVXD | FMVXH | FMVXS | FMVXW | FMVHXD | FMVHXQ | FSCSR | FSFLAGS | FSRM
19138 | HLVB | HLVBU | HLVD | HLVH | HLVHU | HLVW | HLVWU | HLVXHU | HLVXWU | MOPR0
19139 | MOPR1 | MOPR10 | MOPR11 | MOPR12 | MOPR13 | MOPR14 | MOPR15 | MOPR16 | MOPR17
19140 | MOPR18 | MOPR19 | MOPR2 | MOPR20 | MOPR21 | MOPR22 | MOPR23 | MOPR24 | MOPR25
19141 | MOPR26 | MOPR27 | MOPR28 | MOPR29 | MOPR3 | MOPR30 | MOPR31 | MOPR4 | MOPR5
19142 | MOPR6 | MOPR7 | MOPR8 | MOPR9 | MV | NEG | ORCB | REV8 | REV8RV32 | SEQZ | SEXTB
19143 | SEXTH | SEXTW | SHA256SIG0 | SHA256SIG1 | SHA256SUM0 | SHA256SUM1 | SHA512SIG0
19144 | SHA512SIG1 | SHA512SUM0 | SHA512SUM1 | SLTZ | SM3P0 | SM3P1 | UNZIP | ZEXTB
19145 | ZEXTH | ZEXTHRV32 | ZEXTW | ZIP => Encoding::RdRs1,
19146 LRD | LRW => Encoding::RdRs1AqRl,
19147 CSRRC | CSRRS | CSRRW => Encoding::RdRs1Csr,
19148 ADDI | ADDIW | ANDI | FLD | FLH | FLQ | FLW | JALR | LB | LBU | LD | LH | LHU | LW
19149 | LWU | ORI | SLTI | SLTIU | XORI => Encoding::RdRs1Imm12,
19150 CSEXTW => Encoding::RdRs1N0,
19151 CADDIW => Encoding::RdRs1N0CImm6loCImm6hi,
19152 CADDI => Encoding::RdRs1N0CNzimm6loCNzimm6hi,
19153 CSLLI => Encoding::RdRs1N0CNzuimm6hiCNzuimm6lo,
19154 CSLLIRV32 => Encoding::RdRs1N0CNzuimm6lo,
19155 CADD => Encoding::RdRs1N0CRs2N0,
19156 CNOT | CSEXTB | CSEXTH | CZEXTB | CZEXTH | CZEXTW => Encoding::RdRs1P,
19157 CANDI => Encoding::RdRs1PCImm6hiCImm6lo,
19158 CSRAIRV32 | CSRLIRV32 => Encoding::RdRs1PCNzuimm5,
19159 CSRAI | CSRLI => Encoding::RdRs1PCNzuimm6loCNzuimm6hi,
19160 CADDW | CAND | CMUL | COR | CSUB | CSUBW | CXOR => Encoding::RdRs1PRs2P,
19161 FCVTDH | FCVTDL | FCVTDLU | FCVTDQ | FCVTDS | FCVTDW | FCVTDWU | FCVTHD | FCVTHL
19162 | FCVTHLU | FCVTHQ | FCVTHS | FCVTHW | FCVTHWU | FCVTLD | FCVTLH | FCVTLQ | FCVTLS
19163 | FCVTLUD | FCVTLUH | FCVTLUQ | FCVTLUS | FCVTQD | FCVTQH | FCVTQL | FCVTQLU
19164 | FCVTQS | FCVTQW | FCVTQWU | FCVTSD | FCVTSH | FCVTSL | FCVTSLU | FCVTSQ | FCVTSW
19165 | FCVTSWU | FCVTWD | FCVTWH | FCVTWQ | FCVTWS | FCVTWUD | FCVTWUH | FCVTWUQ
19166 | FCVTWUS | FROUNDD | FROUNDH | FROUNDQ | FROUNDS | FROUNDNXD | FROUNDNXH
19167 | FROUNDNXQ | FROUNDNXS | FSQRTD | FSQRTH | FSQRTQ | FSQRTS => Encoding::RdRs1Rm,
19168 AES64KS1I => Encoding::RdRs1Rnum,
19169 ADD | ADDUW | ADDW | AES64DS | AES64DSM | AES64ES | AES64ESM | AES64KS2 | AND
19170 | ANDN | BCLR | BEXT | BINV | BSET | CLMUL | CLMULH | CLMULR | CZEROEQZ | CZERONEZ
19171 | DIV | DIVU | DIVUW | DIVW | FEQD | FEQH | FEQQ | FEQS | FLED | FLEH | FLEQ | FLES
19172 | FLEQD | FLEQH | FLEQQ | FLEQS | FLTD | FLTH | FLTQ | FLTS | FLTQD | FLTQH | FLTQQ
19173 | FLTQS | FMAXD | FMAXH | FMAXQ | FMAXS | FMAXMD | FMAXMH | FMAXMQ | FMAXMS | FMIND
19174 | FMINH | FMINQ | FMINS | FMINMD | FMINMH | FMINMQ | FMINMS | FMVPDX | FMVPQX
19175 | FSGNJD | FSGNJH | FSGNJQ | FSGNJS | FSGNJND | FSGNJNH | FSGNJNQ | FSGNJNS
19176 | FSGNJXD | FSGNJXH | FSGNJXQ | FSGNJXS | MAX | MAXU | MIN | MINU | MOPRR0 | MOPRR1
19177 | MOPRR2 | MOPRR3 | MOPRR4 | MOPRR5 | MOPRR6 | MOPRR7 | MUL | MULH | MULHSU | MULHU
19178 | MULW | OR | ORN | PACK | PACKH | PACKW | REM | REMU | REMUW | REMW | ROL | ROLW
19179 | ROR | RORW | SH1ADD | SH1ADDUW | SH2ADD | SH2ADDUW | SH3ADD | SH3ADDUW
19180 | SHA512SIG0H | SHA512SIG0L | SHA512SIG1H | SHA512SIG1L | SHA512SUM0R | SHA512SUM1R
19181 | SLL | SLLW | SLT | SLTU | SRA | SRAW | SRL | SRLW | SUB | SUBW | XNOR | XOR
19182 | XPERM4 | XPERM8 => Encoding::RdRs1Rs2,
19183 AMOADDB | AMOADDD | AMOADDH | AMOADDW | AMOANDB | AMOANDD | AMOANDH | AMOANDW
19184 | AMOCASB | AMOCASD | AMOCASH | AMOCASQ | AMOCASW | AMOMAXB | AMOMAXD | AMOMAXH
19185 | AMOMAXW | AMOMAXUB | AMOMAXUD | AMOMAXUH | AMOMAXUW | AMOMINB | AMOMIND | AMOMINH
19186 | AMOMINW | AMOMINUB | AMOMINUD | AMOMINUH | AMOMINUW | AMOORB | AMOORD | AMOORH
19187 | AMOORW | AMOSWAPB | AMOSWAPD | AMOSWAPH | AMOSWAPW | AMOXORB | AMOXORD | AMOXORH
19188 | AMOXORW | SCD | SCW => Encoding::RdRs1Rs2AqRl,
19189 AES32DSI | AES32DSMI | AES32ESI | AES32ESMI | SM4ED | SM4KS => Encoding::RdRs1Rs2Bs,
19190 FABSD | FABSH | FABSQ | FABSS | FMVD | FMVH | FMVQ | FMVS | FNEGD | FNEGH | FNEGQ
19191 | FNEGS => Encoding::RdRs1Rs2EqRs1,
19192 FADDD | FADDH | FADDQ | FADDS | FDIVD | FDIVH | FDIVQ | FDIVS | FMULD | FMULH
19193 | FMULQ | FMULS | FSUBD | FSUBH | FSUBQ | FSUBS => Encoding::RdRs1Rs2Rm,
19194 FMADDD | FMADDH | FMADDQ | FMADDS | FMSUBD | FMSUBH | FMSUBQ | FMSUBS | FNMADDD
19195 | FNMADDH | FNMADDQ | FNMADDS | FNMSUBD | FNMSUBH | FNMSUBQ | FNMSUBS => {
19196 Encoding::RdRs1Rs2Rs3Rm
19197 }
19198 BCLRI | BEXTI | BINVI | BSETI | RORI | SLLI | SLLIUW | SRAI | SRLI => {
19199 Encoding::RdRs1Shamtd
19200 }
19201 BCLRIRV32 | BEXTIRV32 | BINVIRV32 | BSETIRV32 | RORIRV32 | RORIW | SLLIRV32 | SLLIW
19202 | SRAIRV32 | SRAIW | SRLIRV32 | SRLIW => Encoding::RdRs1Shamtw,
19203 SGTZ | SNEZ => Encoding::RdRs2,
19204 FSFLAGSI | FSRMI => Encoding::RdZimm,
19205 CBOCLEAN | CBOFLUSH | CBOINVAL | CBOZERO | JALRPSEUDO | JR => Encoding::Rs1,
19206 CSRC | CSRS | CSRW => Encoding::Rs1Csr,
19207 PREFETCHI | PREFETCHR | PREFETCHW => Encoding::Rs1Imm12hi,
19208 CJR => Encoding::Rs1N0,
19209 CBEQZ | CBNEZ => Encoding::Rs1PCBimm9loCBimm9hi,
19210 CFSW | CSW => Encoding::Rs1PRs2PCUimm7loCUimm7hi,
19211 CSD => Encoding::Rs1PRs2PCUimm8hiCUimm8lo,
19212 CFSD => Encoding::Rs1PRs2PCUimm8loCUimm8hi,
19213 FENCETSO => Encoding::Rs1Rd,
19214 HFENCEGVMA | HFENCEVVMA | HINVALGVMA | HINVALVVMA | HSVB | HSVD | HSVH | HSVW
19215 | SFENCEVMA | SINVALVMA => Encoding::Rs1Rs2,
19216 VFMVSF | VFMVVF | VL1RV | VL1RE16V | VL1RE32V | VL1RE64V | VL1RE8V | VL2RV
19217 | VL2RE16V | VL2RE32V | VL2RE64V | VL2RE8V | VL4RV | VL4RE16V | VL4RE32V | VL4RE64V
19218 | VL4RE8V | VL8RV | VL8RE16V | VL8RE32V | VL8RE64V | VL8RE8V | VLE1V | VLMV | VMVSX
19219 | VMVVX => Encoding::Rs1Vd,
19220 VS1RV | VS2RV | VS4RV | VS8RV | VSE1V | VSMV => Encoding::Rs1Vs3,
19221 CSH => Encoding::Rs2PRs1PCUimm1,
19222 CSB => Encoding::Rs2PRs1PCUimm2,
19223 VSETVL => Encoding::Rs2Rs1Rd,
19224 VMVVI => Encoding::Simm5Vd,
19225 VIDV => Encoding::VmVd,
19226 VCPOPM | VFIRSTM | VPOPCM => Encoding::VmVs2Rd,
19227 VAADDVX | VAADDUVX | VADDVX | VANDVX | VANDNVX | VASUBVX | VASUBUVX | VCLMULVX
19228 | VCLMULHVX | VDIVVX | VDIVUVX | VFADDVF | VFDIVVF | VFMACCVF | VFMADDVF | VFMAXVF
19229 | VFMINVF | VFMSACVF | VFMSUBVF | VFMULVF | VFNMACCVF | VFNMADDVF | VFNMSACVF
19230 | VFNMSUBVF | VFRDIVVF | VFRSUBVF | VFSGNJVF | VFSGNJNVF | VFSGNJXVF
19231 | VFSLIDE1DOWNVF | VFSLIDE1UPVF | VFSUBVF | VFWADDVF | VFWADDWF | VFWMACCVF
19232 | VFWMSACVF | VFWMULVF | VFWNMACCVF | VFWNMSACVF | VFWSUBVF | VFWSUBWF | VMACCVX
19233 | VMADDVX | VMAXVX | VMAXUVX | VMFEQVF | VMFGEVF | VMFGTVF | VMFLEVF | VMFLTVF
19234 | VMFNEVF | VMINVX | VMINUVX | VMSEQVX | VMSGTVX | VMSGTUVX | VMSLEVX | VMSLEUVX
19235 | VMSLTVX | VMSLTUVX | VMSNEVX | VMULVX | VMULHVX | VMULHSUVX | VMULHUVX | VNCLIPWX
19236 | VNCLIPUWX | VNMSACVX | VNMSUBVX | VNSRAWX | VNSRLWX | VORVX | VREMVX | VREMUVX
19237 | VRGATHERVX | VROLVX | VRORVX | VRSUBVX | VSADDVX | VSADDUVX | VSLIDE1DOWNVX
19238 | VSLIDE1UPVX | VSLIDEDOWNVX | VSLIDEUPVX | VSLLVX | VSMULVX | VSRAVX | VSRLVX
19239 | VSSRAVX | VSSRLVX | VSSUBVX | VSSUBUVX | VSUBVX | VWADDVX | VWADDWX | VWADDUVX
19240 | VWADDUWX | VWMACCVX | VWMACCSUVX | VWMACCUVX | VWMACCUSVX | VWMULVX | VWMULSUVX
19241 | VWMULUVX | VWSLLVX | VWSUBVX | VWSUBWX | VWSUBUVX | VWSUBUWX | VXORVX => {
19242 Encoding::VmVs2Rs1Vd
19243 }
19244 VADDVI | VANDVI | VMSEQVI | VMSGTVI | VMSGTUVI | VMSLEVI | VMSLEUVI | VMSNEVI
19245 | VNCLIPWI | VNCLIPUWI | VNSRAWI | VNSRLWI | VORVI | VRGATHERVI | VRSUBVI | VSADDVI
19246 | VSADDUVI | VSLIDEDOWNVI | VSLIDEUPVI | VSLLVI | VSRAVI | VSRLVI | VSSRAVI
19247 | VSSRLVI | VXORVI => Encoding::VmVs2Simm5Vd,
19248 VBREV8V | VBREVV | VCLZV | VCPOPV | VCTZV | VFCLASSV | VFCVTFXV | VFCVTFXUV
19249 | VFCVTRTZXFV | VFCVTRTZXUFV | VFCVTXFV | VFCVTXUFV | VFNCVTFFW | VFNCVTFXW
19250 | VFNCVTFXUW | VFNCVTRODFFW | VFNCVTRTZXFW | VFNCVTRTZXUFW | VFNCVTXFW | VFNCVTXUFW
19251 | VFREC7V | VFRSQRT7V | VFSQRTV | VFWCVTFFV | VFWCVTFXV | VFWCVTFXUV | VFWCVTRTZXFV
19252 | VFWCVTRTZXUFV | VFWCVTXFV | VFWCVTXUFV | VIOTAM | VMSBFM | VMSIFM | VMSOFM
19253 | VREV8V | VSEXTVF2 | VSEXTVF4 | VSEXTVF8 | VZEXTVF2 | VZEXTVF4 | VZEXTVF8 => {
19254 Encoding::VmVs2Vd
19255 }
19256 VAADDVV | VAADDUVV | VADDVV | VANDVV | VANDNVV | VASUBVV | VASUBUVV | VCLMULVV
19257 | VCLMULHVV | VDIVVV | VDIVUVV | VFADDVV | VFDIVVV | VFMACCVV | VFMADDVV | VFMAXVV
19258 | VFMINVV | VFMSACVV | VFMSUBVV | VFMULVV | VFNMACCVV | VFNMADDVV | VFNMSACVV
19259 | VFNMSUBVV | VFREDMAXVS | VFREDMINVS | VFREDOSUMVS | VFREDSUMVS | VFREDUSUMVS
19260 | VFSGNJVV | VFSGNJNVV | VFSGNJXVV | VFSUBVV | VFWADDVV | VFWADDWV | VFWMACCVV
19261 | VFWMSACVV | VFWMULVV | VFWNMACCVV | VFWNMSACVV | VFWREDOSUMVS | VFWREDSUMVS
19262 | VFWREDUSUMVS | VFWSUBVV | VFWSUBWV | VMACCVV | VMADDVV | VMANDNOTMM | VMAXVV
19263 | VMAXUVV | VMFEQVV | VMFLEVV | VMFLTVV | VMFNEVV | VMINVV | VMINUVV | VMORNOTMM
19264 | VMSEQVV | VMSLEVV | VMSLEUVV | VMSLTVV | VMSLTUVV | VMSNEVV | VMULVV | VMULHVV
19265 | VMULHSUVV | VMULHUVV | VNCLIPWV | VNCLIPUWV | VNMSACVV | VNMSUBVV | VNSRAWV
19266 | VNSRLWV | VORVV | VREDANDVS | VREDMAXVS | VREDMAXUVS | VREDMINVS | VREDMINUVS
19267 | VREDORVS | VREDSUMVS | VREDXORVS | VREMVV | VREMUVV | VRGATHERVV | VRGATHEREI16VV
19268 | VROLVV | VRORVV | VSADDVV | VSADDUVV | VSLLVV | VSMULVV | VSRAVV | VSRLVV
19269 | VSSRAVV | VSSRLVV | VSSUBVV | VSSUBUVV | VSUBVV | VWADDVV | VWADDWV | VWADDUVV
19270 | VWADDUWV | VWMACCVV | VWMACCSUVV | VWMACCUVV | VWMULVV | VWMULSUVV | VWMULUVV
19271 | VWREDSUMVS | VWREDSUMUVS | VWSLLVV | VWSUBVV | VWSUBWV | VWSUBUVV | VWSUBUWV
19272 | VXORVV => Encoding::VmVs2Vs1Vd,
19273 VWSLLVI => Encoding::VmVs2Zimm5Vd,
19274 VMVVV => Encoding::Vs1Vd,
19275 VFMVFS | VMVXS => Encoding::Vs2Rd,
19276 VADCVXM | VFMERGEVFM | VMADCVX | VMADCVXM | VMERGEVXM | VMSBCVX | VMSBCVXM
19277 | VSBCVXM => Encoding::Vs2Rs1Vd,
19278 VADCVIM | VMADCVI | VMADCVIM | VMERGEVIM => Encoding::Vs2Simm5Vd,
19279 VAESDFVS | VAESDFVV | VAESDMVS | VAESDMVV | VAESEFVS | VAESEFVV | VAESEMVS
19280 | VAESEMVV | VAESZVS | VGMULVV | VMV1RV | VMV2RV | VMV4RV | VMV8RV | VSM4RVS
19281 | VSM4RVV => Encoding::Vs2Vd,
19282 VADCVVM | VCOMPRESSVM | VGHSHVV | VMADCVV | VMADCVVM | VMANDMM | VMANDNMM
19283 | VMERGEVVM | VMNANDMM | VMNORMM | VMORMM | VMORNMM | VMSBCVV | VMSBCVVM | VMXNORMM
19284 | VMXORMM | VSBCVVM | VSHA2CHVV | VSHA2CLVV | VSHA2MSVV | VSM3MEVV => {
19285 Encoding::Vs2Vs1Vd
19286 }
19287 VAESKF1VI | VAESKF2VI | VSM3CVI | VSM4KVI => Encoding::Vs2Zimm5Vd,
19288 VSETIVLI => Encoding::Zimm10ZimmRd,
19289 VSETVLI => Encoding::Zimm11Rs1Rd,
19290 VRORVI => Encoding::Zimm6HiVmVs2Zimm6loVd,
19291 }
19292 }
19293}
19294pub const INSN_FIELD_RD: u32 = 0xf80;
19295pub const INSN_FIELD_RD_START: u32 = 7;
19296pub const INSN_FIELD_RD_SIZE: u32 = 5;
19297pub const INSN_FIELD_RT: u32 = 0xf8000;
19298pub const INSN_FIELD_RT_START: u32 = 15;
19299pub const INSN_FIELD_RT_SIZE: u32 = 5;
19300pub const INSN_FIELD_RS1: u32 = 0xf8000;
19301pub const INSN_FIELD_RS1_START: u32 = 15;
19302pub const INSN_FIELD_RS1_SIZE: u32 = 5;
19303pub const INSN_FIELD_RS2: u32 = 0x1f00000;
19304pub const INSN_FIELD_RS2_START: u32 = 20;
19305pub const INSN_FIELD_RS2_SIZE: u32 = 5;
19306pub const INSN_FIELD_RS3: u32 = 0xf8000000;
19307pub const INSN_FIELD_RS3_START: u32 = 27;
19308pub const INSN_FIELD_RS3_SIZE: u32 = 5;
19309pub const INSN_FIELD_AQRL: u32 = 0x6000000;
19310pub const INSN_FIELD_AQRL_START: u32 = 25;
19311pub const INSN_FIELD_AQRL_SIZE: u32 = 2;
19312pub const INSN_FIELD_AQ: u32 = 0x4000000;
19313pub const INSN_FIELD_AQ_START: u32 = 26;
19314pub const INSN_FIELD_AQ_SIZE: u32 = 1;
19315pub const INSN_FIELD_RL: u32 = 0x2000000;
19316pub const INSN_FIELD_RL_START: u32 = 25;
19317pub const INSN_FIELD_RL_SIZE: u32 = 1;
19318pub const INSN_FIELD_FM: u32 = 0xf0000000;
19319pub const INSN_FIELD_FM_START: u32 = 28;
19320pub const INSN_FIELD_FM_SIZE: u32 = 4;
19321pub const INSN_FIELD_PRED: u32 = 0xf000000;
19322pub const INSN_FIELD_PRED_START: u32 = 24;
19323pub const INSN_FIELD_PRED_SIZE: u32 = 4;
19324pub const INSN_FIELD_SUCC: u32 = 0xf00000;
19325pub const INSN_FIELD_SUCC_START: u32 = 20;
19326pub const INSN_FIELD_SUCC_SIZE: u32 = 4;
19327pub const INSN_FIELD_RM: u32 = 0x7000;
19328pub const INSN_FIELD_RM_START: u32 = 12;
19329pub const INSN_FIELD_RM_SIZE: u32 = 3;
19330pub const INSN_FIELD_FUNCT3: u32 = 0x7000;
19331pub const INSN_FIELD_FUNCT3_START: u32 = 12;
19332pub const INSN_FIELD_FUNCT3_SIZE: u32 = 3;
19333pub const INSN_FIELD_FUNCT2: u32 = 0x6000000;
19334pub const INSN_FIELD_FUNCT2_START: u32 = 25;
19335pub const INSN_FIELD_FUNCT2_SIZE: u32 = 2;
19336pub const INSN_FIELD_IMM20: u32 = 0xfffff000;
19337pub const INSN_FIELD_IMM20_START: u32 = 12;
19338pub const INSN_FIELD_IMM20_SIZE: u32 = 20;
19339pub const INSN_FIELD_JIMM20: u32 = 0xfffff000;
19340pub const INSN_FIELD_JIMM20_START: u32 = 12;
19341pub const INSN_FIELD_JIMM20_SIZE: u32 = 20;
19342pub const INSN_FIELD_IMM12: u32 = 0xfff00000;
19343pub const INSN_FIELD_IMM12_START: u32 = 20;
19344pub const INSN_FIELD_IMM12_SIZE: u32 = 12;
19345pub const INSN_FIELD_CSR: u32 = 0xfff00000;
19346pub const INSN_FIELD_CSR_START: u32 = 20;
19347pub const INSN_FIELD_CSR_SIZE: u32 = 12;
19348pub const INSN_FIELD_IMM12HI: u32 = 0xfe000000;
19349pub const INSN_FIELD_IMM12HI_START: u32 = 25;
19350pub const INSN_FIELD_IMM12HI_SIZE: u32 = 7;
19351pub const INSN_FIELD_BIMM12HI: u32 = 0xfe000000;
19352pub const INSN_FIELD_BIMM12HI_START: u32 = 25;
19353pub const INSN_FIELD_BIMM12HI_SIZE: u32 = 7;
19354pub const INSN_FIELD_IMM12LO: u32 = 0xf80;
19355pub const INSN_FIELD_IMM12LO_START: u32 = 7;
19356pub const INSN_FIELD_IMM12LO_SIZE: u32 = 5;
19357pub const INSN_FIELD_BIMM12LO: u32 = 0xf80;
19358pub const INSN_FIELD_BIMM12LO_START: u32 = 7;
19359pub const INSN_FIELD_BIMM12LO_SIZE: u32 = 5;
19360pub const INSN_FIELD_SHAMTQ: u32 = 0x7f00000;
19361pub const INSN_FIELD_SHAMTQ_START: u32 = 20;
19362pub const INSN_FIELD_SHAMTQ_SIZE: u32 = 7;
19363pub const INSN_FIELD_SHAMTW: u32 = 0x1f00000;
19364pub const INSN_FIELD_SHAMTW_START: u32 = 20;
19365pub const INSN_FIELD_SHAMTW_SIZE: u32 = 5;
19366pub const INSN_FIELD_SHAMTW4: u32 = 0xf00000;
19367pub const INSN_FIELD_SHAMTW4_START: u32 = 20;
19368pub const INSN_FIELD_SHAMTW4_SIZE: u32 = 4;
19369pub const INSN_FIELD_SHAMTD: u32 = 0x3f00000;
19370pub const INSN_FIELD_SHAMTD_START: u32 = 20;
19371pub const INSN_FIELD_SHAMTD_SIZE: u32 = 6;
19372pub const INSN_FIELD_BS: u32 = 0xc0000000;
19373pub const INSN_FIELD_BS_START: u32 = 30;
19374pub const INSN_FIELD_BS_SIZE: u32 = 2;
19375pub const INSN_FIELD_RNUM: u32 = 0xf00000;
19376pub const INSN_FIELD_RNUM_START: u32 = 20;
19377pub const INSN_FIELD_RNUM_SIZE: u32 = 4;
19378pub const INSN_FIELD_RC: u32 = 0x3e000000;
19379pub const INSN_FIELD_RC_START: u32 = 25;
19380pub const INSN_FIELD_RC_SIZE: u32 = 5;
19381pub const INSN_FIELD_IMM2: u32 = 0x300000;
19382pub const INSN_FIELD_IMM2_START: u32 = 20;
19383pub const INSN_FIELD_IMM2_SIZE: u32 = 2;
19384pub const INSN_FIELD_IMM3: u32 = 0x700000;
19385pub const INSN_FIELD_IMM3_START: u32 = 20;
19386pub const INSN_FIELD_IMM3_SIZE: u32 = 3;
19387pub const INSN_FIELD_IMM4: u32 = 0xf00000;
19388pub const INSN_FIELD_IMM4_START: u32 = 20;
19389pub const INSN_FIELD_IMM4_SIZE: u32 = 4;
19390pub const INSN_FIELD_IMM5: u32 = 0x1f00000;
19391pub const INSN_FIELD_IMM5_START: u32 = 20;
19392pub const INSN_FIELD_IMM5_SIZE: u32 = 5;
19393pub const INSN_FIELD_IMM6: u32 = 0x3f00000;
19394pub const INSN_FIELD_IMM6_START: u32 = 20;
19395pub const INSN_FIELD_IMM6_SIZE: u32 = 6;
19396pub const INSN_FIELD_ZIMM: u32 = 0xf8000;
19397pub const INSN_FIELD_ZIMM_START: u32 = 15;
19398pub const INSN_FIELD_ZIMM_SIZE: u32 = 5;
19399pub const INSN_FIELD_OPCODE: u32 = 0x7f;
19400pub const INSN_FIELD_OPCODE_START: u32 = 0;
19401pub const INSN_FIELD_OPCODE_SIZE: u32 = 7;
19402pub const INSN_FIELD_FUNCT7: u32 = 0xfe000000;
19403pub const INSN_FIELD_FUNCT7_START: u32 = 25;
19404pub const INSN_FIELD_FUNCT7_SIZE: u32 = 7;
19405pub const INSN_FIELD_VD: u32 = 0xf80;
19406pub const INSN_FIELD_VD_START: u32 = 7;
19407pub const INSN_FIELD_VD_SIZE: u32 = 5;
19408pub const INSN_FIELD_VS3: u32 = 0xf80;
19409pub const INSN_FIELD_VS3_START: u32 = 7;
19410pub const INSN_FIELD_VS3_SIZE: u32 = 5;
19411pub const INSN_FIELD_VS1: u32 = 0xf8000;
19412pub const INSN_FIELD_VS1_START: u32 = 15;
19413pub const INSN_FIELD_VS1_SIZE: u32 = 5;
19414pub const INSN_FIELD_VS2: u32 = 0x1f00000;
19415pub const INSN_FIELD_VS2_START: u32 = 20;
19416pub const INSN_FIELD_VS2_SIZE: u32 = 5;
19417pub const INSN_FIELD_VM: u32 = 0x2000000;
19418pub const INSN_FIELD_VM_START: u32 = 25;
19419pub const INSN_FIELD_VM_SIZE: u32 = 1;
19420pub const INSN_FIELD_WD: u32 = 0x4000000;
19421pub const INSN_FIELD_WD_START: u32 = 26;
19422pub const INSN_FIELD_WD_SIZE: u32 = 1;
19423pub const INSN_FIELD_AMOOP: u32 = 0xf8000000;
19424pub const INSN_FIELD_AMOOP_START: u32 = 27;
19425pub const INSN_FIELD_AMOOP_SIZE: u32 = 5;
19426pub const INSN_FIELD_NF: u32 = 0xe0000000;
19427pub const INSN_FIELD_NF_START: u32 = 29;
19428pub const INSN_FIELD_NF_SIZE: u32 = 3;
19429pub const INSN_FIELD_SIMM5: u32 = 0xf8000;
19430pub const INSN_FIELD_SIMM5_START: u32 = 15;
19431pub const INSN_FIELD_SIMM5_SIZE: u32 = 5;
19432pub const INSN_FIELD_ZIMM5: u32 = 0xf8000;
19433pub const INSN_FIELD_ZIMM5_START: u32 = 15;
19434pub const INSN_FIELD_ZIMM5_SIZE: u32 = 5;
19435pub const INSN_FIELD_ZIMM10: u32 = 0x3ff00000;
19436pub const INSN_FIELD_ZIMM10_START: u32 = 20;
19437pub const INSN_FIELD_ZIMM10_SIZE: u32 = 10;
19438pub const INSN_FIELD_ZIMM11: u32 = 0x7ff00000;
19439pub const INSN_FIELD_ZIMM11_START: u32 = 20;
19440pub const INSN_FIELD_ZIMM11_SIZE: u32 = 11;
19441pub const INSN_FIELD_ZIMM6HI: u32 = 0x4000000;
19442pub const INSN_FIELD_ZIMM6HI_START: u32 = 26;
19443pub const INSN_FIELD_ZIMM6HI_SIZE: u32 = 1;
19444pub const INSN_FIELD_ZIMM6LO: u32 = 0xf8000;
19445pub const INSN_FIELD_ZIMM6LO_START: u32 = 15;
19446pub const INSN_FIELD_ZIMM6LO_SIZE: u32 = 5;
19447pub const INSN_FIELD_C_NZUIMM10: u32 = 0x1fe0;
19448pub const INSN_FIELD_C_NZUIMM10_START: u32 = 5;
19449pub const INSN_FIELD_C_NZUIMM10_SIZE: u32 = 8;
19450pub const INSN_FIELD_C_UIMM7LO: u32 = 0x60;
19451pub const INSN_FIELD_C_UIMM7LO_START: u32 = 5;
19452pub const INSN_FIELD_C_UIMM7LO_SIZE: u32 = 2;
19453pub const INSN_FIELD_C_UIMM7HI: u32 = 0x1c00;
19454pub const INSN_FIELD_C_UIMM7HI_START: u32 = 10;
19455pub const INSN_FIELD_C_UIMM7HI_SIZE: u32 = 3;
19456pub const INSN_FIELD_C_UIMM8LO: u32 = 0x60;
19457pub const INSN_FIELD_C_UIMM8LO_START: u32 = 5;
19458pub const INSN_FIELD_C_UIMM8LO_SIZE: u32 = 2;
19459pub const INSN_FIELD_C_UIMM8HI: u32 = 0x1c00;
19460pub const INSN_FIELD_C_UIMM8HI_START: u32 = 10;
19461pub const INSN_FIELD_C_UIMM8HI_SIZE: u32 = 3;
19462pub const INSN_FIELD_C_UIMM9LO: u32 = 0x60;
19463pub const INSN_FIELD_C_UIMM9LO_START: u32 = 5;
19464pub const INSN_FIELD_C_UIMM9LO_SIZE: u32 = 2;
19465pub const INSN_FIELD_C_UIMM9HI: u32 = 0x1c00;
19466pub const INSN_FIELD_C_UIMM9HI_START: u32 = 10;
19467pub const INSN_FIELD_C_UIMM9HI_SIZE: u32 = 3;
19468pub const INSN_FIELD_C_NZIMM6LO: u32 = 0x7c;
19469pub const INSN_FIELD_C_NZIMM6LO_START: u32 = 2;
19470pub const INSN_FIELD_C_NZIMM6LO_SIZE: u32 = 5;
19471pub const INSN_FIELD_C_NZIMM6HI: u32 = 0x1000;
19472pub const INSN_FIELD_C_NZIMM6HI_START: u32 = 12;
19473pub const INSN_FIELD_C_NZIMM6HI_SIZE: u32 = 1;
19474pub const INSN_FIELD_C_IMM6LO: u32 = 0x7c;
19475pub const INSN_FIELD_C_IMM6LO_START: u32 = 2;
19476pub const INSN_FIELD_C_IMM6LO_SIZE: u32 = 5;
19477pub const INSN_FIELD_C_IMM6HI: u32 = 0x1000;
19478pub const INSN_FIELD_C_IMM6HI_START: u32 = 12;
19479pub const INSN_FIELD_C_IMM6HI_SIZE: u32 = 1;
19480pub const INSN_FIELD_C_NZIMM10HI: u32 = 0x1000;
19481pub const INSN_FIELD_C_NZIMM10HI_START: u32 = 12;
19482pub const INSN_FIELD_C_NZIMM10HI_SIZE: u32 = 1;
19483pub const INSN_FIELD_C_NZIMM10LO: u32 = 0x7c;
19484pub const INSN_FIELD_C_NZIMM10LO_START: u32 = 2;
19485pub const INSN_FIELD_C_NZIMM10LO_SIZE: u32 = 5;
19486pub const INSN_FIELD_C_NZIMM18HI: u32 = 0x1000;
19487pub const INSN_FIELD_C_NZIMM18HI_START: u32 = 12;
19488pub const INSN_FIELD_C_NZIMM18HI_SIZE: u32 = 1;
19489pub const INSN_FIELD_C_NZIMM18LO: u32 = 0x7c;
19490pub const INSN_FIELD_C_NZIMM18LO_START: u32 = 2;
19491pub const INSN_FIELD_C_NZIMM18LO_SIZE: u32 = 5;
19492pub const INSN_FIELD_C_IMM12: u32 = 0x1ffc;
19493pub const INSN_FIELD_C_IMM12_START: u32 = 2;
19494pub const INSN_FIELD_C_IMM12_SIZE: u32 = 11;
19495pub const INSN_FIELD_C_BIMM9LO: u32 = 0x7c;
19496pub const INSN_FIELD_C_BIMM9LO_START: u32 = 2;
19497pub const INSN_FIELD_C_BIMM9LO_SIZE: u32 = 5;
19498pub const INSN_FIELD_C_BIMM9HI: u32 = 0x1c00;
19499pub const INSN_FIELD_C_BIMM9HI_START: u32 = 10;
19500pub const INSN_FIELD_C_BIMM9HI_SIZE: u32 = 3;
19501pub const INSN_FIELD_C_NZUIMM5: u32 = 0x7c;
19502pub const INSN_FIELD_C_NZUIMM5_START: u32 = 2;
19503pub const INSN_FIELD_C_NZUIMM5_SIZE: u32 = 5;
19504pub const INSN_FIELD_C_NZUIMM6LO: u32 = 0x7c;
19505pub const INSN_FIELD_C_NZUIMM6LO_START: u32 = 2;
19506pub const INSN_FIELD_C_NZUIMM6LO_SIZE: u32 = 5;
19507pub const INSN_FIELD_C_NZUIMM6HI: u32 = 0x1000;
19508pub const INSN_FIELD_C_NZUIMM6HI_START: u32 = 12;
19509pub const INSN_FIELD_C_NZUIMM6HI_SIZE: u32 = 1;
19510pub const INSN_FIELD_C_UIMM8SPLO: u32 = 0x7c;
19511pub const INSN_FIELD_C_UIMM8SPLO_START: u32 = 2;
19512pub const INSN_FIELD_C_UIMM8SPLO_SIZE: u32 = 5;
19513pub const INSN_FIELD_C_UIMM8SPHI: u32 = 0x1000;
19514pub const INSN_FIELD_C_UIMM8SPHI_START: u32 = 12;
19515pub const INSN_FIELD_C_UIMM8SPHI_SIZE: u32 = 1;
19516pub const INSN_FIELD_C_UIMM8SP_S: u32 = 0x1f80;
19517pub const INSN_FIELD_C_UIMM8SP_S_START: u32 = 7;
19518pub const INSN_FIELD_C_UIMM8SP_S_SIZE: u32 = 6;
19519pub const INSN_FIELD_C_UIMM10SPLO: u32 = 0x7c;
19520pub const INSN_FIELD_C_UIMM10SPLO_START: u32 = 2;
19521pub const INSN_FIELD_C_UIMM10SPLO_SIZE: u32 = 5;
19522pub const INSN_FIELD_C_UIMM10SPHI: u32 = 0x1000;
19523pub const INSN_FIELD_C_UIMM10SPHI_START: u32 = 12;
19524pub const INSN_FIELD_C_UIMM10SPHI_SIZE: u32 = 1;
19525pub const INSN_FIELD_C_UIMM9SPLO: u32 = 0x7c;
19526pub const INSN_FIELD_C_UIMM9SPLO_START: u32 = 2;
19527pub const INSN_FIELD_C_UIMM9SPLO_SIZE: u32 = 5;
19528pub const INSN_FIELD_C_UIMM9SPHI: u32 = 0x1000;
19529pub const INSN_FIELD_C_UIMM9SPHI_START: u32 = 12;
19530pub const INSN_FIELD_C_UIMM9SPHI_SIZE: u32 = 1;
19531pub const INSN_FIELD_C_UIMM10SP_S: u32 = 0x1f80;
19532pub const INSN_FIELD_C_UIMM10SP_S_START: u32 = 7;
19533pub const INSN_FIELD_C_UIMM10SP_S_SIZE: u32 = 6;
19534pub const INSN_FIELD_C_UIMM9SP_S: u32 = 0x1f80;
19535pub const INSN_FIELD_C_UIMM9SP_S_START: u32 = 7;
19536pub const INSN_FIELD_C_UIMM9SP_S_SIZE: u32 = 6;
19537pub const INSN_FIELD_C_UIMM2: u32 = 0x60;
19538pub const INSN_FIELD_C_UIMM2_START: u32 = 5;
19539pub const INSN_FIELD_C_UIMM2_SIZE: u32 = 2;
19540pub const INSN_FIELD_C_UIMM1: u32 = 0x20;
19541pub const INSN_FIELD_C_UIMM1_START: u32 = 5;
19542pub const INSN_FIELD_C_UIMM1_SIZE: u32 = 1;
19543pub const INSN_FIELD_C_RLIST: u32 = 0xf0;
19544pub const INSN_FIELD_C_RLIST_START: u32 = 4;
19545pub const INSN_FIELD_C_RLIST_SIZE: u32 = 4;
19546pub const INSN_FIELD_C_SPIMM: u32 = 0xc;
19547pub const INSN_FIELD_C_SPIMM_START: u32 = 2;
19548pub const INSN_FIELD_C_SPIMM_SIZE: u32 = 2;
19549pub const INSN_FIELD_C_INDEX: u32 = 0x3fc;
19550pub const INSN_FIELD_C_INDEX_START: u32 = 2;
19551pub const INSN_FIELD_C_INDEX_SIZE: u32 = 8;
19552pub const INSN_FIELD_RS1_P: u32 = 0x380;
19553pub const INSN_FIELD_RS1_P_START: u32 = 7;
19554pub const INSN_FIELD_RS1_P_SIZE: u32 = 3;
19555pub const INSN_FIELD_RS2_P: u32 = 0x1c;
19556pub const INSN_FIELD_RS2_P_START: u32 = 2;
19557pub const INSN_FIELD_RS2_P_SIZE: u32 = 3;
19558pub const INSN_FIELD_RD_P: u32 = 0x1c;
19559pub const INSN_FIELD_RD_P_START: u32 = 2;
19560pub const INSN_FIELD_RD_P_SIZE: u32 = 3;
19561pub const INSN_FIELD_RD_RS1_N0: u32 = 0xf80;
19562pub const INSN_FIELD_RD_RS1_N0_START: u32 = 7;
19563pub const INSN_FIELD_RD_RS1_N0_SIZE: u32 = 5;
19564pub const INSN_FIELD_RD_RS1_P: u32 = 0x380;
19565pub const INSN_FIELD_RD_RS1_P_START: u32 = 7;
19566pub const INSN_FIELD_RD_RS1_P_SIZE: u32 = 3;
19567pub const INSN_FIELD_RD_RS1: u32 = 0xf80;
19568pub const INSN_FIELD_RD_RS1_START: u32 = 7;
19569pub const INSN_FIELD_RD_RS1_SIZE: u32 = 5;
19570pub const INSN_FIELD_RD_N2: u32 = 0xf80;
19571pub const INSN_FIELD_RD_N2_START: u32 = 7;
19572pub const INSN_FIELD_RD_N2_SIZE: u32 = 5;
19573pub const INSN_FIELD_RD_N0: u32 = 0xf80;
19574pub const INSN_FIELD_RD_N0_START: u32 = 7;
19575pub const INSN_FIELD_RD_N0_SIZE: u32 = 5;
19576pub const INSN_FIELD_RS1_N0: u32 = 0xf80;
19577pub const INSN_FIELD_RS1_N0_START: u32 = 7;
19578pub const INSN_FIELD_RS1_N0_SIZE: u32 = 5;
19579pub const INSN_FIELD_C_RS2_N0: u32 = 0x7c;
19580pub const INSN_FIELD_C_RS2_N0_START: u32 = 2;
19581pub const INSN_FIELD_C_RS2_N0_SIZE: u32 = 5;
19582pub const INSN_FIELD_C_RS1_N0: u32 = 0xf80;
19583pub const INSN_FIELD_C_RS1_N0_START: u32 = 7;
19584pub const INSN_FIELD_C_RS1_N0_SIZE: u32 = 5;
19585pub const INSN_FIELD_C_RS2: u32 = 0x7c;
19586pub const INSN_FIELD_C_RS2_START: u32 = 2;
19587pub const INSN_FIELD_C_RS2_SIZE: u32 = 5;
19588pub const INSN_FIELD_C_SREG1: u32 = 0x380;
19589pub const INSN_FIELD_C_SREG1_START: u32 = 7;
19590pub const INSN_FIELD_C_SREG1_SIZE: u32 = 3;
19591pub const INSN_FIELD_C_SREG2: u32 = 0x1c;
19592pub const INSN_FIELD_C_SREG2_START: u32 = 2;
19593pub const INSN_FIELD_C_SREG2_SIZE: u32 = 3;
19594pub const INSN_FIELD_MOP_R_T_30: u32 = 0x40000000;
19595pub const INSN_FIELD_MOP_R_T_30_START: u32 = 30;
19596pub const INSN_FIELD_MOP_R_T_30_SIZE: u32 = 1;
19597pub const INSN_FIELD_MOP_R_T_27_26: u32 = 0xc000000;
19598pub const INSN_FIELD_MOP_R_T_27_26_START: u32 = 26;
19599pub const INSN_FIELD_MOP_R_T_27_26_SIZE: u32 = 2;
19600pub const INSN_FIELD_MOP_R_T_21_20: u32 = 0x300000;
19601pub const INSN_FIELD_MOP_R_T_21_20_START: u32 = 20;
19602pub const INSN_FIELD_MOP_R_T_21_20_SIZE: u32 = 2;
19603pub const INSN_FIELD_MOP_RR_T_30: u32 = 0x40000000;
19604pub const INSN_FIELD_MOP_RR_T_30_START: u32 = 30;
19605pub const INSN_FIELD_MOP_RR_T_30_SIZE: u32 = 1;
19606pub const INSN_FIELD_MOP_RR_T_27_26: u32 = 0xc000000;
19607pub const INSN_FIELD_MOP_RR_T_27_26_START: u32 = 26;
19608pub const INSN_FIELD_MOP_RR_T_27_26_SIZE: u32 = 2;
19609pub const INSN_FIELD_C_MOP_T: u32 = 0x700;
19610pub const INSN_FIELD_C_MOP_T_START: u32 = 8;
19611pub const INSN_FIELD_C_MOP_T_SIZE: u32 = 3;
19612pub const INSN_FIELD_RS2_EQ_RS1: u32 = 0x1f00000;
19613pub const INSN_FIELD_RS2_EQ_RS1_START: u32 = 20;
19614pub const INSN_FIELD_RS2_EQ_RS1_SIZE: u32 = 5;
19615
19616#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
19618#[repr(transparent)]
19619pub struct InstructionValue {
19620 pub value: u32,
19621}
19622
19623impl InstructionValue {
19624 pub const fn new(value: u32) -> Self {
19625 Self { value }
19626 }
19627
19628 pub const fn field<const FIELD_START: usize, const FIELD_SIZE: usize>(self) -> u32 {
19629 (self.value >> FIELD_START) & ((1 << FIELD_SIZE) - 1)
19630 }
19631
19632 pub const fn rd(self) -> u32 {
19633 (self.value >> INSN_FIELD_RD_START) & ((1 << INSN_FIELD_RD_SIZE) - 1)
19634 }
19635
19636 pub const fn set_rd(mut self, value: u32) -> Self {
19637 let mask = INSN_FIELD_RD;
19638
19639 self.value &= !mask;
19640 self.value |= (value & ((1 << INSN_FIELD_RD_SIZE) - 1)) << INSN_FIELD_RD_START;
19641 self
19642 }
19643 pub const fn rt(self) -> u32 {
19644 (self.value >> INSN_FIELD_RT_START) & ((1 << INSN_FIELD_RT_SIZE) - 1)
19645 }
19646
19647 pub const fn set_rt(mut self, value: u32) -> Self {
19648 let mask = INSN_FIELD_RT;
19649
19650 self.value &= !mask;
19651 self.value |= (value & ((1 << INSN_FIELD_RT_SIZE) - 1)) << INSN_FIELD_RT_START;
19652 self
19653 }
19654 pub const fn rs1(self) -> u32 {
19655 (self.value >> INSN_FIELD_RS1_START) & ((1 << INSN_FIELD_RS1_SIZE) - 1)
19656 }
19657
19658 pub const fn set_rs1(mut self, value: u32) -> Self {
19659 let mask = INSN_FIELD_RS1;
19660
19661 self.value &= !mask;
19662 self.value |= (value & ((1 << INSN_FIELD_RS1_SIZE) - 1)) << INSN_FIELD_RS1_START;
19663 self
19664 }
19665 pub const fn rs2(self) -> u32 {
19666 (self.value >> INSN_FIELD_RS2_START) & ((1 << INSN_FIELD_RS2_SIZE) - 1)
19667 }
19668
19669 pub const fn set_rs2(mut self, value: u32) -> Self {
19670 let mask = INSN_FIELD_RS2;
19671
19672 self.value &= !mask;
19673 self.value |= (value & ((1 << INSN_FIELD_RS2_SIZE) - 1)) << INSN_FIELD_RS2_START;
19674 self
19675 }
19676 pub const fn rs3(self) -> u32 {
19677 (self.value >> INSN_FIELD_RS3_START) & ((1 << INSN_FIELD_RS3_SIZE) - 1)
19678 }
19679
19680 pub const fn set_rs3(mut self, value: u32) -> Self {
19681 let mask = INSN_FIELD_RS3;
19682
19683 self.value &= !mask;
19684 self.value |= (value & ((1 << INSN_FIELD_RS3_SIZE) - 1)) << INSN_FIELD_RS3_START;
19685 self
19686 }
19687 pub const fn aqrl(self) -> u32 {
19688 (self.value >> INSN_FIELD_AQRL_START) & ((1 << INSN_FIELD_AQRL_SIZE) - 1)
19689 }
19690
19691 pub const fn set_aqrl(mut self, value: u32) -> Self {
19692 let mask = INSN_FIELD_AQRL;
19693
19694 self.value &= !mask;
19695 self.value |= (value & ((1 << INSN_FIELD_AQRL_SIZE) - 1)) << INSN_FIELD_AQRL_START;
19696 self
19697 }
19698 pub const fn aq(self) -> u32 {
19699 (self.value >> INSN_FIELD_AQ_START) & ((1 << INSN_FIELD_AQ_SIZE) - 1)
19700 }
19701
19702 pub const fn set_aq(mut self, value: u32) -> Self {
19703 let mask = INSN_FIELD_AQ;
19704
19705 self.value &= !mask;
19706 self.value |= (value & ((1 << INSN_FIELD_AQ_SIZE) - 1)) << INSN_FIELD_AQ_START;
19707 self
19708 }
19709 pub const fn rl(self) -> u32 {
19710 (self.value >> INSN_FIELD_RL_START) & ((1 << INSN_FIELD_RL_SIZE) - 1)
19711 }
19712
19713 pub const fn set_rl(mut self, value: u32) -> Self {
19714 let mask = INSN_FIELD_RL;
19715
19716 self.value &= !mask;
19717 self.value |= (value & ((1 << INSN_FIELD_RL_SIZE) - 1)) << INSN_FIELD_RL_START;
19718 self
19719 }
19720 pub const fn fm(self) -> u32 {
19721 (self.value >> INSN_FIELD_FM_START) & ((1 << INSN_FIELD_FM_SIZE) - 1)
19722 }
19723
19724 pub const fn set_fm(mut self, value: u32) -> Self {
19725 let mask = INSN_FIELD_FM;
19726
19727 self.value &= !mask;
19728 self.value |= (value & ((1 << INSN_FIELD_FM_SIZE) - 1)) << INSN_FIELD_FM_START;
19729 self
19730 }
19731 pub const fn pred(self) -> u32 {
19732 (self.value >> INSN_FIELD_PRED_START) & ((1 << INSN_FIELD_PRED_SIZE) - 1)
19733 }
19734
19735 pub const fn set_pred(mut self, value: u32) -> Self {
19736 let mask = INSN_FIELD_PRED;
19737
19738 self.value &= !mask;
19739 self.value |= (value & ((1 << INSN_FIELD_PRED_SIZE) - 1)) << INSN_FIELD_PRED_START;
19740 self
19741 }
19742 pub const fn succ(self) -> u32 {
19743 (self.value >> INSN_FIELD_SUCC_START) & ((1 << INSN_FIELD_SUCC_SIZE) - 1)
19744 }
19745
19746 pub const fn set_succ(mut self, value: u32) -> Self {
19747 let mask = INSN_FIELD_SUCC;
19748
19749 self.value &= !mask;
19750 self.value |= (value & ((1 << INSN_FIELD_SUCC_SIZE) - 1)) << INSN_FIELD_SUCC_START;
19751 self
19752 }
19753 pub const fn rm(self) -> u32 {
19754 (self.value >> INSN_FIELD_RM_START) & ((1 << INSN_FIELD_RM_SIZE) - 1)
19755 }
19756
19757 pub const fn set_rm(mut self, value: u32) -> Self {
19758 let mask = INSN_FIELD_RM;
19759
19760 self.value &= !mask;
19761 self.value |= (value & ((1 << INSN_FIELD_RM_SIZE) - 1)) << INSN_FIELD_RM_START;
19762 self
19763 }
19764 pub const fn funct3(self) -> u32 {
19765 (self.value >> INSN_FIELD_FUNCT3_START) & ((1 << INSN_FIELD_FUNCT3_SIZE) - 1)
19766 }
19767
19768 pub const fn set_funct3(mut self, value: u32) -> Self {
19769 let mask = INSN_FIELD_FUNCT3;
19770
19771 self.value &= !mask;
19772 self.value |= (value & ((1 << INSN_FIELD_FUNCT3_SIZE) - 1)) << INSN_FIELD_FUNCT3_START;
19773 self
19774 }
19775 pub const fn funct2(self) -> u32 {
19776 (self.value >> INSN_FIELD_FUNCT2_START) & ((1 << INSN_FIELD_FUNCT2_SIZE) - 1)
19777 }
19778
19779 pub const fn set_funct2(mut self, value: u32) -> Self {
19780 let mask = INSN_FIELD_FUNCT2;
19781
19782 self.value &= !mask;
19783 self.value |= (value & ((1 << INSN_FIELD_FUNCT2_SIZE) - 1)) << INSN_FIELD_FUNCT2_START;
19784 self
19785 }
19786 pub const fn imm20_raw(self) -> u32 {
19787 (self.value >> INSN_FIELD_IMM20_START) & ((1 << INSN_FIELD_IMM20_SIZE) - 1)
19788 }
19789
19790 pub const fn set_imm20_raw(mut self, value: u32) -> Self {
19791 let mask = INSN_FIELD_IMM20;
19792
19793 self.value &= !mask;
19794 self.value |= (value & ((1 << INSN_FIELD_IMM20_SIZE) - 1)) << INSN_FIELD_IMM20_START;
19795 self
19796 }
19797 pub const fn jimm20_raw(self) -> u32 {
19798 (self.value >> INSN_FIELD_JIMM20_START) & ((1 << INSN_FIELD_JIMM20_SIZE) - 1)
19799 }
19800
19801 pub const fn set_jimm20_raw(mut self, value: u32) -> Self {
19802 let mask = INSN_FIELD_JIMM20;
19803
19804 self.value &= !mask;
19805 self.value |= (value & ((1 << INSN_FIELD_JIMM20_SIZE) - 1)) << INSN_FIELD_JIMM20_START;
19806 self
19807 }
19808 pub const fn imm12_raw(self) -> u32 {
19809 (self.value >> INSN_FIELD_IMM12_START) & ((1 << INSN_FIELD_IMM12_SIZE) - 1)
19810 }
19811
19812 pub const fn set_imm12_raw(mut self, value: u32) -> Self {
19813 let mask = INSN_FIELD_IMM12;
19814
19815 self.value &= !mask;
19816 self.value |= (value & ((1 << INSN_FIELD_IMM12_SIZE) - 1)) << INSN_FIELD_IMM12_START;
19817 self
19818 }
19819 pub const fn csr(self) -> u32 {
19820 (self.value >> INSN_FIELD_CSR_START) & ((1 << INSN_FIELD_CSR_SIZE) - 1)
19821 }
19822
19823 pub const fn set_csr(mut self, value: u32) -> Self {
19824 let mask = INSN_FIELD_CSR;
19825
19826 self.value &= !mask;
19827 self.value |= (value & ((1 << INSN_FIELD_CSR_SIZE) - 1)) << INSN_FIELD_CSR_START;
19828 self
19829 }
19830 pub const fn imm12hi_raw(self) -> u32 {
19831 (self.value >> INSN_FIELD_IMM12HI_START) & ((1 << INSN_FIELD_IMM12HI_SIZE) - 1)
19832 }
19833
19834 pub const fn set_imm12hi_raw(mut self, value: u32) -> Self {
19835 let mask = INSN_FIELD_IMM12HI;
19836
19837 self.value &= !mask;
19838 self.value |= (value & ((1 << INSN_FIELD_IMM12HI_SIZE) - 1)) << INSN_FIELD_IMM12HI_START;
19839 self
19840 }
19841 pub const fn bimm12hi_raw(self) -> u32 {
19842 (self.value >> INSN_FIELD_BIMM12HI_START) & ((1 << INSN_FIELD_BIMM12HI_SIZE) - 1)
19843 }
19844
19845 pub const fn set_bimm12hi_raw(mut self, value: u32) -> Self {
19846 let mask = INSN_FIELD_BIMM12HI;
19847
19848 self.value &= !mask;
19849 self.value |= (value & ((1 << INSN_FIELD_BIMM12HI_SIZE) - 1)) << INSN_FIELD_BIMM12HI_START;
19850 self
19851 }
19852 pub const fn imm12lo_raw(self) -> u32 {
19853 (self.value >> INSN_FIELD_IMM12LO_START) & ((1 << INSN_FIELD_IMM12LO_SIZE) - 1)
19854 }
19855
19856 pub const fn set_imm12lo_raw(mut self, value: u32) -> Self {
19857 let mask = INSN_FIELD_IMM12LO;
19858
19859 self.value &= !mask;
19860 self.value |= (value & ((1 << INSN_FIELD_IMM12LO_SIZE) - 1)) << INSN_FIELD_IMM12LO_START;
19861 self
19862 }
19863 pub const fn bimm12lo_raw(self) -> u32 {
19864 (self.value >> INSN_FIELD_BIMM12LO_START) & ((1 << INSN_FIELD_BIMM12LO_SIZE) - 1)
19865 }
19866
19867 pub const fn set_bimm12lo_raw(mut self, value: u32) -> Self {
19868 let mask = INSN_FIELD_BIMM12LO;
19869
19870 self.value &= !mask;
19871 self.value |= (value & ((1 << INSN_FIELD_BIMM12LO_SIZE) - 1)) << INSN_FIELD_BIMM12LO_START;
19872 self
19873 }
19874 pub const fn shamtq(self) -> u32 {
19875 (self.value >> INSN_FIELD_SHAMTQ_START) & ((1 << INSN_FIELD_SHAMTQ_SIZE) - 1)
19876 }
19877
19878 pub const fn set_shamtq(mut self, value: u32) -> Self {
19879 let mask = INSN_FIELD_SHAMTQ;
19880
19881 self.value &= !mask;
19882 self.value |= (value & ((1 << INSN_FIELD_SHAMTQ_SIZE) - 1)) << INSN_FIELD_SHAMTQ_START;
19883 self
19884 }
19885 pub const fn shamtw(self) -> u32 {
19886 (self.value >> INSN_FIELD_SHAMTW_START) & ((1 << INSN_FIELD_SHAMTW_SIZE) - 1)
19887 }
19888
19889 pub const fn set_shamtw(mut self, value: u32) -> Self {
19890 let mask = INSN_FIELD_SHAMTW;
19891
19892 self.value &= !mask;
19893 self.value |= (value & ((1 << INSN_FIELD_SHAMTW_SIZE) - 1)) << INSN_FIELD_SHAMTW_START;
19894 self
19895 }
19896 pub const fn shamtw4(self) -> u32 {
19897 (self.value >> INSN_FIELD_SHAMTW4_START) & ((1 << INSN_FIELD_SHAMTW4_SIZE) - 1)
19898 }
19899
19900 pub const fn set_shamtw4(mut self, value: u32) -> Self {
19901 let mask = INSN_FIELD_SHAMTW4;
19902
19903 self.value &= !mask;
19904 self.value |= (value & ((1 << INSN_FIELD_SHAMTW4_SIZE) - 1)) << INSN_FIELD_SHAMTW4_START;
19905 self
19906 }
19907 pub const fn shamtd(self) -> u32 {
19908 (self.value >> INSN_FIELD_SHAMTD_START) & ((1 << INSN_FIELD_SHAMTD_SIZE) - 1)
19909 }
19910
19911 pub const fn set_shamtd(mut self, value: u32) -> Self {
19912 let mask = INSN_FIELD_SHAMTD;
19913
19914 self.value &= !mask;
19915 self.value |= (value & ((1 << INSN_FIELD_SHAMTD_SIZE) - 1)) << INSN_FIELD_SHAMTD_START;
19916 self
19917 }
19918 pub const fn bs(self) -> u32 {
19919 (self.value >> INSN_FIELD_BS_START) & ((1 << INSN_FIELD_BS_SIZE) - 1)
19920 }
19921
19922 pub const fn set_bs(mut self, value: u32) -> Self {
19923 let mask = INSN_FIELD_BS;
19924
19925 self.value &= !mask;
19926 self.value |= (value & ((1 << INSN_FIELD_BS_SIZE) - 1)) << INSN_FIELD_BS_START;
19927 self
19928 }
19929 pub const fn rnum(self) -> u32 {
19930 (self.value >> INSN_FIELD_RNUM_START) & ((1 << INSN_FIELD_RNUM_SIZE) - 1)
19931 }
19932
19933 pub const fn set_rnum(mut self, value: u32) -> Self {
19934 let mask = INSN_FIELD_RNUM;
19935
19936 self.value &= !mask;
19937 self.value |= (value & ((1 << INSN_FIELD_RNUM_SIZE) - 1)) << INSN_FIELD_RNUM_START;
19938 self
19939 }
19940 pub const fn rc(self) -> u32 {
19941 (self.value >> INSN_FIELD_RC_START) & ((1 << INSN_FIELD_RC_SIZE) - 1)
19942 }
19943
19944 pub const fn set_rc(mut self, value: u32) -> Self {
19945 let mask = INSN_FIELD_RC;
19946
19947 self.value &= !mask;
19948 self.value |= (value & ((1 << INSN_FIELD_RC_SIZE) - 1)) << INSN_FIELD_RC_START;
19949 self
19950 }
19951 pub const fn imm2_raw(self) -> u32 {
19952 (self.value >> INSN_FIELD_IMM2_START) & ((1 << INSN_FIELD_IMM2_SIZE) - 1)
19953 }
19954
19955 pub const fn set_imm2_raw(mut self, value: u32) -> Self {
19956 let mask = INSN_FIELD_IMM2;
19957
19958 self.value &= !mask;
19959 self.value |= (value & ((1 << INSN_FIELD_IMM2_SIZE) - 1)) << INSN_FIELD_IMM2_START;
19960 self
19961 }
19962 pub const fn imm3_raw(self) -> u32 {
19963 (self.value >> INSN_FIELD_IMM3_START) & ((1 << INSN_FIELD_IMM3_SIZE) - 1)
19964 }
19965
19966 pub const fn set_imm3_raw(mut self, value: u32) -> Self {
19967 let mask = INSN_FIELD_IMM3;
19968
19969 self.value &= !mask;
19970 self.value |= (value & ((1 << INSN_FIELD_IMM3_SIZE) - 1)) << INSN_FIELD_IMM3_START;
19971 self
19972 }
19973 pub const fn imm4_raw(self) -> u32 {
19974 (self.value >> INSN_FIELD_IMM4_START) & ((1 << INSN_FIELD_IMM4_SIZE) - 1)
19975 }
19976
19977 pub const fn set_imm4_raw(mut self, value: u32) -> Self {
19978 let mask = INSN_FIELD_IMM4;
19979
19980 self.value &= !mask;
19981 self.value |= (value & ((1 << INSN_FIELD_IMM4_SIZE) - 1)) << INSN_FIELD_IMM4_START;
19982 self
19983 }
19984 pub const fn imm5_raw(self) -> u32 {
19985 (self.value >> INSN_FIELD_IMM5_START) & ((1 << INSN_FIELD_IMM5_SIZE) - 1)
19986 }
19987
19988 pub const fn set_imm5_raw(mut self, value: u32) -> Self {
19989 let mask = INSN_FIELD_IMM5;
19990
19991 self.value &= !mask;
19992 self.value |= (value & ((1 << INSN_FIELD_IMM5_SIZE) - 1)) << INSN_FIELD_IMM5_START;
19993 self
19994 }
19995 pub const fn imm6_raw(self) -> u32 {
19996 (self.value >> INSN_FIELD_IMM6_START) & ((1 << INSN_FIELD_IMM6_SIZE) - 1)
19997 }
19998
19999 pub const fn set_imm6_raw(mut self, value: u32) -> Self {
20000 let mask = INSN_FIELD_IMM6;
20001
20002 self.value &= !mask;
20003 self.value |= (value & ((1 << INSN_FIELD_IMM6_SIZE) - 1)) << INSN_FIELD_IMM6_START;
20004 self
20005 }
20006 pub const fn zimm_raw(self) -> u32 {
20007 (self.value >> INSN_FIELD_ZIMM_START) & ((1 << INSN_FIELD_ZIMM_SIZE) - 1)
20008 }
20009
20010 pub const fn set_zimm_raw(mut self, value: u32) -> Self {
20011 let mask = INSN_FIELD_ZIMM;
20012
20013 self.value &= !mask;
20014 self.value |= (value & ((1 << INSN_FIELD_ZIMM_SIZE) - 1)) << INSN_FIELD_ZIMM_START;
20015 self
20016 }
20017 pub const fn opcode(self) -> u32 {
20018 (self.value >> INSN_FIELD_OPCODE_START) & ((1 << INSN_FIELD_OPCODE_SIZE) - 1)
20019 }
20020
20021 pub const fn set_opcode(mut self, value: u32) -> Self {
20022 let mask = INSN_FIELD_OPCODE;
20023
20024 self.value &= !mask;
20025 self.value |= (value & ((1 << INSN_FIELD_OPCODE_SIZE) - 1)) << INSN_FIELD_OPCODE_START;
20026 self
20027 }
20028 pub const fn funct7(self) -> u32 {
20029 (self.value >> INSN_FIELD_FUNCT7_START) & ((1 << INSN_FIELD_FUNCT7_SIZE) - 1)
20030 }
20031
20032 pub const fn set_funct7(mut self, value: u32) -> Self {
20033 let mask = INSN_FIELD_FUNCT7;
20034
20035 self.value &= !mask;
20036 self.value |= (value & ((1 << INSN_FIELD_FUNCT7_SIZE) - 1)) << INSN_FIELD_FUNCT7_START;
20037 self
20038 }
20039 pub const fn vd(self) -> u32 {
20040 (self.value >> INSN_FIELD_VD_START) & ((1 << INSN_FIELD_VD_SIZE) - 1)
20041 }
20042
20043 pub const fn set_vd(mut self, value: u32) -> Self {
20044 let mask = INSN_FIELD_VD;
20045
20046 self.value &= !mask;
20047 self.value |= (value & ((1 << INSN_FIELD_VD_SIZE) - 1)) << INSN_FIELD_VD_START;
20048 self
20049 }
20050 pub const fn vs3(self) -> u32 {
20051 (self.value >> INSN_FIELD_VS3_START) & ((1 << INSN_FIELD_VS3_SIZE) - 1)
20052 }
20053
20054 pub const fn set_vs3(mut self, value: u32) -> Self {
20055 let mask = INSN_FIELD_VS3;
20056
20057 self.value &= !mask;
20058 self.value |= (value & ((1 << INSN_FIELD_VS3_SIZE) - 1)) << INSN_FIELD_VS3_START;
20059 self
20060 }
20061 pub const fn vs1(self) -> u32 {
20062 (self.value >> INSN_FIELD_VS1_START) & ((1 << INSN_FIELD_VS1_SIZE) - 1)
20063 }
20064
20065 pub const fn set_vs1(mut self, value: u32) -> Self {
20066 let mask = INSN_FIELD_VS1;
20067
20068 self.value &= !mask;
20069 self.value |= (value & ((1 << INSN_FIELD_VS1_SIZE) - 1)) << INSN_FIELD_VS1_START;
20070 self
20071 }
20072 pub const fn vs2(self) -> u32 {
20073 (self.value >> INSN_FIELD_VS2_START) & ((1 << INSN_FIELD_VS2_SIZE) - 1)
20074 }
20075
20076 pub const fn set_vs2(mut self, value: u32) -> Self {
20077 let mask = INSN_FIELD_VS2;
20078
20079 self.value &= !mask;
20080 self.value |= (value & ((1 << INSN_FIELD_VS2_SIZE) - 1)) << INSN_FIELD_VS2_START;
20081 self
20082 }
20083 pub const fn vm(self) -> u32 {
20084 (self.value >> INSN_FIELD_VM_START) & ((1 << INSN_FIELD_VM_SIZE) - 1)
20085 }
20086
20087 pub const fn set_vm(mut self, value: u32) -> Self {
20088 let mask = INSN_FIELD_VM;
20089
20090 self.value &= !mask;
20091 self.value |= (value & ((1 << INSN_FIELD_VM_SIZE) - 1)) << INSN_FIELD_VM_START;
20092 self
20093 }
20094 pub const fn wd(self) -> u32 {
20095 (self.value >> INSN_FIELD_WD_START) & ((1 << INSN_FIELD_WD_SIZE) - 1)
20096 }
20097
20098 pub const fn set_wd(mut self, value: u32) -> Self {
20099 let mask = INSN_FIELD_WD;
20100
20101 self.value &= !mask;
20102 self.value |= (value & ((1 << INSN_FIELD_WD_SIZE) - 1)) << INSN_FIELD_WD_START;
20103 self
20104 }
20105 pub const fn amoop(self) -> u32 {
20106 (self.value >> INSN_FIELD_AMOOP_START) & ((1 << INSN_FIELD_AMOOP_SIZE) - 1)
20107 }
20108
20109 pub const fn set_amoop(mut self, value: u32) -> Self {
20110 let mask = INSN_FIELD_AMOOP;
20111
20112 self.value &= !mask;
20113 self.value |= (value & ((1 << INSN_FIELD_AMOOP_SIZE) - 1)) << INSN_FIELD_AMOOP_START;
20114 self
20115 }
20116 pub const fn nf(self) -> u32 {
20117 (self.value >> INSN_FIELD_NF_START) & ((1 << INSN_FIELD_NF_SIZE) - 1)
20118 }
20119
20120 pub const fn set_nf(mut self, value: u32) -> Self {
20121 let mask = INSN_FIELD_NF;
20122
20123 self.value &= !mask;
20124 self.value |= (value & ((1 << INSN_FIELD_NF_SIZE) - 1)) << INSN_FIELD_NF_START;
20125 self
20126 }
20127 pub const fn simm5_raw(self) -> u32 {
20128 (self.value >> INSN_FIELD_SIMM5_START) & ((1 << INSN_FIELD_SIMM5_SIZE) - 1)
20129 }
20130
20131 pub const fn set_simm5_raw(mut self, value: u32) -> Self {
20132 let mask = INSN_FIELD_SIMM5;
20133
20134 self.value &= !mask;
20135 self.value |= (value & ((1 << INSN_FIELD_SIMM5_SIZE) - 1)) << INSN_FIELD_SIMM5_START;
20136 self
20137 }
20138 pub const fn zimm5_raw(self) -> u32 {
20139 (self.value >> INSN_FIELD_ZIMM5_START) & ((1 << INSN_FIELD_ZIMM5_SIZE) - 1)
20140 }
20141
20142 pub const fn set_zimm5_raw(mut self, value: u32) -> Self {
20143 let mask = INSN_FIELD_ZIMM5;
20144
20145 self.value &= !mask;
20146 self.value |= (value & ((1 << INSN_FIELD_ZIMM5_SIZE) - 1)) << INSN_FIELD_ZIMM5_START;
20147 self
20148 }
20149 pub const fn zimm10_raw(self) -> u32 {
20150 (self.value >> INSN_FIELD_ZIMM10_START) & ((1 << INSN_FIELD_ZIMM10_SIZE) - 1)
20151 }
20152
20153 pub const fn set_zimm10_raw(mut self, value: u32) -> Self {
20154 let mask = INSN_FIELD_ZIMM10;
20155
20156 self.value &= !mask;
20157 self.value |= (value & ((1 << INSN_FIELD_ZIMM10_SIZE) - 1)) << INSN_FIELD_ZIMM10_START;
20158 self
20159 }
20160 pub const fn zimm11_raw(self) -> u32 {
20161 (self.value >> INSN_FIELD_ZIMM11_START) & ((1 << INSN_FIELD_ZIMM11_SIZE) - 1)
20162 }
20163
20164 pub const fn set_zimm11_raw(mut self, value: u32) -> Self {
20165 let mask = INSN_FIELD_ZIMM11;
20166
20167 self.value &= !mask;
20168 self.value |= (value & ((1 << INSN_FIELD_ZIMM11_SIZE) - 1)) << INSN_FIELD_ZIMM11_START;
20169 self
20170 }
20171 pub const fn zimm6hi_raw(self) -> u32 {
20172 (self.value >> INSN_FIELD_ZIMM6HI_START) & ((1 << INSN_FIELD_ZIMM6HI_SIZE) - 1)
20173 }
20174
20175 pub const fn set_zimm6hi_raw(mut self, value: u32) -> Self {
20176 let mask = INSN_FIELD_ZIMM6HI;
20177
20178 self.value &= !mask;
20179 self.value |= (value & ((1 << INSN_FIELD_ZIMM6HI_SIZE) - 1)) << INSN_FIELD_ZIMM6HI_START;
20180 self
20181 }
20182 pub const fn zimm6lo_raw(self) -> u32 {
20183 (self.value >> INSN_FIELD_ZIMM6LO_START) & ((1 << INSN_FIELD_ZIMM6LO_SIZE) - 1)
20184 }
20185
20186 pub const fn set_zimm6lo_raw(mut self, value: u32) -> Self {
20187 let mask = INSN_FIELD_ZIMM6LO;
20188
20189 self.value &= !mask;
20190 self.value |= (value & ((1 << INSN_FIELD_ZIMM6LO_SIZE) - 1)) << INSN_FIELD_ZIMM6LO_START;
20191 self
20192 }
20193 pub const fn c_nzuimm10_raw(self) -> u32 {
20194 (self.value >> INSN_FIELD_C_NZUIMM10_START) & ((1 << INSN_FIELD_C_NZUIMM10_SIZE) - 1)
20195 }
20196
20197 pub const fn set_c_nzuimm10_raw(mut self, value: u32) -> Self {
20198 let mask = INSN_FIELD_C_NZUIMM10;
20199
20200 self.value &= !mask;
20201 self.value |=
20202 (value & ((1 << INSN_FIELD_C_NZUIMM10_SIZE) - 1)) << INSN_FIELD_C_NZUIMM10_START;
20203 self
20204 }
20205 pub const fn c_uimm7lo_raw(self) -> u32 {
20206 (self.value >> INSN_FIELD_C_UIMM7LO_START) & ((1 << INSN_FIELD_C_UIMM7LO_SIZE) - 1)
20207 }
20208
20209 pub const fn set_c_uimm7lo_raw(mut self, value: u32) -> Self {
20210 let mask = INSN_FIELD_C_UIMM7LO;
20211
20212 self.value &= !mask;
20213 self.value |=
20214 (value & ((1 << INSN_FIELD_C_UIMM7LO_SIZE) - 1)) << INSN_FIELD_C_UIMM7LO_START;
20215 self
20216 }
20217 pub const fn c_uimm7hi_raw(self) -> u32 {
20218 (self.value >> INSN_FIELD_C_UIMM7HI_START) & ((1 << INSN_FIELD_C_UIMM7HI_SIZE) - 1)
20219 }
20220
20221 pub const fn set_c_uimm7hi_raw(mut self, value: u32) -> Self {
20222 let mask = INSN_FIELD_C_UIMM7HI;
20223
20224 self.value &= !mask;
20225 self.value |=
20226 (value & ((1 << INSN_FIELD_C_UIMM7HI_SIZE) - 1)) << INSN_FIELD_C_UIMM7HI_START;
20227 self
20228 }
20229 pub const fn c_uimm8lo_raw(self) -> u32 {
20230 (self.value >> INSN_FIELD_C_UIMM8LO_START) & ((1 << INSN_FIELD_C_UIMM8LO_SIZE) - 1)
20231 }
20232
20233 pub const fn set_c_uimm8lo_raw(mut self, value: u32) -> Self {
20234 let mask = INSN_FIELD_C_UIMM8LO;
20235
20236 self.value &= !mask;
20237 self.value |=
20238 (value & ((1 << INSN_FIELD_C_UIMM8LO_SIZE) - 1)) << INSN_FIELD_C_UIMM8LO_START;
20239 self
20240 }
20241 pub const fn c_uimm8hi_raw(self) -> u32 {
20242 (self.value >> INSN_FIELD_C_UIMM8HI_START) & ((1 << INSN_FIELD_C_UIMM8HI_SIZE) - 1)
20243 }
20244
20245 pub const fn set_c_uimm8hi_raw(mut self, value: u32) -> Self {
20246 let mask = INSN_FIELD_C_UIMM8HI;
20247
20248 self.value &= !mask;
20249 self.value |=
20250 (value & ((1 << INSN_FIELD_C_UIMM8HI_SIZE) - 1)) << INSN_FIELD_C_UIMM8HI_START;
20251 self
20252 }
20253 pub const fn c_uimm9lo_raw(self) -> u32 {
20254 (self.value >> INSN_FIELD_C_UIMM9LO_START) & ((1 << INSN_FIELD_C_UIMM9LO_SIZE) - 1)
20255 }
20256
20257 pub const fn set_c_uimm9lo_raw(mut self, value: u32) -> Self {
20258 let mask = INSN_FIELD_C_UIMM9LO;
20259
20260 self.value &= !mask;
20261 self.value |=
20262 (value & ((1 << INSN_FIELD_C_UIMM9LO_SIZE) - 1)) << INSN_FIELD_C_UIMM9LO_START;
20263 self
20264 }
20265 pub const fn c_uimm9hi_raw(self) -> u32 {
20266 (self.value >> INSN_FIELD_C_UIMM9HI_START) & ((1 << INSN_FIELD_C_UIMM9HI_SIZE) - 1)
20267 }
20268
20269 pub const fn set_c_uimm9hi_raw(mut self, value: u32) -> Self {
20270 let mask = INSN_FIELD_C_UIMM9HI;
20271
20272 self.value &= !mask;
20273 self.value |=
20274 (value & ((1 << INSN_FIELD_C_UIMM9HI_SIZE) - 1)) << INSN_FIELD_C_UIMM9HI_START;
20275 self
20276 }
20277 pub const fn c_nzimm6lo_raw(self) -> u32 {
20278 (self.value >> INSN_FIELD_C_NZIMM6LO_START) & ((1 << INSN_FIELD_C_NZIMM6LO_SIZE) - 1)
20279 }
20280
20281 pub const fn set_c_nzimm6lo_raw(mut self, value: u32) -> Self {
20282 let mask = INSN_FIELD_C_NZIMM6LO;
20283
20284 self.value &= !mask;
20285 self.value |=
20286 (value & ((1 << INSN_FIELD_C_NZIMM6LO_SIZE) - 1)) << INSN_FIELD_C_NZIMM6LO_START;
20287 self
20288 }
20289 pub const fn c_nzimm6hi_raw(self) -> u32 {
20290 (self.value >> INSN_FIELD_C_NZIMM6HI_START) & ((1 << INSN_FIELD_C_NZIMM6HI_SIZE) - 1)
20291 }
20292
20293 pub const fn set_c_nzimm6hi_raw(mut self, value: u32) -> Self {
20294 let mask = INSN_FIELD_C_NZIMM6HI;
20295
20296 self.value &= !mask;
20297 self.value |=
20298 (value & ((1 << INSN_FIELD_C_NZIMM6HI_SIZE) - 1)) << INSN_FIELD_C_NZIMM6HI_START;
20299 self
20300 }
20301 pub const fn c_imm6lo_raw(self) -> u32 {
20302 (self.value >> INSN_FIELD_C_IMM6LO_START) & ((1 << INSN_FIELD_C_IMM6LO_SIZE) - 1)
20303 }
20304
20305 pub const fn set_c_imm6lo_raw(mut self, value: u32) -> Self {
20306 let mask = INSN_FIELD_C_IMM6LO;
20307
20308 self.value &= !mask;
20309 self.value |= (value & ((1 << INSN_FIELD_C_IMM6LO_SIZE) - 1)) << INSN_FIELD_C_IMM6LO_START;
20310 self
20311 }
20312 pub const fn c_imm6hi_raw(self) -> u32 {
20313 (self.value >> INSN_FIELD_C_IMM6HI_START) & ((1 << INSN_FIELD_C_IMM6HI_SIZE) - 1)
20314 }
20315
20316 pub const fn set_c_imm6hi_raw(mut self, value: u32) -> Self {
20317 let mask = INSN_FIELD_C_IMM6HI;
20318
20319 self.value &= !mask;
20320 self.value |= (value & ((1 << INSN_FIELD_C_IMM6HI_SIZE) - 1)) << INSN_FIELD_C_IMM6HI_START;
20321 self
20322 }
20323 pub const fn c_nzimm10hi_raw(self) -> u32 {
20324 (self.value >> INSN_FIELD_C_NZIMM10HI_START) & ((1 << INSN_FIELD_C_NZIMM10HI_SIZE) - 1)
20325 }
20326
20327 pub const fn set_c_nzimm10hi_raw(mut self, value: u32) -> Self {
20328 let mask = INSN_FIELD_C_NZIMM10HI;
20329
20330 self.value &= !mask;
20331 self.value |=
20332 (value & ((1 << INSN_FIELD_C_NZIMM10HI_SIZE) - 1)) << INSN_FIELD_C_NZIMM10HI_START;
20333 self
20334 }
20335 pub const fn c_nzimm10lo_raw(self) -> u32 {
20336 (self.value >> INSN_FIELD_C_NZIMM10LO_START) & ((1 << INSN_FIELD_C_NZIMM10LO_SIZE) - 1)
20337 }
20338
20339 pub const fn set_c_nzimm10lo_raw(mut self, value: u32) -> Self {
20340 let mask = INSN_FIELD_C_NZIMM10LO;
20341
20342 self.value &= !mask;
20343 self.value |=
20344 (value & ((1 << INSN_FIELD_C_NZIMM10LO_SIZE) - 1)) << INSN_FIELD_C_NZIMM10LO_START;
20345 self
20346 }
20347 pub const fn c_nzimm18hi_raw(self) -> u32 {
20348 (self.value >> INSN_FIELD_C_NZIMM18HI_START) & ((1 << INSN_FIELD_C_NZIMM18HI_SIZE) - 1)
20349 }
20350
20351 pub const fn set_c_nzimm18hi_raw(mut self, value: u32) -> Self {
20352 let mask = INSN_FIELD_C_NZIMM18HI;
20353
20354 self.value &= !mask;
20355 self.value |=
20356 (value & ((1 << INSN_FIELD_C_NZIMM18HI_SIZE) - 1)) << INSN_FIELD_C_NZIMM18HI_START;
20357 self
20358 }
20359 pub const fn c_nzimm18lo_raw(self) -> u32 {
20360 (self.value >> INSN_FIELD_C_NZIMM18LO_START) & ((1 << INSN_FIELD_C_NZIMM18LO_SIZE) - 1)
20361 }
20362
20363 pub const fn set_c_nzimm18lo_raw(mut self, value: u32) -> Self {
20364 let mask = INSN_FIELD_C_NZIMM18LO;
20365
20366 self.value &= !mask;
20367 self.value |=
20368 (value & ((1 << INSN_FIELD_C_NZIMM18LO_SIZE) - 1)) << INSN_FIELD_C_NZIMM18LO_START;
20369 self
20370 }
20371 pub const fn c_imm12_raw(self) -> u32 {
20372 (self.value >> INSN_FIELD_C_IMM12_START) & ((1 << INSN_FIELD_C_IMM12_SIZE) - 1)
20373 }
20374
20375 pub const fn set_c_imm12_raw(mut self, value: u32) -> Self {
20376 let mask = INSN_FIELD_C_IMM12;
20377
20378 self.value &= !mask;
20379 self.value |= (value & ((1 << INSN_FIELD_C_IMM12_SIZE) - 1)) << INSN_FIELD_C_IMM12_START;
20380 self
20381 }
20382 pub const fn c_bimm9lo_raw(self) -> u32 {
20383 (self.value >> INSN_FIELD_C_BIMM9LO_START) & ((1 << INSN_FIELD_C_BIMM9LO_SIZE) - 1)
20384 }
20385
20386 pub const fn set_c_bimm9lo_raw(mut self, value: u32) -> Self {
20387 let mask = INSN_FIELD_C_BIMM9LO;
20388
20389 self.value &= !mask;
20390 self.value |=
20391 (value & ((1 << INSN_FIELD_C_BIMM9LO_SIZE) - 1)) << INSN_FIELD_C_BIMM9LO_START;
20392 self
20393 }
20394 pub const fn c_bimm9hi_raw(self) -> u32 {
20395 (self.value >> INSN_FIELD_C_BIMM9HI_START) & ((1 << INSN_FIELD_C_BIMM9HI_SIZE) - 1)
20396 }
20397
20398 pub const fn set_c_bimm9hi_raw(mut self, value: u32) -> Self {
20399 let mask = INSN_FIELD_C_BIMM9HI;
20400
20401 self.value &= !mask;
20402 self.value |=
20403 (value & ((1 << INSN_FIELD_C_BIMM9HI_SIZE) - 1)) << INSN_FIELD_C_BIMM9HI_START;
20404 self
20405 }
20406 pub const fn c_nzuimm5_raw(self) -> u32 {
20407 (self.value >> INSN_FIELD_C_NZUIMM5_START) & ((1 << INSN_FIELD_C_NZUIMM5_SIZE) - 1)
20408 }
20409
20410 pub const fn set_c_nzuimm5_raw(mut self, value: u32) -> Self {
20411 let mask = INSN_FIELD_C_NZUIMM5;
20412
20413 self.value &= !mask;
20414 self.value |=
20415 (value & ((1 << INSN_FIELD_C_NZUIMM5_SIZE) - 1)) << INSN_FIELD_C_NZUIMM5_START;
20416 self
20417 }
20418 pub const fn c_nzuimm6lo_raw(self) -> u32 {
20419 (self.value >> INSN_FIELD_C_NZUIMM6LO_START) & ((1 << INSN_FIELD_C_NZUIMM6LO_SIZE) - 1)
20420 }
20421
20422 pub const fn set_c_nzuimm6lo_raw(mut self, value: u32) -> Self {
20423 let mask = INSN_FIELD_C_NZUIMM6LO;
20424
20425 self.value &= !mask;
20426 self.value |=
20427 (value & ((1 << INSN_FIELD_C_NZUIMM6LO_SIZE) - 1)) << INSN_FIELD_C_NZUIMM6LO_START;
20428 self
20429 }
20430 pub const fn c_nzuimm6hi_raw(self) -> u32 {
20431 (self.value >> INSN_FIELD_C_NZUIMM6HI_START) & ((1 << INSN_FIELD_C_NZUIMM6HI_SIZE) - 1)
20432 }
20433
20434 pub const fn set_c_nzuimm6hi_raw(mut self, value: u32) -> Self {
20435 let mask = INSN_FIELD_C_NZUIMM6HI;
20436
20437 self.value &= !mask;
20438 self.value |=
20439 (value & ((1 << INSN_FIELD_C_NZUIMM6HI_SIZE) - 1)) << INSN_FIELD_C_NZUIMM6HI_START;
20440 self
20441 }
20442 pub const fn c_uimm8splo_raw(self) -> u32 {
20443 (self.value >> INSN_FIELD_C_UIMM8SPLO_START) & ((1 << INSN_FIELD_C_UIMM8SPLO_SIZE) - 1)
20444 }
20445
20446 pub const fn set_c_uimm8splo_raw(mut self, value: u32) -> Self {
20447 let mask = INSN_FIELD_C_UIMM8SPLO;
20448
20449 self.value &= !mask;
20450 self.value |=
20451 (value & ((1 << INSN_FIELD_C_UIMM8SPLO_SIZE) - 1)) << INSN_FIELD_C_UIMM8SPLO_START;
20452 self
20453 }
20454 pub const fn c_uimm8sphi_raw(self) -> u32 {
20455 (self.value >> INSN_FIELD_C_UIMM8SPHI_START) & ((1 << INSN_FIELD_C_UIMM8SPHI_SIZE) - 1)
20456 }
20457
20458 pub const fn set_c_uimm8sphi_raw(mut self, value: u32) -> Self {
20459 let mask = INSN_FIELD_C_UIMM8SPHI;
20460
20461 self.value &= !mask;
20462 self.value |=
20463 (value & ((1 << INSN_FIELD_C_UIMM8SPHI_SIZE) - 1)) << INSN_FIELD_C_UIMM8SPHI_START;
20464 self
20465 }
20466 pub const fn c_uimm8sp_s_raw(self) -> u32 {
20467 (self.value >> INSN_FIELD_C_UIMM8SP_S_START) & ((1 << INSN_FIELD_C_UIMM8SP_S_SIZE) - 1)
20468 }
20469
20470 pub const fn set_c_uimm8sp_s_raw(mut self, value: u32) -> Self {
20471 let mask = INSN_FIELD_C_UIMM8SP_S;
20472
20473 self.value &= !mask;
20474 self.value |=
20475 (value & ((1 << INSN_FIELD_C_UIMM8SP_S_SIZE) - 1)) << INSN_FIELD_C_UIMM8SP_S_START;
20476 self
20477 }
20478 pub const fn c_uimm10splo_raw(self) -> u32 {
20479 (self.value >> INSN_FIELD_C_UIMM10SPLO_START) & ((1 << INSN_FIELD_C_UIMM10SPLO_SIZE) - 1)
20480 }
20481
20482 pub const fn set_c_uimm10splo_raw(mut self, value: u32) -> Self {
20483 let mask = INSN_FIELD_C_UIMM10SPLO;
20484
20485 self.value &= !mask;
20486 self.value |=
20487 (value & ((1 << INSN_FIELD_C_UIMM10SPLO_SIZE) - 1)) << INSN_FIELD_C_UIMM10SPLO_START;
20488 self
20489 }
20490 pub const fn c_uimm10sphi_raw(self) -> u32 {
20491 (self.value >> INSN_FIELD_C_UIMM10SPHI_START) & ((1 << INSN_FIELD_C_UIMM10SPHI_SIZE) - 1)
20492 }
20493
20494 pub const fn set_c_uimm10sphi_raw(mut self, value: u32) -> Self {
20495 let mask = INSN_FIELD_C_UIMM10SPHI;
20496
20497 self.value &= !mask;
20498 self.value |=
20499 (value & ((1 << INSN_FIELD_C_UIMM10SPHI_SIZE) - 1)) << INSN_FIELD_C_UIMM10SPHI_START;
20500 self
20501 }
20502 pub const fn c_uimm9splo_raw(self) -> u32 {
20503 (self.value >> INSN_FIELD_C_UIMM9SPLO_START) & ((1 << INSN_FIELD_C_UIMM9SPLO_SIZE) - 1)
20504 }
20505
20506 pub const fn set_c_uimm9splo_raw(mut self, value: u32) -> Self {
20507 let mask = INSN_FIELD_C_UIMM9SPLO;
20508
20509 self.value &= !mask;
20510 self.value |=
20511 (value & ((1 << INSN_FIELD_C_UIMM9SPLO_SIZE) - 1)) << INSN_FIELD_C_UIMM9SPLO_START;
20512 self
20513 }
20514 pub const fn c_uimm9sphi_raw(self) -> u32 {
20515 (self.value >> INSN_FIELD_C_UIMM9SPHI_START) & ((1 << INSN_FIELD_C_UIMM9SPHI_SIZE) - 1)
20516 }
20517
20518 pub const fn set_c_uimm9sphi_raw(mut self, value: u32) -> Self {
20519 let mask = INSN_FIELD_C_UIMM9SPHI;
20520
20521 self.value &= !mask;
20522 self.value |=
20523 (value & ((1 << INSN_FIELD_C_UIMM9SPHI_SIZE) - 1)) << INSN_FIELD_C_UIMM9SPHI_START;
20524 self
20525 }
20526 pub const fn c_uimm10sp_s_raw(self) -> u32 {
20527 (self.value >> INSN_FIELD_C_UIMM10SP_S_START) & ((1 << INSN_FIELD_C_UIMM10SP_S_SIZE) - 1)
20528 }
20529
20530 pub const fn set_c_uimm10sp_s_raw(mut self, value: u32) -> Self {
20531 let mask = INSN_FIELD_C_UIMM10SP_S;
20532
20533 self.value &= !mask;
20534 self.value |=
20535 (value & ((1 << INSN_FIELD_C_UIMM10SP_S_SIZE) - 1)) << INSN_FIELD_C_UIMM10SP_S_START;
20536 self
20537 }
20538 pub const fn c_uimm9sp_s_raw(self) -> u32 {
20539 (self.value >> INSN_FIELD_C_UIMM9SP_S_START) & ((1 << INSN_FIELD_C_UIMM9SP_S_SIZE) - 1)
20540 }
20541
20542 pub const fn set_c_uimm9sp_s_raw(mut self, value: u32) -> Self {
20543 let mask = INSN_FIELD_C_UIMM9SP_S;
20544
20545 self.value &= !mask;
20546 self.value |=
20547 (value & ((1 << INSN_FIELD_C_UIMM9SP_S_SIZE) - 1)) << INSN_FIELD_C_UIMM9SP_S_START;
20548 self
20549 }
20550 pub const fn c_uimm2_raw(self) -> u32 {
20551 (self.value >> INSN_FIELD_C_UIMM2_START) & ((1 << INSN_FIELD_C_UIMM2_SIZE) - 1)
20552 }
20553
20554 pub const fn set_c_uimm2_raw(mut self, value: u32) -> Self {
20555 let mask = INSN_FIELD_C_UIMM2;
20556
20557 self.value &= !mask;
20558 self.value |= (value & ((1 << INSN_FIELD_C_UIMM2_SIZE) - 1)) << INSN_FIELD_C_UIMM2_START;
20559 self
20560 }
20561 pub const fn c_uimm1_raw(self) -> u32 {
20562 (self.value >> INSN_FIELD_C_UIMM1_START) & ((1 << INSN_FIELD_C_UIMM1_SIZE) - 1)
20563 }
20564
20565 pub const fn set_c_uimm1_raw(mut self, value: u32) -> Self {
20566 let mask = INSN_FIELD_C_UIMM1;
20567
20568 self.value &= !mask;
20569 self.value |= (value & ((1 << INSN_FIELD_C_UIMM1_SIZE) - 1)) << INSN_FIELD_C_UIMM1_START;
20570 self
20571 }
20572 pub const fn c_rlist(self) -> u32 {
20573 (self.value >> INSN_FIELD_C_RLIST_START) & ((1 << INSN_FIELD_C_RLIST_SIZE) - 1)
20574 }
20575
20576 pub const fn set_c_rlist(mut self, value: u32) -> Self {
20577 let mask = INSN_FIELD_C_RLIST;
20578
20579 self.value &= !mask;
20580 self.value |= (value & ((1 << INSN_FIELD_C_RLIST_SIZE) - 1)) << INSN_FIELD_C_RLIST_START;
20581 self
20582 }
20583 pub const fn c_spimm_raw(self) -> u32 {
20584 (self.value >> INSN_FIELD_C_SPIMM_START) & ((1 << INSN_FIELD_C_SPIMM_SIZE) - 1)
20585 }
20586
20587 pub const fn set_c_spimm_raw(mut self, value: u32) -> Self {
20588 let mask = INSN_FIELD_C_SPIMM;
20589
20590 self.value &= !mask;
20591 self.value |= (value & ((1 << INSN_FIELD_C_SPIMM_SIZE) - 1)) << INSN_FIELD_C_SPIMM_START;
20592 self
20593 }
20594 pub const fn c_index(self) -> u32 {
20595 (self.value >> INSN_FIELD_C_INDEX_START) & ((1 << INSN_FIELD_C_INDEX_SIZE) - 1)
20596 }
20597
20598 pub const fn set_c_index(mut self, value: u32) -> Self {
20599 let mask = INSN_FIELD_C_INDEX;
20600
20601 self.value &= !mask;
20602 self.value |= (value & ((1 << INSN_FIELD_C_INDEX_SIZE) - 1)) << INSN_FIELD_C_INDEX_START;
20603 self
20604 }
20605 pub const fn rs1_p(self) -> u32 {
20606 (self.value >> INSN_FIELD_RS1_P_START) & ((1 << INSN_FIELD_RS1_P_SIZE) - 1)
20607 }
20608
20609 pub const fn set_rs1_p(mut self, value: u32) -> Self {
20610 let mask = INSN_FIELD_RS1_P;
20611
20612 self.value &= !mask;
20613 self.value |= (value & ((1 << INSN_FIELD_RS1_P_SIZE) - 1)) << INSN_FIELD_RS1_P_START;
20614 self
20615 }
20616 pub const fn rs2_p(self) -> u32 {
20617 (self.value >> INSN_FIELD_RS2_P_START) & ((1 << INSN_FIELD_RS2_P_SIZE) - 1)
20618 }
20619
20620 pub const fn set_rs2_p(mut self, value: u32) -> Self {
20621 let mask = INSN_FIELD_RS2_P;
20622
20623 self.value &= !mask;
20624 self.value |= (value & ((1 << INSN_FIELD_RS2_P_SIZE) - 1)) << INSN_FIELD_RS2_P_START;
20625 self
20626 }
20627 pub const fn rd_p(self) -> u32 {
20628 (self.value >> INSN_FIELD_RD_P_START) & ((1 << INSN_FIELD_RD_P_SIZE) - 1)
20629 }
20630
20631 pub const fn set_rd_p(mut self, value: u32) -> Self {
20632 let mask = INSN_FIELD_RD_P;
20633
20634 self.value &= !mask;
20635 self.value |= (value & ((1 << INSN_FIELD_RD_P_SIZE) - 1)) << INSN_FIELD_RD_P_START;
20636 self
20637 }
20638 pub const fn rd_rs1_n0(self) -> u32 {
20639 (self.value >> INSN_FIELD_RD_RS1_N0_START) & ((1 << INSN_FIELD_RD_RS1_N0_SIZE) - 1)
20640 }
20641
20642 pub const fn set_rd_rs1_n0(mut self, value: u32) -> Self {
20643 let mask = INSN_FIELD_RD_RS1_N0;
20644
20645 self.value &= !mask;
20646 self.value |=
20647 (value & ((1 << INSN_FIELD_RD_RS1_N0_SIZE) - 1)) << INSN_FIELD_RD_RS1_N0_START;
20648 self
20649 }
20650 pub const fn rd_rs1_p(self) -> u32 {
20651 (self.value >> INSN_FIELD_RD_RS1_P_START) & ((1 << INSN_FIELD_RD_RS1_P_SIZE) - 1)
20652 }
20653
20654 pub const fn set_rd_rs1_p(mut self, value: u32) -> Self {
20655 let mask = INSN_FIELD_RD_RS1_P;
20656
20657 self.value &= !mask;
20658 self.value |= (value & ((1 << INSN_FIELD_RD_RS1_P_SIZE) - 1)) << INSN_FIELD_RD_RS1_P_START;
20659 self
20660 }
20661 pub const fn rd_rs1(self) -> u32 {
20662 (self.value >> INSN_FIELD_RD_RS1_START) & ((1 << INSN_FIELD_RD_RS1_SIZE) - 1)
20663 }
20664
20665 pub const fn set_rd_rs1(mut self, value: u32) -> Self {
20666 let mask = INSN_FIELD_RD_RS1;
20667
20668 self.value &= !mask;
20669 self.value |= (value & ((1 << INSN_FIELD_RD_RS1_SIZE) - 1)) << INSN_FIELD_RD_RS1_START;
20670 self
20671 }
20672 pub const fn rd_n2(self) -> u32 {
20673 (self.value >> INSN_FIELD_RD_N2_START) & ((1 << INSN_FIELD_RD_N2_SIZE) - 1)
20674 }
20675
20676 pub const fn set_rd_n2(mut self, value: u32) -> Self {
20677 let mask = INSN_FIELD_RD_N2;
20678
20679 self.value &= !mask;
20680 self.value |= (value & ((1 << INSN_FIELD_RD_N2_SIZE) - 1)) << INSN_FIELD_RD_N2_START;
20681 self
20682 }
20683 pub const fn rd_n0(self) -> u32 {
20684 (self.value >> INSN_FIELD_RD_N0_START) & ((1 << INSN_FIELD_RD_N0_SIZE) - 1)
20685 }
20686
20687 pub const fn set_rd_n0(mut self, value: u32) -> Self {
20688 let mask = INSN_FIELD_RD_N0;
20689
20690 self.value &= !mask;
20691 self.value |= (value & ((1 << INSN_FIELD_RD_N0_SIZE) - 1)) << INSN_FIELD_RD_N0_START;
20692 self
20693 }
20694 pub const fn rs1_n0(self) -> u32 {
20695 (self.value >> INSN_FIELD_RS1_N0_START) & ((1 << INSN_FIELD_RS1_N0_SIZE) - 1)
20696 }
20697
20698 pub const fn set_rs1_n0(mut self, value: u32) -> Self {
20699 let mask = INSN_FIELD_RS1_N0;
20700
20701 self.value &= !mask;
20702 self.value |= (value & ((1 << INSN_FIELD_RS1_N0_SIZE) - 1)) << INSN_FIELD_RS1_N0_START;
20703 self
20704 }
20705 pub const fn c_rs2_n0(self) -> u32 {
20706 (self.value >> INSN_FIELD_C_RS2_N0_START) & ((1 << INSN_FIELD_C_RS2_N0_SIZE) - 1)
20707 }
20708
20709 pub const fn set_c_rs2_n0(mut self, value: u32) -> Self {
20710 let mask = INSN_FIELD_C_RS2_N0;
20711
20712 self.value &= !mask;
20713 self.value |= (value & ((1 << INSN_FIELD_C_RS2_N0_SIZE) - 1)) << INSN_FIELD_C_RS2_N0_START;
20714 self
20715 }
20716 pub const fn c_rs1_n0(self) -> u32 {
20717 (self.value >> INSN_FIELD_C_RS1_N0_START) & ((1 << INSN_FIELD_C_RS1_N0_SIZE) - 1)
20718 }
20719
20720 pub const fn set_c_rs1_n0(mut self, value: u32) -> Self {
20721 let mask = INSN_FIELD_C_RS1_N0;
20722
20723 self.value &= !mask;
20724 self.value |= (value & ((1 << INSN_FIELD_C_RS1_N0_SIZE) - 1)) << INSN_FIELD_C_RS1_N0_START;
20725 self
20726 }
20727 pub const fn c_rs2(self) -> u32 {
20728 (self.value >> INSN_FIELD_C_RS2_START) & ((1 << INSN_FIELD_C_RS2_SIZE) - 1)
20729 }
20730
20731 pub const fn set_c_rs2(mut self, value: u32) -> Self {
20732 let mask = INSN_FIELD_C_RS2;
20733
20734 self.value &= !mask;
20735 self.value |= (value & ((1 << INSN_FIELD_C_RS2_SIZE) - 1)) << INSN_FIELD_C_RS2_START;
20736 self
20737 }
20738 pub const fn c_sreg1(self) -> u32 {
20739 (self.value >> INSN_FIELD_C_SREG1_START) & ((1 << INSN_FIELD_C_SREG1_SIZE) - 1)
20740 }
20741
20742 pub const fn set_c_sreg1(mut self, value: u32) -> Self {
20743 let mask = INSN_FIELD_C_SREG1;
20744
20745 self.value &= !mask;
20746 self.value |= (value & ((1 << INSN_FIELD_C_SREG1_SIZE) - 1)) << INSN_FIELD_C_SREG1_START;
20747 self
20748 }
20749 pub const fn c_sreg2(self) -> u32 {
20750 (self.value >> INSN_FIELD_C_SREG2_START) & ((1 << INSN_FIELD_C_SREG2_SIZE) - 1)
20751 }
20752
20753 pub const fn set_c_sreg2(mut self, value: u32) -> Self {
20754 let mask = INSN_FIELD_C_SREG2;
20755
20756 self.value &= !mask;
20757 self.value |= (value & ((1 << INSN_FIELD_C_SREG2_SIZE) - 1)) << INSN_FIELD_C_SREG2_START;
20758 self
20759 }
20760 pub const fn mop_r_t_30(self) -> u32 {
20761 (self.value >> INSN_FIELD_MOP_R_T_30_START) & ((1 << INSN_FIELD_MOP_R_T_30_SIZE) - 1)
20762 }
20763
20764 pub const fn set_mop_r_t_30(mut self, value: u32) -> Self {
20765 let mask = INSN_FIELD_MOP_R_T_30;
20766
20767 self.value &= !mask;
20768 self.value |=
20769 (value & ((1 << INSN_FIELD_MOP_R_T_30_SIZE) - 1)) << INSN_FIELD_MOP_R_T_30_START;
20770 self
20771 }
20772 pub const fn mop_r_t_27_26(self) -> u32 {
20773 (self.value >> INSN_FIELD_MOP_R_T_27_26_START) & ((1 << INSN_FIELD_MOP_R_T_27_26_SIZE) - 1)
20774 }
20775
20776 pub const fn set_mop_r_t_27_26(mut self, value: u32) -> Self {
20777 let mask = INSN_FIELD_MOP_R_T_27_26;
20778
20779 self.value &= !mask;
20780 self.value |=
20781 (value & ((1 << INSN_FIELD_MOP_R_T_27_26_SIZE) - 1)) << INSN_FIELD_MOP_R_T_27_26_START;
20782 self
20783 }
20784 pub const fn mop_r_t_21_20(self) -> u32 {
20785 (self.value >> INSN_FIELD_MOP_R_T_21_20_START) & ((1 << INSN_FIELD_MOP_R_T_21_20_SIZE) - 1)
20786 }
20787
20788 pub const fn set_mop_r_t_21_20(mut self, value: u32) -> Self {
20789 let mask = INSN_FIELD_MOP_R_T_21_20;
20790
20791 self.value &= !mask;
20792 self.value |=
20793 (value & ((1 << INSN_FIELD_MOP_R_T_21_20_SIZE) - 1)) << INSN_FIELD_MOP_R_T_21_20_START;
20794 self
20795 }
20796 pub const fn mop_rr_t_30(self) -> u32 {
20797 (self.value >> INSN_FIELD_MOP_RR_T_30_START) & ((1 << INSN_FIELD_MOP_RR_T_30_SIZE) - 1)
20798 }
20799
20800 pub const fn set_mop_rr_t_30(mut self, value: u32) -> Self {
20801 let mask = INSN_FIELD_MOP_RR_T_30;
20802
20803 self.value &= !mask;
20804 self.value |=
20805 (value & ((1 << INSN_FIELD_MOP_RR_T_30_SIZE) - 1)) << INSN_FIELD_MOP_RR_T_30_START;
20806 self
20807 }
20808 pub const fn mop_rr_t_27_26(self) -> u32 {
20809 (self.value >> INSN_FIELD_MOP_RR_T_27_26_START)
20810 & ((1 << INSN_FIELD_MOP_RR_T_27_26_SIZE) - 1)
20811 }
20812
20813 pub const fn set_mop_rr_t_27_26(mut self, value: u32) -> Self {
20814 let mask = INSN_FIELD_MOP_RR_T_27_26;
20815
20816 self.value &= !mask;
20817 self.value |= (value & ((1 << INSN_FIELD_MOP_RR_T_27_26_SIZE) - 1))
20818 << INSN_FIELD_MOP_RR_T_27_26_START;
20819 self
20820 }
20821 pub const fn c_mop_t(self) -> u32 {
20822 (self.value >> INSN_FIELD_C_MOP_T_START) & ((1 << INSN_FIELD_C_MOP_T_SIZE) - 1)
20823 }
20824
20825 pub const fn set_c_mop_t(mut self, value: u32) -> Self {
20826 let mask = INSN_FIELD_C_MOP_T;
20827
20828 self.value &= !mask;
20829 self.value |= (value & ((1 << INSN_FIELD_C_MOP_T_SIZE) - 1)) << INSN_FIELD_C_MOP_T_START;
20830 self
20831 }
20832 pub const fn rs2_eq_rs1(self) -> u32 {
20833 (self.value >> INSN_FIELD_RS2_EQ_RS1_START) & ((1 << INSN_FIELD_RS2_EQ_RS1_SIZE) - 1)
20834 }
20835
20836 pub const fn set_rs2_eq_rs1(mut self, value: u32) -> Self {
20837 let mask = INSN_FIELD_RS2_EQ_RS1;
20838
20839 self.value &= !mask;
20840 self.value |=
20841 (value & ((1 << INSN_FIELD_RS2_EQ_RS1_SIZE) - 1)) << INSN_FIELD_RS2_EQ_RS1_START;
20842 self
20843 }
20844
20845 pub const fn imm20(self) -> i32 {
20847 decode_immediate(&IMM20, self.value as _) as _
20848 }
20849
20850 pub const fn set_imm20(mut self, imm20: i32) -> Self {
20851 self.value |= encode_immediate(&IMM20, imm20 as _);
20852 self
20853 }
20854
20855 pub const fn jimm20(self) -> i32 {
20857 decode_immediate(&JIMM20, self.value as _) as _
20858 }
20859
20860 pub const fn set_jimm20(mut self, jimm20: i32) -> Self {
20861 self.value |= encode_immediate(&JIMM20, jimm20 as _);
20862 self
20863 }
20864
20865 pub const fn imm12(self) -> i32 {
20867 decode_immediate(&IMM12, self.value as _) as _
20868 }
20869
20870 pub const fn set_imm12(mut self, imm12: i32) -> Self {
20871 self.value |= encode_immediate(&IMM12, imm12 as _);
20872 self
20873 }
20874
20875 pub const fn imm12lohi(self) -> i32 {
20877 decode_immediate(&IMM12LOHI, self.value as _) as _
20878 }
20879
20880 pub const fn set_imm12lohi(mut self, imm12lohi: i32) -> Self {
20881 self.value |= encode_immediate(&IMM12LOHI, imm12lohi as _);
20882 self
20883 }
20884
20885 pub const fn bimm12lohi(self) -> i32 {
20887 decode_immediate(&BIMM12LOHI, self.value as _) as _
20888 }
20889
20890 pub const fn set_bimm12lohi(mut self, bimm12lohi: i32) -> Self {
20891 self.value |= encode_immediate(&BIMM12LOHI, bimm12lohi as _);
20892 self
20893 }
20894
20895 pub const fn imm2(self) -> i32 {
20897 decode_immediate(&IMM2, self.value as _) as _
20898 }
20899
20900 pub const fn set_imm2(mut self, imm2: i32) -> Self {
20901 self.value |= encode_immediate(&IMM2, imm2 as _);
20902 self
20903 }
20904
20905 pub const fn imm3(self) -> i32 {
20907 decode_immediate(&IMM3, self.value as _) as _
20908 }
20909
20910 pub const fn set_imm3(mut self, imm3: i32) -> Self {
20911 self.value |= encode_immediate(&IMM3, imm3 as _);
20912 self
20913 }
20914
20915 pub const fn imm4(self) -> i32 {
20917 decode_immediate(&IMM4, self.value as _) as _
20918 }
20919
20920 pub const fn set_imm4(mut self, imm4: i32) -> Self {
20921 self.value |= encode_immediate(&IMM4, imm4 as _);
20922 self
20923 }
20924
20925 pub const fn imm5(self) -> i32 {
20927 decode_immediate(&IMM5, self.value as _) as _
20928 }
20929
20930 pub const fn set_imm5(mut self, imm5: i32) -> Self {
20931 self.value |= encode_immediate(&IMM5, imm5 as _);
20932 self
20933 }
20934
20935 pub const fn imm6(self) -> i32 {
20937 decode_immediate(&IMM6, self.value as _) as _
20938 }
20939
20940 pub const fn set_imm6(mut self, imm6: i32) -> Self {
20941 self.value |= encode_immediate(&IMM6, imm6 as _);
20942 self
20943 }
20944
20945 pub const fn zimm(self) -> i32 {
20947 decode_immediate(&ZIMM, self.value as _) as _
20948 }
20949
20950 pub const fn set_zimm(mut self, zimm: i32) -> Self {
20951 self.value |= encode_immediate(&ZIMM, zimm as _);
20952 self
20953 }
20954
20955 pub const fn simm5(self) -> i32 {
20957 decode_immediate(&SIMM5, self.value as _) as _
20958 }
20959
20960 pub const fn set_simm5(mut self, simm5: i32) -> Self {
20961 self.value |= encode_immediate(&SIMM5, simm5 as _);
20962 self
20963 }
20964
20965 pub const fn zimm5(self) -> i32 {
20967 decode_immediate(&ZIMM5, self.value as _) as _
20968 }
20969
20970 pub const fn set_zimm5(mut self, zimm5: i32) -> Self {
20971 self.value |= encode_immediate(&ZIMM5, zimm5 as _);
20972 self
20973 }
20974
20975 pub const fn zimm10(self) -> i32 {
20977 decode_immediate(&ZIMM10, self.value as _) as _
20978 }
20979
20980 pub const fn set_zimm10(mut self, zimm10: i32) -> Self {
20981 self.value |= encode_immediate(&ZIMM10, zimm10 as _);
20982 self
20983 }
20984
20985 pub const fn zimm11(self) -> i32 {
20987 decode_immediate(&ZIMM11, self.value as _) as _
20988 }
20989
20990 pub const fn set_zimm11(mut self, zimm11: i32) -> Self {
20991 self.value |= encode_immediate(&ZIMM11, zimm11 as _);
20992 self
20993 }
20994
20995 pub const fn zimm6lohi(self) -> i32 {
20997 decode_immediate(&ZIMM6LOHI, self.value as _) as _
20998 }
20999
21000 pub const fn set_zimm6lohi(mut self, zimm6lohi: i32) -> Self {
21001 self.value |= encode_immediate(&ZIMM6LOHI, zimm6lohi as _);
21002 self
21003 }
21004
21005 pub const fn c_nzuimm10(self) -> u32 {
21007 decode_immediate(&C_NZUIMM10, self.value as _) as _
21008 }
21009
21010 pub const fn set_c_nzuimm10(mut self, c_nzuimm10: u32) -> Self {
21011 self.value |= encode_immediate(&C_NZUIMM10, c_nzuimm10 as _);
21012 self
21013 }
21014
21015 pub const fn c_uimm7lohi(self) -> u32 {
21017 decode_immediate(&C_UIMM7LOHI, self.value as _) as _
21018 }
21019
21020 pub const fn set_c_uimm7lohi(mut self, c_uimm7lohi: u32) -> Self {
21021 self.value |= encode_immediate(&C_UIMM7LOHI, c_uimm7lohi as _);
21022 self
21023 }
21024
21025 pub const fn c_uimm8lohi(self) -> u32 {
21027 decode_immediate(&C_UIMM8LOHI, self.value as _) as _
21028 }
21029
21030 pub const fn set_c_uimm8lohi(mut self, c_uimm8lohi: u32) -> Self {
21031 self.value |= encode_immediate(&C_UIMM8LOHI, c_uimm8lohi as _);
21032 self
21033 }
21034
21035 pub const fn c_uimm9lohi(self) -> u32 {
21037 decode_immediate(&C_UIMM9LOHI, self.value as _) as _
21038 }
21039
21040 pub const fn set_c_uimm9lohi(mut self, c_uimm9lohi: u32) -> Self {
21041 self.value |= encode_immediate(&C_UIMM9LOHI, c_uimm9lohi as _);
21042 self
21043 }
21044
21045 pub const fn c_nzimm6lohi(self) -> i32 {
21047 decode_immediate(&C_NZIMM6LOHI, self.value as _) as _
21048 }
21049
21050 pub const fn set_c_nzimm6lohi(mut self, c_nzimm6lohi: i32) -> Self {
21051 self.value |= encode_immediate(&C_NZIMM6LOHI, c_nzimm6lohi as _);
21052 self
21053 }
21054
21055 pub const fn c_imm6lohi(self) -> i32 {
21057 decode_immediate(&C_IMM6LOHI, self.value as _) as _
21058 }
21059
21060 pub const fn set_c_imm6lohi(mut self, c_imm6lohi: i32) -> Self {
21061 self.value |= encode_immediate(&C_IMM6LOHI, c_imm6lohi as _);
21062 self
21063 }
21064
21065 pub const fn c_nzimm10lohi(self) -> i32 {
21067 decode_immediate(&C_NZIMM10LOHI, self.value as _) as _
21068 }
21069
21070 pub const fn set_c_nzimm10lohi(mut self, c_nzimm10lohi: i32) -> Self {
21071 self.value |= encode_immediate(&C_NZIMM10LOHI, c_nzimm10lohi as _);
21072 self
21073 }
21074
21075 pub const fn c_nzimm18lohi(self) -> i32 {
21077 decode_immediate(&C_NZIMM18LOHI, self.value as _) as _
21078 }
21079
21080 pub const fn set_c_nzimm18lohi(mut self, c_nzimm18lohi: i32) -> Self {
21081 self.value |= encode_immediate(&C_NZIMM18LOHI, c_nzimm18lohi as _);
21082 self
21083 }
21084
21085 pub const fn c_imm12(self) -> i32 {
21087 decode_immediate(&C_IMM12, self.value as _) as _
21088 }
21089
21090 pub const fn set_c_imm12(mut self, c_imm12: i32) -> Self {
21091 self.value |= encode_immediate(&C_IMM12, c_imm12 as _);
21092 self
21093 }
21094
21095 pub const fn c_bimm9lohi(self) -> i32 {
21097 decode_immediate(&C_BIMM9LOHI, self.value as _) as _
21098 }
21099
21100 pub const fn set_c_bimm9lohi(mut self, c_bimm9lohi: i32) -> Self {
21101 self.value |= encode_immediate(&C_BIMM9LOHI, c_bimm9lohi as _);
21102 self
21103 }
21104
21105 pub const fn c_nzuimm5(self) -> u32 {
21107 decode_immediate(&C_NZUIMM5, self.value as _) as _
21108 }
21109
21110 pub const fn set_c_nzuimm5(mut self, c_nzuimm5: u32) -> Self {
21111 self.value |= encode_immediate(&C_NZUIMM5, c_nzuimm5 as _);
21112 self
21113 }
21114
21115 pub const fn c_nzuimm6lohi(self) -> u32 {
21117 decode_immediate(&C_NZUIMM6LOHI, self.value as _) as _
21118 }
21119
21120 pub const fn set_c_nzuimm6lohi(mut self, c_nzuimm6lohi: u32) -> Self {
21121 self.value |= encode_immediate(&C_NZUIMM6LOHI, c_nzuimm6lohi as _);
21122 self
21123 }
21124
21125 pub const fn c_uimm8splohi(self) -> u32 {
21127 decode_immediate(&C_UIMM8SPLOHI, self.value as _) as _
21128 }
21129
21130 pub const fn set_c_uimm8splohi(mut self, c_uimm8splohi: u32) -> Self {
21131 self.value |= encode_immediate(&C_UIMM8SPLOHI, c_uimm8splohi as _);
21132 self
21133 }
21134
21135 pub const fn c_uimm8sp_s(self) -> u32 {
21137 decode_immediate(&C_UIMM8SP_S, self.value as _) as _
21138 }
21139
21140 pub const fn set_c_uimm8sp_s(mut self, c_uimm8sp_s: u32) -> Self {
21141 self.value |= encode_immediate(&C_UIMM8SP_S, c_uimm8sp_s as _);
21142 self
21143 }
21144
21145 pub const fn c_uimm10splohi(self) -> u32 {
21147 decode_immediate(&C_UIMM10SPLOHI, self.value as _) as _
21148 }
21149
21150 pub const fn set_c_uimm10splohi(mut self, c_uimm10splohi: u32) -> Self {
21151 self.value |= encode_immediate(&C_UIMM10SPLOHI, c_uimm10splohi as _);
21152 self
21153 }
21154
21155 pub const fn c_uimm9splohi(self) -> u32 {
21157 decode_immediate(&C_UIMM9SPLOHI, self.value as _) as _
21158 }
21159
21160 pub const fn set_c_uimm9splohi(mut self, c_uimm9splohi: u32) -> Self {
21161 self.value |= encode_immediate(&C_UIMM9SPLOHI, c_uimm9splohi as _);
21162 self
21163 }
21164
21165 pub const fn c_uimm10sp_s(self) -> u32 {
21167 decode_immediate(&C_UIMM10SP_S, self.value as _) as _
21168 }
21169
21170 pub const fn set_c_uimm10sp_s(mut self, c_uimm10sp_s: u32) -> Self {
21171 self.value |= encode_immediate(&C_UIMM10SP_S, c_uimm10sp_s as _);
21172 self
21173 }
21174
21175 pub const fn c_uimm9sp_s(self) -> u32 {
21177 decode_immediate(&C_UIMM9SP_S, self.value as _) as _
21178 }
21179
21180 pub const fn set_c_uimm9sp_s(mut self, c_uimm9sp_s: u32) -> Self {
21181 self.value |= encode_immediate(&C_UIMM9SP_S, c_uimm9sp_s as _);
21182 self
21183 }
21184
21185 pub const fn c_uimm2(self) -> u32 {
21187 decode_immediate(&C_UIMM2, self.value as _) as _
21188 }
21189
21190 pub const fn set_c_uimm2(mut self, c_uimm2: u32) -> Self {
21191 self.value |= encode_immediate(&C_UIMM2, c_uimm2 as _);
21192 self
21193 }
21194
21195 pub const fn c_uimm1(self) -> u32 {
21197 decode_immediate(&C_UIMM1, self.value as _) as _
21198 }
21199
21200 pub const fn set_c_uimm1(mut self, c_uimm1: u32) -> Self {
21201 self.value |= encode_immediate(&C_UIMM1, c_uimm1 as _);
21202 self
21203 }
21204
21205 pub const fn c_spimm(self) -> i32 {
21207 decode_immediate(&C_SPIMM, self.value as _) as _
21208 }
21209
21210 pub const fn set_c_spimm(mut self, c_spimm: i32) -> Self {
21211 self.value |= encode_immediate(&C_SPIMM, c_spimm as _);
21212 self
21213 }
21214}