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) as _
558 }
559
560 pub const fn is_valid(&self, imm: i32) -> bool {
561 self.decode(self.encode(imm)) as i32 == imm
562 }
563}
564
565pub const MATCH_ADD: u32 = 0x33;
568pub const MASK_ADD: u32 = 0xfe00707f;
569pub const MATCH_ADD_UW: u32 = 0x800003b;
570pub const MASK_ADD_UW: u32 = 0xfe00707f;
571pub const MATCH_ADDI: u32 = 0x13;
572pub const MASK_ADDI: u32 = 0x707f;
573pub const MATCH_ADDIW: u32 = 0x1b;
574pub const MASK_ADDIW: u32 = 0x707f;
575pub const MATCH_ADDW: u32 = 0x3b;
576pub const MASK_ADDW: u32 = 0xfe00707f;
577pub const MATCH_AES32DSI: u32 = 0x2a000033;
578pub const MASK_AES32DSI: u32 = 0x3e00707f;
579pub const MATCH_AES32DSMI: u32 = 0x2e000033;
580pub const MASK_AES32DSMI: u32 = 0x3e00707f;
581pub const MATCH_AES32ESI: u32 = 0x22000033;
582pub const MASK_AES32ESI: u32 = 0x3e00707f;
583pub const MATCH_AES32ESMI: u32 = 0x26000033;
584pub const MASK_AES32ESMI: u32 = 0x3e00707f;
585pub const MATCH_AES64DS: u32 = 0x3a000033;
586pub const MASK_AES64DS: u32 = 0xfe00707f;
587pub const MATCH_AES64DSM: u32 = 0x3e000033;
588pub const MASK_AES64DSM: u32 = 0xfe00707f;
589pub const MATCH_AES64ES: u32 = 0x32000033;
590pub const MASK_AES64ES: u32 = 0xfe00707f;
591pub const MATCH_AES64ESM: u32 = 0x36000033;
592pub const MASK_AES64ESM: u32 = 0xfe00707f;
593pub const MATCH_AES64IM: u32 = 0x30001013;
594pub const MASK_AES64IM: u32 = 0xfff0707f;
595pub const MATCH_AES64KS1I: u32 = 0x31001013;
596pub const MASK_AES64KS1I: u32 = 0xff00707f;
597pub const MATCH_AES64KS2: u32 = 0x7e000033;
598pub const MASK_AES64KS2: u32 = 0xfe00707f;
599pub const MATCH_AMOADD_B: u32 = 0x2f;
600pub const MASK_AMOADD_B: u32 = 0xf800707f;
601pub const MATCH_AMOADD_D: u32 = 0x302f;
602pub const MASK_AMOADD_D: u32 = 0xf800707f;
603pub const MATCH_AMOADD_H: u32 = 0x102f;
604pub const MASK_AMOADD_H: u32 = 0xf800707f;
605pub const MATCH_AMOADD_W: u32 = 0x202f;
606pub const MASK_AMOADD_W: u32 = 0xf800707f;
607pub const MATCH_AMOAND_B: u32 = 0x6000002f;
608pub const MASK_AMOAND_B: u32 = 0xf800707f;
609pub const MATCH_AMOAND_D: u32 = 0x6000302f;
610pub const MASK_AMOAND_D: u32 = 0xf800707f;
611pub const MATCH_AMOAND_H: u32 = 0x6000102f;
612pub const MASK_AMOAND_H: u32 = 0xf800707f;
613pub const MATCH_AMOAND_W: u32 = 0x6000202f;
614pub const MASK_AMOAND_W: u32 = 0xf800707f;
615pub const MATCH_AMOCAS_B: u32 = 0x2800002f;
616pub const MASK_AMOCAS_B: u32 = 0xf800707f;
617pub const MATCH_AMOCAS_D: u32 = 0x2800302f;
618pub const MASK_AMOCAS_D: u32 = 0xf800707f;
619pub const MATCH_AMOCAS_H: u32 = 0x2800102f;
620pub const MASK_AMOCAS_H: u32 = 0xf800707f;
621pub const MATCH_AMOCAS_Q: u32 = 0x2800402f;
622pub const MASK_AMOCAS_Q: u32 = 0xf800707f;
623pub const MATCH_AMOCAS_W: u32 = 0x2800202f;
624pub const MASK_AMOCAS_W: u32 = 0xf800707f;
625pub const MATCH_AMOMAX_B: u32 = 0xa000002f;
626pub const MASK_AMOMAX_B: u32 = 0xf800707f;
627pub const MATCH_AMOMAX_D: u32 = 0xa000302f;
628pub const MASK_AMOMAX_D: u32 = 0xf800707f;
629pub const MATCH_AMOMAX_H: u32 = 0xa000102f;
630pub const MASK_AMOMAX_H: u32 = 0xf800707f;
631pub const MATCH_AMOMAX_W: u32 = 0xa000202f;
632pub const MASK_AMOMAX_W: u32 = 0xf800707f;
633pub const MATCH_AMOMAXU_B: u32 = 0xe000002f;
634pub const MASK_AMOMAXU_B: u32 = 0xf800707f;
635pub const MATCH_AMOMAXU_D: u32 = 0xe000302f;
636pub const MASK_AMOMAXU_D: u32 = 0xf800707f;
637pub const MATCH_AMOMAXU_H: u32 = 0xe000102f;
638pub const MASK_AMOMAXU_H: u32 = 0xf800707f;
639pub const MATCH_AMOMAXU_W: u32 = 0xe000202f;
640pub const MASK_AMOMAXU_W: u32 = 0xf800707f;
641pub const MATCH_AMOMIN_B: u32 = 0x8000002f;
642pub const MASK_AMOMIN_B: u32 = 0xf800707f;
643pub const MATCH_AMOMIN_D: u32 = 0x8000302f;
644pub const MASK_AMOMIN_D: u32 = 0xf800707f;
645pub const MATCH_AMOMIN_H: u32 = 0x8000102f;
646pub const MASK_AMOMIN_H: u32 = 0xf800707f;
647pub const MATCH_AMOMIN_W: u32 = 0x8000202f;
648pub const MASK_AMOMIN_W: u32 = 0xf800707f;
649pub const MATCH_AMOMINU_B: u32 = 0xc000002f;
650pub const MASK_AMOMINU_B: u32 = 0xf800707f;
651pub const MATCH_AMOMINU_D: u32 = 0xc000302f;
652pub const MASK_AMOMINU_D: u32 = 0xf800707f;
653pub const MATCH_AMOMINU_H: u32 = 0xc000102f;
654pub const MASK_AMOMINU_H: u32 = 0xf800707f;
655pub const MATCH_AMOMINU_W: u32 = 0xc000202f;
656pub const MASK_AMOMINU_W: u32 = 0xf800707f;
657pub const MATCH_AMOOR_B: u32 = 0x4000002f;
658pub const MASK_AMOOR_B: u32 = 0xf800707f;
659pub const MATCH_AMOOR_D: u32 = 0x4000302f;
660pub const MASK_AMOOR_D: u32 = 0xf800707f;
661pub const MATCH_AMOOR_H: u32 = 0x4000102f;
662pub const MASK_AMOOR_H: u32 = 0xf800707f;
663pub const MATCH_AMOOR_W: u32 = 0x4000202f;
664pub const MASK_AMOOR_W: u32 = 0xf800707f;
665pub const MATCH_AMOSWAP_B: u32 = 0x800002f;
666pub const MASK_AMOSWAP_B: u32 = 0xf800707f;
667pub const MATCH_AMOSWAP_D: u32 = 0x800302f;
668pub const MASK_AMOSWAP_D: u32 = 0xf800707f;
669pub const MATCH_AMOSWAP_H: u32 = 0x800102f;
670pub const MASK_AMOSWAP_H: u32 = 0xf800707f;
671pub const MATCH_AMOSWAP_W: u32 = 0x800202f;
672pub const MASK_AMOSWAP_W: u32 = 0xf800707f;
673pub const MATCH_AMOXOR_B: u32 = 0x2000002f;
674pub const MASK_AMOXOR_B: u32 = 0xf800707f;
675pub const MATCH_AMOXOR_D: u32 = 0x2000302f;
676pub const MASK_AMOXOR_D: u32 = 0xf800707f;
677pub const MATCH_AMOXOR_H: u32 = 0x2000102f;
678pub const MASK_AMOXOR_H: u32 = 0xf800707f;
679pub const MATCH_AMOXOR_W: u32 = 0x2000202f;
680pub const MASK_AMOXOR_W: u32 = 0xf800707f;
681pub const MATCH_AND: u32 = 0x7033;
682pub const MASK_AND: u32 = 0xfe00707f;
683pub const MATCH_ANDI: u32 = 0x7013;
684pub const MASK_ANDI: u32 = 0x707f;
685pub const MATCH_ANDN: u32 = 0x40007033;
686pub const MASK_ANDN: u32 = 0xfe00707f;
687pub const MATCH_AUIPC: u32 = 0x17;
688pub const MASK_AUIPC: u32 = 0x7f;
689pub const MATCH_BCLR: u32 = 0x48001033;
690pub const MASK_BCLR: u32 = 0xfe00707f;
691pub const MATCH_BCLRI: u32 = 0x48001013;
692pub const MASK_BCLRI: u32 = 0xfc00707f;
693pub const MATCH_BCLRI_RV32: u32 = 0x48001013;
694pub const MASK_BCLRI_RV32: u32 = 0xfe00707f;
695pub const MATCH_BEQ: u32 = 0x63;
696pub const MASK_BEQ: u32 = 0x707f;
697pub const MATCH_BEQZ: u32 = 0x63;
698pub const MASK_BEQZ: u32 = 0x1f0707f;
699pub const MATCH_BEXT: u32 = 0x48005033;
700pub const MASK_BEXT: u32 = 0xfe00707f;
701pub const MATCH_BEXTI: u32 = 0x48005013;
702pub const MASK_BEXTI: u32 = 0xfc00707f;
703pub const MATCH_BEXTI_RV32: u32 = 0x48005013;
704pub const MASK_BEXTI_RV32: u32 = 0xfe00707f;
705pub const MATCH_BGE: u32 = 0x5063;
706pub const MASK_BGE: u32 = 0x707f;
707pub const MATCH_BGEU: u32 = 0x7063;
708pub const MASK_BGEU: u32 = 0x707f;
709pub const MATCH_BGEZ: u32 = 0x5063;
710pub const MASK_BGEZ: u32 = 0x1f0707f;
711pub const MATCH_BGT: u32 = 0x4063;
712pub const MASK_BGT: u32 = 0x707f;
713pub const MATCH_BGTU: u32 = 0x6063;
714pub const MASK_BGTU: u32 = 0x707f;
715pub const MATCH_BGTZ: u32 = 0x4063;
716pub const MASK_BGTZ: u32 = 0xff07f;
717pub const MATCH_BINV: u32 = 0x68001033;
718pub const MASK_BINV: u32 = 0xfe00707f;
719pub const MATCH_BINVI: u32 = 0x68001013;
720pub const MASK_BINVI: u32 = 0xfc00707f;
721pub const MATCH_BINVI_RV32: u32 = 0x68001013;
722pub const MASK_BINVI_RV32: u32 = 0xfe00707f;
723pub const MATCH_BLE: u32 = 0x5063;
724pub const MASK_BLE: u32 = 0x707f;
725pub const MATCH_BLEU: u32 = 0x7063;
726pub const MASK_BLEU: u32 = 0x707f;
727pub const MATCH_BLEZ: u32 = 0x5063;
728pub const MASK_BLEZ: u32 = 0xff07f;
729pub const MATCH_BLT: u32 = 0x4063;
730pub const MASK_BLT: u32 = 0x707f;
731pub const MATCH_BLTU: u32 = 0x6063;
732pub const MASK_BLTU: u32 = 0x707f;
733pub const MATCH_BLTZ: u32 = 0x4063;
734pub const MASK_BLTZ: u32 = 0x1f0707f;
735pub const MATCH_BNE: u32 = 0x1063;
736pub const MASK_BNE: u32 = 0x707f;
737pub const MATCH_BNEZ: u32 = 0x1063;
738pub const MASK_BNEZ: u32 = 0x1f0707f;
739pub const MATCH_BREV8: u32 = 0x68705013;
740pub const MASK_BREV8: u32 = 0xfff0707f;
741pub const MATCH_BSET: u32 = 0x28001033;
742pub const MASK_BSET: u32 = 0xfe00707f;
743pub const MATCH_BSETI: u32 = 0x28001013;
744pub const MASK_BSETI: u32 = 0xfc00707f;
745pub const MATCH_BSETI_RV32: u32 = 0x28001013;
746pub const MASK_BSETI_RV32: u32 = 0xfe00707f;
747pub const MATCH_C_ADD: u32 = 0x9002;
748pub const MASK_C_ADD: u32 = 0xf003;
749pub const MATCH_C_ADDI: u32 = 0x1;
750pub const MASK_C_ADDI: u32 = 0xe003;
751pub const MATCH_C_ADDI16SP: u32 = 0x6101;
752pub const MASK_C_ADDI16SP: u32 = 0xef83;
753pub const MATCH_C_ADDI4SPN: u32 = 0x0;
754pub const MASK_C_ADDI4SPN: u32 = 0xe003;
755pub const MATCH_C_ADDIW: u32 = 0x2001;
756pub const MASK_C_ADDIW: u32 = 0xe003;
757pub const MATCH_C_ADDW: u32 = 0x9c21;
758pub const MASK_C_ADDW: u32 = 0xfc63;
759pub const MATCH_C_AND: u32 = 0x8c61;
760pub const MASK_C_AND: u32 = 0xfc63;
761pub const MATCH_C_ANDI: u32 = 0x8801;
762pub const MASK_C_ANDI: u32 = 0xec03;
763pub const MATCH_C_BEQZ: u32 = 0xc001;
764pub const MASK_C_BEQZ: u32 = 0xe003;
765pub const MATCH_C_BNEZ: u32 = 0xe001;
766pub const MASK_C_BNEZ: u32 = 0xe003;
767pub const MATCH_C_EBREAK: u32 = 0x9002;
768pub const MASK_C_EBREAK: u32 = 0xffff;
769pub const MATCH_C_FLD: u32 = 0x2000;
770pub const MASK_C_FLD: u32 = 0xe003;
771pub const MATCH_C_FLDSP: u32 = 0x2002;
772pub const MASK_C_FLDSP: u32 = 0xe003;
773pub const MATCH_C_FLW: u32 = 0x6000;
774pub const MASK_C_FLW: u32 = 0xe003;
775pub const MATCH_C_FLWSP: u32 = 0x6002;
776pub const MASK_C_FLWSP: u32 = 0xe003;
777pub const MATCH_C_FSD: u32 = 0xa000;
778pub const MASK_C_FSD: u32 = 0xe003;
779pub const MATCH_C_FSDSP: u32 = 0xa002;
780pub const MASK_C_FSDSP: u32 = 0xe003;
781pub const MATCH_C_FSW: u32 = 0xe000;
782pub const MASK_C_FSW: u32 = 0xe003;
783pub const MATCH_C_FSWSP: u32 = 0xe002;
784pub const MASK_C_FSWSP: u32 = 0xe003;
785pub const MATCH_C_J: u32 = 0xa001;
786pub const MASK_C_J: u32 = 0xe003;
787pub const MATCH_C_JAL: u32 = 0x2001;
788pub const MASK_C_JAL: u32 = 0xe003;
789pub const MATCH_C_JALR: u32 = 0x9002;
790pub const MASK_C_JALR: u32 = 0xf07f;
791pub const MATCH_C_JR: u32 = 0x8002;
792pub const MASK_C_JR: u32 = 0xf07f;
793pub const MATCH_C_LBU: u32 = 0x8000;
794pub const MASK_C_LBU: u32 = 0xfc03;
795pub const MATCH_C_LD: u32 = 0x6000;
796pub const MASK_C_LD: u32 = 0xe003;
797pub const MATCH_C_LDSP: u32 = 0x6002;
798pub const MASK_C_LDSP: u32 = 0xe003;
799pub const MATCH_C_LH: u32 = 0x8440;
800pub const MASK_C_LH: u32 = 0xfc43;
801pub const MATCH_C_LHU: u32 = 0x8400;
802pub const MASK_C_LHU: u32 = 0xfc43;
803pub const MATCH_C_LI: u32 = 0x4001;
804pub const MASK_C_LI: u32 = 0xe003;
805pub const MATCH_C_LUI: u32 = 0x6001;
806pub const MASK_C_LUI: u32 = 0xe003;
807pub const MATCH_C_LW: u32 = 0x4000;
808pub const MASK_C_LW: u32 = 0xe003;
809pub const MATCH_C_LWSP: u32 = 0x4002;
810pub const MASK_C_LWSP: u32 = 0xe003;
811pub const MATCH_C_MOP_1: u32 = 0x6081;
812pub const MASK_C_MOP_1: u32 = 0xffff;
813pub const MATCH_C_MOP_11: u32 = 0x6581;
814pub const MASK_C_MOP_11: u32 = 0xffff;
815pub const MATCH_C_MOP_13: u32 = 0x6681;
816pub const MASK_C_MOP_13: u32 = 0xffff;
817pub const MATCH_C_MOP_15: u32 = 0x6781;
818pub const MASK_C_MOP_15: u32 = 0xffff;
819pub const MATCH_C_MOP_3: u32 = 0x6181;
820pub const MASK_C_MOP_3: u32 = 0xffff;
821pub const MATCH_C_MOP_5: u32 = 0x6281;
822pub const MASK_C_MOP_5: u32 = 0xffff;
823pub const MATCH_C_MOP_7: u32 = 0x6381;
824pub const MASK_C_MOP_7: u32 = 0xffff;
825pub const MATCH_C_MOP_9: u32 = 0x6481;
826pub const MASK_C_MOP_9: u32 = 0xffff;
827pub const MATCH_C_MOP_N: u32 = 0x6081;
828pub const MASK_C_MOP_N: u32 = 0xf8ff;
829pub const MATCH_C_MUL: u32 = 0x9c41;
830pub const MASK_C_MUL: u32 = 0xfc63;
831pub const MATCH_C_MV: u32 = 0x8002;
832pub const MASK_C_MV: u32 = 0xf003;
833pub const MATCH_C_NOP: u32 = 0x1;
834pub const MASK_C_NOP: u32 = 0xef83;
835pub const MATCH_C_NOT: u32 = 0x9c75;
836pub const MASK_C_NOT: u32 = 0xfc7f;
837pub const MATCH_C_NTL_ALL: u32 = 0x9016;
838pub const MASK_C_NTL_ALL: u32 = 0xffff;
839pub const MATCH_C_NTL_P1: u32 = 0x900a;
840pub const MASK_C_NTL_P1: u32 = 0xffff;
841pub const MATCH_C_NTL_PALL: u32 = 0x900e;
842pub const MASK_C_NTL_PALL: u32 = 0xffff;
843pub const MATCH_C_NTL_S1: u32 = 0x9012;
844pub const MASK_C_NTL_S1: u32 = 0xffff;
845pub const MATCH_C_OR: u32 = 0x8c41;
846pub const MASK_C_OR: u32 = 0xfc63;
847pub const MATCH_C_SB: u32 = 0x8800;
848pub const MASK_C_SB: u32 = 0xfc03;
849pub const MATCH_C_SD: u32 = 0xe000;
850pub const MASK_C_SD: u32 = 0xe003;
851pub const MATCH_C_SDSP: u32 = 0xe002;
852pub const MASK_C_SDSP: u32 = 0xe003;
853pub const MATCH_C_SEXT_B: u32 = 0x9c65;
854pub const MASK_C_SEXT_B: u32 = 0xfc7f;
855pub const MATCH_C_SEXT_H: u32 = 0x9c6d;
856pub const MASK_C_SEXT_H: u32 = 0xfc7f;
857pub const MATCH_C_SEXT_W: u32 = 0x2001;
858pub const MASK_C_SEXT_W: u32 = 0xf07f;
859pub const MATCH_C_SH: u32 = 0x8c00;
860pub const MASK_C_SH: u32 = 0xfc43;
861pub const MATCH_C_SLLI: u32 = 0x2;
862pub const MASK_C_SLLI: u32 = 0xe003;
863pub const MATCH_C_SLLI_RV32: u32 = 0x2;
864pub const MASK_C_SLLI_RV32: u32 = 0xf003;
865pub const MATCH_C_SRAI: u32 = 0x8401;
866pub const MASK_C_SRAI: u32 = 0xec03;
867pub const MATCH_C_SRAI_RV32: u32 = 0x8401;
868pub const MASK_C_SRAI_RV32: u32 = 0xfc03;
869pub const MATCH_C_SRLI: u32 = 0x8001;
870pub const MASK_C_SRLI: u32 = 0xec03;
871pub const MATCH_C_SRLI_RV32: u32 = 0x8001;
872pub const MASK_C_SRLI_RV32: u32 = 0xfc03;
873pub const MATCH_C_SUB: u32 = 0x8c01;
874pub const MASK_C_SUB: u32 = 0xfc63;
875pub const MATCH_C_SUBW: u32 = 0x9c01;
876pub const MASK_C_SUBW: u32 = 0xfc63;
877pub const MATCH_C_SW: u32 = 0xc000;
878pub const MASK_C_SW: u32 = 0xe003;
879pub const MATCH_C_SWSP: u32 = 0xc002;
880pub const MASK_C_SWSP: u32 = 0xe003;
881pub const MATCH_C_XOR: u32 = 0x8c21;
882pub const MASK_C_XOR: u32 = 0xfc63;
883pub const MATCH_C_ZEXT_B: u32 = 0x9c61;
884pub const MASK_C_ZEXT_B: u32 = 0xfc7f;
885pub const MATCH_C_ZEXT_H: u32 = 0x9c69;
886pub const MASK_C_ZEXT_H: u32 = 0xfc7f;
887pub const MATCH_C_ZEXT_W: u32 = 0x9c71;
888pub const MASK_C_ZEXT_W: u32 = 0xfc7f;
889pub const MATCH_CBO_CLEAN: u32 = 0x10200f;
890pub const MASK_CBO_CLEAN: u32 = 0xfff07fff;
891pub const MATCH_CBO_FLUSH: u32 = 0x20200f;
892pub const MASK_CBO_FLUSH: u32 = 0xfff07fff;
893pub const MATCH_CBO_INVAL: u32 = 0x200f;
894pub const MASK_CBO_INVAL: u32 = 0xfff07fff;
895pub const MATCH_CBO_ZERO: u32 = 0x40200f;
896pub const MASK_CBO_ZERO: u32 = 0xfff07fff;
897pub const MATCH_CLMUL: u32 = 0xa001033;
898pub const MASK_CLMUL: u32 = 0xfe00707f;
899pub const MATCH_CLMULH: u32 = 0xa003033;
900pub const MASK_CLMULH: u32 = 0xfe00707f;
901pub const MATCH_CLMULR: u32 = 0xa002033;
902pub const MASK_CLMULR: u32 = 0xfe00707f;
903pub const MATCH_CLZ: u32 = 0x60001013;
904pub const MASK_CLZ: u32 = 0xfff0707f;
905pub const MATCH_CLZW: u32 = 0x6000101b;
906pub const MASK_CLZW: u32 = 0xfff0707f;
907pub const MATCH_CM_JALT: u32 = 0xa002;
908pub const MASK_CM_JALT: u32 = 0xfc03;
909pub const MATCH_CM_MVA01S: u32 = 0xac62;
910pub const MASK_CM_MVA01S: u32 = 0xfc63;
911pub const MATCH_CM_MVSA01: u32 = 0xac22;
912pub const MASK_CM_MVSA01: u32 = 0xfc63;
913pub const MATCH_CM_POP: u32 = 0xba02;
914pub const MASK_CM_POP: u32 = 0xff03;
915pub const MATCH_CM_POPRET: u32 = 0xbe02;
916pub const MASK_CM_POPRET: u32 = 0xff03;
917pub const MATCH_CM_POPRETZ: u32 = 0xbc02;
918pub const MASK_CM_POPRETZ: u32 = 0xff03;
919pub const MATCH_CM_PUSH: u32 = 0xb802;
920pub const MASK_CM_PUSH: u32 = 0xff03;
921pub const MATCH_CPOP: u32 = 0x60201013;
922pub const MASK_CPOP: u32 = 0xfff0707f;
923pub const MATCH_CPOPW: u32 = 0x6020101b;
924pub const MASK_CPOPW: u32 = 0xfff0707f;
925pub const MATCH_CSRC: u32 = 0x3073;
926pub const MASK_CSRC: u32 = 0x7fff;
927pub const MATCH_CSRCI: u32 = 0x7073;
928pub const MASK_CSRCI: u32 = 0x7fff;
929pub const MATCH_CSRR: u32 = 0x2073;
930pub const MASK_CSRR: u32 = 0xff07f;
931pub const MATCH_CSRRC: u32 = 0x3073;
932pub const MASK_CSRRC: u32 = 0x707f;
933pub const MATCH_CSRRCI: u32 = 0x7073;
934pub const MASK_CSRRCI: u32 = 0x707f;
935pub const MATCH_CSRRS: u32 = 0x2073;
936pub const MASK_CSRRS: u32 = 0x707f;
937pub const MATCH_CSRRSI: u32 = 0x6073;
938pub const MASK_CSRRSI: u32 = 0x707f;
939pub const MATCH_CSRRW: u32 = 0x1073;
940pub const MASK_CSRRW: u32 = 0x707f;
941pub const MATCH_CSRRWI: u32 = 0x5073;
942pub const MASK_CSRRWI: u32 = 0x707f;
943pub const MATCH_CSRS: u32 = 0x2073;
944pub const MASK_CSRS: u32 = 0x7fff;
945pub const MATCH_CSRSI: u32 = 0x6073;
946pub const MASK_CSRSI: u32 = 0x7fff;
947pub const MATCH_CSRW: u32 = 0x1073;
948pub const MASK_CSRW: u32 = 0x7fff;
949pub const MATCH_CSRWI: u32 = 0x5073;
950pub const MASK_CSRWI: u32 = 0x7fff;
951pub const MATCH_CTZ: u32 = 0x60101013;
952pub const MASK_CTZ: u32 = 0xfff0707f;
953pub const MATCH_CTZW: u32 = 0x6010101b;
954pub const MASK_CTZW: u32 = 0xfff0707f;
955pub const MATCH_CZERO_EQZ: u32 = 0xe005033;
956pub const MASK_CZERO_EQZ: u32 = 0xfe00707f;
957pub const MATCH_CZERO_NEZ: u32 = 0xe007033;
958pub const MASK_CZERO_NEZ: u32 = 0xfe00707f;
959pub const MATCH_DIV: u32 = 0x2004033;
960pub const MASK_DIV: u32 = 0xfe00707f;
961pub const MATCH_DIVU: u32 = 0x2005033;
962pub const MASK_DIVU: u32 = 0xfe00707f;
963pub const MATCH_DIVUW: u32 = 0x200503b;
964pub const MASK_DIVUW: u32 = 0xfe00707f;
965pub const MATCH_DIVW: u32 = 0x200403b;
966pub const MASK_DIVW: u32 = 0xfe00707f;
967pub const MATCH_DRET: u32 = 0x7b200073;
968pub const MASK_DRET: u32 = 0xffffffff;
969pub const MATCH_EBREAK: u32 = 0x100073;
970pub const MASK_EBREAK: u32 = 0xffffffff;
971pub const MATCH_ECALL: u32 = 0x73;
972pub const MASK_ECALL: u32 = 0xffffffff;
973pub const MATCH_FABS_D: u32 = 0x22002053;
974pub const MASK_FABS_D: u32 = 0xfe00707f;
975pub const MATCH_FABS_H: u32 = 0x24002053;
976pub const MASK_FABS_H: u32 = 0xfe00707f;
977pub const MATCH_FABS_Q: u32 = 0x26002053;
978pub const MASK_FABS_Q: u32 = 0xfe00707f;
979pub const MATCH_FABS_S: u32 = 0x20002053;
980pub const MASK_FABS_S: u32 = 0xfe00707f;
981pub const MATCH_FADD_D: u32 = 0x2000053;
982pub const MASK_FADD_D: u32 = 0xfe00007f;
983pub const MATCH_FADD_H: u32 = 0x4000053;
984pub const MASK_FADD_H: u32 = 0xfe00007f;
985pub const MATCH_FADD_Q: u32 = 0x6000053;
986pub const MASK_FADD_Q: u32 = 0xfe00007f;
987pub const MATCH_FADD_S: u32 = 0x53;
988pub const MASK_FADD_S: u32 = 0xfe00007f;
989pub const MATCH_FCLASS_D: u32 = 0xe2001053;
990pub const MASK_FCLASS_D: u32 = 0xfff0707f;
991pub const MATCH_FCLASS_H: u32 = 0xe4001053;
992pub const MASK_FCLASS_H: u32 = 0xfff0707f;
993pub const MATCH_FCLASS_Q: u32 = 0xe6001053;
994pub const MASK_FCLASS_Q: u32 = 0xfff0707f;
995pub const MATCH_FCLASS_S: u32 = 0xe0001053;
996pub const MASK_FCLASS_S: u32 = 0xfff0707f;
997pub const MATCH_FCVT_D_H: u32 = 0x42200053;
998pub const MASK_FCVT_D_H: u32 = 0xfff0007f;
999pub const MATCH_FCVT_D_L: u32 = 0xd2200053;
1000pub const MASK_FCVT_D_L: u32 = 0xfff0007f;
1001pub const MATCH_FCVT_D_LU: u32 = 0xd2300053;
1002pub const MASK_FCVT_D_LU: u32 = 0xfff0007f;
1003pub const MATCH_FCVT_D_Q: u32 = 0x42300053;
1004pub const MASK_FCVT_D_Q: u32 = 0xfff0007f;
1005pub const MATCH_FCVT_D_S: u32 = 0x42000053;
1006pub const MASK_FCVT_D_S: u32 = 0xfff0007f;
1007pub const MATCH_FCVT_D_W: u32 = 0xd2000053;
1008pub const MASK_FCVT_D_W: u32 = 0xfff0007f;
1009pub const MATCH_FCVT_D_WU: u32 = 0xd2100053;
1010pub const MASK_FCVT_D_WU: u32 = 0xfff0007f;
1011pub const MATCH_FCVT_H_D: u32 = 0x44100053;
1012pub const MASK_FCVT_H_D: u32 = 0xfff0007f;
1013pub const MATCH_FCVT_H_L: u32 = 0xd4200053;
1014pub const MASK_FCVT_H_L: u32 = 0xfff0007f;
1015pub const MATCH_FCVT_H_LU: u32 = 0xd4300053;
1016pub const MASK_FCVT_H_LU: u32 = 0xfff0007f;
1017pub const MATCH_FCVT_H_Q: u32 = 0x44300053;
1018pub const MASK_FCVT_H_Q: u32 = 0xfff0007f;
1019pub const MATCH_FCVT_H_S: u32 = 0x44000053;
1020pub const MASK_FCVT_H_S: u32 = 0xfff0007f;
1021pub const MATCH_FCVT_H_W: u32 = 0xd4000053;
1022pub const MASK_FCVT_H_W: u32 = 0xfff0007f;
1023pub const MATCH_FCVT_H_WU: u32 = 0xd4100053;
1024pub const MASK_FCVT_H_WU: u32 = 0xfff0007f;
1025pub const MATCH_FCVT_L_D: u32 = 0xc2200053;
1026pub const MASK_FCVT_L_D: u32 = 0xfff0007f;
1027pub const MATCH_FCVT_L_H: u32 = 0xc4200053;
1028pub const MASK_FCVT_L_H: u32 = 0xfff0007f;
1029pub const MATCH_FCVT_L_Q: u32 = 0xc6200053;
1030pub const MASK_FCVT_L_Q: u32 = 0xfff0007f;
1031pub const MATCH_FCVT_L_S: u32 = 0xc0200053;
1032pub const MASK_FCVT_L_S: u32 = 0xfff0007f;
1033pub const MATCH_FCVT_LU_D: u32 = 0xc2300053;
1034pub const MASK_FCVT_LU_D: u32 = 0xfff0007f;
1035pub const MATCH_FCVT_LU_H: u32 = 0xc4300053;
1036pub const MASK_FCVT_LU_H: u32 = 0xfff0007f;
1037pub const MATCH_FCVT_LU_Q: u32 = 0xc6300053;
1038pub const MASK_FCVT_LU_Q: u32 = 0xfff0007f;
1039pub const MATCH_FCVT_LU_S: u32 = 0xc0300053;
1040pub const MASK_FCVT_LU_S: u32 = 0xfff0007f;
1041pub const MATCH_FCVT_Q_D: u32 = 0x46100053;
1042pub const MASK_FCVT_Q_D: u32 = 0xfff0007f;
1043pub const MATCH_FCVT_Q_H: u32 = 0x46200053;
1044pub const MASK_FCVT_Q_H: u32 = 0xfff0007f;
1045pub const MATCH_FCVT_Q_L: u32 = 0xd6200053;
1046pub const MASK_FCVT_Q_L: u32 = 0xfff0007f;
1047pub const MATCH_FCVT_Q_LU: u32 = 0xd6300053;
1048pub const MASK_FCVT_Q_LU: u32 = 0xfff0007f;
1049pub const MATCH_FCVT_Q_S: u32 = 0x46000053;
1050pub const MASK_FCVT_Q_S: u32 = 0xfff0007f;
1051pub const MATCH_FCVT_Q_W: u32 = 0xd6000053;
1052pub const MASK_FCVT_Q_W: u32 = 0xfff0007f;
1053pub const MATCH_FCVT_Q_WU: u32 = 0xd6100053;
1054pub const MASK_FCVT_Q_WU: u32 = 0xfff0007f;
1055pub const MATCH_FCVT_S_D: u32 = 0x40100053;
1056pub const MASK_FCVT_S_D: u32 = 0xfff0007f;
1057pub const MATCH_FCVT_S_H: u32 = 0x40200053;
1058pub const MASK_FCVT_S_H: u32 = 0xfff0007f;
1059pub const MATCH_FCVT_S_L: u32 = 0xd0200053;
1060pub const MASK_FCVT_S_L: u32 = 0xfff0007f;
1061pub const MATCH_FCVT_S_LU: u32 = 0xd0300053;
1062pub const MASK_FCVT_S_LU: u32 = 0xfff0007f;
1063pub const MATCH_FCVT_S_Q: u32 = 0x40300053;
1064pub const MASK_FCVT_S_Q: u32 = 0xfff0007f;
1065pub const MATCH_FCVT_S_W: u32 = 0xd0000053;
1066pub const MASK_FCVT_S_W: u32 = 0xfff0007f;
1067pub const MATCH_FCVT_S_WU: u32 = 0xd0100053;
1068pub const MASK_FCVT_S_WU: u32 = 0xfff0007f;
1069pub const MATCH_FCVT_W_D: u32 = 0xc2000053;
1070pub const MASK_FCVT_W_D: u32 = 0xfff0007f;
1071pub const MATCH_FCVT_W_H: u32 = 0xc4000053;
1072pub const MASK_FCVT_W_H: u32 = 0xfff0007f;
1073pub const MATCH_FCVT_W_Q: u32 = 0xc6000053;
1074pub const MASK_FCVT_W_Q: u32 = 0xfff0007f;
1075pub const MATCH_FCVT_W_S: u32 = 0xc0000053;
1076pub const MASK_FCVT_W_S: u32 = 0xfff0007f;
1077pub const MATCH_FCVT_WU_D: u32 = 0xc2100053;
1078pub const MASK_FCVT_WU_D: u32 = 0xfff0007f;
1079pub const MATCH_FCVT_WU_H: u32 = 0xc4100053;
1080pub const MASK_FCVT_WU_H: u32 = 0xfff0007f;
1081pub const MATCH_FCVT_WU_Q: u32 = 0xc6100053;
1082pub const MASK_FCVT_WU_Q: u32 = 0xfff0007f;
1083pub const MATCH_FCVT_WU_S: u32 = 0xc0100053;
1084pub const MASK_FCVT_WU_S: u32 = 0xfff0007f;
1085pub const MATCH_FCVTMOD_W_D: u32 = 0xc2801053;
1086pub const MASK_FCVTMOD_W_D: u32 = 0xfff0707f;
1087pub const MATCH_FDIV_D: u32 = 0x1a000053;
1088pub const MASK_FDIV_D: u32 = 0xfe00007f;
1089pub const MATCH_FDIV_H: u32 = 0x1c000053;
1090pub const MASK_FDIV_H: u32 = 0xfe00007f;
1091pub const MATCH_FDIV_Q: u32 = 0x1e000053;
1092pub const MASK_FDIV_Q: u32 = 0xfe00007f;
1093pub const MATCH_FDIV_S: u32 = 0x18000053;
1094pub const MASK_FDIV_S: u32 = 0xfe00007f;
1095pub const MATCH_FENCE: u32 = 0xf;
1096pub const MASK_FENCE: u32 = 0x707f;
1097pub const MATCH_FENCE_I: u32 = 0x100f;
1098pub const MASK_FENCE_I: u32 = 0x707f;
1099pub const MATCH_FENCE_TSO: u32 = 0x8330000f;
1100pub const MASK_FENCE_TSO: u32 = 0xfff0707f;
1101pub const MATCH_FEQ_D: u32 = 0xa2002053;
1102pub const MASK_FEQ_D: u32 = 0xfe00707f;
1103pub const MATCH_FEQ_H: u32 = 0xa4002053;
1104pub const MASK_FEQ_H: u32 = 0xfe00707f;
1105pub const MATCH_FEQ_Q: u32 = 0xa6002053;
1106pub const MASK_FEQ_Q: u32 = 0xfe00707f;
1107pub const MATCH_FEQ_S: u32 = 0xa0002053;
1108pub const MASK_FEQ_S: u32 = 0xfe00707f;
1109pub const MATCH_FLD: u32 = 0x3007;
1110pub const MASK_FLD: u32 = 0x707f;
1111pub const MATCH_FLE_D: u32 = 0xa2000053;
1112pub const MASK_FLE_D: u32 = 0xfe00707f;
1113pub const MATCH_FLE_H: u32 = 0xa4000053;
1114pub const MASK_FLE_H: u32 = 0xfe00707f;
1115pub const MATCH_FLE_Q: u32 = 0xa6000053;
1116pub const MASK_FLE_Q: u32 = 0xfe00707f;
1117pub const MATCH_FLE_S: u32 = 0xa0000053;
1118pub const MASK_FLE_S: u32 = 0xfe00707f;
1119pub const MATCH_FLEQ_D: u32 = 0xa2004053;
1120pub const MASK_FLEQ_D: u32 = 0xfe00707f;
1121pub const MATCH_FLEQ_H: u32 = 0xa4004053;
1122pub const MASK_FLEQ_H: u32 = 0xfe00707f;
1123pub const MATCH_FLEQ_Q: u32 = 0xa6004053;
1124pub const MASK_FLEQ_Q: u32 = 0xfe00707f;
1125pub const MATCH_FLEQ_S: u32 = 0xa0004053;
1126pub const MASK_FLEQ_S: u32 = 0xfe00707f;
1127pub const MATCH_FLH: u32 = 0x1007;
1128pub const MASK_FLH: u32 = 0x707f;
1129pub const MATCH_FLI_D: u32 = 0xf2100053;
1130pub const MASK_FLI_D: u32 = 0xfff0707f;
1131pub const MATCH_FLI_H: u32 = 0xf4100053;
1132pub const MASK_FLI_H: u32 = 0xfff0707f;
1133pub const MATCH_FLI_Q: u32 = 0xf6100053;
1134pub const MASK_FLI_Q: u32 = 0xfff0707f;
1135pub const MATCH_FLI_S: u32 = 0xf0100053;
1136pub const MASK_FLI_S: u32 = 0xfff0707f;
1137pub const MATCH_FLQ: u32 = 0x4007;
1138pub const MASK_FLQ: u32 = 0x707f;
1139pub const MATCH_FLT_D: u32 = 0xa2001053;
1140pub const MASK_FLT_D: u32 = 0xfe00707f;
1141pub const MATCH_FLT_H: u32 = 0xa4001053;
1142pub const MASK_FLT_H: u32 = 0xfe00707f;
1143pub const MATCH_FLT_Q: u32 = 0xa6001053;
1144pub const MASK_FLT_Q: u32 = 0xfe00707f;
1145pub const MATCH_FLT_S: u32 = 0xa0001053;
1146pub const MASK_FLT_S: u32 = 0xfe00707f;
1147pub const MATCH_FLTQ_D: u32 = 0xa2005053;
1148pub const MASK_FLTQ_D: u32 = 0xfe00707f;
1149pub const MATCH_FLTQ_H: u32 = 0xa4005053;
1150pub const MASK_FLTQ_H: u32 = 0xfe00707f;
1151pub const MATCH_FLTQ_Q: u32 = 0xa6005053;
1152pub const MASK_FLTQ_Q: u32 = 0xfe00707f;
1153pub const MATCH_FLTQ_S: u32 = 0xa0005053;
1154pub const MASK_FLTQ_S: u32 = 0xfe00707f;
1155pub const MATCH_FLW: u32 = 0x2007;
1156pub const MASK_FLW: u32 = 0x707f;
1157pub const MATCH_FMADD_D: u32 = 0x2000043;
1158pub const MASK_FMADD_D: u32 = 0x600007f;
1159pub const MATCH_FMADD_H: u32 = 0x4000043;
1160pub const MASK_FMADD_H: u32 = 0x600007f;
1161pub const MATCH_FMADD_Q: u32 = 0x6000043;
1162pub const MASK_FMADD_Q: u32 = 0x600007f;
1163pub const MATCH_FMADD_S: u32 = 0x43;
1164pub const MASK_FMADD_S: u32 = 0x600007f;
1165pub const MATCH_FMAX_D: u32 = 0x2a001053;
1166pub const MASK_FMAX_D: u32 = 0xfe00707f;
1167pub const MATCH_FMAX_H: u32 = 0x2c001053;
1168pub const MASK_FMAX_H: u32 = 0xfe00707f;
1169pub const MATCH_FMAX_Q: u32 = 0x2e001053;
1170pub const MASK_FMAX_Q: u32 = 0xfe00707f;
1171pub const MATCH_FMAX_S: u32 = 0x28001053;
1172pub const MASK_FMAX_S: u32 = 0xfe00707f;
1173pub const MATCH_FMAXM_D: u32 = 0x2a003053;
1174pub const MASK_FMAXM_D: u32 = 0xfe00707f;
1175pub const MATCH_FMAXM_H: u32 = 0x2c003053;
1176pub const MASK_FMAXM_H: u32 = 0xfe00707f;
1177pub const MATCH_FMAXM_Q: u32 = 0x2e003053;
1178pub const MASK_FMAXM_Q: u32 = 0xfe00707f;
1179pub const MATCH_FMAXM_S: u32 = 0x28003053;
1180pub const MASK_FMAXM_S: u32 = 0xfe00707f;
1181pub const MATCH_FMIN_D: u32 = 0x2a000053;
1182pub const MASK_FMIN_D: u32 = 0xfe00707f;
1183pub const MATCH_FMIN_H: u32 = 0x2c000053;
1184pub const MASK_FMIN_H: u32 = 0xfe00707f;
1185pub const MATCH_FMIN_Q: u32 = 0x2e000053;
1186pub const MASK_FMIN_Q: u32 = 0xfe00707f;
1187pub const MATCH_FMIN_S: u32 = 0x28000053;
1188pub const MASK_FMIN_S: u32 = 0xfe00707f;
1189pub const MATCH_FMINM_D: u32 = 0x2a002053;
1190pub const MASK_FMINM_D: u32 = 0xfe00707f;
1191pub const MATCH_FMINM_H: u32 = 0x2c002053;
1192pub const MASK_FMINM_H: u32 = 0xfe00707f;
1193pub const MATCH_FMINM_Q: u32 = 0x2e002053;
1194pub const MASK_FMINM_Q: u32 = 0xfe00707f;
1195pub const MATCH_FMINM_S: u32 = 0x28002053;
1196pub const MASK_FMINM_S: u32 = 0xfe00707f;
1197pub const MATCH_FMSUB_D: u32 = 0x2000047;
1198pub const MASK_FMSUB_D: u32 = 0x600007f;
1199pub const MATCH_FMSUB_H: u32 = 0x4000047;
1200pub const MASK_FMSUB_H: u32 = 0x600007f;
1201pub const MATCH_FMSUB_Q: u32 = 0x6000047;
1202pub const MASK_FMSUB_Q: u32 = 0x600007f;
1203pub const MATCH_FMSUB_S: u32 = 0x47;
1204pub const MASK_FMSUB_S: u32 = 0x600007f;
1205pub const MATCH_FMUL_D: u32 = 0x12000053;
1206pub const MASK_FMUL_D: u32 = 0xfe00007f;
1207pub const MATCH_FMUL_H: u32 = 0x14000053;
1208pub const MASK_FMUL_H: u32 = 0xfe00007f;
1209pub const MATCH_FMUL_Q: u32 = 0x16000053;
1210pub const MASK_FMUL_Q: u32 = 0xfe00007f;
1211pub const MATCH_FMUL_S: u32 = 0x10000053;
1212pub const MASK_FMUL_S: u32 = 0xfe00007f;
1213pub const MATCH_FMV_D: u32 = 0x22000053;
1214pub const MASK_FMV_D: u32 = 0xfe00707f;
1215pub const MATCH_FMV_D_X: u32 = 0xf2000053;
1216pub const MASK_FMV_D_X: u32 = 0xfff0707f;
1217pub const MATCH_FMV_H: u32 = 0x24000053;
1218pub const MASK_FMV_H: u32 = 0xfe00707f;
1219pub const MATCH_FMV_H_X: u32 = 0xf4000053;
1220pub const MASK_FMV_H_X: u32 = 0xfff0707f;
1221pub const MATCH_FMV_Q: u32 = 0x26000053;
1222pub const MASK_FMV_Q: u32 = 0xfe00707f;
1223pub const MATCH_FMV_S: u32 = 0x20000053;
1224pub const MASK_FMV_S: u32 = 0xfe00707f;
1225pub const MATCH_FMV_S_X: u32 = 0xf0000053;
1226pub const MASK_FMV_S_X: u32 = 0xfff0707f;
1227pub const MATCH_FMV_W_X: u32 = 0xf0000053;
1228pub const MASK_FMV_W_X: u32 = 0xfff0707f;
1229pub const MATCH_FMV_X_D: u32 = 0xe2000053;
1230pub const MASK_FMV_X_D: u32 = 0xfff0707f;
1231pub const MATCH_FMV_X_H: u32 = 0xe4000053;
1232pub const MASK_FMV_X_H: u32 = 0xfff0707f;
1233pub const MATCH_FMV_X_S: u32 = 0xe0000053;
1234pub const MASK_FMV_X_S: u32 = 0xfff0707f;
1235pub const MATCH_FMV_X_W: u32 = 0xe0000053;
1236pub const MASK_FMV_X_W: u32 = 0xfff0707f;
1237pub const MATCH_FMVH_X_D: u32 = 0xe2100053;
1238pub const MASK_FMVH_X_D: u32 = 0xfff0707f;
1239pub const MATCH_FMVH_X_Q: u32 = 0xe6100053;
1240pub const MASK_FMVH_X_Q: u32 = 0xfff0707f;
1241pub const MATCH_FMVP_D_X: u32 = 0xb2000053;
1242pub const MASK_FMVP_D_X: u32 = 0xfe00707f;
1243pub const MATCH_FMVP_Q_X: u32 = 0xb6000053;
1244pub const MASK_FMVP_Q_X: u32 = 0xfe00707f;
1245pub const MATCH_FNEG_D: u32 = 0x22001053;
1246pub const MASK_FNEG_D: u32 = 0xfe00707f;
1247pub const MATCH_FNEG_H: u32 = 0x24001053;
1248pub const MASK_FNEG_H: u32 = 0xfe00707f;
1249pub const MATCH_FNEG_Q: u32 = 0x26001053;
1250pub const MASK_FNEG_Q: u32 = 0xfe00707f;
1251pub const MATCH_FNEG_S: u32 = 0x20001053;
1252pub const MASK_FNEG_S: u32 = 0xfe00707f;
1253pub const MATCH_FNMADD_D: u32 = 0x200004f;
1254pub const MASK_FNMADD_D: u32 = 0x600007f;
1255pub const MATCH_FNMADD_H: u32 = 0x400004f;
1256pub const MASK_FNMADD_H: u32 = 0x600007f;
1257pub const MATCH_FNMADD_Q: u32 = 0x600004f;
1258pub const MASK_FNMADD_Q: u32 = 0x600007f;
1259pub const MATCH_FNMADD_S: u32 = 0x4f;
1260pub const MASK_FNMADD_S: u32 = 0x600007f;
1261pub const MATCH_FNMSUB_D: u32 = 0x200004b;
1262pub const MASK_FNMSUB_D: u32 = 0x600007f;
1263pub const MATCH_FNMSUB_H: u32 = 0x400004b;
1264pub const MASK_FNMSUB_H: u32 = 0x600007f;
1265pub const MATCH_FNMSUB_Q: u32 = 0x600004b;
1266pub const MASK_FNMSUB_Q: u32 = 0x600007f;
1267pub const MATCH_FNMSUB_S: u32 = 0x4b;
1268pub const MASK_FNMSUB_S: u32 = 0x600007f;
1269pub const MATCH_FRCSR: u32 = 0x302073;
1270pub const MASK_FRCSR: u32 = 0xfffff07f;
1271pub const MATCH_FRFLAGS: u32 = 0x102073;
1272pub const MASK_FRFLAGS: u32 = 0xfffff07f;
1273pub const MATCH_FROUND_D: u32 = 0x42400053;
1274pub const MASK_FROUND_D: u32 = 0xfff0007f;
1275pub const MATCH_FROUND_H: u32 = 0x44400053;
1276pub const MASK_FROUND_H: u32 = 0xfff0007f;
1277pub const MATCH_FROUND_Q: u32 = 0x46400053;
1278pub const MASK_FROUND_Q: u32 = 0xfff0007f;
1279pub const MATCH_FROUND_S: u32 = 0x40400053;
1280pub const MASK_FROUND_S: u32 = 0xfff0007f;
1281pub const MATCH_FROUNDNX_D: u32 = 0x42500053;
1282pub const MASK_FROUNDNX_D: u32 = 0xfff0007f;
1283pub const MATCH_FROUNDNX_H: u32 = 0x44500053;
1284pub const MASK_FROUNDNX_H: u32 = 0xfff0007f;
1285pub const MATCH_FROUNDNX_Q: u32 = 0x46500053;
1286pub const MASK_FROUNDNX_Q: u32 = 0xfff0007f;
1287pub const MATCH_FROUNDNX_S: u32 = 0x40500053;
1288pub const MASK_FROUNDNX_S: u32 = 0xfff0007f;
1289pub const MATCH_FRRM: u32 = 0x202073;
1290pub const MASK_FRRM: u32 = 0xfffff07f;
1291pub const MATCH_FSCSR: u32 = 0x301073;
1292pub const MASK_FSCSR: u32 = 0xfff0707f;
1293pub const MATCH_FSD: u32 = 0x3027;
1294pub const MASK_FSD: u32 = 0x707f;
1295pub const MATCH_FSFLAGS: u32 = 0x101073;
1296pub const MASK_FSFLAGS: u32 = 0xfff0707f;
1297pub const MATCH_FSFLAGSI: u32 = 0x105073;
1298pub const MASK_FSFLAGSI: u32 = 0xfff0707f;
1299pub const MATCH_FSGNJ_D: u32 = 0x22000053;
1300pub const MASK_FSGNJ_D: u32 = 0xfe00707f;
1301pub const MATCH_FSGNJ_H: u32 = 0x24000053;
1302pub const MASK_FSGNJ_H: u32 = 0xfe00707f;
1303pub const MATCH_FSGNJ_Q: u32 = 0x26000053;
1304pub const MASK_FSGNJ_Q: u32 = 0xfe00707f;
1305pub const MATCH_FSGNJ_S: u32 = 0x20000053;
1306pub const MASK_FSGNJ_S: u32 = 0xfe00707f;
1307pub const MATCH_FSGNJN_D: u32 = 0x22001053;
1308pub const MASK_FSGNJN_D: u32 = 0xfe00707f;
1309pub const MATCH_FSGNJN_H: u32 = 0x24001053;
1310pub const MASK_FSGNJN_H: u32 = 0xfe00707f;
1311pub const MATCH_FSGNJN_Q: u32 = 0x26001053;
1312pub const MASK_FSGNJN_Q: u32 = 0xfe00707f;
1313pub const MATCH_FSGNJN_S: u32 = 0x20001053;
1314pub const MASK_FSGNJN_S: u32 = 0xfe00707f;
1315pub const MATCH_FSGNJX_D: u32 = 0x22002053;
1316pub const MASK_FSGNJX_D: u32 = 0xfe00707f;
1317pub const MATCH_FSGNJX_H: u32 = 0x24002053;
1318pub const MASK_FSGNJX_H: u32 = 0xfe00707f;
1319pub const MATCH_FSGNJX_Q: u32 = 0x26002053;
1320pub const MASK_FSGNJX_Q: u32 = 0xfe00707f;
1321pub const MATCH_FSGNJX_S: u32 = 0x20002053;
1322pub const MASK_FSGNJX_S: u32 = 0xfe00707f;
1323pub const MATCH_FSH: u32 = 0x1027;
1324pub const MASK_FSH: u32 = 0x707f;
1325pub const MATCH_FSQ: u32 = 0x4027;
1326pub const MASK_FSQ: u32 = 0x707f;
1327pub const MATCH_FSQRT_D: u32 = 0x5a000053;
1328pub const MASK_FSQRT_D: u32 = 0xfff0007f;
1329pub const MATCH_FSQRT_H: u32 = 0x5c000053;
1330pub const MASK_FSQRT_H: u32 = 0xfff0007f;
1331pub const MATCH_FSQRT_Q: u32 = 0x5e000053;
1332pub const MASK_FSQRT_Q: u32 = 0xfff0007f;
1333pub const MATCH_FSQRT_S: u32 = 0x58000053;
1334pub const MASK_FSQRT_S: u32 = 0xfff0007f;
1335pub const MATCH_FSRM: u32 = 0x201073;
1336pub const MASK_FSRM: u32 = 0xfff0707f;
1337pub const MATCH_FSRMI: u32 = 0x205073;
1338pub const MASK_FSRMI: u32 = 0xfff0707f;
1339pub const MATCH_FSUB_D: u32 = 0xa000053;
1340pub const MASK_FSUB_D: u32 = 0xfe00007f;
1341pub const MATCH_FSUB_H: u32 = 0xc000053;
1342pub const MASK_FSUB_H: u32 = 0xfe00007f;
1343pub const MATCH_FSUB_Q: u32 = 0xe000053;
1344pub const MASK_FSUB_Q: u32 = 0xfe00007f;
1345pub const MATCH_FSUB_S: u32 = 0x8000053;
1346pub const MASK_FSUB_S: u32 = 0xfe00007f;
1347pub const MATCH_FSW: u32 = 0x2027;
1348pub const MASK_FSW: u32 = 0x707f;
1349pub const MATCH_HFENCE_GVMA: u32 = 0x62000073;
1350pub const MASK_HFENCE_GVMA: u32 = 0xfe007fff;
1351pub const MATCH_HFENCE_VVMA: u32 = 0x22000073;
1352pub const MASK_HFENCE_VVMA: u32 = 0xfe007fff;
1353pub const MATCH_HINVAL_GVMA: u32 = 0x66000073;
1354pub const MASK_HINVAL_GVMA: u32 = 0xfe007fff;
1355pub const MATCH_HINVAL_VVMA: u32 = 0x26000073;
1356pub const MASK_HINVAL_VVMA: u32 = 0xfe007fff;
1357pub const MATCH_HLV_B: u32 = 0x60004073;
1358pub const MASK_HLV_B: u32 = 0xfff0707f;
1359pub const MATCH_HLV_BU: u32 = 0x60104073;
1360pub const MASK_HLV_BU: u32 = 0xfff0707f;
1361pub const MATCH_HLV_D: u32 = 0x6c004073;
1362pub const MASK_HLV_D: u32 = 0xfff0707f;
1363pub const MATCH_HLV_H: u32 = 0x64004073;
1364pub const MASK_HLV_H: u32 = 0xfff0707f;
1365pub const MATCH_HLV_HU: u32 = 0x64104073;
1366pub const MASK_HLV_HU: u32 = 0xfff0707f;
1367pub const MATCH_HLV_W: u32 = 0x68004073;
1368pub const MASK_HLV_W: u32 = 0xfff0707f;
1369pub const MATCH_HLV_WU: u32 = 0x68104073;
1370pub const MASK_HLV_WU: u32 = 0xfff0707f;
1371pub const MATCH_HLVX_HU: u32 = 0x64304073;
1372pub const MASK_HLVX_HU: u32 = 0xfff0707f;
1373pub const MATCH_HLVX_WU: u32 = 0x68304073;
1374pub const MASK_HLVX_WU: u32 = 0xfff0707f;
1375pub const MATCH_HSV_B: u32 = 0x62004073;
1376pub const MASK_HSV_B: u32 = 0xfe007fff;
1377pub const MATCH_HSV_D: u32 = 0x6e004073;
1378pub const MASK_HSV_D: u32 = 0xfe007fff;
1379pub const MATCH_HSV_H: u32 = 0x66004073;
1380pub const MASK_HSV_H: u32 = 0xfe007fff;
1381pub const MATCH_HSV_W: u32 = 0x6a004073;
1382pub const MASK_HSV_W: u32 = 0xfe007fff;
1383pub const MATCH_J: u32 = 0x6f;
1384pub const MASK_J: u32 = 0xfff;
1385pub const MATCH_JAL: u32 = 0x6f;
1386pub const MASK_JAL: u32 = 0x7f;
1387pub const MATCH_JAL_PSEUDO: u32 = 0xef;
1388pub const MASK_JAL_PSEUDO: u32 = 0xfff;
1389pub const MATCH_JALR: u32 = 0x67;
1390pub const MASK_JALR: u32 = 0x707f;
1391pub const MATCH_JALR_PSEUDO: u32 = 0xe7;
1392pub const MASK_JALR_PSEUDO: u32 = 0xfff07fff;
1393pub const MATCH_JR: u32 = 0x67;
1394pub const MASK_JR: u32 = 0xfff07fff;
1395pub const MATCH_LB: u32 = 0x3;
1396pub const MASK_LB: u32 = 0x707f;
1397pub const MATCH_LBU: u32 = 0x4003;
1398pub const MASK_LBU: u32 = 0x707f;
1399pub const MATCH_LD: u32 = 0x3003;
1400pub const MASK_LD: u32 = 0x707f;
1401pub const MATCH_LH: u32 = 0x1003;
1402pub const MASK_LH: u32 = 0x707f;
1403pub const MATCH_LHU: u32 = 0x5003;
1404pub const MASK_LHU: u32 = 0x707f;
1405pub const MATCH_LR_D: u32 = 0x1000302f;
1406pub const MASK_LR_D: u32 = 0xf9f0707f;
1407pub const MATCH_LR_W: u32 = 0x1000202f;
1408pub const MASK_LR_W: u32 = 0xf9f0707f;
1409pub const MATCH_LUI: u32 = 0x37;
1410pub const MASK_LUI: u32 = 0x7f;
1411pub const MATCH_LW: u32 = 0x2003;
1412pub const MASK_LW: u32 = 0x707f;
1413pub const MATCH_LWU: u32 = 0x6003;
1414pub const MASK_LWU: u32 = 0x707f;
1415pub const MATCH_MAX: u32 = 0xa006033;
1416pub const MASK_MAX: u32 = 0xfe00707f;
1417pub const MATCH_MAXU: u32 = 0xa007033;
1418pub const MASK_MAXU: u32 = 0xfe00707f;
1419pub const MATCH_MIN: u32 = 0xa004033;
1420pub const MASK_MIN: u32 = 0xfe00707f;
1421pub const MATCH_MINU: u32 = 0xa005033;
1422pub const MASK_MINU: u32 = 0xfe00707f;
1423pub const MATCH_MOP_R_0: u32 = 0x81c04073;
1424pub const MASK_MOP_R_0: u32 = 0xfff0707f;
1425pub const MATCH_MOP_R_1: u32 = 0x81d04073;
1426pub const MASK_MOP_R_1: u32 = 0xfff0707f;
1427pub const MATCH_MOP_R_10: u32 = 0x89e04073;
1428pub const MASK_MOP_R_10: u32 = 0xfff0707f;
1429pub const MATCH_MOP_R_11: u32 = 0x89f04073;
1430pub const MASK_MOP_R_11: u32 = 0xfff0707f;
1431pub const MATCH_MOP_R_12: u32 = 0x8dc04073;
1432pub const MASK_MOP_R_12: u32 = 0xfff0707f;
1433pub const MATCH_MOP_R_13: u32 = 0x8dd04073;
1434pub const MASK_MOP_R_13: u32 = 0xfff0707f;
1435pub const MATCH_MOP_R_14: u32 = 0x8de04073;
1436pub const MASK_MOP_R_14: u32 = 0xfff0707f;
1437pub const MATCH_MOP_R_15: u32 = 0x8df04073;
1438pub const MASK_MOP_R_15: u32 = 0xfff0707f;
1439pub const MATCH_MOP_R_16: u32 = 0xc1c04073;
1440pub const MASK_MOP_R_16: u32 = 0xfff0707f;
1441pub const MATCH_MOP_R_17: u32 = 0xc1d04073;
1442pub const MASK_MOP_R_17: u32 = 0xfff0707f;
1443pub const MATCH_MOP_R_18: u32 = 0xc1e04073;
1444pub const MASK_MOP_R_18: u32 = 0xfff0707f;
1445pub const MATCH_MOP_R_19: u32 = 0xc1f04073;
1446pub const MASK_MOP_R_19: u32 = 0xfff0707f;
1447pub const MATCH_MOP_R_2: u32 = 0x81e04073;
1448pub const MASK_MOP_R_2: u32 = 0xfff0707f;
1449pub const MATCH_MOP_R_20: u32 = 0xc5c04073;
1450pub const MASK_MOP_R_20: u32 = 0xfff0707f;
1451pub const MATCH_MOP_R_21: u32 = 0xc5d04073;
1452pub const MASK_MOP_R_21: u32 = 0xfff0707f;
1453pub const MATCH_MOP_R_22: u32 = 0xc5e04073;
1454pub const MASK_MOP_R_22: u32 = 0xfff0707f;
1455pub const MATCH_MOP_R_23: u32 = 0xc5f04073;
1456pub const MASK_MOP_R_23: u32 = 0xfff0707f;
1457pub const MATCH_MOP_R_24: u32 = 0xc9c04073;
1458pub const MASK_MOP_R_24: u32 = 0xfff0707f;
1459pub const MATCH_MOP_R_25: u32 = 0xc9d04073;
1460pub const MASK_MOP_R_25: u32 = 0xfff0707f;
1461pub const MATCH_MOP_R_26: u32 = 0xc9e04073;
1462pub const MASK_MOP_R_26: u32 = 0xfff0707f;
1463pub const MATCH_MOP_R_27: u32 = 0xc9f04073;
1464pub const MASK_MOP_R_27: u32 = 0xfff0707f;
1465pub const MATCH_MOP_R_28: u32 = 0xcdc04073;
1466pub const MASK_MOP_R_28: u32 = 0xfff0707f;
1467pub const MATCH_MOP_R_29: u32 = 0xcdd04073;
1468pub const MASK_MOP_R_29: u32 = 0xfff0707f;
1469pub const MATCH_MOP_R_3: u32 = 0x81f04073;
1470pub const MASK_MOP_R_3: u32 = 0xfff0707f;
1471pub const MATCH_MOP_R_30: u32 = 0xcde04073;
1472pub const MASK_MOP_R_30: u32 = 0xfff0707f;
1473pub const MATCH_MOP_R_31: u32 = 0xcdf04073;
1474pub const MASK_MOP_R_31: u32 = 0xfff0707f;
1475pub const MATCH_MOP_R_4: u32 = 0x85c04073;
1476pub const MASK_MOP_R_4: u32 = 0xfff0707f;
1477pub const MATCH_MOP_R_5: u32 = 0x85d04073;
1478pub const MASK_MOP_R_5: u32 = 0xfff0707f;
1479pub const MATCH_MOP_R_6: u32 = 0x85e04073;
1480pub const MASK_MOP_R_6: u32 = 0xfff0707f;
1481pub const MATCH_MOP_R_7: u32 = 0x85f04073;
1482pub const MASK_MOP_R_7: u32 = 0xfff0707f;
1483pub const MATCH_MOP_R_8: u32 = 0x89c04073;
1484pub const MASK_MOP_R_8: u32 = 0xfff0707f;
1485pub const MATCH_MOP_R_9: u32 = 0x89d04073;
1486pub const MASK_MOP_R_9: u32 = 0xfff0707f;
1487pub const MATCH_MOP_R_N: u32 = 0x81c04073;
1488pub const MASK_MOP_R_N: u32 = 0xb3c0707f;
1489pub const MATCH_MOP_RR_0: u32 = 0x82004073;
1490pub const MASK_MOP_RR_0: u32 = 0xfe00707f;
1491pub const MATCH_MOP_RR_1: u32 = 0x86004073;
1492pub const MASK_MOP_RR_1: u32 = 0xfe00707f;
1493pub const MATCH_MOP_RR_2: u32 = 0x8a004073;
1494pub const MASK_MOP_RR_2: u32 = 0xfe00707f;
1495pub const MATCH_MOP_RR_3: u32 = 0x8e004073;
1496pub const MASK_MOP_RR_3: u32 = 0xfe00707f;
1497pub const MATCH_MOP_RR_4: u32 = 0xc2004073;
1498pub const MASK_MOP_RR_4: u32 = 0xfe00707f;
1499pub const MATCH_MOP_RR_5: u32 = 0xc6004073;
1500pub const MASK_MOP_RR_5: u32 = 0xfe00707f;
1501pub const MATCH_MOP_RR_6: u32 = 0xca004073;
1502pub const MASK_MOP_RR_6: u32 = 0xfe00707f;
1503pub const MATCH_MOP_RR_7: u32 = 0xce004073;
1504pub const MASK_MOP_RR_7: u32 = 0xfe00707f;
1505pub const MATCH_MOP_RR_N: u32 = 0x82004073;
1506pub const MASK_MOP_RR_N: u32 = 0xb200707f;
1507pub const MATCH_MRET: u32 = 0x30200073;
1508pub const MASK_MRET: u32 = 0xffffffff;
1509pub const MATCH_MUL: u32 = 0x2000033;
1510pub const MASK_MUL: u32 = 0xfe00707f;
1511pub const MATCH_MULH: u32 = 0x2001033;
1512pub const MASK_MULH: u32 = 0xfe00707f;
1513pub const MATCH_MULHSU: u32 = 0x2002033;
1514pub const MASK_MULHSU: u32 = 0xfe00707f;
1515pub const MATCH_MULHU: u32 = 0x2003033;
1516pub const MASK_MULHU: u32 = 0xfe00707f;
1517pub const MATCH_MULW: u32 = 0x200003b;
1518pub const MASK_MULW: u32 = 0xfe00707f;
1519pub const MATCH_MV: u32 = 0x13;
1520pub const MASK_MV: u32 = 0xfff0707f;
1521pub const MATCH_NEG: u32 = 0x40000033;
1522pub const MASK_NEG: u32 = 0xfff0707f;
1523pub const MATCH_NOP: u32 = 0x13;
1524pub const MASK_NOP: u32 = 0xffffffff;
1525pub const MATCH_NTL_ALL: u32 = 0x500033;
1526pub const MASK_NTL_ALL: u32 = 0xffffffff;
1527pub const MATCH_NTL_P1: u32 = 0x200033;
1528pub const MASK_NTL_P1: u32 = 0xffffffff;
1529pub const MATCH_NTL_PALL: u32 = 0x300033;
1530pub const MASK_NTL_PALL: u32 = 0xffffffff;
1531pub const MATCH_NTL_S1: u32 = 0x400033;
1532pub const MASK_NTL_S1: u32 = 0xffffffff;
1533pub const MATCH_OR: u32 = 0x6033;
1534pub const MASK_OR: u32 = 0xfe00707f;
1535pub const MATCH_ORC_B: u32 = 0x28705013;
1536pub const MASK_ORC_B: u32 = 0xfff0707f;
1537pub const MATCH_ORI: u32 = 0x6013;
1538pub const MASK_ORI: u32 = 0x707f;
1539pub const MATCH_ORN: u32 = 0x40006033;
1540pub const MASK_ORN: u32 = 0xfe00707f;
1541pub const MATCH_PACK: u32 = 0x8004033;
1542pub const MASK_PACK: u32 = 0xfe00707f;
1543pub const MATCH_PACKH: u32 = 0x8007033;
1544pub const MASK_PACKH: u32 = 0xfe00707f;
1545pub const MATCH_PACKW: u32 = 0x800403b;
1546pub const MASK_PACKW: u32 = 0xfe00707f;
1547pub const MATCH_PAUSE: u32 = 0x100000f;
1548pub const MASK_PAUSE: u32 = 0xffffffff;
1549pub const MATCH_PREFETCH_I: u32 = 0x6013;
1550pub const MASK_PREFETCH_I: u32 = 0x1f07fff;
1551pub const MATCH_PREFETCH_R: u32 = 0x106013;
1552pub const MASK_PREFETCH_R: u32 = 0x1f07fff;
1553pub const MATCH_PREFETCH_W: u32 = 0x306013;
1554pub const MASK_PREFETCH_W: u32 = 0x1f07fff;
1555pub const MATCH_RDCYCLE: u32 = 0xc0002073;
1556pub const MASK_RDCYCLE: u32 = 0xfffff07f;
1557pub const MATCH_RDCYCLEH: u32 = 0xc8002073;
1558pub const MASK_RDCYCLEH: u32 = 0xfffff07f;
1559pub const MATCH_RDINSTRET: u32 = 0xc0202073;
1560pub const MASK_RDINSTRET: u32 = 0xfffff07f;
1561pub const MATCH_RDINSTRETH: u32 = 0xc8202073;
1562pub const MASK_RDINSTRETH: u32 = 0xfffff07f;
1563pub const MATCH_RDTIME: u32 = 0xc0102073;
1564pub const MASK_RDTIME: u32 = 0xfffff07f;
1565pub const MATCH_RDTIMEH: u32 = 0xc8102073;
1566pub const MASK_RDTIMEH: u32 = 0xfffff07f;
1567pub const MATCH_REM: u32 = 0x2006033;
1568pub const MASK_REM: u32 = 0xfe00707f;
1569pub const MATCH_REMU: u32 = 0x2007033;
1570pub const MASK_REMU: u32 = 0xfe00707f;
1571pub const MATCH_REMUW: u32 = 0x200703b;
1572pub const MASK_REMUW: u32 = 0xfe00707f;
1573pub const MATCH_REMW: u32 = 0x200603b;
1574pub const MASK_REMW: u32 = 0xfe00707f;
1575pub const MATCH_RET: u32 = 0x8067;
1576pub const MASK_RET: u32 = 0xffffffff;
1577pub const MATCH_REV8: u32 = 0x6b805013;
1578pub const MASK_REV8: u32 = 0xfff0707f;
1579pub const MATCH_REV8_RV32: u32 = 0x69805013;
1580pub const MASK_REV8_RV32: u32 = 0xfff0707f;
1581pub const MATCH_ROL: u32 = 0x60001033;
1582pub const MASK_ROL: u32 = 0xfe00707f;
1583pub const MATCH_ROLW: u32 = 0x6000103b;
1584pub const MASK_ROLW: u32 = 0xfe00707f;
1585pub const MATCH_ROR: u32 = 0x60005033;
1586pub const MASK_ROR: u32 = 0xfe00707f;
1587pub const MATCH_RORI: u32 = 0x60005013;
1588pub const MASK_RORI: u32 = 0xfc00707f;
1589pub const MATCH_RORI_RV32: u32 = 0x60005013;
1590pub const MASK_RORI_RV32: u32 = 0xfe00707f;
1591pub const MATCH_RORIW: u32 = 0x6000501b;
1592pub const MASK_RORIW: u32 = 0xfe00707f;
1593pub const MATCH_RORW: u32 = 0x6000503b;
1594pub const MASK_RORW: u32 = 0xfe00707f;
1595pub const MATCH_SB: u32 = 0x23;
1596pub const MASK_SB: u32 = 0x707f;
1597pub const MATCH_SBREAK: u32 = 0x100073;
1598pub const MASK_SBREAK: u32 = 0xffffffff;
1599pub const MATCH_SC_D: u32 = 0x1800302f;
1600pub const MASK_SC_D: u32 = 0xf800707f;
1601pub const MATCH_SC_W: u32 = 0x1800202f;
1602pub const MASK_SC_W: u32 = 0xf800707f;
1603pub const MATCH_SCALL: u32 = 0x73;
1604pub const MASK_SCALL: u32 = 0xffffffff;
1605pub const MATCH_SD: u32 = 0x3023;
1606pub const MASK_SD: u32 = 0x707f;
1607pub const MATCH_SEQZ: u32 = 0x103013;
1608pub const MASK_SEQZ: u32 = 0xfff0707f;
1609pub const MATCH_SEXT_B: u32 = 0x60401013;
1610pub const MASK_SEXT_B: u32 = 0xfff0707f;
1611pub const MATCH_SEXT_H: u32 = 0x60501013;
1612pub const MASK_SEXT_H: u32 = 0xfff0707f;
1613pub const MATCH_SEXT_W: u32 = 0x1b;
1614pub const MASK_SEXT_W: u32 = 0xfff0707f;
1615pub const MATCH_SFENCE_INVAL_IR: u32 = 0x18100073;
1616pub const MASK_SFENCE_INVAL_IR: u32 = 0xffffffff;
1617pub const MATCH_SFENCE_VMA: u32 = 0x12000073;
1618pub const MASK_SFENCE_VMA: u32 = 0xfe007fff;
1619pub const MATCH_SFENCE_W_INVAL: u32 = 0x18000073;
1620pub const MASK_SFENCE_W_INVAL: u32 = 0xffffffff;
1621pub const MATCH_SGTZ: u32 = 0x2033;
1622pub const MASK_SGTZ: u32 = 0xfe0ff07f;
1623pub const MATCH_SH: u32 = 0x1023;
1624pub const MASK_SH: u32 = 0x707f;
1625pub const MATCH_SH1ADD: u32 = 0x20002033;
1626pub const MASK_SH1ADD: u32 = 0xfe00707f;
1627pub const MATCH_SH1ADD_UW: u32 = 0x2000203b;
1628pub const MASK_SH1ADD_UW: u32 = 0xfe00707f;
1629pub const MATCH_SH2ADD: u32 = 0x20004033;
1630pub const MASK_SH2ADD: u32 = 0xfe00707f;
1631pub const MATCH_SH2ADD_UW: u32 = 0x2000403b;
1632pub const MASK_SH2ADD_UW: u32 = 0xfe00707f;
1633pub const MATCH_SH3ADD: u32 = 0x20006033;
1634pub const MASK_SH3ADD: u32 = 0xfe00707f;
1635pub const MATCH_SH3ADD_UW: u32 = 0x2000603b;
1636pub const MASK_SH3ADD_UW: u32 = 0xfe00707f;
1637pub const MATCH_SHA256SIG0: u32 = 0x10201013;
1638pub const MASK_SHA256SIG0: u32 = 0xfff0707f;
1639pub const MATCH_SHA256SIG1: u32 = 0x10301013;
1640pub const MASK_SHA256SIG1: u32 = 0xfff0707f;
1641pub const MATCH_SHA256SUM0: u32 = 0x10001013;
1642pub const MASK_SHA256SUM0: u32 = 0xfff0707f;
1643pub const MATCH_SHA256SUM1: u32 = 0x10101013;
1644pub const MASK_SHA256SUM1: u32 = 0xfff0707f;
1645pub const MATCH_SHA512SIG0: u32 = 0x10601013;
1646pub const MASK_SHA512SIG0: u32 = 0xfff0707f;
1647pub const MATCH_SHA512SIG0H: u32 = 0x5c000033;
1648pub const MASK_SHA512SIG0H: u32 = 0xfe00707f;
1649pub const MATCH_SHA512SIG0L: u32 = 0x54000033;
1650pub const MASK_SHA512SIG0L: u32 = 0xfe00707f;
1651pub const MATCH_SHA512SIG1: u32 = 0x10701013;
1652pub const MASK_SHA512SIG1: u32 = 0xfff0707f;
1653pub const MATCH_SHA512SIG1H: u32 = 0x5e000033;
1654pub const MASK_SHA512SIG1H: u32 = 0xfe00707f;
1655pub const MATCH_SHA512SIG1L: u32 = 0x56000033;
1656pub const MASK_SHA512SIG1L: u32 = 0xfe00707f;
1657pub const MATCH_SHA512SUM0: u32 = 0x10401013;
1658pub const MASK_SHA512SUM0: u32 = 0xfff0707f;
1659pub const MATCH_SHA512SUM0R: u32 = 0x50000033;
1660pub const MASK_SHA512SUM0R: u32 = 0xfe00707f;
1661pub const MATCH_SHA512SUM1: u32 = 0x10501013;
1662pub const MASK_SHA512SUM1: u32 = 0xfff0707f;
1663pub const MATCH_SHA512SUM1R: u32 = 0x52000033;
1664pub const MASK_SHA512SUM1R: u32 = 0xfe00707f;
1665pub const MATCH_SINVAL_VMA: u32 = 0x16000073;
1666pub const MASK_SINVAL_VMA: u32 = 0xfe007fff;
1667pub const MATCH_SLL: u32 = 0x1033;
1668pub const MASK_SLL: u32 = 0xfe00707f;
1669pub const MATCH_SLLI: u32 = 0x1013;
1670pub const MASK_SLLI: u32 = 0xfc00707f;
1671pub const MATCH_SLLI_RV32: u32 = 0x1013;
1672pub const MASK_SLLI_RV32: u32 = 0xfe00707f;
1673pub const MATCH_SLLI_UW: u32 = 0x800101b;
1674pub const MASK_SLLI_UW: u32 = 0xfc00707f;
1675pub const MATCH_SLLIW: u32 = 0x101b;
1676pub const MASK_SLLIW: u32 = 0xfe00707f;
1677pub const MATCH_SLLW: u32 = 0x103b;
1678pub const MASK_SLLW: u32 = 0xfe00707f;
1679pub const MATCH_SLT: u32 = 0x2033;
1680pub const MASK_SLT: u32 = 0xfe00707f;
1681pub const MATCH_SLTI: u32 = 0x2013;
1682pub const MASK_SLTI: u32 = 0x707f;
1683pub const MATCH_SLTIU: u32 = 0x3013;
1684pub const MASK_SLTIU: u32 = 0x707f;
1685pub const MATCH_SLTU: u32 = 0x3033;
1686pub const MASK_SLTU: u32 = 0xfe00707f;
1687pub const MATCH_SLTZ: u32 = 0x2033;
1688pub const MASK_SLTZ: u32 = 0xfff0707f;
1689pub const MATCH_SM3P0: u32 = 0x10801013;
1690pub const MASK_SM3P0: u32 = 0xfff0707f;
1691pub const MATCH_SM3P1: u32 = 0x10901013;
1692pub const MASK_SM3P1: u32 = 0xfff0707f;
1693pub const MATCH_SM4ED: u32 = 0x30000033;
1694pub const MASK_SM4ED: u32 = 0x3e00707f;
1695pub const MATCH_SM4KS: u32 = 0x34000033;
1696pub const MASK_SM4KS: u32 = 0x3e00707f;
1697pub const MATCH_SNEZ: u32 = 0x3033;
1698pub const MASK_SNEZ: u32 = 0xfe0ff07f;
1699pub const MATCH_SRA: u32 = 0x40005033;
1700pub const MASK_SRA: u32 = 0xfe00707f;
1701pub const MATCH_SRAI: u32 = 0x40005013;
1702pub const MASK_SRAI: u32 = 0xfc00707f;
1703pub const MATCH_SRAI_RV32: u32 = 0x40005013;
1704pub const MASK_SRAI_RV32: u32 = 0xfe00707f;
1705pub const MATCH_SRAIW: u32 = 0x4000501b;
1706pub const MASK_SRAIW: u32 = 0xfe00707f;
1707pub const MATCH_SRAW: u32 = 0x4000503b;
1708pub const MASK_SRAW: u32 = 0xfe00707f;
1709pub const MATCH_SRET: u32 = 0x10200073;
1710pub const MASK_SRET: u32 = 0xffffffff;
1711pub const MATCH_SRL: u32 = 0x5033;
1712pub const MASK_SRL: u32 = 0xfe00707f;
1713pub const MATCH_SRLI: u32 = 0x5013;
1714pub const MASK_SRLI: u32 = 0xfc00707f;
1715pub const MATCH_SRLI_RV32: u32 = 0x5013;
1716pub const MASK_SRLI_RV32: u32 = 0xfe00707f;
1717pub const MATCH_SRLIW: u32 = 0x501b;
1718pub const MASK_SRLIW: u32 = 0xfe00707f;
1719pub const MATCH_SRLW: u32 = 0x503b;
1720pub const MASK_SRLW: u32 = 0xfe00707f;
1721pub const MATCH_SUB: u32 = 0x40000033;
1722pub const MASK_SUB: u32 = 0xfe00707f;
1723pub const MATCH_SUBW: u32 = 0x4000003b;
1724pub const MASK_SUBW: u32 = 0xfe00707f;
1725pub const MATCH_SW: u32 = 0x2023;
1726pub const MASK_SW: u32 = 0x707f;
1727pub const MATCH_UNZIP: u32 = 0x8f05013;
1728pub const MASK_UNZIP: u32 = 0xfff0707f;
1729pub const MATCH_VAADD_VV: u32 = 0x24002057;
1730pub const MASK_VAADD_VV: u32 = 0xfc00707f;
1731pub const MATCH_VAADD_VX: u32 = 0x24006057;
1732pub const MASK_VAADD_VX: u32 = 0xfc00707f;
1733pub const MATCH_VAADDU_VV: u32 = 0x20002057;
1734pub const MASK_VAADDU_VV: u32 = 0xfc00707f;
1735pub const MATCH_VAADDU_VX: u32 = 0x20006057;
1736pub const MASK_VAADDU_VX: u32 = 0xfc00707f;
1737pub const MATCH_VADC_VIM: u32 = 0x40003057;
1738pub const MASK_VADC_VIM: u32 = 0xfe00707f;
1739pub const MATCH_VADC_VVM: u32 = 0x40000057;
1740pub const MASK_VADC_VVM: u32 = 0xfe00707f;
1741pub const MATCH_VADC_VXM: u32 = 0x40004057;
1742pub const MASK_VADC_VXM: u32 = 0xfe00707f;
1743pub const MATCH_VADD_VI: u32 = 0x3057;
1744pub const MASK_VADD_VI: u32 = 0xfc00707f;
1745pub const MATCH_VADD_VV: u32 = 0x57;
1746pub const MASK_VADD_VV: u32 = 0xfc00707f;
1747pub const MATCH_VADD_VX: u32 = 0x4057;
1748pub const MASK_VADD_VX: u32 = 0xfc00707f;
1749pub const MATCH_VAESDF_VS: u32 = 0xa600a077;
1750pub const MASK_VAESDF_VS: u32 = 0xfe0ff07f;
1751pub const MATCH_VAESDF_VV: u32 = 0xa200a077;
1752pub const MASK_VAESDF_VV: u32 = 0xfe0ff07f;
1753pub const MATCH_VAESDM_VS: u32 = 0xa6002077;
1754pub const MASK_VAESDM_VS: u32 = 0xfe0ff07f;
1755pub const MATCH_VAESDM_VV: u32 = 0xa2002077;
1756pub const MASK_VAESDM_VV: u32 = 0xfe0ff07f;
1757pub const MATCH_VAESEF_VS: u32 = 0xa601a077;
1758pub const MASK_VAESEF_VS: u32 = 0xfe0ff07f;
1759pub const MATCH_VAESEF_VV: u32 = 0xa201a077;
1760pub const MASK_VAESEF_VV: u32 = 0xfe0ff07f;
1761pub const MATCH_VAESEM_VS: u32 = 0xa6012077;
1762pub const MASK_VAESEM_VS: u32 = 0xfe0ff07f;
1763pub const MATCH_VAESEM_VV: u32 = 0xa2012077;
1764pub const MASK_VAESEM_VV: u32 = 0xfe0ff07f;
1765pub const MATCH_VAESKF1_VI: u32 = 0x8a002077;
1766pub const MASK_VAESKF1_VI: u32 = 0xfe00707f;
1767pub const MATCH_VAESKF2_VI: u32 = 0xaa002077;
1768pub const MASK_VAESKF2_VI: u32 = 0xfe00707f;
1769pub const MATCH_VAESZ_VS: u32 = 0xa603a077;
1770pub const MASK_VAESZ_VS: u32 = 0xfe0ff07f;
1771pub const MATCH_VAND_VI: u32 = 0x24003057;
1772pub const MASK_VAND_VI: u32 = 0xfc00707f;
1773pub const MATCH_VAND_VV: u32 = 0x24000057;
1774pub const MASK_VAND_VV: u32 = 0xfc00707f;
1775pub const MATCH_VAND_VX: u32 = 0x24004057;
1776pub const MASK_VAND_VX: u32 = 0xfc00707f;
1777pub const MATCH_VANDN_VV: u32 = 0x4000057;
1778pub const MASK_VANDN_VV: u32 = 0xfc00707f;
1779pub const MATCH_VANDN_VX: u32 = 0x4004057;
1780pub const MASK_VANDN_VX: u32 = 0xfc00707f;
1781pub const MATCH_VASUB_VV: u32 = 0x2c002057;
1782pub const MASK_VASUB_VV: u32 = 0xfc00707f;
1783pub const MATCH_VASUB_VX: u32 = 0x2c006057;
1784pub const MASK_VASUB_VX: u32 = 0xfc00707f;
1785pub const MATCH_VASUBU_VV: u32 = 0x28002057;
1786pub const MASK_VASUBU_VV: u32 = 0xfc00707f;
1787pub const MATCH_VASUBU_VX: u32 = 0x28006057;
1788pub const MASK_VASUBU_VX: u32 = 0xfc00707f;
1789pub const MATCH_VBREV8_V: u32 = 0x48042057;
1790pub const MASK_VBREV8_V: u32 = 0xfc0ff07f;
1791pub const MATCH_VBREV_V: u32 = 0x48052057;
1792pub const MASK_VBREV_V: u32 = 0xfc0ff07f;
1793pub const MATCH_VCLMUL_VV: u32 = 0x30002057;
1794pub const MASK_VCLMUL_VV: u32 = 0xfc00707f;
1795pub const MATCH_VCLMUL_VX: u32 = 0x30006057;
1796pub const MASK_VCLMUL_VX: u32 = 0xfc00707f;
1797pub const MATCH_VCLMULH_VV: u32 = 0x34002057;
1798pub const MASK_VCLMULH_VV: u32 = 0xfc00707f;
1799pub const MATCH_VCLMULH_VX: u32 = 0x34006057;
1800pub const MASK_VCLMULH_VX: u32 = 0xfc00707f;
1801pub const MATCH_VCLZ_V: u32 = 0x48062057;
1802pub const MASK_VCLZ_V: u32 = 0xfc0ff07f;
1803pub const MATCH_VCOMPRESS_VM: u32 = 0x5e002057;
1804pub const MASK_VCOMPRESS_VM: u32 = 0xfe00707f;
1805pub const MATCH_VCPOP_M: u32 = 0x40082057;
1806pub const MASK_VCPOP_M: u32 = 0xfc0ff07f;
1807pub const MATCH_VCPOP_V: u32 = 0x48072057;
1808pub const MASK_VCPOP_V: u32 = 0xfc0ff07f;
1809pub const MATCH_VCTZ_V: u32 = 0x4806a057;
1810pub const MASK_VCTZ_V: u32 = 0xfc0ff07f;
1811pub const MATCH_VDIV_VV: u32 = 0x84002057;
1812pub const MASK_VDIV_VV: u32 = 0xfc00707f;
1813pub const MATCH_VDIV_VX: u32 = 0x84006057;
1814pub const MASK_VDIV_VX: u32 = 0xfc00707f;
1815pub const MATCH_VDIVU_VV: u32 = 0x80002057;
1816pub const MASK_VDIVU_VV: u32 = 0xfc00707f;
1817pub const MATCH_VDIVU_VX: u32 = 0x80006057;
1818pub const MASK_VDIVU_VX: u32 = 0xfc00707f;
1819pub const MATCH_VFADD_VF: u32 = 0x5057;
1820pub const MASK_VFADD_VF: u32 = 0xfc00707f;
1821pub const MATCH_VFADD_VV: u32 = 0x1057;
1822pub const MASK_VFADD_VV: u32 = 0xfc00707f;
1823pub const MATCH_VFCLASS_V: u32 = 0x4c081057;
1824pub const MASK_VFCLASS_V: u32 = 0xfc0ff07f;
1825pub const MATCH_VFCVT_F_X_V: u32 = 0x48019057;
1826pub const MASK_VFCVT_F_X_V: u32 = 0xfc0ff07f;
1827pub const MATCH_VFCVT_F_XU_V: u32 = 0x48011057;
1828pub const MASK_VFCVT_F_XU_V: u32 = 0xfc0ff07f;
1829pub const MATCH_VFCVT_RTZ_X_F_V: u32 = 0x48039057;
1830pub const MASK_VFCVT_RTZ_X_F_V: u32 = 0xfc0ff07f;
1831pub const MATCH_VFCVT_RTZ_XU_F_V: u32 = 0x48031057;
1832pub const MASK_VFCVT_RTZ_XU_F_V: u32 = 0xfc0ff07f;
1833pub const MATCH_VFCVT_X_F_V: u32 = 0x48009057;
1834pub const MASK_VFCVT_X_F_V: u32 = 0xfc0ff07f;
1835pub const MATCH_VFCVT_XU_F_V: u32 = 0x48001057;
1836pub const MASK_VFCVT_XU_F_V: u32 = 0xfc0ff07f;
1837pub const MATCH_VFDIV_VF: u32 = 0x80005057;
1838pub const MASK_VFDIV_VF: u32 = 0xfc00707f;
1839pub const MATCH_VFDIV_VV: u32 = 0x80001057;
1840pub const MASK_VFDIV_VV: u32 = 0xfc00707f;
1841pub const MATCH_VFIRST_M: u32 = 0x4008a057;
1842pub const MASK_VFIRST_M: u32 = 0xfc0ff07f;
1843pub const MATCH_VFMACC_VF: u32 = 0xb0005057;
1844pub const MASK_VFMACC_VF: u32 = 0xfc00707f;
1845pub const MATCH_VFMACC_VV: u32 = 0xb0001057;
1846pub const MASK_VFMACC_VV: u32 = 0xfc00707f;
1847pub const MATCH_VFMADD_VF: u32 = 0xa0005057;
1848pub const MASK_VFMADD_VF: u32 = 0xfc00707f;
1849pub const MATCH_VFMADD_VV: u32 = 0xa0001057;
1850pub const MASK_VFMADD_VV: u32 = 0xfc00707f;
1851pub const MATCH_VFMAX_VF: u32 = 0x18005057;
1852pub const MASK_VFMAX_VF: u32 = 0xfc00707f;
1853pub const MATCH_VFMAX_VV: u32 = 0x18001057;
1854pub const MASK_VFMAX_VV: u32 = 0xfc00707f;
1855pub const MATCH_VFMERGE_VFM: u32 = 0x5c005057;
1856pub const MASK_VFMERGE_VFM: u32 = 0xfe00707f;
1857pub const MATCH_VFMIN_VF: u32 = 0x10005057;
1858pub const MASK_VFMIN_VF: u32 = 0xfc00707f;
1859pub const MATCH_VFMIN_VV: u32 = 0x10001057;
1860pub const MASK_VFMIN_VV: u32 = 0xfc00707f;
1861pub const MATCH_VFMSAC_VF: u32 = 0xb8005057;
1862pub const MASK_VFMSAC_VF: u32 = 0xfc00707f;
1863pub const MATCH_VFMSAC_VV: u32 = 0xb8001057;
1864pub const MASK_VFMSAC_VV: u32 = 0xfc00707f;
1865pub const MATCH_VFMSUB_VF: u32 = 0xa8005057;
1866pub const MASK_VFMSUB_VF: u32 = 0xfc00707f;
1867pub const MATCH_VFMSUB_VV: u32 = 0xa8001057;
1868pub const MASK_VFMSUB_VV: u32 = 0xfc00707f;
1869pub const MATCH_VFMUL_VF: u32 = 0x90005057;
1870pub const MASK_VFMUL_VF: u32 = 0xfc00707f;
1871pub const MATCH_VFMUL_VV: u32 = 0x90001057;
1872pub const MASK_VFMUL_VV: u32 = 0xfc00707f;
1873pub const MATCH_VFMV_F_S: u32 = 0x42001057;
1874pub const MASK_VFMV_F_S: u32 = 0xfe0ff07f;
1875pub const MATCH_VFMV_S_F: u32 = 0x42005057;
1876pub const MASK_VFMV_S_F: u32 = 0xfff0707f;
1877pub const MATCH_VFMV_V_F: u32 = 0x5e005057;
1878pub const MASK_VFMV_V_F: u32 = 0xfff0707f;
1879pub const MATCH_VFNCVT_F_F_W: u32 = 0x480a1057;
1880pub const MASK_VFNCVT_F_F_W: u32 = 0xfc0ff07f;
1881pub const MATCH_VFNCVT_F_X_W: u32 = 0x48099057;
1882pub const MASK_VFNCVT_F_X_W: u32 = 0xfc0ff07f;
1883pub const MATCH_VFNCVT_F_XU_W: u32 = 0x48091057;
1884pub const MASK_VFNCVT_F_XU_W: u32 = 0xfc0ff07f;
1885pub const MATCH_VFNCVT_ROD_F_F_W: u32 = 0x480a9057;
1886pub const MASK_VFNCVT_ROD_F_F_W: u32 = 0xfc0ff07f;
1887pub const MATCH_VFNCVT_RTZ_X_F_W: u32 = 0x480b9057;
1888pub const MASK_VFNCVT_RTZ_X_F_W: u32 = 0xfc0ff07f;
1889pub const MATCH_VFNCVT_RTZ_XU_F_W: u32 = 0x480b1057;
1890pub const MASK_VFNCVT_RTZ_XU_F_W: u32 = 0xfc0ff07f;
1891pub const MATCH_VFNCVT_X_F_W: u32 = 0x48089057;
1892pub const MASK_VFNCVT_X_F_W: u32 = 0xfc0ff07f;
1893pub const MATCH_VFNCVT_XU_F_W: u32 = 0x48081057;
1894pub const MASK_VFNCVT_XU_F_W: u32 = 0xfc0ff07f;
1895pub const MATCH_VFNMACC_VF: u32 = 0xb4005057;
1896pub const MASK_VFNMACC_VF: u32 = 0xfc00707f;
1897pub const MATCH_VFNMACC_VV: u32 = 0xb4001057;
1898pub const MASK_VFNMACC_VV: u32 = 0xfc00707f;
1899pub const MATCH_VFNMADD_VF: u32 = 0xa4005057;
1900pub const MASK_VFNMADD_VF: u32 = 0xfc00707f;
1901pub const MATCH_VFNMADD_VV: u32 = 0xa4001057;
1902pub const MASK_VFNMADD_VV: u32 = 0xfc00707f;
1903pub const MATCH_VFNMSAC_VF: u32 = 0xbc005057;
1904pub const MASK_VFNMSAC_VF: u32 = 0xfc00707f;
1905pub const MATCH_VFNMSAC_VV: u32 = 0xbc001057;
1906pub const MASK_VFNMSAC_VV: u32 = 0xfc00707f;
1907pub const MATCH_VFNMSUB_VF: u32 = 0xac005057;
1908pub const MASK_VFNMSUB_VF: u32 = 0xfc00707f;
1909pub const MATCH_VFNMSUB_VV: u32 = 0xac001057;
1910pub const MASK_VFNMSUB_VV: u32 = 0xfc00707f;
1911pub const MATCH_VFRDIV_VF: u32 = 0x84005057;
1912pub const MASK_VFRDIV_VF: u32 = 0xfc00707f;
1913pub const MATCH_VFREC7_V: u32 = 0x4c029057;
1914pub const MASK_VFREC7_V: u32 = 0xfc0ff07f;
1915pub const MATCH_VFREDMAX_VS: u32 = 0x1c001057;
1916pub const MASK_VFREDMAX_VS: u32 = 0xfc00707f;
1917pub const MATCH_VFREDMIN_VS: u32 = 0x14001057;
1918pub const MASK_VFREDMIN_VS: u32 = 0xfc00707f;
1919pub const MATCH_VFREDOSUM_VS: u32 = 0xc001057;
1920pub const MASK_VFREDOSUM_VS: u32 = 0xfc00707f;
1921pub const MATCH_VFREDSUM_VS: u32 = 0x4001057;
1922pub const MASK_VFREDSUM_VS: u32 = 0xfc00707f;
1923pub const MATCH_VFREDUSUM_VS: u32 = 0x4001057;
1924pub const MASK_VFREDUSUM_VS: u32 = 0xfc00707f;
1925pub const MATCH_VFRSQRT7_V: u32 = 0x4c021057;
1926pub const MASK_VFRSQRT7_V: u32 = 0xfc0ff07f;
1927pub const MATCH_VFRSUB_VF: u32 = 0x9c005057;
1928pub const MASK_VFRSUB_VF: u32 = 0xfc00707f;
1929pub const MATCH_VFSGNJ_VF: u32 = 0x20005057;
1930pub const MASK_VFSGNJ_VF: u32 = 0xfc00707f;
1931pub const MATCH_VFSGNJ_VV: u32 = 0x20001057;
1932pub const MASK_VFSGNJ_VV: u32 = 0xfc00707f;
1933pub const MATCH_VFSGNJN_VF: u32 = 0x24005057;
1934pub const MASK_VFSGNJN_VF: u32 = 0xfc00707f;
1935pub const MATCH_VFSGNJN_VV: u32 = 0x24001057;
1936pub const MASK_VFSGNJN_VV: u32 = 0xfc00707f;
1937pub const MATCH_VFSGNJX_VF: u32 = 0x28005057;
1938pub const MASK_VFSGNJX_VF: u32 = 0xfc00707f;
1939pub const MATCH_VFSGNJX_VV: u32 = 0x28001057;
1940pub const MASK_VFSGNJX_VV: u32 = 0xfc00707f;
1941pub const MATCH_VFSLIDE1DOWN_VF: u32 = 0x3c005057;
1942pub const MASK_VFSLIDE1DOWN_VF: u32 = 0xfc00707f;
1943pub const MATCH_VFSLIDE1UP_VF: u32 = 0x38005057;
1944pub const MASK_VFSLIDE1UP_VF: u32 = 0xfc00707f;
1945pub const MATCH_VFSQRT_V: u32 = 0x4c001057;
1946pub const MASK_VFSQRT_V: u32 = 0xfc0ff07f;
1947pub const MATCH_VFSUB_VF: u32 = 0x8005057;
1948pub const MASK_VFSUB_VF: u32 = 0xfc00707f;
1949pub const MATCH_VFSUB_VV: u32 = 0x8001057;
1950pub const MASK_VFSUB_VV: u32 = 0xfc00707f;
1951pub const MATCH_VFWADD_VF: u32 = 0xc0005057;
1952pub const MASK_VFWADD_VF: u32 = 0xfc00707f;
1953pub const MATCH_VFWADD_VV: u32 = 0xc0001057;
1954pub const MASK_VFWADD_VV: u32 = 0xfc00707f;
1955pub const MATCH_VFWADD_WF: u32 = 0xd0005057;
1956pub const MASK_VFWADD_WF: u32 = 0xfc00707f;
1957pub const MATCH_VFWADD_WV: u32 = 0xd0001057;
1958pub const MASK_VFWADD_WV: u32 = 0xfc00707f;
1959pub const MATCH_VFWCVT_F_F_V: u32 = 0x48061057;
1960pub const MASK_VFWCVT_F_F_V: u32 = 0xfc0ff07f;
1961pub const MATCH_VFWCVT_F_X_V: u32 = 0x48059057;
1962pub const MASK_VFWCVT_F_X_V: u32 = 0xfc0ff07f;
1963pub const MATCH_VFWCVT_F_XU_V: u32 = 0x48051057;
1964pub const MASK_VFWCVT_F_XU_V: u32 = 0xfc0ff07f;
1965pub const MATCH_VFWCVT_RTZ_X_F_V: u32 = 0x48079057;
1966pub const MASK_VFWCVT_RTZ_X_F_V: u32 = 0xfc0ff07f;
1967pub const MATCH_VFWCVT_RTZ_XU_F_V: u32 = 0x48071057;
1968pub const MASK_VFWCVT_RTZ_XU_F_V: u32 = 0xfc0ff07f;
1969pub const MATCH_VFWCVT_X_F_V: u32 = 0x48049057;
1970pub const MASK_VFWCVT_X_F_V: u32 = 0xfc0ff07f;
1971pub const MATCH_VFWCVT_XU_F_V: u32 = 0x48041057;
1972pub const MASK_VFWCVT_XU_F_V: u32 = 0xfc0ff07f;
1973pub const MATCH_VFWMACC_VF: u32 = 0xf0005057;
1974pub const MASK_VFWMACC_VF: u32 = 0xfc00707f;
1975pub const MATCH_VFWMACC_VV: u32 = 0xf0001057;
1976pub const MASK_VFWMACC_VV: u32 = 0xfc00707f;
1977pub const MATCH_VFWMSAC_VF: u32 = 0xf8005057;
1978pub const MASK_VFWMSAC_VF: u32 = 0xfc00707f;
1979pub const MATCH_VFWMSAC_VV: u32 = 0xf8001057;
1980pub const MASK_VFWMSAC_VV: u32 = 0xfc00707f;
1981pub const MATCH_VFWMUL_VF: u32 = 0xe0005057;
1982pub const MASK_VFWMUL_VF: u32 = 0xfc00707f;
1983pub const MATCH_VFWMUL_VV: u32 = 0xe0001057;
1984pub const MASK_VFWMUL_VV: u32 = 0xfc00707f;
1985pub const MATCH_VFWNMACC_VF: u32 = 0xf4005057;
1986pub const MASK_VFWNMACC_VF: u32 = 0xfc00707f;
1987pub const MATCH_VFWNMACC_VV: u32 = 0xf4001057;
1988pub const MASK_VFWNMACC_VV: u32 = 0xfc00707f;
1989pub const MATCH_VFWNMSAC_VF: u32 = 0xfc005057;
1990pub const MASK_VFWNMSAC_VF: u32 = 0xfc00707f;
1991pub const MATCH_VFWNMSAC_VV: u32 = 0xfc001057;
1992pub const MASK_VFWNMSAC_VV: u32 = 0xfc00707f;
1993pub const MATCH_VFWREDOSUM_VS: u32 = 0xcc001057;
1994pub const MASK_VFWREDOSUM_VS: u32 = 0xfc00707f;
1995pub const MATCH_VFWREDSUM_VS: u32 = 0xc4001057;
1996pub const MASK_VFWREDSUM_VS: u32 = 0xfc00707f;
1997pub const MATCH_VFWREDUSUM_VS: u32 = 0xc4001057;
1998pub const MASK_VFWREDUSUM_VS: u32 = 0xfc00707f;
1999pub const MATCH_VFWSUB_VF: u32 = 0xc8005057;
2000pub const MASK_VFWSUB_VF: u32 = 0xfc00707f;
2001pub const MATCH_VFWSUB_VV: u32 = 0xc8001057;
2002pub const MASK_VFWSUB_VV: u32 = 0xfc00707f;
2003pub const MATCH_VFWSUB_WF: u32 = 0xd8005057;
2004pub const MASK_VFWSUB_WF: u32 = 0xfc00707f;
2005pub const MATCH_VFWSUB_WV: u32 = 0xd8001057;
2006pub const MASK_VFWSUB_WV: u32 = 0xfc00707f;
2007pub const MATCH_VGHSH_VV: u32 = 0xb2002077;
2008pub const MASK_VGHSH_VV: u32 = 0xfe00707f;
2009pub const MATCH_VGMUL_VV: u32 = 0xa208a077;
2010pub const MASK_VGMUL_VV: u32 = 0xfe0ff07f;
2011pub const MATCH_VID_V: u32 = 0x5008a057;
2012pub const MASK_VID_V: u32 = 0xfdfff07f;
2013pub const MATCH_VIOTA_M: u32 = 0x50082057;
2014pub const MASK_VIOTA_M: u32 = 0xfc0ff07f;
2015pub const MATCH_VL1R_V: u32 = 0x2800007;
2016pub const MASK_VL1R_V: u32 = 0xfff0707f;
2017pub const MATCH_VL1RE16_V: u32 = 0x2805007;
2018pub const MASK_VL1RE16_V: u32 = 0xfff0707f;
2019pub const MATCH_VL1RE32_V: u32 = 0x2806007;
2020pub const MASK_VL1RE32_V: u32 = 0xfff0707f;
2021pub const MATCH_VL1RE64_V: u32 = 0x2807007;
2022pub const MASK_VL1RE64_V: u32 = 0xfff0707f;
2023pub const MATCH_VL1RE8_V: u32 = 0x2800007;
2024pub const MASK_VL1RE8_V: u32 = 0xfff0707f;
2025pub const MATCH_VL2R_V: u32 = 0x22800007;
2026pub const MASK_VL2R_V: u32 = 0xfff0707f;
2027pub const MATCH_VL2RE16_V: u32 = 0x22805007;
2028pub const MASK_VL2RE16_V: u32 = 0xfff0707f;
2029pub const MATCH_VL2RE32_V: u32 = 0x22806007;
2030pub const MASK_VL2RE32_V: u32 = 0xfff0707f;
2031pub const MATCH_VL2RE64_V: u32 = 0x22807007;
2032pub const MASK_VL2RE64_V: u32 = 0xfff0707f;
2033pub const MATCH_VL2RE8_V: u32 = 0x22800007;
2034pub const MASK_VL2RE8_V: u32 = 0xfff0707f;
2035pub const MATCH_VL4R_V: u32 = 0x62800007;
2036pub const MASK_VL4R_V: u32 = 0xfff0707f;
2037pub const MATCH_VL4RE16_V: u32 = 0x62805007;
2038pub const MASK_VL4RE16_V: u32 = 0xfff0707f;
2039pub const MATCH_VL4RE32_V: u32 = 0x62806007;
2040pub const MASK_VL4RE32_V: u32 = 0xfff0707f;
2041pub const MATCH_VL4RE64_V: u32 = 0x62807007;
2042pub const MASK_VL4RE64_V: u32 = 0xfff0707f;
2043pub const MATCH_VL4RE8_V: u32 = 0x62800007;
2044pub const MASK_VL4RE8_V: u32 = 0xfff0707f;
2045pub const MATCH_VL8R_V: u32 = 0xe2800007;
2046pub const MASK_VL8R_V: u32 = 0xfff0707f;
2047pub const MATCH_VL8RE16_V: u32 = 0xe2805007;
2048pub const MASK_VL8RE16_V: u32 = 0xfff0707f;
2049pub const MATCH_VL8RE32_V: u32 = 0xe2806007;
2050pub const MASK_VL8RE32_V: u32 = 0xfff0707f;
2051pub const MATCH_VL8RE64_V: u32 = 0xe2807007;
2052pub const MASK_VL8RE64_V: u32 = 0xfff0707f;
2053pub const MATCH_VL8RE8_V: u32 = 0xe2800007;
2054pub const MASK_VL8RE8_V: u32 = 0xfff0707f;
2055pub const MATCH_VLE16_V: u32 = 0x5007;
2056pub const MASK_VLE16_V: u32 = 0x1df0707f;
2057pub const MATCH_VLE16FF_V: u32 = 0x1005007;
2058pub const MASK_VLE16FF_V: u32 = 0x1df0707f;
2059pub const MATCH_VLE1_V: u32 = 0x2b00007;
2060pub const MASK_VLE1_V: u32 = 0xfff0707f;
2061pub const MATCH_VLE32_V: u32 = 0x6007;
2062pub const MASK_VLE32_V: u32 = 0x1df0707f;
2063pub const MATCH_VLE32FF_V: u32 = 0x1006007;
2064pub const MASK_VLE32FF_V: u32 = 0x1df0707f;
2065pub const MATCH_VLE64_V: u32 = 0x7007;
2066pub const MASK_VLE64_V: u32 = 0x1df0707f;
2067pub const MATCH_VLE64FF_V: u32 = 0x1007007;
2068pub const MASK_VLE64FF_V: u32 = 0x1df0707f;
2069pub const MATCH_VLE8_V: u32 = 0x7;
2070pub const MASK_VLE8_V: u32 = 0x1df0707f;
2071pub const MATCH_VLE8FF_V: u32 = 0x1000007;
2072pub const MASK_VLE8FF_V: u32 = 0x1df0707f;
2073pub const MATCH_VLM_V: u32 = 0x2b00007;
2074pub const MASK_VLM_V: u32 = 0xfff0707f;
2075pub const MATCH_VLOXEI16_V: u32 = 0xc005007;
2076pub const MASK_VLOXEI16_V: u32 = 0x1c00707f;
2077pub const MATCH_VLOXEI32_V: u32 = 0xc006007;
2078pub const MASK_VLOXEI32_V: u32 = 0x1c00707f;
2079pub const MATCH_VLOXEI64_V: u32 = 0xc007007;
2080pub const MASK_VLOXEI64_V: u32 = 0x1c00707f;
2081pub const MATCH_VLOXEI8_V: u32 = 0xc000007;
2082pub const MASK_VLOXEI8_V: u32 = 0x1c00707f;
2083pub const MATCH_VLSE16_V: u32 = 0x8005007;
2084pub const MASK_VLSE16_V: u32 = 0x1c00707f;
2085pub const MATCH_VLSE32_V: u32 = 0x8006007;
2086pub const MASK_VLSE32_V: u32 = 0x1c00707f;
2087pub const MATCH_VLSE64_V: u32 = 0x8007007;
2088pub const MASK_VLSE64_V: u32 = 0x1c00707f;
2089pub const MATCH_VLSE8_V: u32 = 0x8000007;
2090pub const MASK_VLSE8_V: u32 = 0x1c00707f;
2091pub const MATCH_VLUXEI16_V: u32 = 0x4005007;
2092pub const MASK_VLUXEI16_V: u32 = 0x1c00707f;
2093pub const MATCH_VLUXEI32_V: u32 = 0x4006007;
2094pub const MASK_VLUXEI32_V: u32 = 0x1c00707f;
2095pub const MATCH_VLUXEI64_V: u32 = 0x4007007;
2096pub const MASK_VLUXEI64_V: u32 = 0x1c00707f;
2097pub const MATCH_VLUXEI8_V: u32 = 0x4000007;
2098pub const MASK_VLUXEI8_V: u32 = 0x1c00707f;
2099pub const MATCH_VMACC_VV: u32 = 0xb4002057;
2100pub const MASK_VMACC_VV: u32 = 0xfc00707f;
2101pub const MATCH_VMACC_VX: u32 = 0xb4006057;
2102pub const MASK_VMACC_VX: u32 = 0xfc00707f;
2103pub const MATCH_VMADC_VI: u32 = 0x46003057;
2104pub const MASK_VMADC_VI: u32 = 0xfe00707f;
2105pub const MATCH_VMADC_VIM: u32 = 0x44003057;
2106pub const MASK_VMADC_VIM: u32 = 0xfe00707f;
2107pub const MATCH_VMADC_VV: u32 = 0x46000057;
2108pub const MASK_VMADC_VV: u32 = 0xfe00707f;
2109pub const MATCH_VMADC_VVM: u32 = 0x44000057;
2110pub const MASK_VMADC_VVM: u32 = 0xfe00707f;
2111pub const MATCH_VMADC_VX: u32 = 0x46004057;
2112pub const MASK_VMADC_VX: u32 = 0xfe00707f;
2113pub const MATCH_VMADC_VXM: u32 = 0x44004057;
2114pub const MASK_VMADC_VXM: u32 = 0xfe00707f;
2115pub const MATCH_VMADD_VV: u32 = 0xa4002057;
2116pub const MASK_VMADD_VV: u32 = 0xfc00707f;
2117pub const MATCH_VMADD_VX: u32 = 0xa4006057;
2118pub const MASK_VMADD_VX: u32 = 0xfc00707f;
2119pub const MATCH_VMAND_MM: u32 = 0x66002057;
2120pub const MASK_VMAND_MM: u32 = 0xfe00707f;
2121pub const MATCH_VMANDN_MM: u32 = 0x62002057;
2122pub const MASK_VMANDN_MM: u32 = 0xfe00707f;
2123pub const MATCH_VMANDNOT_MM: u32 = 0x60002057;
2124pub const MASK_VMANDNOT_MM: u32 = 0xfc00707f;
2125pub const MATCH_VMAX_VV: u32 = 0x1c000057;
2126pub const MASK_VMAX_VV: u32 = 0xfc00707f;
2127pub const MATCH_VMAX_VX: u32 = 0x1c004057;
2128pub const MASK_VMAX_VX: u32 = 0xfc00707f;
2129pub const MATCH_VMAXU_VV: u32 = 0x18000057;
2130pub const MASK_VMAXU_VV: u32 = 0xfc00707f;
2131pub const MATCH_VMAXU_VX: u32 = 0x18004057;
2132pub const MASK_VMAXU_VX: u32 = 0xfc00707f;
2133pub const MATCH_VMERGE_VIM: u32 = 0x5c003057;
2134pub const MASK_VMERGE_VIM: u32 = 0xfe00707f;
2135pub const MATCH_VMERGE_VVM: u32 = 0x5c000057;
2136pub const MASK_VMERGE_VVM: u32 = 0xfe00707f;
2137pub const MATCH_VMERGE_VXM: u32 = 0x5c004057;
2138pub const MASK_VMERGE_VXM: u32 = 0xfe00707f;
2139pub const MATCH_VMFEQ_VF: u32 = 0x60005057;
2140pub const MASK_VMFEQ_VF: u32 = 0xfc00707f;
2141pub const MATCH_VMFEQ_VV: u32 = 0x60001057;
2142pub const MASK_VMFEQ_VV: u32 = 0xfc00707f;
2143pub const MATCH_VMFGE_VF: u32 = 0x7c005057;
2144pub const MASK_VMFGE_VF: u32 = 0xfc00707f;
2145pub const MATCH_VMFGT_VF: u32 = 0x74005057;
2146pub const MASK_VMFGT_VF: u32 = 0xfc00707f;
2147pub const MATCH_VMFLE_VF: u32 = 0x64005057;
2148pub const MASK_VMFLE_VF: u32 = 0xfc00707f;
2149pub const MATCH_VMFLE_VV: u32 = 0x64001057;
2150pub const MASK_VMFLE_VV: u32 = 0xfc00707f;
2151pub const MATCH_VMFLT_VF: u32 = 0x6c005057;
2152pub const MASK_VMFLT_VF: u32 = 0xfc00707f;
2153pub const MATCH_VMFLT_VV: u32 = 0x6c001057;
2154pub const MASK_VMFLT_VV: u32 = 0xfc00707f;
2155pub const MATCH_VMFNE_VF: u32 = 0x70005057;
2156pub const MASK_VMFNE_VF: u32 = 0xfc00707f;
2157pub const MATCH_VMFNE_VV: u32 = 0x70001057;
2158pub const MASK_VMFNE_VV: u32 = 0xfc00707f;
2159pub const MATCH_VMIN_VV: u32 = 0x14000057;
2160pub const MASK_VMIN_VV: u32 = 0xfc00707f;
2161pub const MATCH_VMIN_VX: u32 = 0x14004057;
2162pub const MASK_VMIN_VX: u32 = 0xfc00707f;
2163pub const MATCH_VMINU_VV: u32 = 0x10000057;
2164pub const MASK_VMINU_VV: u32 = 0xfc00707f;
2165pub const MATCH_VMINU_VX: u32 = 0x10004057;
2166pub const MASK_VMINU_VX: u32 = 0xfc00707f;
2167pub const MATCH_VMNAND_MM: u32 = 0x76002057;
2168pub const MASK_VMNAND_MM: u32 = 0xfe00707f;
2169pub const MATCH_VMNOR_MM: u32 = 0x7a002057;
2170pub const MASK_VMNOR_MM: u32 = 0xfe00707f;
2171pub const MATCH_VMOR_MM: u32 = 0x6a002057;
2172pub const MASK_VMOR_MM: u32 = 0xfe00707f;
2173pub const MATCH_VMORN_MM: u32 = 0x72002057;
2174pub const MASK_VMORN_MM: u32 = 0xfe00707f;
2175pub const MATCH_VMORNOT_MM: u32 = 0x70002057;
2176pub const MASK_VMORNOT_MM: u32 = 0xfc00707f;
2177pub const MATCH_VMSBC_VV: u32 = 0x4e000057;
2178pub const MASK_VMSBC_VV: u32 = 0xfe00707f;
2179pub const MATCH_VMSBC_VVM: u32 = 0x4c000057;
2180pub const MASK_VMSBC_VVM: u32 = 0xfe00707f;
2181pub const MATCH_VMSBC_VX: u32 = 0x4e004057;
2182pub const MASK_VMSBC_VX: u32 = 0xfe00707f;
2183pub const MATCH_VMSBC_VXM: u32 = 0x4c004057;
2184pub const MASK_VMSBC_VXM: u32 = 0xfe00707f;
2185pub const MATCH_VMSBF_M: u32 = 0x5000a057;
2186pub const MASK_VMSBF_M: u32 = 0xfc0ff07f;
2187pub const MATCH_VMSEQ_VI: u32 = 0x60003057;
2188pub const MASK_VMSEQ_VI: u32 = 0xfc00707f;
2189pub const MATCH_VMSEQ_VV: u32 = 0x60000057;
2190pub const MASK_VMSEQ_VV: u32 = 0xfc00707f;
2191pub const MATCH_VMSEQ_VX: u32 = 0x60004057;
2192pub const MASK_VMSEQ_VX: u32 = 0xfc00707f;
2193pub const MATCH_VMSGT_VI: u32 = 0x7c003057;
2194pub const MASK_VMSGT_VI: u32 = 0xfc00707f;
2195pub const MATCH_VMSGT_VX: u32 = 0x7c004057;
2196pub const MASK_VMSGT_VX: u32 = 0xfc00707f;
2197pub const MATCH_VMSGTU_VI: u32 = 0x78003057;
2198pub const MASK_VMSGTU_VI: u32 = 0xfc00707f;
2199pub const MATCH_VMSGTU_VX: u32 = 0x78004057;
2200pub const MASK_VMSGTU_VX: u32 = 0xfc00707f;
2201pub const MATCH_VMSIF_M: u32 = 0x5001a057;
2202pub const MASK_VMSIF_M: u32 = 0xfc0ff07f;
2203pub const MATCH_VMSLE_VI: u32 = 0x74003057;
2204pub const MASK_VMSLE_VI: u32 = 0xfc00707f;
2205pub const MATCH_VMSLE_VV: u32 = 0x74000057;
2206pub const MASK_VMSLE_VV: u32 = 0xfc00707f;
2207pub const MATCH_VMSLE_VX: u32 = 0x74004057;
2208pub const MASK_VMSLE_VX: u32 = 0xfc00707f;
2209pub const MATCH_VMSLEU_VI: u32 = 0x70003057;
2210pub const MASK_VMSLEU_VI: u32 = 0xfc00707f;
2211pub const MATCH_VMSLEU_VV: u32 = 0x70000057;
2212pub const MASK_VMSLEU_VV: u32 = 0xfc00707f;
2213pub const MATCH_VMSLEU_VX: u32 = 0x70004057;
2214pub const MASK_VMSLEU_VX: u32 = 0xfc00707f;
2215pub const MATCH_VMSLT_VV: u32 = 0x6c000057;
2216pub const MASK_VMSLT_VV: u32 = 0xfc00707f;
2217pub const MATCH_VMSLT_VX: u32 = 0x6c004057;
2218pub const MASK_VMSLT_VX: u32 = 0xfc00707f;
2219pub const MATCH_VMSLTU_VV: u32 = 0x68000057;
2220pub const MASK_VMSLTU_VV: u32 = 0xfc00707f;
2221pub const MATCH_VMSLTU_VX: u32 = 0x68004057;
2222pub const MASK_VMSLTU_VX: u32 = 0xfc00707f;
2223pub const MATCH_VMSNE_VI: u32 = 0x64003057;
2224pub const MASK_VMSNE_VI: u32 = 0xfc00707f;
2225pub const MATCH_VMSNE_VV: u32 = 0x64000057;
2226pub const MASK_VMSNE_VV: u32 = 0xfc00707f;
2227pub const MATCH_VMSNE_VX: u32 = 0x64004057;
2228pub const MASK_VMSNE_VX: u32 = 0xfc00707f;
2229pub const MATCH_VMSOF_M: u32 = 0x50012057;
2230pub const MASK_VMSOF_M: u32 = 0xfc0ff07f;
2231pub const MATCH_VMUL_VV: u32 = 0x94002057;
2232pub const MASK_VMUL_VV: u32 = 0xfc00707f;
2233pub const MATCH_VMUL_VX: u32 = 0x94006057;
2234pub const MASK_VMUL_VX: u32 = 0xfc00707f;
2235pub const MATCH_VMULH_VV: u32 = 0x9c002057;
2236pub const MASK_VMULH_VV: u32 = 0xfc00707f;
2237pub const MATCH_VMULH_VX: u32 = 0x9c006057;
2238pub const MASK_VMULH_VX: u32 = 0xfc00707f;
2239pub const MATCH_VMULHSU_VV: u32 = 0x98002057;
2240pub const MASK_VMULHSU_VV: u32 = 0xfc00707f;
2241pub const MATCH_VMULHSU_VX: u32 = 0x98006057;
2242pub const MASK_VMULHSU_VX: u32 = 0xfc00707f;
2243pub const MATCH_VMULHU_VV: u32 = 0x90002057;
2244pub const MASK_VMULHU_VV: u32 = 0xfc00707f;
2245pub const MATCH_VMULHU_VX: u32 = 0x90006057;
2246pub const MASK_VMULHU_VX: u32 = 0xfc00707f;
2247pub const MATCH_VMV1R_V: u32 = 0x9e003057;
2248pub const MASK_VMV1R_V: u32 = 0xfe0ff07f;
2249pub const MATCH_VMV2R_V: u32 = 0x9e00b057;
2250pub const MASK_VMV2R_V: u32 = 0xfe0ff07f;
2251pub const MATCH_VMV4R_V: u32 = 0x9e01b057;
2252pub const MASK_VMV4R_V: u32 = 0xfe0ff07f;
2253pub const MATCH_VMV8R_V: u32 = 0x9e03b057;
2254pub const MASK_VMV8R_V: u32 = 0xfe0ff07f;
2255pub const MATCH_VMV_S_X: u32 = 0x42006057;
2256pub const MASK_VMV_S_X: u32 = 0xfff0707f;
2257pub const MATCH_VMV_V_I: u32 = 0x5e003057;
2258pub const MASK_VMV_V_I: u32 = 0xfff0707f;
2259pub const MATCH_VMV_V_V: u32 = 0x5e000057;
2260pub const MASK_VMV_V_V: u32 = 0xfff0707f;
2261pub const MATCH_VMV_V_X: u32 = 0x5e004057;
2262pub const MASK_VMV_V_X: u32 = 0xfff0707f;
2263pub const MATCH_VMV_X_S: u32 = 0x42002057;
2264pub const MASK_VMV_X_S: u32 = 0xfe0ff07f;
2265pub const MATCH_VMXNOR_MM: u32 = 0x7e002057;
2266pub const MASK_VMXNOR_MM: u32 = 0xfe00707f;
2267pub const MATCH_VMXOR_MM: u32 = 0x6e002057;
2268pub const MASK_VMXOR_MM: u32 = 0xfe00707f;
2269pub const MATCH_VNCLIP_WI: u32 = 0xbc003057;
2270pub const MASK_VNCLIP_WI: u32 = 0xfc00707f;
2271pub const MATCH_VNCLIP_WV: u32 = 0xbc000057;
2272pub const MASK_VNCLIP_WV: u32 = 0xfc00707f;
2273pub const MATCH_VNCLIP_WX: u32 = 0xbc004057;
2274pub const MASK_VNCLIP_WX: u32 = 0xfc00707f;
2275pub const MATCH_VNCLIPU_WI: u32 = 0xb8003057;
2276pub const MASK_VNCLIPU_WI: u32 = 0xfc00707f;
2277pub const MATCH_VNCLIPU_WV: u32 = 0xb8000057;
2278pub const MASK_VNCLIPU_WV: u32 = 0xfc00707f;
2279pub const MATCH_VNCLIPU_WX: u32 = 0xb8004057;
2280pub const MASK_VNCLIPU_WX: u32 = 0xfc00707f;
2281pub const MATCH_VNMSAC_VV: u32 = 0xbc002057;
2282pub const MASK_VNMSAC_VV: u32 = 0xfc00707f;
2283pub const MATCH_VNMSAC_VX: u32 = 0xbc006057;
2284pub const MASK_VNMSAC_VX: u32 = 0xfc00707f;
2285pub const MATCH_VNMSUB_VV: u32 = 0xac002057;
2286pub const MASK_VNMSUB_VV: u32 = 0xfc00707f;
2287pub const MATCH_VNMSUB_VX: u32 = 0xac006057;
2288pub const MASK_VNMSUB_VX: u32 = 0xfc00707f;
2289pub const MATCH_VNSRA_WI: u32 = 0xb4003057;
2290pub const MASK_VNSRA_WI: u32 = 0xfc00707f;
2291pub const MATCH_VNSRA_WV: u32 = 0xb4000057;
2292pub const MASK_VNSRA_WV: u32 = 0xfc00707f;
2293pub const MATCH_VNSRA_WX: u32 = 0xb4004057;
2294pub const MASK_VNSRA_WX: u32 = 0xfc00707f;
2295pub const MATCH_VNSRL_WI: u32 = 0xb0003057;
2296pub const MASK_VNSRL_WI: u32 = 0xfc00707f;
2297pub const MATCH_VNSRL_WV: u32 = 0xb0000057;
2298pub const MASK_VNSRL_WV: u32 = 0xfc00707f;
2299pub const MATCH_VNSRL_WX: u32 = 0xb0004057;
2300pub const MASK_VNSRL_WX: u32 = 0xfc00707f;
2301pub const MATCH_VOR_VI: u32 = 0x28003057;
2302pub const MASK_VOR_VI: u32 = 0xfc00707f;
2303pub const MATCH_VOR_VV: u32 = 0x28000057;
2304pub const MASK_VOR_VV: u32 = 0xfc00707f;
2305pub const MATCH_VOR_VX: u32 = 0x28004057;
2306pub const MASK_VOR_VX: u32 = 0xfc00707f;
2307pub const MATCH_VPOPC_M: u32 = 0x40082057;
2308pub const MASK_VPOPC_M: u32 = 0xfc0ff07f;
2309pub const MATCH_VREDAND_VS: u32 = 0x4002057;
2310pub const MASK_VREDAND_VS: u32 = 0xfc00707f;
2311pub const MATCH_VREDMAX_VS: u32 = 0x1c002057;
2312pub const MASK_VREDMAX_VS: u32 = 0xfc00707f;
2313pub const MATCH_VREDMAXU_VS: u32 = 0x18002057;
2314pub const MASK_VREDMAXU_VS: u32 = 0xfc00707f;
2315pub const MATCH_VREDMIN_VS: u32 = 0x14002057;
2316pub const MASK_VREDMIN_VS: u32 = 0xfc00707f;
2317pub const MATCH_VREDMINU_VS: u32 = 0x10002057;
2318pub const MASK_VREDMINU_VS: u32 = 0xfc00707f;
2319pub const MATCH_VREDOR_VS: u32 = 0x8002057;
2320pub const MASK_VREDOR_VS: u32 = 0xfc00707f;
2321pub const MATCH_VREDSUM_VS: u32 = 0x2057;
2322pub const MASK_VREDSUM_VS: u32 = 0xfc00707f;
2323pub const MATCH_VREDXOR_VS: u32 = 0xc002057;
2324pub const MASK_VREDXOR_VS: u32 = 0xfc00707f;
2325pub const MATCH_VREM_VV: u32 = 0x8c002057;
2326pub const MASK_VREM_VV: u32 = 0xfc00707f;
2327pub const MATCH_VREM_VX: u32 = 0x8c006057;
2328pub const MASK_VREM_VX: u32 = 0xfc00707f;
2329pub const MATCH_VREMU_VV: u32 = 0x88002057;
2330pub const MASK_VREMU_VV: u32 = 0xfc00707f;
2331pub const MATCH_VREMU_VX: u32 = 0x88006057;
2332pub const MASK_VREMU_VX: u32 = 0xfc00707f;
2333pub const MATCH_VREV8_V: u32 = 0x4804a057;
2334pub const MASK_VREV8_V: u32 = 0xfc0ff07f;
2335pub const MATCH_VRGATHER_VI: u32 = 0x30003057;
2336pub const MASK_VRGATHER_VI: u32 = 0xfc00707f;
2337pub const MATCH_VRGATHER_VV: u32 = 0x30000057;
2338pub const MASK_VRGATHER_VV: u32 = 0xfc00707f;
2339pub const MATCH_VRGATHER_VX: u32 = 0x30004057;
2340pub const MASK_VRGATHER_VX: u32 = 0xfc00707f;
2341pub const MATCH_VRGATHEREI16_VV: u32 = 0x38000057;
2342pub const MASK_VRGATHEREI16_VV: u32 = 0xfc00707f;
2343pub const MATCH_VROL_VV: u32 = 0x54000057;
2344pub const MASK_VROL_VV: u32 = 0xfc00707f;
2345pub const MATCH_VROL_VX: u32 = 0x54004057;
2346pub const MASK_VROL_VX: u32 = 0xfc00707f;
2347pub const MATCH_VROR_VI: u32 = 0x50003057;
2348pub const MASK_VROR_VI: u32 = 0xf800707f;
2349pub const MATCH_VROR_VV: u32 = 0x50000057;
2350pub const MASK_VROR_VV: u32 = 0xfc00707f;
2351pub const MATCH_VROR_VX: u32 = 0x50004057;
2352pub const MASK_VROR_VX: u32 = 0xfc00707f;
2353pub const MATCH_VRSUB_VI: u32 = 0xc003057;
2354pub const MASK_VRSUB_VI: u32 = 0xfc00707f;
2355pub const MATCH_VRSUB_VX: u32 = 0xc004057;
2356pub const MASK_VRSUB_VX: u32 = 0xfc00707f;
2357pub const MATCH_VS1R_V: u32 = 0x2800027;
2358pub const MASK_VS1R_V: u32 = 0xfff0707f;
2359pub const MATCH_VS2R_V: u32 = 0x22800027;
2360pub const MASK_VS2R_V: u32 = 0xfff0707f;
2361pub const MATCH_VS4R_V: u32 = 0x62800027;
2362pub const MASK_VS4R_V: u32 = 0xfff0707f;
2363pub const MATCH_VS8R_V: u32 = 0xe2800027;
2364pub const MASK_VS8R_V: u32 = 0xfff0707f;
2365pub const MATCH_VSADD_VI: u32 = 0x84003057;
2366pub const MASK_VSADD_VI: u32 = 0xfc00707f;
2367pub const MATCH_VSADD_VV: u32 = 0x84000057;
2368pub const MASK_VSADD_VV: u32 = 0xfc00707f;
2369pub const MATCH_VSADD_VX: u32 = 0x84004057;
2370pub const MASK_VSADD_VX: u32 = 0xfc00707f;
2371pub const MATCH_VSADDU_VI: u32 = 0x80003057;
2372pub const MASK_VSADDU_VI: u32 = 0xfc00707f;
2373pub const MATCH_VSADDU_VV: u32 = 0x80000057;
2374pub const MASK_VSADDU_VV: u32 = 0xfc00707f;
2375pub const MATCH_VSADDU_VX: u32 = 0x80004057;
2376pub const MASK_VSADDU_VX: u32 = 0xfc00707f;
2377pub const MATCH_VSBC_VVM: u32 = 0x48000057;
2378pub const MASK_VSBC_VVM: u32 = 0xfe00707f;
2379pub const MATCH_VSBC_VXM: u32 = 0x48004057;
2380pub const MASK_VSBC_VXM: u32 = 0xfe00707f;
2381pub const MATCH_VSE16_V: u32 = 0x5027;
2382pub const MASK_VSE16_V: u32 = 0x1df0707f;
2383pub const MATCH_VSE1_V: u32 = 0x2b00027;
2384pub const MASK_VSE1_V: u32 = 0xfff0707f;
2385pub const MATCH_VSE32_V: u32 = 0x6027;
2386pub const MASK_VSE32_V: u32 = 0x1df0707f;
2387pub const MATCH_VSE64_V: u32 = 0x7027;
2388pub const MASK_VSE64_V: u32 = 0x1df0707f;
2389pub const MATCH_VSE8_V: u32 = 0x27;
2390pub const MASK_VSE8_V: u32 = 0x1df0707f;
2391pub const MATCH_VSETIVLI: u32 = 0xc0007057;
2392pub const MASK_VSETIVLI: u32 = 0xc000707f;
2393pub const MATCH_VSETVL: u32 = 0x80007057;
2394pub const MASK_VSETVL: u32 = 0xfe00707f;
2395pub const MATCH_VSETVLI: u32 = 0x7057;
2396pub const MASK_VSETVLI: u32 = 0x8000707f;
2397pub const MATCH_VSEXT_VF2: u32 = 0x4803a057;
2398pub const MASK_VSEXT_VF2: u32 = 0xfc0ff07f;
2399pub const MATCH_VSEXT_VF4: u32 = 0x4802a057;
2400pub const MASK_VSEXT_VF4: u32 = 0xfc0ff07f;
2401pub const MATCH_VSEXT_VF8: u32 = 0x4801a057;
2402pub const MASK_VSEXT_VF8: u32 = 0xfc0ff07f;
2403pub const MATCH_VSHA2CH_VV: u32 = 0xba002077;
2404pub const MASK_VSHA2CH_VV: u32 = 0xfe00707f;
2405pub const MATCH_VSHA2CL_VV: u32 = 0xbe002077;
2406pub const MASK_VSHA2CL_VV: u32 = 0xfe00707f;
2407pub const MATCH_VSHA2MS_VV: u32 = 0xb6002077;
2408pub const MASK_VSHA2MS_VV: u32 = 0xfe00707f;
2409pub const MATCH_VSLIDE1DOWN_VX: u32 = 0x3c006057;
2410pub const MASK_VSLIDE1DOWN_VX: u32 = 0xfc00707f;
2411pub const MATCH_VSLIDE1UP_VX: u32 = 0x38006057;
2412pub const MASK_VSLIDE1UP_VX: u32 = 0xfc00707f;
2413pub const MATCH_VSLIDEDOWN_VI: u32 = 0x3c003057;
2414pub const MASK_VSLIDEDOWN_VI: u32 = 0xfc00707f;
2415pub const MATCH_VSLIDEDOWN_VX: u32 = 0x3c004057;
2416pub const MASK_VSLIDEDOWN_VX: u32 = 0xfc00707f;
2417pub const MATCH_VSLIDEUP_VI: u32 = 0x38003057;
2418pub const MASK_VSLIDEUP_VI: u32 = 0xfc00707f;
2419pub const MATCH_VSLIDEUP_VX: u32 = 0x38004057;
2420pub const MASK_VSLIDEUP_VX: u32 = 0xfc00707f;
2421pub const MATCH_VSLL_VI: u32 = 0x94003057;
2422pub const MASK_VSLL_VI: u32 = 0xfc00707f;
2423pub const MATCH_VSLL_VV: u32 = 0x94000057;
2424pub const MASK_VSLL_VV: u32 = 0xfc00707f;
2425pub const MATCH_VSLL_VX: u32 = 0x94004057;
2426pub const MASK_VSLL_VX: u32 = 0xfc00707f;
2427pub const MATCH_VSM3C_VI: u32 = 0xae002077;
2428pub const MASK_VSM3C_VI: u32 = 0xfe00707f;
2429pub const MATCH_VSM3ME_VV: u32 = 0x82002077;
2430pub const MASK_VSM3ME_VV: u32 = 0xfe00707f;
2431pub const MATCH_VSM4K_VI: u32 = 0x86002077;
2432pub const MASK_VSM4K_VI: u32 = 0xfe00707f;
2433pub const MATCH_VSM4R_VS: u32 = 0xa6082077;
2434pub const MASK_VSM4R_VS: u32 = 0xfe0ff07f;
2435pub const MATCH_VSM4R_VV: u32 = 0xa2082077;
2436pub const MASK_VSM4R_VV: u32 = 0xfe0ff07f;
2437pub const MATCH_VSM_V: u32 = 0x2b00027;
2438pub const MASK_VSM_V: u32 = 0xfff0707f;
2439pub const MATCH_VSMUL_VV: u32 = 0x9c000057;
2440pub const MASK_VSMUL_VV: u32 = 0xfc00707f;
2441pub const MATCH_VSMUL_VX: u32 = 0x9c004057;
2442pub const MASK_VSMUL_VX: u32 = 0xfc00707f;
2443pub const MATCH_VSOXEI16_V: u32 = 0xc005027;
2444pub const MASK_VSOXEI16_V: u32 = 0x1c00707f;
2445pub const MATCH_VSOXEI32_V: u32 = 0xc006027;
2446pub const MASK_VSOXEI32_V: u32 = 0x1c00707f;
2447pub const MATCH_VSOXEI64_V: u32 = 0xc007027;
2448pub const MASK_VSOXEI64_V: u32 = 0x1c00707f;
2449pub const MATCH_VSOXEI8_V: u32 = 0xc000027;
2450pub const MASK_VSOXEI8_V: u32 = 0x1c00707f;
2451pub const MATCH_VSRA_VI: u32 = 0xa4003057;
2452pub const MASK_VSRA_VI: u32 = 0xfc00707f;
2453pub const MATCH_VSRA_VV: u32 = 0xa4000057;
2454pub const MASK_VSRA_VV: u32 = 0xfc00707f;
2455pub const MATCH_VSRA_VX: u32 = 0xa4004057;
2456pub const MASK_VSRA_VX: u32 = 0xfc00707f;
2457pub const MATCH_VSRL_VI: u32 = 0xa0003057;
2458pub const MASK_VSRL_VI: u32 = 0xfc00707f;
2459pub const MATCH_VSRL_VV: u32 = 0xa0000057;
2460pub const MASK_VSRL_VV: u32 = 0xfc00707f;
2461pub const MATCH_VSRL_VX: u32 = 0xa0004057;
2462pub const MASK_VSRL_VX: u32 = 0xfc00707f;
2463pub const MATCH_VSSE16_V: u32 = 0x8005027;
2464pub const MASK_VSSE16_V: u32 = 0x1c00707f;
2465pub const MATCH_VSSE32_V: u32 = 0x8006027;
2466pub const MASK_VSSE32_V: u32 = 0x1c00707f;
2467pub const MATCH_VSSE64_V: u32 = 0x8007027;
2468pub const MASK_VSSE64_V: u32 = 0x1c00707f;
2469pub const MATCH_VSSE8_V: u32 = 0x8000027;
2470pub const MASK_VSSE8_V: u32 = 0x1c00707f;
2471pub const MATCH_VSSRA_VI: u32 = 0xac003057;
2472pub const MASK_VSSRA_VI: u32 = 0xfc00707f;
2473pub const MATCH_VSSRA_VV: u32 = 0xac000057;
2474pub const MASK_VSSRA_VV: u32 = 0xfc00707f;
2475pub const MATCH_VSSRA_VX: u32 = 0xac004057;
2476pub const MASK_VSSRA_VX: u32 = 0xfc00707f;
2477pub const MATCH_VSSRL_VI: u32 = 0xa8003057;
2478pub const MASK_VSSRL_VI: u32 = 0xfc00707f;
2479pub const MATCH_VSSRL_VV: u32 = 0xa8000057;
2480pub const MASK_VSSRL_VV: u32 = 0xfc00707f;
2481pub const MATCH_VSSRL_VX: u32 = 0xa8004057;
2482pub const MASK_VSSRL_VX: u32 = 0xfc00707f;
2483pub const MATCH_VSSUB_VV: u32 = 0x8c000057;
2484pub const MASK_VSSUB_VV: u32 = 0xfc00707f;
2485pub const MATCH_VSSUB_VX: u32 = 0x8c004057;
2486pub const MASK_VSSUB_VX: u32 = 0xfc00707f;
2487pub const MATCH_VSSUBU_VV: u32 = 0x88000057;
2488pub const MASK_VSSUBU_VV: u32 = 0xfc00707f;
2489pub const MATCH_VSSUBU_VX: u32 = 0x88004057;
2490pub const MASK_VSSUBU_VX: u32 = 0xfc00707f;
2491pub const MATCH_VSUB_VV: u32 = 0x8000057;
2492pub const MASK_VSUB_VV: u32 = 0xfc00707f;
2493pub const MATCH_VSUB_VX: u32 = 0x8004057;
2494pub const MASK_VSUB_VX: u32 = 0xfc00707f;
2495pub const MATCH_VSUXEI16_V: u32 = 0x4005027;
2496pub const MASK_VSUXEI16_V: u32 = 0x1c00707f;
2497pub const MATCH_VSUXEI32_V: u32 = 0x4006027;
2498pub const MASK_VSUXEI32_V: u32 = 0x1c00707f;
2499pub const MATCH_VSUXEI64_V: u32 = 0x4007027;
2500pub const MASK_VSUXEI64_V: u32 = 0x1c00707f;
2501pub const MATCH_VSUXEI8_V: u32 = 0x4000027;
2502pub const MASK_VSUXEI8_V: u32 = 0x1c00707f;
2503pub const MATCH_VWADD_VV: u32 = 0xc4002057;
2504pub const MASK_VWADD_VV: u32 = 0xfc00707f;
2505pub const MATCH_VWADD_VX: u32 = 0xc4006057;
2506pub const MASK_VWADD_VX: u32 = 0xfc00707f;
2507pub const MATCH_VWADD_WV: u32 = 0xd4002057;
2508pub const MASK_VWADD_WV: u32 = 0xfc00707f;
2509pub const MATCH_VWADD_WX: u32 = 0xd4006057;
2510pub const MASK_VWADD_WX: u32 = 0xfc00707f;
2511pub const MATCH_VWADDU_VV: u32 = 0xc0002057;
2512pub const MASK_VWADDU_VV: u32 = 0xfc00707f;
2513pub const MATCH_VWADDU_VX: u32 = 0xc0006057;
2514pub const MASK_VWADDU_VX: u32 = 0xfc00707f;
2515pub const MATCH_VWADDU_WV: u32 = 0xd0002057;
2516pub const MASK_VWADDU_WV: u32 = 0xfc00707f;
2517pub const MATCH_VWADDU_WX: u32 = 0xd0006057;
2518pub const MASK_VWADDU_WX: u32 = 0xfc00707f;
2519pub const MATCH_VWMACC_VV: u32 = 0xf4002057;
2520pub const MASK_VWMACC_VV: u32 = 0xfc00707f;
2521pub const MATCH_VWMACC_VX: u32 = 0xf4006057;
2522pub const MASK_VWMACC_VX: u32 = 0xfc00707f;
2523pub const MATCH_VWMACCSU_VV: u32 = 0xfc002057;
2524pub const MASK_VWMACCSU_VV: u32 = 0xfc00707f;
2525pub const MATCH_VWMACCSU_VX: u32 = 0xfc006057;
2526pub const MASK_VWMACCSU_VX: u32 = 0xfc00707f;
2527pub const MATCH_VWMACCU_VV: u32 = 0xf0002057;
2528pub const MASK_VWMACCU_VV: u32 = 0xfc00707f;
2529pub const MATCH_VWMACCU_VX: u32 = 0xf0006057;
2530pub const MASK_VWMACCU_VX: u32 = 0xfc00707f;
2531pub const MATCH_VWMACCUS_VX: u32 = 0xf8006057;
2532pub const MASK_VWMACCUS_VX: u32 = 0xfc00707f;
2533pub const MATCH_VWMUL_VV: u32 = 0xec002057;
2534pub const MASK_VWMUL_VV: u32 = 0xfc00707f;
2535pub const MATCH_VWMUL_VX: u32 = 0xec006057;
2536pub const MASK_VWMUL_VX: u32 = 0xfc00707f;
2537pub const MATCH_VWMULSU_VV: u32 = 0xe8002057;
2538pub const MASK_VWMULSU_VV: u32 = 0xfc00707f;
2539pub const MATCH_VWMULSU_VX: u32 = 0xe8006057;
2540pub const MASK_VWMULSU_VX: u32 = 0xfc00707f;
2541pub const MATCH_VWMULU_VV: u32 = 0xe0002057;
2542pub const MASK_VWMULU_VV: u32 = 0xfc00707f;
2543pub const MATCH_VWMULU_VX: u32 = 0xe0006057;
2544pub const MASK_VWMULU_VX: u32 = 0xfc00707f;
2545pub const MATCH_VWREDSUM_VS: u32 = 0xc4000057;
2546pub const MASK_VWREDSUM_VS: u32 = 0xfc00707f;
2547pub const MATCH_VWREDSUMU_VS: u32 = 0xc0000057;
2548pub const MASK_VWREDSUMU_VS: u32 = 0xfc00707f;
2549pub const MATCH_VWSLL_VI: u32 = 0xd4003057;
2550pub const MASK_VWSLL_VI: u32 = 0xfc00707f;
2551pub const MATCH_VWSLL_VV: u32 = 0xd4000057;
2552pub const MASK_VWSLL_VV: u32 = 0xfc00707f;
2553pub const MATCH_VWSLL_VX: u32 = 0xd4004057;
2554pub const MASK_VWSLL_VX: u32 = 0xfc00707f;
2555pub const MATCH_VWSUB_VV: u32 = 0xcc002057;
2556pub const MASK_VWSUB_VV: u32 = 0xfc00707f;
2557pub const MATCH_VWSUB_VX: u32 = 0xcc006057;
2558pub const MASK_VWSUB_VX: u32 = 0xfc00707f;
2559pub const MATCH_VWSUB_WV: u32 = 0xdc002057;
2560pub const MASK_VWSUB_WV: u32 = 0xfc00707f;
2561pub const MATCH_VWSUB_WX: u32 = 0xdc006057;
2562pub const MASK_VWSUB_WX: u32 = 0xfc00707f;
2563pub const MATCH_VWSUBU_VV: u32 = 0xc8002057;
2564pub const MASK_VWSUBU_VV: u32 = 0xfc00707f;
2565pub const MATCH_VWSUBU_VX: u32 = 0xc8006057;
2566pub const MASK_VWSUBU_VX: u32 = 0xfc00707f;
2567pub const MATCH_VWSUBU_WV: u32 = 0xd8002057;
2568pub const MASK_VWSUBU_WV: u32 = 0xfc00707f;
2569pub const MATCH_VWSUBU_WX: u32 = 0xd8006057;
2570pub const MASK_VWSUBU_WX: u32 = 0xfc00707f;
2571pub const MATCH_VXOR_VI: u32 = 0x2c003057;
2572pub const MASK_VXOR_VI: u32 = 0xfc00707f;
2573pub const MATCH_VXOR_VV: u32 = 0x2c000057;
2574pub const MASK_VXOR_VV: u32 = 0xfc00707f;
2575pub const MATCH_VXOR_VX: u32 = 0x2c004057;
2576pub const MASK_VXOR_VX: u32 = 0xfc00707f;
2577pub const MATCH_VZEXT_VF2: u32 = 0x48032057;
2578pub const MASK_VZEXT_VF2: u32 = 0xfc0ff07f;
2579pub const MATCH_VZEXT_VF4: u32 = 0x48022057;
2580pub const MASK_VZEXT_VF4: u32 = 0xfc0ff07f;
2581pub const MATCH_VZEXT_VF8: u32 = 0x48012057;
2582pub const MASK_VZEXT_VF8: u32 = 0xfc0ff07f;
2583pub const MATCH_WFI: u32 = 0x10500073;
2584pub const MASK_WFI: u32 = 0xffffffff;
2585pub const MATCH_WRS_NTO: u32 = 0xd00073;
2586pub const MASK_WRS_NTO: u32 = 0xffffffff;
2587pub const MATCH_WRS_STO: u32 = 0x1d00073;
2588pub const MASK_WRS_STO: u32 = 0xffffffff;
2589pub const MATCH_XNOR: u32 = 0x40004033;
2590pub const MASK_XNOR: u32 = 0xfe00707f;
2591pub const MATCH_XOR: u32 = 0x4033;
2592pub const MASK_XOR: u32 = 0xfe00707f;
2593pub const MATCH_XORI: u32 = 0x4013;
2594pub const MASK_XORI: u32 = 0x707f;
2595pub const MATCH_XPERM4: u32 = 0x28002033;
2596pub const MASK_XPERM4: u32 = 0xfe00707f;
2597pub const MATCH_XPERM8: u32 = 0x28004033;
2598pub const MASK_XPERM8: u32 = 0xfe00707f;
2599pub const MATCH_ZEXT_B: u32 = 0x7013;
2600pub const MASK_ZEXT_B: u32 = 0xfff0707f;
2601pub const MATCH_ZEXT_H: u32 = 0x800403b;
2602pub const MASK_ZEXT_H: u32 = 0xfff0707f;
2603pub const MATCH_ZEXT_H_RV32: u32 = 0x8004033;
2604pub const MASK_ZEXT_H_RV32: u32 = 0xfff0707f;
2605pub const MATCH_ZEXT_W: u32 = 0x800003b;
2606pub const MASK_ZEXT_W: u32 = 0xfff0707f;
2607pub const MATCH_ZIP: u32 = 0x8f01013;
2608pub const MASK_ZIP: u32 = 0xfff0707f;
2609pub const CSR_FFLAGS: u16 = 0x1;
2610pub const CSR_FRM: u16 = 0x2;
2611pub const CSR_FCSR: u16 = 0x3;
2612pub const CSR_VSTART: u16 = 0x8;
2613pub const CSR_VXSAT: u16 = 0x9;
2614pub const CSR_VXRM: u16 = 0xa;
2615pub const CSR_VCSR: u16 = 0xf;
2616pub const CSR_SSP: u16 = 0x11;
2617pub const CSR_SEED: u16 = 0x15;
2618pub const CSR_JVT: u16 = 0x17;
2619pub const CSR_CYCLE: u16 = 0xc00;
2620pub const CSR_TIME: u16 = 0xc01;
2621pub const CSR_INSTRET: u16 = 0xc02;
2622pub const CSR_HPMCOUNTER3: u16 = 0xc03;
2623pub const CSR_HPMCOUNTER4: u16 = 0xc04;
2624pub const CSR_HPMCOUNTER5: u16 = 0xc05;
2625pub const CSR_HPMCOUNTER6: u16 = 0xc06;
2626pub const CSR_HPMCOUNTER7: u16 = 0xc07;
2627pub const CSR_HPMCOUNTER8: u16 = 0xc08;
2628pub const CSR_HPMCOUNTER9: u16 = 0xc09;
2629pub const CSR_HPMCOUNTER10: u16 = 0xc0a;
2630pub const CSR_HPMCOUNTER11: u16 = 0xc0b;
2631pub const CSR_HPMCOUNTER12: u16 = 0xc0c;
2632pub const CSR_HPMCOUNTER13: u16 = 0xc0d;
2633pub const CSR_HPMCOUNTER14: u16 = 0xc0e;
2634pub const CSR_HPMCOUNTER15: u16 = 0xc0f;
2635pub const CSR_HPMCOUNTER16: u16 = 0xc10;
2636pub const CSR_HPMCOUNTER17: u16 = 0xc11;
2637pub const CSR_HPMCOUNTER18: u16 = 0xc12;
2638pub const CSR_HPMCOUNTER19: u16 = 0xc13;
2639pub const CSR_HPMCOUNTER20: u16 = 0xc14;
2640pub const CSR_HPMCOUNTER21: u16 = 0xc15;
2641pub const CSR_HPMCOUNTER22: u16 = 0xc16;
2642pub const CSR_HPMCOUNTER23: u16 = 0xc17;
2643pub const CSR_HPMCOUNTER24: u16 = 0xc18;
2644pub const CSR_HPMCOUNTER25: u16 = 0xc19;
2645pub const CSR_HPMCOUNTER26: u16 = 0xc1a;
2646pub const CSR_HPMCOUNTER27: u16 = 0xc1b;
2647pub const CSR_HPMCOUNTER28: u16 = 0xc1c;
2648pub const CSR_HPMCOUNTER29: u16 = 0xc1d;
2649pub const CSR_HPMCOUNTER30: u16 = 0xc1e;
2650pub const CSR_HPMCOUNTER31: u16 = 0xc1f;
2651pub const CSR_VL: u16 = 0xc20;
2652pub const CSR_VTYPE: u16 = 0xc21;
2653pub const CSR_VLENB: u16 = 0xc22;
2654pub const CSR_SSTATUS: u16 = 0x100;
2655pub const CSR_SEDELEG: u16 = 0x102;
2656pub const CSR_SIDELEG: u16 = 0x103;
2657pub const CSR_SIE: u16 = 0x104;
2658pub const CSR_STVEC: u16 = 0x105;
2659pub const CSR_SCOUNTEREN: u16 = 0x106;
2660pub const CSR_SENVCFG: u16 = 0x10a;
2661pub const CSR_SSTATEEN0: u16 = 0x10c;
2662pub const CSR_SSTATEEN1: u16 = 0x10d;
2663pub const CSR_SSTATEEN2: u16 = 0x10e;
2664pub const CSR_SSTATEEN3: u16 = 0x10f;
2665pub const CSR_SCOUNTINHIBIT: u16 = 0x120;
2666pub const CSR_SSCRATCH: u16 = 0x140;
2667pub const CSR_SEPC: u16 = 0x141;
2668pub const CSR_SCAUSE: u16 = 0x142;
2669pub const CSR_STVAL: u16 = 0x143;
2670pub const CSR_SIP: u16 = 0x144;
2671pub const CSR_STIMECMP: u16 = 0x14d;
2672pub const CSR_SCTRCTL: u16 = 0x14e;
2673pub const CSR_SCTRSTATUS: u16 = 0x14f;
2674pub const CSR_SISELECT: u16 = 0x150;
2675pub const CSR_SIREG: u16 = 0x151;
2676pub const CSR_SIREG2: u16 = 0x152;
2677pub const CSR_SIREG3: u16 = 0x153;
2678pub const CSR_SIREG4: u16 = 0x155;
2679pub const CSR_SIREG5: u16 = 0x156;
2680pub const CSR_SIREG6: u16 = 0x157;
2681pub const CSR_STOPEI: u16 = 0x15c;
2682pub const CSR_SCTRDEPTH: u16 = 0x15f;
2683pub const CSR_SATP: u16 = 0x180;
2684pub const CSR_SRMCFG: u16 = 0x181;
2685pub const CSR_SCONTEXT: u16 = 0x5a8;
2686pub const CSR_VSSTATUS: u16 = 0x200;
2687pub const CSR_VSIE: u16 = 0x204;
2688pub const CSR_VSTVEC: u16 = 0x205;
2689pub const CSR_VSSCRATCH: u16 = 0x240;
2690pub const CSR_VSEPC: u16 = 0x241;
2691pub const CSR_VSCAUSE: u16 = 0x242;
2692pub const CSR_VSTVAL: u16 = 0x243;
2693pub const CSR_VSIP: u16 = 0x244;
2694pub const CSR_VSTIMECMP: u16 = 0x24d;
2695pub const CSR_VSCTRCTL: u16 = 0x24e;
2696pub const CSR_VSISELECT: u16 = 0x250;
2697pub const CSR_VSIREG: u16 = 0x251;
2698pub const CSR_VSIREG2: u16 = 0x252;
2699pub const CSR_VSIREG3: u16 = 0x253;
2700pub const CSR_VSIREG4: u16 = 0x255;
2701pub const CSR_VSIREG5: u16 = 0x256;
2702pub const CSR_VSIREG6: u16 = 0x257;
2703pub const CSR_VSTOPEI: u16 = 0x25c;
2704pub const CSR_VSATP: u16 = 0x280;
2705pub const CSR_HSTATUS: u16 = 0x600;
2706pub const CSR_HEDELEG: u16 = 0x602;
2707pub const CSR_HIDELEG: u16 = 0x603;
2708pub const CSR_HIE: u16 = 0x604;
2709pub const CSR_HTIMEDELTA: u16 = 0x605;
2710pub const CSR_HCOUNTEREN: u16 = 0x606;
2711pub const CSR_HGEIE: u16 = 0x607;
2712pub const CSR_HVIEN: u16 = 0x608;
2713pub const CSR_HVICTL: u16 = 0x609;
2714pub const CSR_HENVCFG: u16 = 0x60a;
2715pub const CSR_HSTATEEN0: u16 = 0x60c;
2716pub const CSR_HSTATEEN1: u16 = 0x60d;
2717pub const CSR_HSTATEEN2: u16 = 0x60e;
2718pub const CSR_HSTATEEN3: u16 = 0x60f;
2719pub const CSR_HTVAL: u16 = 0x643;
2720pub const CSR_HIP: u16 = 0x644;
2721pub const CSR_HVIP: u16 = 0x645;
2722pub const CSR_HVIPRIO1: u16 = 0x646;
2723pub const CSR_HVIPRIO2: u16 = 0x647;
2724pub const CSR_HTINST: u16 = 0x64a;
2725pub const CSR_HGATP: u16 = 0x680;
2726pub const CSR_HCONTEXT: u16 = 0x6a8;
2727pub const CSR_HGEIP: u16 = 0xe12;
2728pub const CSR_VSTOPI: u16 = 0xeb0;
2729pub const CSR_SCOUNTOVF: u16 = 0xda0;
2730pub const CSR_STOPI: u16 = 0xdb0;
2731pub const CSR_UTVT: u16 = 0x7;
2732pub const CSR_UNXTI: u16 = 0x45;
2733pub const CSR_UINTSTATUS: u16 = 0x46;
2734pub const CSR_USCRATCHCSW: u16 = 0x48;
2735pub const CSR_USCRATCHCSWL: u16 = 0x49;
2736pub const CSR_STVT: u16 = 0x107;
2737pub const CSR_SNXTI: u16 = 0x145;
2738pub const CSR_SINTSTATUS: u16 = 0x146;
2739pub const CSR_SSCRATCHCSW: u16 = 0x148;
2740pub const CSR_SSCRATCHCSWL: u16 = 0x149;
2741pub const CSR_MTVT: u16 = 0x307;
2742pub const CSR_MNXTI: u16 = 0x345;
2743pub const CSR_MINTSTATUS: u16 = 0x346;
2744pub const CSR_MSCRATCHCSW: u16 = 0x348;
2745pub const CSR_MSCRATCHCSWL: u16 = 0x349;
2746pub const CSR_MSTATUS: u16 = 0x300;
2747pub const CSR_MISA: u16 = 0x301;
2748pub const CSR_MEDELEG: u16 = 0x302;
2749pub const CSR_MIDELEG: u16 = 0x303;
2750pub const CSR_MIE: u16 = 0x304;
2751pub const CSR_MTVEC: u16 = 0x305;
2752pub const CSR_MCOUNTEREN: u16 = 0x306;
2753pub const CSR_MVIEN: u16 = 0x308;
2754pub const CSR_MVIP: u16 = 0x309;
2755pub const CSR_MENVCFG: u16 = 0x30a;
2756pub const CSR_MSTATEEN0: u16 = 0x30c;
2757pub const CSR_MSTATEEN1: u16 = 0x30d;
2758pub const CSR_MSTATEEN2: u16 = 0x30e;
2759pub const CSR_MSTATEEN3: u16 = 0x30f;
2760pub const CSR_MCOUNTINHIBIT: u16 = 0x320;
2761pub const CSR_MSCRATCH: u16 = 0x340;
2762pub const CSR_MEPC: u16 = 0x341;
2763pub const CSR_MCAUSE: u16 = 0x342;
2764pub const CSR_MTVAL: u16 = 0x343;
2765pub const CSR_MIP: u16 = 0x344;
2766pub const CSR_MTINST: u16 = 0x34a;
2767pub const CSR_MTVAL2: u16 = 0x34b;
2768pub const CSR_MCTRCTL: u16 = 0x34e;
2769pub const CSR_MISELECT: u16 = 0x350;
2770pub const CSR_MIREG: u16 = 0x351;
2771pub const CSR_MIREG2: u16 = 0x352;
2772pub const CSR_MIREG3: u16 = 0x353;
2773pub const CSR_MIREG4: u16 = 0x355;
2774pub const CSR_MIREG5: u16 = 0x356;
2775pub const CSR_MIREG6: u16 = 0x357;
2776pub const CSR_MTOPEI: u16 = 0x35c;
2777pub const CSR_PMPCFG0: u16 = 0x3a0;
2778pub const CSR_PMPCFG1: u16 = 0x3a1;
2779pub const CSR_PMPCFG2: u16 = 0x3a2;
2780pub const CSR_PMPCFG3: u16 = 0x3a3;
2781pub const CSR_PMPCFG4: u16 = 0x3a4;
2782pub const CSR_PMPCFG5: u16 = 0x3a5;
2783pub const CSR_PMPCFG6: u16 = 0x3a6;
2784pub const CSR_PMPCFG7: u16 = 0x3a7;
2785pub const CSR_PMPCFG8: u16 = 0x3a8;
2786pub const CSR_PMPCFG9: u16 = 0x3a9;
2787pub const CSR_PMPCFG10: u16 = 0x3aa;
2788pub const CSR_PMPCFG11: u16 = 0x3ab;
2789pub const CSR_PMPCFG12: u16 = 0x3ac;
2790pub const CSR_PMPCFG13: u16 = 0x3ad;
2791pub const CSR_PMPCFG14: u16 = 0x3ae;
2792pub const CSR_PMPCFG15: u16 = 0x3af;
2793pub const CSR_PMPADDR0: u16 = 0x3b0;
2794pub const CSR_PMPADDR1: u16 = 0x3b1;
2795pub const CSR_PMPADDR2: u16 = 0x3b2;
2796pub const CSR_PMPADDR3: u16 = 0x3b3;
2797pub const CSR_PMPADDR4: u16 = 0x3b4;
2798pub const CSR_PMPADDR5: u16 = 0x3b5;
2799pub const CSR_PMPADDR6: u16 = 0x3b6;
2800pub const CSR_PMPADDR7: u16 = 0x3b7;
2801pub const CSR_PMPADDR8: u16 = 0x3b8;
2802pub const CSR_PMPADDR9: u16 = 0x3b9;
2803pub const CSR_PMPADDR10: u16 = 0x3ba;
2804pub const CSR_PMPADDR11: u16 = 0x3bb;
2805pub const CSR_PMPADDR12: u16 = 0x3bc;
2806pub const CSR_PMPADDR13: u16 = 0x3bd;
2807pub const CSR_PMPADDR14: u16 = 0x3be;
2808pub const CSR_PMPADDR15: u16 = 0x3bf;
2809pub const CSR_PMPADDR16: u16 = 0x3c0;
2810pub const CSR_PMPADDR17: u16 = 0x3c1;
2811pub const CSR_PMPADDR18: u16 = 0x3c2;
2812pub const CSR_PMPADDR19: u16 = 0x3c3;
2813pub const CSR_PMPADDR20: u16 = 0x3c4;
2814pub const CSR_PMPADDR21: u16 = 0x3c5;
2815pub const CSR_PMPADDR22: u16 = 0x3c6;
2816pub const CSR_PMPADDR23: u16 = 0x3c7;
2817pub const CSR_PMPADDR24: u16 = 0x3c8;
2818pub const CSR_PMPADDR25: u16 = 0x3c9;
2819pub const CSR_PMPADDR26: u16 = 0x3ca;
2820pub const CSR_PMPADDR27: u16 = 0x3cb;
2821pub const CSR_PMPADDR28: u16 = 0x3cc;
2822pub const CSR_PMPADDR29: u16 = 0x3cd;
2823pub const CSR_PMPADDR30: u16 = 0x3ce;
2824pub const CSR_PMPADDR31: u16 = 0x3cf;
2825pub const CSR_PMPADDR32: u16 = 0x3d0;
2826pub const CSR_PMPADDR33: u16 = 0x3d1;
2827pub const CSR_PMPADDR34: u16 = 0x3d2;
2828pub const CSR_PMPADDR35: u16 = 0x3d3;
2829pub const CSR_PMPADDR36: u16 = 0x3d4;
2830pub const CSR_PMPADDR37: u16 = 0x3d5;
2831pub const CSR_PMPADDR38: u16 = 0x3d6;
2832pub const CSR_PMPADDR39: u16 = 0x3d7;
2833pub const CSR_PMPADDR40: u16 = 0x3d8;
2834pub const CSR_PMPADDR41: u16 = 0x3d9;
2835pub const CSR_PMPADDR42: u16 = 0x3da;
2836pub const CSR_PMPADDR43: u16 = 0x3db;
2837pub const CSR_PMPADDR44: u16 = 0x3dc;
2838pub const CSR_PMPADDR45: u16 = 0x3dd;
2839pub const CSR_PMPADDR46: u16 = 0x3de;
2840pub const CSR_PMPADDR47: u16 = 0x3df;
2841pub const CSR_PMPADDR48: u16 = 0x3e0;
2842pub const CSR_PMPADDR49: u16 = 0x3e1;
2843pub const CSR_PMPADDR50: u16 = 0x3e2;
2844pub const CSR_PMPADDR51: u16 = 0x3e3;
2845pub const CSR_PMPADDR52: u16 = 0x3e4;
2846pub const CSR_PMPADDR53: u16 = 0x3e5;
2847pub const CSR_PMPADDR54: u16 = 0x3e6;
2848pub const CSR_PMPADDR55: u16 = 0x3e7;
2849pub const CSR_PMPADDR56: u16 = 0x3e8;
2850pub const CSR_PMPADDR57: u16 = 0x3e9;
2851pub const CSR_PMPADDR58: u16 = 0x3ea;
2852pub const CSR_PMPADDR59: u16 = 0x3eb;
2853pub const CSR_PMPADDR60: u16 = 0x3ec;
2854pub const CSR_PMPADDR61: u16 = 0x3ed;
2855pub const CSR_PMPADDR62: u16 = 0x3ee;
2856pub const CSR_PMPADDR63: u16 = 0x3ef;
2857pub const CSR_MSECCFG: u16 = 0x747;
2858pub const CSR_TSELECT: u16 = 0x7a0;
2859pub const CSR_TDATA1: u16 = 0x7a1;
2860pub const CSR_TDATA2: u16 = 0x7a2;
2861pub const CSR_TDATA3: u16 = 0x7a3;
2862pub const CSR_TINFO: u16 = 0x7a4;
2863pub const CSR_TCONTROL: u16 = 0x7a5;
2864pub const CSR_MCONTEXT: u16 = 0x7a8;
2865pub const CSR_MSCONTEXT: u16 = 0x7aa;
2866pub const CSR_DCSR: u16 = 0x7b0;
2867pub const CSR_DPC: u16 = 0x7b1;
2868pub const CSR_DSCRATCH0: u16 = 0x7b2;
2869pub const CSR_DSCRATCH1: u16 = 0x7b3;
2870pub const CSR_MCYCLE: u16 = 0xb00;
2871pub const CSR_MINSTRET: u16 = 0xb02;
2872pub const CSR_MHPMCOUNTER3: u16 = 0xb03;
2873pub const CSR_MHPMCOUNTER4: u16 = 0xb04;
2874pub const CSR_MHPMCOUNTER5: u16 = 0xb05;
2875pub const CSR_MHPMCOUNTER6: u16 = 0xb06;
2876pub const CSR_MHPMCOUNTER7: u16 = 0xb07;
2877pub const CSR_MHPMCOUNTER8: u16 = 0xb08;
2878pub const CSR_MHPMCOUNTER9: u16 = 0xb09;
2879pub const CSR_MHPMCOUNTER10: u16 = 0xb0a;
2880pub const CSR_MHPMCOUNTER11: u16 = 0xb0b;
2881pub const CSR_MHPMCOUNTER12: u16 = 0xb0c;
2882pub const CSR_MHPMCOUNTER13: u16 = 0xb0d;
2883pub const CSR_MHPMCOUNTER14: u16 = 0xb0e;
2884pub const CSR_MHPMCOUNTER15: u16 = 0xb0f;
2885pub const CSR_MHPMCOUNTER16: u16 = 0xb10;
2886pub const CSR_MHPMCOUNTER17: u16 = 0xb11;
2887pub const CSR_MHPMCOUNTER18: u16 = 0xb12;
2888pub const CSR_MHPMCOUNTER19: u16 = 0xb13;
2889pub const CSR_MHPMCOUNTER20: u16 = 0xb14;
2890pub const CSR_MHPMCOUNTER21: u16 = 0xb15;
2891pub const CSR_MHPMCOUNTER22: u16 = 0xb16;
2892pub const CSR_MHPMCOUNTER23: u16 = 0xb17;
2893pub const CSR_MHPMCOUNTER24: u16 = 0xb18;
2894pub const CSR_MHPMCOUNTER25: u16 = 0xb19;
2895pub const CSR_MHPMCOUNTER26: u16 = 0xb1a;
2896pub const CSR_MHPMCOUNTER27: u16 = 0xb1b;
2897pub const CSR_MHPMCOUNTER28: u16 = 0xb1c;
2898pub const CSR_MHPMCOUNTER29: u16 = 0xb1d;
2899pub const CSR_MHPMCOUNTER30: u16 = 0xb1e;
2900pub const CSR_MHPMCOUNTER31: u16 = 0xb1f;
2901pub const CSR_MCYCLECFG: u16 = 0x321;
2902pub const CSR_MINSTRETCFG: u16 = 0x322;
2903pub const CSR_MHPMEVENT3: u16 = 0x323;
2904pub const CSR_MHPMEVENT4: u16 = 0x324;
2905pub const CSR_MHPMEVENT5: u16 = 0x325;
2906pub const CSR_MHPMEVENT6: u16 = 0x326;
2907pub const CSR_MHPMEVENT7: u16 = 0x327;
2908pub const CSR_MHPMEVENT8: u16 = 0x328;
2909pub const CSR_MHPMEVENT9: u16 = 0x329;
2910pub const CSR_MHPMEVENT10: u16 = 0x32a;
2911pub const CSR_MHPMEVENT11: u16 = 0x32b;
2912pub const CSR_MHPMEVENT12: u16 = 0x32c;
2913pub const CSR_MHPMEVENT13: u16 = 0x32d;
2914pub const CSR_MHPMEVENT14: u16 = 0x32e;
2915pub const CSR_MHPMEVENT15: u16 = 0x32f;
2916pub const CSR_MHPMEVENT16: u16 = 0x330;
2917pub const CSR_MHPMEVENT17: u16 = 0x331;
2918pub const CSR_MHPMEVENT18: u16 = 0x332;
2919pub const CSR_MHPMEVENT19: u16 = 0x333;
2920pub const CSR_MHPMEVENT20: u16 = 0x334;
2921pub const CSR_MHPMEVENT21: u16 = 0x335;
2922pub const CSR_MHPMEVENT22: u16 = 0x336;
2923pub const CSR_MHPMEVENT23: u16 = 0x337;
2924pub const CSR_MHPMEVENT24: u16 = 0x338;
2925pub const CSR_MHPMEVENT25: u16 = 0x339;
2926pub const CSR_MHPMEVENT26: u16 = 0x33a;
2927pub const CSR_MHPMEVENT27: u16 = 0x33b;
2928pub const CSR_MHPMEVENT28: u16 = 0x33c;
2929pub const CSR_MHPMEVENT29: u16 = 0x33d;
2930pub const CSR_MHPMEVENT30: u16 = 0x33e;
2931pub const CSR_MHPMEVENT31: u16 = 0x33f;
2932pub const CSR_MVENDORID: u16 = 0xf11;
2933pub const CSR_MARCHID: u16 = 0xf12;
2934pub const CSR_MIMPID: u16 = 0xf13;
2935pub const CSR_MHARTID: u16 = 0xf14;
2936pub const CSR_MCONFIGPTR: u16 = 0xf15;
2937pub const CSR_MTOPI: u16 = 0xfb0;
2938pub const CSR_SIEH: u16 = 0x114;
2939pub const CSR_SIPH: u16 = 0x154;
2940pub const CSR_STIMECMPH: u16 = 0x15d;
2941pub const CSR_VSIEH: u16 = 0x214;
2942pub const CSR_VSIPH: u16 = 0x254;
2943pub const CSR_VSTIMECMPH: u16 = 0x25d;
2944pub const CSR_HTIMEDELTAH: u16 = 0x615;
2945pub const CSR_HIDELEGH: u16 = 0x613;
2946pub const CSR_HVIENH: u16 = 0x618;
2947pub const CSR_HENVCFGH: u16 = 0x61a;
2948pub const CSR_HVIPH: u16 = 0x655;
2949pub const CSR_HVIPRIO1H: u16 = 0x656;
2950pub const CSR_HVIPRIO2H: u16 = 0x657;
2951pub const CSR_HSTATEEN0H: u16 = 0x61c;
2952pub const CSR_HSTATEEN1H: u16 = 0x61d;
2953pub const CSR_HSTATEEN2H: u16 = 0x61e;
2954pub const CSR_HSTATEEN3H: u16 = 0x61f;
2955pub const CSR_CYCLEH: u16 = 0xc80;
2956pub const CSR_TIMEH: u16 = 0xc81;
2957pub const CSR_INSTRETH: u16 = 0xc82;
2958pub const CSR_HPMCOUNTER3H: u16 = 0xc83;
2959pub const CSR_HPMCOUNTER4H: u16 = 0xc84;
2960pub const CSR_HPMCOUNTER5H: u16 = 0xc85;
2961pub const CSR_HPMCOUNTER6H: u16 = 0xc86;
2962pub const CSR_HPMCOUNTER7H: u16 = 0xc87;
2963pub const CSR_HPMCOUNTER8H: u16 = 0xc88;
2964pub const CSR_HPMCOUNTER9H: u16 = 0xc89;
2965pub const CSR_HPMCOUNTER10H: u16 = 0xc8a;
2966pub const CSR_HPMCOUNTER11H: u16 = 0xc8b;
2967pub const CSR_HPMCOUNTER12H: u16 = 0xc8c;
2968pub const CSR_HPMCOUNTER13H: u16 = 0xc8d;
2969pub const CSR_HPMCOUNTER14H: u16 = 0xc8e;
2970pub const CSR_HPMCOUNTER15H: u16 = 0xc8f;
2971pub const CSR_HPMCOUNTER16H: u16 = 0xc90;
2972pub const CSR_HPMCOUNTER17H: u16 = 0xc91;
2973pub const CSR_HPMCOUNTER18H: u16 = 0xc92;
2974pub const CSR_HPMCOUNTER19H: u16 = 0xc93;
2975pub const CSR_HPMCOUNTER20H: u16 = 0xc94;
2976pub const CSR_HPMCOUNTER21H: u16 = 0xc95;
2977pub const CSR_HPMCOUNTER22H: u16 = 0xc96;
2978pub const CSR_HPMCOUNTER23H: u16 = 0xc97;
2979pub const CSR_HPMCOUNTER24H: u16 = 0xc98;
2980pub const CSR_HPMCOUNTER25H: u16 = 0xc99;
2981pub const CSR_HPMCOUNTER26H: u16 = 0xc9a;
2982pub const CSR_HPMCOUNTER27H: u16 = 0xc9b;
2983pub const CSR_HPMCOUNTER28H: u16 = 0xc9c;
2984pub const CSR_HPMCOUNTER29H: u16 = 0xc9d;
2985pub const CSR_HPMCOUNTER30H: u16 = 0xc9e;
2986pub const CSR_HPMCOUNTER31H: u16 = 0xc9f;
2987pub const CSR_MSTATUSH: u16 = 0x310;
2988pub const CSR_MIDELEGH: u16 = 0x313;
2989pub const CSR_MIEH: u16 = 0x314;
2990pub const CSR_MVIENH: u16 = 0x318;
2991pub const CSR_MVIPH: u16 = 0x319;
2992pub const CSR_MENVCFGH: u16 = 0x31a;
2993pub const CSR_MSTATEEN0H: u16 = 0x31c;
2994pub const CSR_MSTATEEN1H: u16 = 0x31d;
2995pub const CSR_MSTATEEN2H: u16 = 0x31e;
2996pub const CSR_MSTATEEN3H: u16 = 0x31f;
2997pub const CSR_MIPH: u16 = 0x354;
2998pub const CSR_MCYCLECFGH: u16 = 0x721;
2999pub const CSR_MINSTRETCFGH: u16 = 0x722;
3000pub const CSR_MHPMEVENT3H: u16 = 0x723;
3001pub const CSR_MHPMEVENT4H: u16 = 0x724;
3002pub const CSR_MHPMEVENT5H: u16 = 0x725;
3003pub const CSR_MHPMEVENT6H: u16 = 0x726;
3004pub const CSR_MHPMEVENT7H: u16 = 0x727;
3005pub const CSR_MHPMEVENT8H: u16 = 0x728;
3006pub const CSR_MHPMEVENT9H: u16 = 0x729;
3007pub const CSR_MHPMEVENT10H: u16 = 0x72a;
3008pub const CSR_MHPMEVENT11H: u16 = 0x72b;
3009pub const CSR_MHPMEVENT12H: u16 = 0x72c;
3010pub const CSR_MHPMEVENT13H: u16 = 0x72d;
3011pub const CSR_MHPMEVENT14H: u16 = 0x72e;
3012pub const CSR_MHPMEVENT15H: u16 = 0x72f;
3013pub const CSR_MHPMEVENT16H: u16 = 0x730;
3014pub const CSR_MHPMEVENT17H: u16 = 0x731;
3015pub const CSR_MHPMEVENT18H: u16 = 0x732;
3016pub const CSR_MHPMEVENT19H: u16 = 0x733;
3017pub const CSR_MHPMEVENT20H: u16 = 0x734;
3018pub const CSR_MHPMEVENT21H: u16 = 0x735;
3019pub const CSR_MHPMEVENT22H: u16 = 0x736;
3020pub const CSR_MHPMEVENT23H: u16 = 0x737;
3021pub const CSR_MHPMEVENT24H: u16 = 0x738;
3022pub const CSR_MHPMEVENT25H: u16 = 0x739;
3023pub const CSR_MHPMEVENT26H: u16 = 0x73a;
3024pub const CSR_MHPMEVENT27H: u16 = 0x73b;
3025pub const CSR_MHPMEVENT28H: u16 = 0x73c;
3026pub const CSR_MHPMEVENT29H: u16 = 0x73d;
3027pub const CSR_MHPMEVENT30H: u16 = 0x73e;
3028pub const CSR_MHPMEVENT31H: u16 = 0x73f;
3029pub const CSR_MNSCRATCH: u16 = 0x740;
3030pub const CSR_MNEPC: u16 = 0x741;
3031pub const CSR_MNCAUSE: u16 = 0x742;
3032pub const CSR_MNSTATUS: u16 = 0x744;
3033pub const CSR_MSECCFGH: u16 = 0x757;
3034pub const CSR_MCYCLEH: u16 = 0xb80;
3035pub const CSR_MINSTRETH: u16 = 0xb82;
3036pub const CSR_MHPMCOUNTER3H: u16 = 0xb83;
3037pub const CSR_MHPMCOUNTER4H: u16 = 0xb84;
3038pub const CSR_MHPMCOUNTER5H: u16 = 0xb85;
3039pub const CSR_MHPMCOUNTER6H: u16 = 0xb86;
3040pub const CSR_MHPMCOUNTER7H: u16 = 0xb87;
3041pub const CSR_MHPMCOUNTER8H: u16 = 0xb88;
3042pub const CSR_MHPMCOUNTER9H: u16 = 0xb89;
3043pub const CSR_MHPMCOUNTER10H: u16 = 0xb8a;
3044pub const CSR_MHPMCOUNTER11H: u16 = 0xb8b;
3045pub const CSR_MHPMCOUNTER12H: u16 = 0xb8c;
3046pub const CSR_MHPMCOUNTER13H: u16 = 0xb8d;
3047pub const CSR_MHPMCOUNTER14H: u16 = 0xb8e;
3048pub const CSR_MHPMCOUNTER15H: u16 = 0xb8f;
3049pub const CSR_MHPMCOUNTER16H: u16 = 0xb90;
3050pub const CSR_MHPMCOUNTER17H: u16 = 0xb91;
3051pub const CSR_MHPMCOUNTER18H: u16 = 0xb92;
3052pub const CSR_MHPMCOUNTER19H: u16 = 0xb93;
3053pub const CSR_MHPMCOUNTER20H: u16 = 0xb94;
3054pub const CSR_MHPMCOUNTER21H: u16 = 0xb95;
3055pub const CSR_MHPMCOUNTER22H: u16 = 0xb96;
3056pub const CSR_MHPMCOUNTER23H: u16 = 0xb97;
3057pub const CSR_MHPMCOUNTER24H: u16 = 0xb98;
3058pub const CSR_MHPMCOUNTER25H: u16 = 0xb99;
3059pub const CSR_MHPMCOUNTER26H: u16 = 0xb9a;
3060pub const CSR_MHPMCOUNTER27H: u16 = 0xb9b;
3061pub const CSR_MHPMCOUNTER28H: u16 = 0xb9c;
3062pub const CSR_MHPMCOUNTER29H: u16 = 0xb9d;
3063pub const CSR_MHPMCOUNTER30H: u16 = 0xb9e;
3064pub const CSR_MHPMCOUNTER31H: u16 = 0xb9f;
3065pub const CAUSE_MISALIGNED_FETCH: u8 = 0x0;
3066pub const CAUSE_FETCH_ACCESS: u8 = 0x1;
3067pub const CAUSE_ILLEGAL_INSTRUCTION: u8 = 0x2;
3068pub const CAUSE_BREAKPOINT: u8 = 0x3;
3069pub const CAUSE_MISALIGNED_LOAD: u8 = 0x4;
3070pub const CAUSE_LOAD_ACCESS: u8 = 0x5;
3071pub const CAUSE_MISALIGNED_STORE: u8 = 0x6;
3072pub const CAUSE_STORE_ACCESS: u8 = 0x7;
3073pub const CAUSE_USER_ECALL: u8 = 0x8;
3074pub const CAUSE_SUPERVISOR_ECALL: u8 = 0x9;
3075pub const CAUSE_VIRTUAL_SUPERVISOR_ECALL: u8 = 0xa;
3076pub const CAUSE_MACHINE_ECALL: u8 = 0xb;
3077pub const CAUSE_FETCH_PAGE_FAULT: u8 = 0xc;
3078pub const CAUSE_LOAD_PAGE_FAULT: u8 = 0xd;
3079pub const CAUSE_STORE_PAGE_FAULT: u8 = 0xf;
3080pub const CAUSE_DOUBLE_TRAP: u8 = 0x10;
3081pub const CAUSE_SOFTWARE_CHECK_FAULT: u8 = 0x12;
3082pub const CAUSE_HARDWARE_ERROR_FAULT: u8 = 0x13;
3083pub const CAUSE_FETCH_GUEST_PAGE_FAULT: u8 = 0x14;
3084pub const CAUSE_LOAD_GUEST_PAGE_FAULT: u8 = 0x15;
3085pub const CAUSE_VIRTUAL_INSTRUCTION: u8 = 0x16;
3086pub const CAUSE_STORE_GUEST_PAGE_FAULT: u8 = 0x17;
3087pub static OPCODE32_MATCH: [u32; 1021] = [
30880x33, 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, ];
4110pub static OPCODE32_MASK: [u32; 1021] = [
41110xfe00707f, 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, ];
5133pub static OPCODE64_MATCH: [u32; 1021] = [
51340x33, 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, ];
6156pub static OPCODE64_MASK: [u32; 1021] = [
61570xfe00707f, 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, ];
7179pub static OPCODE_MATCH: [u32; 1021] = [
71800x33,
71810x800003b,
71820x13,
71830x1b,
71840x3b,
71850x2a000033,
71860x2e000033,
71870x22000033,
71880x26000033,
71890x3a000033,
71900x3e000033,
71910x32000033,
71920x36000033,
71930x30001013,
71940x31001013,
71950x7e000033,
71960x2f,
71970x302f,
71980x102f,
71990x202f,
72000x6000002f,
72010x6000302f,
72020x6000102f,
72030x6000202f,
72040x2800002f,
72050x2800302f,
72060x2800102f,
72070x2800402f,
72080x2800202f,
72090xa000002f,
72100xa000302f,
72110xa000102f,
72120xa000202f,
72130xe000002f,
72140xe000302f,
72150xe000102f,
72160xe000202f,
72170x8000002f,
72180x8000302f,
72190x8000102f,
72200x8000202f,
72210xc000002f,
72220xc000302f,
72230xc000102f,
72240xc000202f,
72250x4000002f,
72260x4000302f,
72270x4000102f,
72280x4000202f,
72290x800002f,
72300x800302f,
72310x800102f,
72320x800202f,
72330x2000002f,
72340x2000302f,
72350x2000102f,
72360x2000202f,
72370x7033,
72380x7013,
72390x40007033,
72400x17,
72410x48001033,
72420x48001013,
72430x48001013,
72440x63,
72450x63,
72460x48005033,
72470x48005013,
72480x48005013,
72490x5063,
72500x7063,
72510x5063,
72520x4063,
72530x6063,
72540x4063,
72550x68001033,
72560x68001013,
72570x68001013,
72580x5063,
72590x7063,
72600x5063,
72610x4063,
72620x6063,
72630x4063,
72640x1063,
72650x1063,
72660x68705013,
72670x28001033,
72680x28001013,
72690x28001013,
72700x9002,
72710x1,
72720x6101,
72730x0,
72740x2001,
72750x9c21,
72760x8c61,
72770x8801,
72780xc001,
72790xe001,
72800x9002,
72810x2000,
72820x2002,
72830x6000,
72840x6002,
72850xa000,
72860xa002,
72870xe000,
72880xe002,
72890xa001,
72900x2001,
72910x9002,
72920x8002,
72930x8000,
72940x6000,
72950x6002,
72960x8440,
72970x8400,
72980x4001,
72990x6001,
73000x4000,
73010x4002,
73020x6081,
73030x6581,
73040x6681,
73050x6781,
73060x6181,
73070x6281,
73080x6381,
73090x6481,
73100x6081,
73110x9c41,
73120x8002,
73130x1,
73140x9c75,
73150x9016,
73160x900a,
73170x900e,
73180x9012,
73190x8c41,
73200x8800,
73210xe000,
73220xe002,
73230x9c65,
73240x9c6d,
73250x2001,
73260x8c00,
73270x2,
73280x2,
73290x8401,
73300x8401,
73310x8001,
73320x8001,
73330x8c01,
73340x9c01,
73350xc000,
73360xc002,
73370x8c21,
73380x9c61,
73390x9c69,
73400x9c71,
73410x10200f,
73420x20200f,
73430x200f,
73440x40200f,
73450xa001033,
73460xa003033,
73470xa002033,
73480x60001013,
73490x6000101b,
73500xa002,
73510xac62,
73520xac22,
73530xba02,
73540xbe02,
73550xbc02,
73560xb802,
73570x60201013,
73580x6020101b,
73590x3073,
73600x7073,
73610x2073,
73620x3073,
73630x7073,
73640x2073,
73650x6073,
73660x1073,
73670x5073,
73680x2073,
73690x6073,
73700x1073,
73710x5073,
73720x60101013,
73730x6010101b,
73740xe005033,
73750xe007033,
73760x2004033,
73770x2005033,
73780x200503b,
73790x200403b,
73800x7b200073,
73810x100073,
73820x73,
73830x22002053,
73840x24002053,
73850x26002053,
73860x20002053,
73870x2000053,
73880x4000053,
73890x6000053,
73900x53,
73910xe2001053,
73920xe4001053,
73930xe6001053,
73940xe0001053,
73950x42200053,
73960xd2200053,
73970xd2300053,
73980x42300053,
73990x42000053,
74000xd2000053,
74010xd2100053,
74020x44100053,
74030xd4200053,
74040xd4300053,
74050x44300053,
74060x44000053,
74070xd4000053,
74080xd4100053,
74090xc2200053,
74100xc4200053,
74110xc6200053,
74120xc0200053,
74130xc2300053,
74140xc4300053,
74150xc6300053,
74160xc0300053,
74170x46100053,
74180x46200053,
74190xd6200053,
74200xd6300053,
74210x46000053,
74220xd6000053,
74230xd6100053,
74240x40100053,
74250x40200053,
74260xd0200053,
74270xd0300053,
74280x40300053,
74290xd0000053,
74300xd0100053,
74310xc2000053,
74320xc4000053,
74330xc6000053,
74340xc0000053,
74350xc2100053,
74360xc4100053,
74370xc6100053,
74380xc0100053,
74390xc2801053,
74400x1a000053,
74410x1c000053,
74420x1e000053,
74430x18000053,
74440xf,
74450x100f,
74460x8330000f,
74470xa2002053,
74480xa4002053,
74490xa6002053,
74500xa0002053,
74510x3007,
74520xa2000053,
74530xa4000053,
74540xa6000053,
74550xa0000053,
74560xa2004053,
74570xa4004053,
74580xa6004053,
74590xa0004053,
74600x1007,
74610xf2100053,
74620xf4100053,
74630xf6100053,
74640xf0100053,
74650x4007,
74660xa2001053,
74670xa4001053,
74680xa6001053,
74690xa0001053,
74700xa2005053,
74710xa4005053,
74720xa6005053,
74730xa0005053,
74740x2007,
74750x2000043,
74760x4000043,
74770x6000043,
74780x43,
74790x2a001053,
74800x2c001053,
74810x2e001053,
74820x28001053,
74830x2a003053,
74840x2c003053,
74850x2e003053,
74860x28003053,
74870x2a000053,
74880x2c000053,
74890x2e000053,
74900x28000053,
74910x2a002053,
74920x2c002053,
74930x2e002053,
74940x28002053,
74950x2000047,
74960x4000047,
74970x6000047,
74980x47,
74990x12000053,
75000x14000053,
75010x16000053,
75020x10000053,
75030x22000053,
75040xf2000053,
75050x24000053,
75060xf4000053,
75070x26000053,
75080x20000053,
75090xf0000053,
75100xf0000053,
75110xe2000053,
75120xe4000053,
75130xe0000053,
75140xe0000053,
75150xe2100053,
75160xe6100053,
75170xb2000053,
75180xb6000053,
75190x22001053,
75200x24001053,
75210x26001053,
75220x20001053,
75230x200004f,
75240x400004f,
75250x600004f,
75260x4f,
75270x200004b,
75280x400004b,
75290x600004b,
75300x4b,
75310x302073,
75320x102073,
75330x42400053,
75340x44400053,
75350x46400053,
75360x40400053,
75370x42500053,
75380x44500053,
75390x46500053,
75400x40500053,
75410x202073,
75420x301073,
75430x3027,
75440x101073,
75450x105073,
75460x22000053,
75470x24000053,
75480x26000053,
75490x20000053,
75500x22001053,
75510x24001053,
75520x26001053,
75530x20001053,
75540x22002053,
75550x24002053,
75560x26002053,
75570x20002053,
75580x1027,
75590x4027,
75600x5a000053,
75610x5c000053,
75620x5e000053,
75630x58000053,
75640x201073,
75650x205073,
75660xa000053,
75670xc000053,
75680xe000053,
75690x8000053,
75700x2027,
75710x62000073,
75720x22000073,
75730x66000073,
75740x26000073,
75750x60004073,
75760x60104073,
75770x6c004073,
75780x64004073,
75790x64104073,
75800x68004073,
75810x68104073,
75820x64304073,
75830x68304073,
75840x62004073,
75850x6e004073,
75860x66004073,
75870x6a004073,
75880x6f,
75890x6f,
75900xef,
75910x67,
75920xe7,
75930x67,
75940x3,
75950x4003,
75960x3003,
75970x1003,
75980x5003,
75990x1000302f,
76000x1000202f,
76010x37,
76020x2003,
76030x6003,
76040xa006033,
76050xa007033,
76060xa004033,
76070xa005033,
76080x81c04073,
76090x81d04073,
76100x89e04073,
76110x89f04073,
76120x8dc04073,
76130x8dd04073,
76140x8de04073,
76150x8df04073,
76160xc1c04073,
76170xc1d04073,
76180xc1e04073,
76190xc1f04073,
76200x81e04073,
76210xc5c04073,
76220xc5d04073,
76230xc5e04073,
76240xc5f04073,
76250xc9c04073,
76260xc9d04073,
76270xc9e04073,
76280xc9f04073,
76290xcdc04073,
76300xcdd04073,
76310x81f04073,
76320xcde04073,
76330xcdf04073,
76340x85c04073,
76350x85d04073,
76360x85e04073,
76370x85f04073,
76380x89c04073,
76390x89d04073,
76400x81c04073,
76410x82004073,
76420x86004073,
76430x8a004073,
76440x8e004073,
76450xc2004073,
76460xc6004073,
76470xca004073,
76480xce004073,
76490x82004073,
76500x30200073,
76510x2000033,
76520x2001033,
76530x2002033,
76540x2003033,
76550x200003b,
76560x13,
76570x40000033,
76580x13,
76590x500033,
76600x200033,
76610x300033,
76620x400033,
76630x6033,
76640x28705013,
76650x6013,
76660x40006033,
76670x8004033,
76680x8007033,
76690x800403b,
76700x100000f,
76710x6013,
76720x106013,
76730x306013,
76740xc0002073,
76750xc8002073,
76760xc0202073,
76770xc8202073,
76780xc0102073,
76790xc8102073,
76800x2006033,
76810x2007033,
76820x200703b,
76830x200603b,
76840x8067,
76850x6b805013,
76860x69805013,
76870x60001033,
76880x6000103b,
76890x60005033,
76900x60005013,
76910x60005013,
76920x6000501b,
76930x6000503b,
76940x23,
76950x100073,
76960x1800302f,
76970x1800202f,
76980x73,
76990x3023,
77000x103013,
77010x60401013,
77020x60501013,
77030x1b,
77040x18100073,
77050x12000073,
77060x18000073,
77070x2033,
77080x1023,
77090x20002033,
77100x2000203b,
77110x20004033,
77120x2000403b,
77130x20006033,
77140x2000603b,
77150x10201013,
77160x10301013,
77170x10001013,
77180x10101013,
77190x10601013,
77200x5c000033,
77210x54000033,
77220x10701013,
77230x5e000033,
77240x56000033,
77250x10401013,
77260x50000033,
77270x10501013,
77280x52000033,
77290x16000073,
77300x1033,
77310x1013,
77320x1013,
77330x800101b,
77340x101b,
77350x103b,
77360x2033,
77370x2013,
77380x3013,
77390x3033,
77400x2033,
77410x10801013,
77420x10901013,
77430x30000033,
77440x34000033,
77450x3033,
77460x40005033,
77470x40005013,
77480x40005013,
77490x4000501b,
77500x4000503b,
77510x10200073,
77520x5033,
77530x5013,
77540x5013,
77550x501b,
77560x503b,
77570x40000033,
77580x4000003b,
77590x2023,
77600x8f05013,
77610x24002057,
77620x24006057,
77630x20002057,
77640x20006057,
77650x40003057,
77660x40000057,
77670x40004057,
77680x3057,
77690x57,
77700x4057,
77710xa600a077,
77720xa200a077,
77730xa6002077,
77740xa2002077,
77750xa601a077,
77760xa201a077,
77770xa6012077,
77780xa2012077,
77790x8a002077,
77800xaa002077,
77810xa603a077,
77820x24003057,
77830x24000057,
77840x24004057,
77850x4000057,
77860x4004057,
77870x2c002057,
77880x2c006057,
77890x28002057,
77900x28006057,
77910x48042057,
77920x48052057,
77930x30002057,
77940x30006057,
77950x34002057,
77960x34006057,
77970x48062057,
77980x5e002057,
77990x40082057,
78000x48072057,
78010x4806a057,
78020x84002057,
78030x84006057,
78040x80002057,
78050x80006057,
78060x5057,
78070x1057,
78080x4c081057,
78090x48019057,
78100x48011057,
78110x48039057,
78120x48031057,
78130x48009057,
78140x48001057,
78150x80005057,
78160x80001057,
78170x4008a057,
78180xb0005057,
78190xb0001057,
78200xa0005057,
78210xa0001057,
78220x18005057,
78230x18001057,
78240x5c005057,
78250x10005057,
78260x10001057,
78270xb8005057,
78280xb8001057,
78290xa8005057,
78300xa8001057,
78310x90005057,
78320x90001057,
78330x42001057,
78340x42005057,
78350x5e005057,
78360x480a1057,
78370x48099057,
78380x48091057,
78390x480a9057,
78400x480b9057,
78410x480b1057,
78420x48089057,
78430x48081057,
78440xb4005057,
78450xb4001057,
78460xa4005057,
78470xa4001057,
78480xbc005057,
78490xbc001057,
78500xac005057,
78510xac001057,
78520x84005057,
78530x4c029057,
78540x1c001057,
78550x14001057,
78560xc001057,
78570x4001057,
78580x4001057,
78590x4c021057,
78600x9c005057,
78610x20005057,
78620x20001057,
78630x24005057,
78640x24001057,
78650x28005057,
78660x28001057,
78670x3c005057,
78680x38005057,
78690x4c001057,
78700x8005057,
78710x8001057,
78720xc0005057,
78730xc0001057,
78740xd0005057,
78750xd0001057,
78760x48061057,
78770x48059057,
78780x48051057,
78790x48079057,
78800x48071057,
78810x48049057,
78820x48041057,
78830xf0005057,
78840xf0001057,
78850xf8005057,
78860xf8001057,
78870xe0005057,
78880xe0001057,
78890xf4005057,
78900xf4001057,
78910xfc005057,
78920xfc001057,
78930xcc001057,
78940xc4001057,
78950xc4001057,
78960xc8005057,
78970xc8001057,
78980xd8005057,
78990xd8001057,
79000xb2002077,
79010xa208a077,
79020x5008a057,
79030x50082057,
79040x2800007,
79050x2805007,
79060x2806007,
79070x2807007,
79080x2800007,
79090x22800007,
79100x22805007,
79110x22806007,
79120x22807007,
79130x22800007,
79140x62800007,
79150x62805007,
79160x62806007,
79170x62807007,
79180x62800007,
79190xe2800007,
79200xe2805007,
79210xe2806007,
79220xe2807007,
79230xe2800007,
79240x5007,
79250x1005007,
79260x2b00007,
79270x6007,
79280x1006007,
79290x7007,
79300x1007007,
79310x7,
79320x1000007,
79330x2b00007,
79340xc005007,
79350xc006007,
79360xc007007,
79370xc000007,
79380x8005007,
79390x8006007,
79400x8007007,
79410x8000007,
79420x4005007,
79430x4006007,
79440x4007007,
79450x4000007,
79460xb4002057,
79470xb4006057,
79480x46003057,
79490x44003057,
79500x46000057,
79510x44000057,
79520x46004057,
79530x44004057,
79540xa4002057,
79550xa4006057,
79560x66002057,
79570x62002057,
79580x60002057,
79590x1c000057,
79600x1c004057,
79610x18000057,
79620x18004057,
79630x5c003057,
79640x5c000057,
79650x5c004057,
79660x60005057,
79670x60001057,
79680x7c005057,
79690x74005057,
79700x64005057,
79710x64001057,
79720x6c005057,
79730x6c001057,
79740x70005057,
79750x70001057,
79760x14000057,
79770x14004057,
79780x10000057,
79790x10004057,
79800x76002057,
79810x7a002057,
79820x6a002057,
79830x72002057,
79840x70002057,
79850x4e000057,
79860x4c000057,
79870x4e004057,
79880x4c004057,
79890x5000a057,
79900x60003057,
79910x60000057,
79920x60004057,
79930x7c003057,
79940x7c004057,
79950x78003057,
79960x78004057,
79970x5001a057,
79980x74003057,
79990x74000057,
80000x74004057,
80010x70003057,
80020x70000057,
80030x70004057,
80040x6c000057,
80050x6c004057,
80060x68000057,
80070x68004057,
80080x64003057,
80090x64000057,
80100x64004057,
80110x50012057,
80120x94002057,
80130x94006057,
80140x9c002057,
80150x9c006057,
80160x98002057,
80170x98006057,
80180x90002057,
80190x90006057,
80200x9e003057,
80210x9e00b057,
80220x9e01b057,
80230x9e03b057,
80240x42006057,
80250x5e003057,
80260x5e000057,
80270x5e004057,
80280x42002057,
80290x7e002057,
80300x6e002057,
80310xbc003057,
80320xbc000057,
80330xbc004057,
80340xb8003057,
80350xb8000057,
80360xb8004057,
80370xbc002057,
80380xbc006057,
80390xac002057,
80400xac006057,
80410xb4003057,
80420xb4000057,
80430xb4004057,
80440xb0003057,
80450xb0000057,
80460xb0004057,
80470x28003057,
80480x28000057,
80490x28004057,
80500x40082057,
80510x4002057,
80520x1c002057,
80530x18002057,
80540x14002057,
80550x10002057,
80560x8002057,
80570x2057,
80580xc002057,
80590x8c002057,
80600x8c006057,
80610x88002057,
80620x88006057,
80630x4804a057,
80640x30003057,
80650x30000057,
80660x30004057,
80670x38000057,
80680x54000057,
80690x54004057,
80700x50003057,
80710x50000057,
80720x50004057,
80730xc003057,
80740xc004057,
80750x2800027,
80760x22800027,
80770x62800027,
80780xe2800027,
80790x84003057,
80800x84000057,
80810x84004057,
80820x80003057,
80830x80000057,
80840x80004057,
80850x48000057,
80860x48004057,
80870x5027,
80880x2b00027,
80890x6027,
80900x7027,
80910x27,
80920xc0007057,
80930x80007057,
80940x7057,
80950x4803a057,
80960x4802a057,
80970x4801a057,
80980xba002077,
80990xbe002077,
81000xb6002077,
81010x3c006057,
81020x38006057,
81030x3c003057,
81040x3c004057,
81050x38003057,
81060x38004057,
81070x94003057,
81080x94000057,
81090x94004057,
81100xae002077,
81110x82002077,
81120x86002077,
81130xa6082077,
81140xa2082077,
81150x2b00027,
81160x9c000057,
81170x9c004057,
81180xc005027,
81190xc006027,
81200xc007027,
81210xc000027,
81220xa4003057,
81230xa4000057,
81240xa4004057,
81250xa0003057,
81260xa0000057,
81270xa0004057,
81280x8005027,
81290x8006027,
81300x8007027,
81310x8000027,
81320xac003057,
81330xac000057,
81340xac004057,
81350xa8003057,
81360xa8000057,
81370xa8004057,
81380x8c000057,
81390x8c004057,
81400x88000057,
81410x88004057,
81420x8000057,
81430x8004057,
81440x4005027,
81450x4006027,
81460x4007027,
81470x4000027,
81480xc4002057,
81490xc4006057,
81500xd4002057,
81510xd4006057,
81520xc0002057,
81530xc0006057,
81540xd0002057,
81550xd0006057,
81560xf4002057,
81570xf4006057,
81580xfc002057,
81590xfc006057,
81600xf0002057,
81610xf0006057,
81620xf8006057,
81630xec002057,
81640xec006057,
81650xe8002057,
81660xe8006057,
81670xe0002057,
81680xe0006057,
81690xc4000057,
81700xc0000057,
81710xd4003057,
81720xd4000057,
81730xd4004057,
81740xcc002057,
81750xcc006057,
81760xdc002057,
81770xdc006057,
81780xc8002057,
81790xc8006057,
81800xd8002057,
81810xd8006057,
81820x2c003057,
81830x2c000057,
81840x2c004057,
81850x48032057,
81860x48022057,
81870x48012057,
81880x10500073,
81890xd00073,
81900x1d00073,
81910x40004033,
81920x4033,
81930x4013,
81940x28002033,
81950x28004033,
81960x7013,
81970x800403b,
81980x8004033,
81990x800003b,
82000x8f01013,
8201];
8202pub static OPCODE_MASK: [u32; 1021] = [
82030xfe00707f,
82040xfe00707f,
82050x707f,
82060x707f,
82070xfe00707f,
82080x3e00707f,
82090x3e00707f,
82100x3e00707f,
82110x3e00707f,
82120xfe00707f,
82130xfe00707f,
82140xfe00707f,
82150xfe00707f,
82160xfff0707f,
82170xff00707f,
82180xfe00707f,
82190xf800707f,
82200xf800707f,
82210xf800707f,
82220xf800707f,
82230xf800707f,
82240xf800707f,
82250xf800707f,
82260xf800707f,
82270xf800707f,
82280xf800707f,
82290xf800707f,
82300xf800707f,
82310xf800707f,
82320xf800707f,
82330xf800707f,
82340xf800707f,
82350xf800707f,
82360xf800707f,
82370xf800707f,
82380xf800707f,
82390xf800707f,
82400xf800707f,
82410xf800707f,
82420xf800707f,
82430xf800707f,
82440xf800707f,
82450xf800707f,
82460xf800707f,
82470xf800707f,
82480xf800707f,
82490xf800707f,
82500xf800707f,
82510xf800707f,
82520xf800707f,
82530xf800707f,
82540xf800707f,
82550xf800707f,
82560xf800707f,
82570xf800707f,
82580xf800707f,
82590xf800707f,
82600xfe00707f,
82610x707f,
82620xfe00707f,
82630x7f,
82640xfe00707f,
82650xfc00707f,
82660xfe00707f,
82670x707f,
82680x1f0707f,
82690xfe00707f,
82700xfc00707f,
82710xfe00707f,
82720x707f,
82730x707f,
82740x1f0707f,
82750x707f,
82760x707f,
82770xff07f,
82780xfe00707f,
82790xfc00707f,
82800xfe00707f,
82810x707f,
82820x707f,
82830xff07f,
82840x707f,
82850x707f,
82860x1f0707f,
82870x707f,
82880x1f0707f,
82890xfff0707f,
82900xfe00707f,
82910xfc00707f,
82920xfe00707f,
82930xf003,
82940xe003,
82950xef83,
82960xe003,
82970xe003,
82980xfc63,
82990xfc63,
83000xec03,
83010xe003,
83020xe003,
83030xffff,
83040xe003,
83050xe003,
83060xe003,
83070xe003,
83080xe003,
83090xe003,
83100xe003,
83110xe003,
83120xe003,
83130xe003,
83140xf07f,
83150xf07f,
83160xfc03,
83170xe003,
83180xe003,
83190xfc43,
83200xfc43,
83210xe003,
83220xe003,
83230xe003,
83240xe003,
83250xffff,
83260xffff,
83270xffff,
83280xffff,
83290xffff,
83300xffff,
83310xffff,
83320xffff,
83330xf8ff,
83340xfc63,
83350xf003,
83360xef83,
83370xfc7f,
83380xffff,
83390xffff,
83400xffff,
83410xffff,
83420xfc63,
83430xfc03,
83440xe003,
83450xe003,
83460xfc7f,
83470xfc7f,
83480xf07f,
83490xfc43,
83500xe003,
83510xf003,
83520xec03,
83530xfc03,
83540xec03,
83550xfc03,
83560xfc63,
83570xfc63,
83580xe003,
83590xe003,
83600xfc63,
83610xfc7f,
83620xfc7f,
83630xfc7f,
83640xfff07fff,
83650xfff07fff,
83660xfff07fff,
83670xfff07fff,
83680xfe00707f,
83690xfe00707f,
83700xfe00707f,
83710xfff0707f,
83720xfff0707f,
83730xfc03,
83740xfc63,
83750xfc63,
83760xff03,
83770xff03,
83780xff03,
83790xff03,
83800xfff0707f,
83810xfff0707f,
83820x7fff,
83830x7fff,
83840xff07f,
83850x707f,
83860x707f,
83870x707f,
83880x707f,
83890x707f,
83900x707f,
83910x7fff,
83920x7fff,
83930x7fff,
83940x7fff,
83950xfff0707f,
83960xfff0707f,
83970xfe00707f,
83980xfe00707f,
83990xfe00707f,
84000xfe00707f,
84010xfe00707f,
84020xfe00707f,
84030xffffffff,
84040xffffffff,
84050xffffffff,
84060xfe00707f,
84070xfe00707f,
84080xfe00707f,
84090xfe00707f,
84100xfe00007f,
84110xfe00007f,
84120xfe00007f,
84130xfe00007f,
84140xfff0707f,
84150xfff0707f,
84160xfff0707f,
84170xfff0707f,
84180xfff0007f,
84190xfff0007f,
84200xfff0007f,
84210xfff0007f,
84220xfff0007f,
84230xfff0007f,
84240xfff0007f,
84250xfff0007f,
84260xfff0007f,
84270xfff0007f,
84280xfff0007f,
84290xfff0007f,
84300xfff0007f,
84310xfff0007f,
84320xfff0007f,
84330xfff0007f,
84340xfff0007f,
84350xfff0007f,
84360xfff0007f,
84370xfff0007f,
84380xfff0007f,
84390xfff0007f,
84400xfff0007f,
84410xfff0007f,
84420xfff0007f,
84430xfff0007f,
84440xfff0007f,
84450xfff0007f,
84460xfff0007f,
84470xfff0007f,
84480xfff0007f,
84490xfff0007f,
84500xfff0007f,
84510xfff0007f,
84520xfff0007f,
84530xfff0007f,
84540xfff0007f,
84550xfff0007f,
84560xfff0007f,
84570xfff0007f,
84580xfff0007f,
84590xfff0007f,
84600xfff0007f,
84610xfff0007f,
84620xfff0707f,
84630xfe00007f,
84640xfe00007f,
84650xfe00007f,
84660xfe00007f,
84670x707f,
84680x707f,
84690xfff0707f,
84700xfe00707f,
84710xfe00707f,
84720xfe00707f,
84730xfe00707f,
84740x707f,
84750xfe00707f,
84760xfe00707f,
84770xfe00707f,
84780xfe00707f,
84790xfe00707f,
84800xfe00707f,
84810xfe00707f,
84820xfe00707f,
84830x707f,
84840xfff0707f,
84850xfff0707f,
84860xfff0707f,
84870xfff0707f,
84880x707f,
84890xfe00707f,
84900xfe00707f,
84910xfe00707f,
84920xfe00707f,
84930xfe00707f,
84940xfe00707f,
84950xfe00707f,
84960xfe00707f,
84970x707f,
84980x600007f,
84990x600007f,
85000x600007f,
85010x600007f,
85020xfe00707f,
85030xfe00707f,
85040xfe00707f,
85050xfe00707f,
85060xfe00707f,
85070xfe00707f,
85080xfe00707f,
85090xfe00707f,
85100xfe00707f,
85110xfe00707f,
85120xfe00707f,
85130xfe00707f,
85140xfe00707f,
85150xfe00707f,
85160xfe00707f,
85170xfe00707f,
85180x600007f,
85190x600007f,
85200x600007f,
85210x600007f,
85220xfe00007f,
85230xfe00007f,
85240xfe00007f,
85250xfe00007f,
85260xfe00707f,
85270xfff0707f,
85280xfe00707f,
85290xfff0707f,
85300xfe00707f,
85310xfe00707f,
85320xfff0707f,
85330xfff0707f,
85340xfff0707f,
85350xfff0707f,
85360xfff0707f,
85370xfff0707f,
85380xfff0707f,
85390xfff0707f,
85400xfe00707f,
85410xfe00707f,
85420xfe00707f,
85430xfe00707f,
85440xfe00707f,
85450xfe00707f,
85460x600007f,
85470x600007f,
85480x600007f,
85490x600007f,
85500x600007f,
85510x600007f,
85520x600007f,
85530x600007f,
85540xfffff07f,
85550xfffff07f,
85560xfff0007f,
85570xfff0007f,
85580xfff0007f,
85590xfff0007f,
85600xfff0007f,
85610xfff0007f,
85620xfff0007f,
85630xfff0007f,
85640xfffff07f,
85650xfff0707f,
85660x707f,
85670xfff0707f,
85680xfff0707f,
85690xfe00707f,
85700xfe00707f,
85710xfe00707f,
85720xfe00707f,
85730xfe00707f,
85740xfe00707f,
85750xfe00707f,
85760xfe00707f,
85770xfe00707f,
85780xfe00707f,
85790xfe00707f,
85800xfe00707f,
85810x707f,
85820x707f,
85830xfff0007f,
85840xfff0007f,
85850xfff0007f,
85860xfff0007f,
85870xfff0707f,
85880xfff0707f,
85890xfe00007f,
85900xfe00007f,
85910xfe00007f,
85920xfe00007f,
85930x707f,
85940xfe007fff,
85950xfe007fff,
85960xfe007fff,
85970xfe007fff,
85980xfff0707f,
85990xfff0707f,
86000xfff0707f,
86010xfff0707f,
86020xfff0707f,
86030xfff0707f,
86040xfff0707f,
86050xfff0707f,
86060xfff0707f,
86070xfe007fff,
86080xfe007fff,
86090xfe007fff,
86100xfe007fff,
86110xfff,
86120x7f,
86130xfff,
86140x707f,
86150xfff07fff,
86160xfff07fff,
86170x707f,
86180x707f,
86190x707f,
86200x707f,
86210x707f,
86220xf9f0707f,
86230xf9f0707f,
86240x7f,
86250x707f,
86260x707f,
86270xfe00707f,
86280xfe00707f,
86290xfe00707f,
86300xfe00707f,
86310xfff0707f,
86320xfff0707f,
86330xfff0707f,
86340xfff0707f,
86350xfff0707f,
86360xfff0707f,
86370xfff0707f,
86380xfff0707f,
86390xfff0707f,
86400xfff0707f,
86410xfff0707f,
86420xfff0707f,
86430xfff0707f,
86440xfff0707f,
86450xfff0707f,
86460xfff0707f,
86470xfff0707f,
86480xfff0707f,
86490xfff0707f,
86500xfff0707f,
86510xfff0707f,
86520xfff0707f,
86530xfff0707f,
86540xfff0707f,
86550xfff0707f,
86560xfff0707f,
86570xfff0707f,
86580xfff0707f,
86590xfff0707f,
86600xfff0707f,
86610xfff0707f,
86620xfff0707f,
86630xb3c0707f,
86640xfe00707f,
86650xfe00707f,
86660xfe00707f,
86670xfe00707f,
86680xfe00707f,
86690xfe00707f,
86700xfe00707f,
86710xfe00707f,
86720xb200707f,
86730xffffffff,
86740xfe00707f,
86750xfe00707f,
86760xfe00707f,
86770xfe00707f,
86780xfe00707f,
86790xfff0707f,
86800xfff0707f,
86810xffffffff,
86820xffffffff,
86830xffffffff,
86840xffffffff,
86850xffffffff,
86860xfe00707f,
86870xfff0707f,
86880x707f,
86890xfe00707f,
86900xfe00707f,
86910xfe00707f,
86920xfe00707f,
86930xffffffff,
86940x1f07fff,
86950x1f07fff,
86960x1f07fff,
86970xfffff07f,
86980xfffff07f,
86990xfffff07f,
87000xfffff07f,
87010xfffff07f,
87020xfffff07f,
87030xfe00707f,
87040xfe00707f,
87050xfe00707f,
87060xfe00707f,
87070xffffffff,
87080xfff0707f,
87090xfff0707f,
87100xfe00707f,
87110xfe00707f,
87120xfe00707f,
87130xfc00707f,
87140xfe00707f,
87150xfe00707f,
87160xfe00707f,
87170x707f,
87180xffffffff,
87190xf800707f,
87200xf800707f,
87210xffffffff,
87220x707f,
87230xfff0707f,
87240xfff0707f,
87250xfff0707f,
87260xfff0707f,
87270xffffffff,
87280xfe007fff,
87290xffffffff,
87300xfe0ff07f,
87310x707f,
87320xfe00707f,
87330xfe00707f,
87340xfe00707f,
87350xfe00707f,
87360xfe00707f,
87370xfe00707f,
87380xfff0707f,
87390xfff0707f,
87400xfff0707f,
87410xfff0707f,
87420xfff0707f,
87430xfe00707f,
87440xfe00707f,
87450xfff0707f,
87460xfe00707f,
87470xfe00707f,
87480xfff0707f,
87490xfe00707f,
87500xfff0707f,
87510xfe00707f,
87520xfe007fff,
87530xfe00707f,
87540xfc00707f,
87550xfe00707f,
87560xfc00707f,
87570xfe00707f,
87580xfe00707f,
87590xfe00707f,
87600x707f,
87610x707f,
87620xfe00707f,
87630xfff0707f,
87640xfff0707f,
87650xfff0707f,
87660x3e00707f,
87670x3e00707f,
87680xfe0ff07f,
87690xfe00707f,
87700xfc00707f,
87710xfe00707f,
87720xfe00707f,
87730xfe00707f,
87740xffffffff,
87750xfe00707f,
87760xfc00707f,
87770xfe00707f,
87780xfe00707f,
87790xfe00707f,
87800xfe00707f,
87810xfe00707f,
87820x707f,
87830xfff0707f,
87840xfc00707f,
87850xfc00707f,
87860xfc00707f,
87870xfc00707f,
87880xfe00707f,
87890xfe00707f,
87900xfe00707f,
87910xfc00707f,
87920xfc00707f,
87930xfc00707f,
87940xfe0ff07f,
87950xfe0ff07f,
87960xfe0ff07f,
87970xfe0ff07f,
87980xfe0ff07f,
87990xfe0ff07f,
88000xfe0ff07f,
88010xfe0ff07f,
88020xfe00707f,
88030xfe00707f,
88040xfe0ff07f,
88050xfc00707f,
88060xfc00707f,
88070xfc00707f,
88080xfc00707f,
88090xfc00707f,
88100xfc00707f,
88110xfc00707f,
88120xfc00707f,
88130xfc00707f,
88140xfc0ff07f,
88150xfc0ff07f,
88160xfc00707f,
88170xfc00707f,
88180xfc00707f,
88190xfc00707f,
88200xfc0ff07f,
88210xfe00707f,
88220xfc0ff07f,
88230xfc0ff07f,
88240xfc0ff07f,
88250xfc00707f,
88260xfc00707f,
88270xfc00707f,
88280xfc00707f,
88290xfc00707f,
88300xfc00707f,
88310xfc0ff07f,
88320xfc0ff07f,
88330xfc0ff07f,
88340xfc0ff07f,
88350xfc0ff07f,
88360xfc0ff07f,
88370xfc0ff07f,
88380xfc00707f,
88390xfc00707f,
88400xfc0ff07f,
88410xfc00707f,
88420xfc00707f,
88430xfc00707f,
88440xfc00707f,
88450xfc00707f,
88460xfc00707f,
88470xfe00707f,
88480xfc00707f,
88490xfc00707f,
88500xfc00707f,
88510xfc00707f,
88520xfc00707f,
88530xfc00707f,
88540xfc00707f,
88550xfc00707f,
88560xfe0ff07f,
88570xfff0707f,
88580xfff0707f,
88590xfc0ff07f,
88600xfc0ff07f,
88610xfc0ff07f,
88620xfc0ff07f,
88630xfc0ff07f,
88640xfc0ff07f,
88650xfc0ff07f,
88660xfc0ff07f,
88670xfc00707f,
88680xfc00707f,
88690xfc00707f,
88700xfc00707f,
88710xfc00707f,
88720xfc00707f,
88730xfc00707f,
88740xfc00707f,
88750xfc00707f,
88760xfc0ff07f,
88770xfc00707f,
88780xfc00707f,
88790xfc00707f,
88800xfc00707f,
88810xfc00707f,
88820xfc0ff07f,
88830xfc00707f,
88840xfc00707f,
88850xfc00707f,
88860xfc00707f,
88870xfc00707f,
88880xfc00707f,
88890xfc00707f,
88900xfc00707f,
88910xfc00707f,
88920xfc0ff07f,
88930xfc00707f,
88940xfc00707f,
88950xfc00707f,
88960xfc00707f,
88970xfc00707f,
88980xfc00707f,
88990xfc0ff07f,
89000xfc0ff07f,
89010xfc0ff07f,
89020xfc0ff07f,
89030xfc0ff07f,
89040xfc0ff07f,
89050xfc0ff07f,
89060xfc00707f,
89070xfc00707f,
89080xfc00707f,
89090xfc00707f,
89100xfc00707f,
89110xfc00707f,
89120xfc00707f,
89130xfc00707f,
89140xfc00707f,
89150xfc00707f,
89160xfc00707f,
89170xfc00707f,
89180xfc00707f,
89190xfc00707f,
89200xfc00707f,
89210xfc00707f,
89220xfc00707f,
89230xfe00707f,
89240xfe0ff07f,
89250xfdfff07f,
89260xfc0ff07f,
89270xfff0707f,
89280xfff0707f,
89290xfff0707f,
89300xfff0707f,
89310xfff0707f,
89320xfff0707f,
89330xfff0707f,
89340xfff0707f,
89350xfff0707f,
89360xfff0707f,
89370xfff0707f,
89380xfff0707f,
89390xfff0707f,
89400xfff0707f,
89410xfff0707f,
89420xfff0707f,
89430xfff0707f,
89440xfff0707f,
89450xfff0707f,
89460xfff0707f,
89470x1df0707f,
89480x1df0707f,
89490xfff0707f,
89500x1df0707f,
89510x1df0707f,
89520x1df0707f,
89530x1df0707f,
89540x1df0707f,
89550x1df0707f,
89560xfff0707f,
89570x1c00707f,
89580x1c00707f,
89590x1c00707f,
89600x1c00707f,
89610x1c00707f,
89620x1c00707f,
89630x1c00707f,
89640x1c00707f,
89650x1c00707f,
89660x1c00707f,
89670x1c00707f,
89680x1c00707f,
89690xfc00707f,
89700xfc00707f,
89710xfe00707f,
89720xfe00707f,
89730xfe00707f,
89740xfe00707f,
89750xfe00707f,
89760xfe00707f,
89770xfc00707f,
89780xfc00707f,
89790xfe00707f,
89800xfe00707f,
89810xfc00707f,
89820xfc00707f,
89830xfc00707f,
89840xfc00707f,
89850xfc00707f,
89860xfe00707f,
89870xfe00707f,
89880xfe00707f,
89890xfc00707f,
89900xfc00707f,
89910xfc00707f,
89920xfc00707f,
89930xfc00707f,
89940xfc00707f,
89950xfc00707f,
89960xfc00707f,
89970xfc00707f,
89980xfc00707f,
89990xfc00707f,
90000xfc00707f,
90010xfc00707f,
90020xfc00707f,
90030xfe00707f,
90040xfe00707f,
90050xfe00707f,
90060xfe00707f,
90070xfc00707f,
90080xfe00707f,
90090xfe00707f,
90100xfe00707f,
90110xfe00707f,
90120xfc0ff07f,
90130xfc00707f,
90140xfc00707f,
90150xfc00707f,
90160xfc00707f,
90170xfc00707f,
90180xfc00707f,
90190xfc00707f,
90200xfc0ff07f,
90210xfc00707f,
90220xfc00707f,
90230xfc00707f,
90240xfc00707f,
90250xfc00707f,
90260xfc00707f,
90270xfc00707f,
90280xfc00707f,
90290xfc00707f,
90300xfc00707f,
90310xfc00707f,
90320xfc00707f,
90330xfc00707f,
90340xfc0ff07f,
90350xfc00707f,
90360xfc00707f,
90370xfc00707f,
90380xfc00707f,
90390xfc00707f,
90400xfc00707f,
90410xfc00707f,
90420xfc00707f,
90430xfe0ff07f,
90440xfe0ff07f,
90450xfe0ff07f,
90460xfe0ff07f,
90470xfff0707f,
90480xfff0707f,
90490xfff0707f,
90500xfff0707f,
90510xfe0ff07f,
90520xfe00707f,
90530xfe00707f,
90540xfc00707f,
90550xfc00707f,
90560xfc00707f,
90570xfc00707f,
90580xfc00707f,
90590xfc00707f,
90600xfc00707f,
90610xfc00707f,
90620xfc00707f,
90630xfc00707f,
90640xfc00707f,
90650xfc00707f,
90660xfc00707f,
90670xfc00707f,
90680xfc00707f,
90690xfc00707f,
90700xfc00707f,
90710xfc00707f,
90720xfc00707f,
90730xfc0ff07f,
90740xfc00707f,
90750xfc00707f,
90760xfc00707f,
90770xfc00707f,
90780xfc00707f,
90790xfc00707f,
90800xfc00707f,
90810xfc00707f,
90820xfc00707f,
90830xfc00707f,
90840xfc00707f,
90850xfc00707f,
90860xfc0ff07f,
90870xfc00707f,
90880xfc00707f,
90890xfc00707f,
90900xfc00707f,
90910xfc00707f,
90920xfc00707f,
90930xf800707f,
90940xfc00707f,
90950xfc00707f,
90960xfc00707f,
90970xfc00707f,
90980xfff0707f,
90990xfff0707f,
91000xfff0707f,
91010xfff0707f,
91020xfc00707f,
91030xfc00707f,
91040xfc00707f,
91050xfc00707f,
91060xfc00707f,
91070xfc00707f,
91080xfe00707f,
91090xfe00707f,
91100x1df0707f,
91110xfff0707f,
91120x1df0707f,
91130x1df0707f,
91140x1df0707f,
91150xc000707f,
91160xfe00707f,
91170x8000707f,
91180xfc0ff07f,
91190xfc0ff07f,
91200xfc0ff07f,
91210xfe00707f,
91220xfe00707f,
91230xfe00707f,
91240xfc00707f,
91250xfc00707f,
91260xfc00707f,
91270xfc00707f,
91280xfc00707f,
91290xfc00707f,
91300xfc00707f,
91310xfc00707f,
91320xfc00707f,
91330xfe00707f,
91340xfe00707f,
91350xfe00707f,
91360xfe0ff07f,
91370xfe0ff07f,
91380xfff0707f,
91390xfc00707f,
91400xfc00707f,
91410x1c00707f,
91420x1c00707f,
91430x1c00707f,
91440x1c00707f,
91450xfc00707f,
91460xfc00707f,
91470xfc00707f,
91480xfc00707f,
91490xfc00707f,
91500xfc00707f,
91510x1c00707f,
91520x1c00707f,
91530x1c00707f,
91540x1c00707f,
91550xfc00707f,
91560xfc00707f,
91570xfc00707f,
91580xfc00707f,
91590xfc00707f,
91600xfc00707f,
91610xfc00707f,
91620xfc00707f,
91630xfc00707f,
91640xfc00707f,
91650xfc00707f,
91660xfc00707f,
91670x1c00707f,
91680x1c00707f,
91690x1c00707f,
91700x1c00707f,
91710xfc00707f,
91720xfc00707f,
91730xfc00707f,
91740xfc00707f,
91750xfc00707f,
91760xfc00707f,
91770xfc00707f,
91780xfc00707f,
91790xfc00707f,
91800xfc00707f,
91810xfc00707f,
91820xfc00707f,
91830xfc00707f,
91840xfc00707f,
91850xfc00707f,
91860xfc00707f,
91870xfc00707f,
91880xfc00707f,
91890xfc00707f,
91900xfc00707f,
91910xfc00707f,
91920xfc00707f,
91930xfc00707f,
91940xfc00707f,
91950xfc00707f,
91960xfc00707f,
91970xfc00707f,
91980xfc00707f,
91990xfc00707f,
92000xfc00707f,
92010xfc00707f,
92020xfc00707f,
92030xfc00707f,
92040xfc00707f,
92050xfc00707f,
92060xfc00707f,
92070xfc00707f,
92080xfc0ff07f,
92090xfc0ff07f,
92100xfc0ff07f,
92110xffffffff,
92120xffffffff,
92130xffffffff,
92140xfe00707f,
92150xfe00707f,
92160x707f,
92170xfe00707f,
92180xfe00707f,
92190xfff0707f,
92200xfff0707f,
92210xfff0707f,
92220xfff0707f,
92230xfff0707f,
9224];
9225pub static OPCODE_MASK_COMPRESSED: [u16; 1021] = [
92260,
92270,
92280,
92290,
92300,
92310,
92320,
92330,
92340,
92350,
92360,
92370,
92380,
92390,
92400,
92410,
92420,
92430,
92440,
92450,
92460,
92470,
92480,
92490,
92500,
92510,
92520,
92530,
92540,
92550,
92560,
92570,
92580,
92590,
92600,
92610,
92620,
92630,
92640,
92650,
92660,
92670,
92680,
92690,
92700,
92710,
92720,
92730,
92740,
92750,
92760,
92770,
92780,
92790,
92800,
92810,
92820,
92830,
92840,
92850,
92860,
92870,
92880,
92890,
92900,
92910,
92920,
92930,
92940,
92950,
92960,
92970,
92980,
92990,
93000,
93010,
93020,
93030,
93040,
93050,
93060,
93070,
93080,
93090,
93100,
93110,
93120,
93130,
93140,
93150,
931661443,
931757347,
931861315,
931957347,
932057347,
932164611,
932264611,
932360419,
932457347,
932557347,
932665535,
932757347,
932857347,
932957347,
933057347,
933157347,
933257347,
933357347,
933457347,
933557347,
933657347,
933761567,
933861567,
933964515,
934057347,
934157347,
934264579,
934364579,
934457347,
934557347,
934657347,
934757347,
934865535,
934965535,
935065535,
935165535,
935265535,
935365535,
935465535,
935565535,
935663743,
935764611,
935861443,
935961315,
936064639,
936165535,
936265535,
936365535,
936465535,
936564611,
936664515,
936757347,
936857347,
936964639,
937064639,
937161567,
937264579,
937357347,
937461443,
937560419,
937664515,
937760419,
937864515,
937964611,
938064611,
938157347,
938257347,
938364611,
938464639,
938564639,
938664639,
938732767,
938832767,
938932767,
939032767,
939128799,
939228799,
939328799,
939428799,
939528799,
939664515,
939764611,
939864611,
939965283,
940065283,
940165283,
940265283,
940328799,
940428799,
940532767,
940632767,
940761567,
940828799,
940928799,
941028799,
941128799,
941228799,
941328799,
941432767,
941532767,
941632767,
941732767,
941828799,
941928799,
942028799,
942128799,
94220,
94230,
94240,
94250,
94260,
94270,
94280,
94290,
94300,
94310,
94320,
94330,
94340,
94350,
94360,
94370,
94380,
94390,
94400,
94410,
94420,
94430,
94440,
94450,
94460,
94470,
94480,
94490,
94500,
94510,
94520,
94530,
94540,
94550,
94560,
94570,
94580,
94590,
94600,
94610,
94620,
94630,
94640,
94650,
94660,
94670,
94680,
94690,
94700,
94710,
94720,
94730,
94740,
94750,
94760,
94770,
94780,
94790,
94800,
94810,
94820,
94830,
94840,
94850,
94860,
94870,
94880,
94890,
94900,
94910,
94920,
94930,
94940,
94950,
94960,
94970,
94980,
94990,
95000,
95010,
95020,
95030,
95040,
95050,
95060,
95070,
95080,
95090,
95100,
95110,
95120,
95130,
95140,
95150,
95160,
95170,
95180,
95190,
95200,
95210,
95220,
95230,
95240,
95250,
95260,
95270,
95280,
95290,
95300,
95310,
95320,
95330,
95340,
95350,
95360,
95370,
95380,
95390,
95400,
95410,
95420,
95430,
95440,
95450,
95460,
95470,
95480,
95490,
95500,
95510,
95520,
95530,
95540,
95550,
95560,
95570,
95580,
95590,
95600,
95610,
95620,
95630,
95640,
95650,
95660,
95670,
95680,
95690,
95700,
95710,
95720,
95730,
95740,
95750,
95760,
95770,
95780,
95790,
95800,
95810,
95820,
95830,
95840,
95850,
95860,
95870,
95880,
95890,
95900,
95910,
95920,
95930,
95940,
95950,
95960,
95970,
95980,
95990,
96000,
96010,
96020,
96030,
96040,
96050,
96060,
96070,
96080,
96090,
96100,
96110,
96120,
96130,
96140,
96150,
96160,
96170,
96180,
96190,
96200,
96210,
96220,
96230,
96240,
96250,
96260,
96270,
96280,
96290,
96300,
96310,
96320,
96330,
96340,
96350,
96360,
96370,
96380,
96390,
96400,
96410,
96420,
96430,
96440,
96450,
96460,
96470,
96480,
96490,
96500,
96510,
96520,
96530,
96540,
96550,
96560,
96570,
96580,
96590,
96600,
96610,
96620,
96630,
96640,
96650,
96660,
96670,
96680,
96690,
96700,
96710,
96720,
96730,
96740,
96750,
96760,
96770,
96780,
96790,
96800,
96810,
96820,
96830,
96840,
96850,
96860,
96870,
96880,
96890,
96900,
96910,
96920,
96930,
96940,
96950,
96960,
96970,
96980,
96990,
97000,
97010,
97020,
97030,
97040,
97050,
97060,
97070,
97080,
97090,
97100,
97110,
97120,
97130,
97140,
97150,
97160,
97170,
97180,
97190,
97200,
97210,
97220,
97230,
97240,
97250,
97260,
97270,
97280,
97290,
97300,
97310,
97320,
97330,
97340,
97350,
97360,
97370,
97380,
97390,
97400,
97410,
97420,
97430,
97440,
97450,
97460,
97470,
97480,
97490,
97500,
97510,
97520,
97530,
97540,
97550,
97560,
97570,
97580,
97590,
97600,
97610,
97620,
97630,
97640,
97650,
97660,
97670,
97680,
97690,
97700,
97710,
97720,
97730,
97740,
97750,
97760,
97770,
97780,
97790,
97800,
97810,
97820,
97830,
97840,
97850,
97860,
97870,
97880,
97890,
97900,
97910,
97920,
97930,
97940,
97950,
97960,
97970,
97980,
97990,
98000,
98010,
98020,
98030,
98040,
98050,
98060,
98070,
98080,
98090,
98100,
98110,
98120,
98130,
98140,
98150,
98160,
98170,
98180,
98190,
98200,
98210,
98220,
98230,
98240,
98250,
98260,
98270,
98280,
98290,
98300,
98310,
98320,
98330,
98340,
98350,
98360,
98370,
98380,
98390,
98400,
98410,
98420,
98430,
98440,
98450,
98460,
98470,
98480,
98490,
98500,
98510,
98520,
98530,
98540,
98550,
98560,
98570,
98580,
98590,
98600,
98610,
98620,
98630,
98640,
98650,
98660,
98670,
98680,
98690,
98700,
98710,
98720,
98730,
98740,
98750,
98760,
98770,
98780,
98790,
98800,
98810,
98820,
98830,
98840,
98850,
98860,
98870,
98880,
98890,
98900,
98910,
98920,
98930,
98940,
98950,
98960,
98970,
98980,
98990,
99000,
99010,
99020,
99030,
99040,
99050,
99060,
99070,
99080,
99090,
99100,
99110,
99120,
99130,
99140,
99150,
99160,
99170,
99180,
99190,
99200,
99210,
99220,
99230,
99240,
99250,
99260,
99270,
99280,
99290,
99300,
99310,
99320,
99330,
99340,
99350,
99360,
99370,
99380,
99390,
99400,
99410,
99420,
99430,
99440,
99450,
99460,
99470,
99480,
99490,
99500,
99510,
99520,
99530,
99540,
99550,
99560,
99570,
99580,
99590,
99600,
99610,
99620,
99630,
99640,
99650,
99660,
99670,
99680,
99690,
99700,
99710,
99720,
99730,
99740,
99750,
99760,
99770,
99780,
99790,
99800,
99810,
99820,
99830,
99840,
99850,
99860,
99870,
99880,
99890,
99900,
99910,
99920,
99930,
99940,
99950,
99960,
99970,
99980,
99990,
100000,
100010,
100020,
100030,
100040,
100050,
100060,
100070,
100080,
100090,
100100,
100110,
100120,
100130,
100140,
100150,
100160,
100170,
100180,
100190,
100200,
100210,
100220,
100230,
100240,
100250,
100260,
100270,
100280,
100290,
100300,
100310,
100320,
100330,
100340,
100350,
100360,
100370,
100380,
100390,
100400,
100410,
100420,
100430,
100440,
100450,
100460,
100470,
100480,
100490,
100500,
100510,
100520,
100530,
100540,
100550,
100560,
100570,
100580,
100590,
100600,
100610,
100620,
100630,
100640,
100650,
100660,
100670,
100680,
100690,
100700,
100710,
100720,
100730,
100740,
100750,
100760,
100770,
100780,
100790,
100800,
100810,
100820,
100830,
100840,
100850,
100860,
100870,
100880,
100890,
100900,
100910,
100920,
100930,
100940,
100950,
100960,
100970,
100980,
100990,
101000,
101010,
101020,
101030,
101040,
101050,
101060,
101070,
101080,
101090,
101100,
101110,
101120,
101130,
101140,
101150,
101160,
101170,
101180,
101190,
101200,
101210,
101220,
101230,
101240,
101250,
101260,
101270,
101280,
101290,
101300,
101310,
101320,
101330,
101340,
101350,
101360,
101370,
101380,
101390,
101400,
101410,
101420,
101430,
101440,
101450,
101460,
101470,
101480,
101490,
101500,
101510,
101520,
101530,
101540,
101550,
101560,
101570,
101580,
101590,
101600,
101610,
101620,
101630,
101640,
101650,
101660,
101670,
101680,
101690,
101700,
101710,
101720,
101730,
101740,
101750,
101760,
101770,
101780,
101790,
101800,
101810,
101820,
101830,
101840,
101850,
101860,
101870,
101880,
101890,
101900,
101910,
101920,
101930,
101940,
101950,
101960,
101970,
101980,
101990,
102000,
102010,
102020,
102030,
102040,
102050,
102060,
102070,
102080,
102090,
102100,
102110,
102120,
102130,
102140,
102150,
102160,
102170,
102180,
102190,
102200,
102210,
102220,
102230,
102240,
102250,
102260,
102270,
102280,
102290,
102300,
102310,
102320,
102330,
102340,
102350,
102360,
102370,
102380,
102390,
102400,
102410,
102420,
102430,
102440,
102450,
102460,
10247];
10248
10249pub static OPCODE_MATCH_COMPRESSED: [u16; 1021] = [
102500,
102510,
102520,
102530,
102540,
102550,
102560,
102570,
102580,
102590,
102600,
102610,
102620,
102630,
102640,
102650,
102660,
102670,
102680,
102690,
102700,
102710,
102720,
102730,
102740,
102750,
102760,
102770,
102780,
102790,
102800,
102810,
102820,
102830,
102840,
102850,
102860,
102870,
102880,
102890,
102900,
102910,
102920,
102930,
102940,
102950,
102960,
102970,
102980,
102990,
103000,
103010,
103020,
103030,
103040,
103050,
103060,
103070,
103080,
103090,
103100,
103110,
103120,
103130,
103140,
103150,
103160,
103170,
103180,
103190,
103200,
103210,
103220,
103230,
103240,
103250,
103260,
103270,
103280,
103290,
103300,
103310,
103320,
103330,
103340,
103350,
103360,
103370,
103380,
103390,
1034036866,
103411,
1034224833,
103430,
103448193,
1034539969,
1034635937,
1034734817,
1034849153,
1034957345,
1035036866,
103518192,
103528194,
1035324576,
1035424578,
1035540960,
1035640962,
1035757344,
1035857346,
1035940961,
103608193,
1036136866,
1036232770,
1036332768,
1036424576,
1036524578,
1036633856,
1036733792,
1036816385,
1036924577,
1037016384,
1037116386,
1037224705,
1037325985,
1037426241,
1037526497,
1037624961,
1037725217,
1037825473,
1037925729,
1038024705,
1038140001,
1038232770,
103831,
1038440053,
1038536886,
1038636874,
1038736878,
1038836882,
1038935905,
1039034816,
1039157344,
1039257346,
1039340037,
1039440045,
103958193,
1039635840,
103972,
103982,
1039933793,
1040033793,
1040132769,
1040232769,
1040335841,
1040439937,
1040549152,
1040649154,
1040735873,
1040840033,
1040940041,
1041040049,
104118207,
104128207,
104138207,
104148207,
104154147,
1041612339,
104178243,
104184115,
104194123,
1042040962,
1042144130,
1042244066,
1042347618,
1042448642,
1042548130,
1042647106,
104274115,
104284123,
1042912403,
1043028787,
104318307,
1043212403,
1043328787,
104348307,
1043524691,
104364211,
1043720595,
104388307,
1043924691,
104404211,
1044120595,
104424115,
104434123,
1044420531,
1044528723,
104460,
104470,
104480,
104490,
104500,
104510,
104520,
104530,
104540,
104550,
104560,
104570,
104580,
104590,
104600,
104610,
104620,
104630,
104640,
104650,
104660,
104670,
104680,
104690,
104700,
104710,
104720,
104730,
104740,
104750,
104760,
104770,
104780,
104790,
104800,
104810,
104820,
104830,
104840,
104850,
104860,
104870,
104880,
104890,
104900,
104910,
104920,
104930,
104940,
104950,
104960,
104970,
104980,
104990,
105000,
105010,
105020,
105030,
105040,
105050,
105060,
105070,
105080,
105090,
105100,
105110,
105120,
105130,
105140,
105150,
105160,
105170,
105180,
105190,
105200,
105210,
105220,
105230,
105240,
105250,
105260,
105270,
105280,
105290,
105300,
105310,
105320,
105330,
105340,
105350,
105360,
105370,
105380,
105390,
105400,
105410,
105420,
105430,
105440,
105450,
105460,
105470,
105480,
105490,
105500,
105510,
105520,
105530,
105540,
105550,
105560,
105570,
105580,
105590,
105600,
105610,
105620,
105630,
105640,
105650,
105660,
105670,
105680,
105690,
105700,
105710,
105720,
105730,
105740,
105750,
105760,
105770,
105780,
105790,
105800,
105810,
105820,
105830,
105840,
105850,
105860,
105870,
105880,
105890,
105900,
105910,
105920,
105930,
105940,
105950,
105960,
105970,
105980,
105990,
106000,
106010,
106020,
106030,
106040,
106050,
106060,
106070,
106080,
106090,
106100,
106110,
106120,
106130,
106140,
106150,
106160,
106170,
106180,
106190,
106200,
106210,
106220,
106230,
106240,
106250,
106260,
106270,
106280,
106290,
106300,
106310,
106320,
106330,
106340,
106350,
106360,
106370,
106380,
106390,
106400,
106410,
106420,
106430,
106440,
106450,
106460,
106470,
106480,
106490,
106500,
106510,
106520,
106530,
106540,
106550,
106560,
106570,
106580,
106590,
106600,
106610,
106620,
106630,
106640,
106650,
106660,
106670,
106680,
106690,
106700,
106710,
106720,
106730,
106740,
106750,
106760,
106770,
106780,
106790,
106800,
106810,
106820,
106830,
106840,
106850,
106860,
106870,
106880,
106890,
106900,
106910,
106920,
106930,
106940,
106950,
106960,
106970,
106980,
106990,
107000,
107010,
107020,
107030,
107040,
107050,
107060,
107070,
107080,
107090,
107100,
107110,
107120,
107130,
107140,
107150,
107160,
107170,
107180,
107190,
107200,
107210,
107220,
107230,
107240,
107250,
107260,
107270,
107280,
107290,
107300,
107310,
107320,
107330,
107340,
107350,
107360,
107370,
107380,
107390,
107400,
107410,
107420,
107430,
107440,
107450,
107460,
107470,
107480,
107490,
107500,
107510,
107520,
107530,
107540,
107550,
107560,
107570,
107580,
107590,
107600,
107610,
107620,
107630,
107640,
107650,
107660,
107670,
107680,
107690,
107700,
107710,
107720,
107730,
107740,
107750,
107760,
107770,
107780,
107790,
107800,
107810,
107820,
107830,
107840,
107850,
107860,
107870,
107880,
107890,
107900,
107910,
107920,
107930,
107940,
107950,
107960,
107970,
107980,
107990,
108000,
108010,
108020,
108030,
108040,
108050,
108060,
108070,
108080,
108090,
108100,
108110,
108120,
108130,
108140,
108150,
108160,
108170,
108180,
108190,
108200,
108210,
108220,
108230,
108240,
108250,
108260,
108270,
108280,
108290,
108300,
108310,
108320,
108330,
108340,
108350,
108360,
108370,
108380,
108390,
108400,
108410,
108420,
108430,
108440,
108450,
108460,
108470,
108480,
108490,
108500,
108510,
108520,
108530,
108540,
108550,
108560,
108570,
108580,
108590,
108600,
108610,
108620,
108630,
108640,
108650,
108660,
108670,
108680,
108690,
108700,
108710,
108720,
108730,
108740,
108750,
108760,
108770,
108780,
108790,
108800,
108810,
108820,
108830,
108840,
108850,
108860,
108870,
108880,
108890,
108900,
108910,
108920,
108930,
108940,
108950,
108960,
108970,
108980,
108990,
109000,
109010,
109020,
109030,
109040,
109050,
109060,
109070,
109080,
109090,
109100,
109110,
109120,
109130,
109140,
109150,
109160,
109170,
109180,
109190,
109200,
109210,
109220,
109230,
109240,
109250,
109260,
109270,
109280,
109290,
109300,
109310,
109320,
109330,
109340,
109350,
109360,
109370,
109380,
109390,
109400,
109410,
109420,
109430,
109440,
109450,
109460,
109470,
109480,
109490,
109500,
109510,
109520,
109530,
109540,
109550,
109560,
109570,
109580,
109590,
109600,
109610,
109620,
109630,
109640,
109650,
109660,
109670,
109680,
109690,
109700,
109710,
109720,
109730,
109740,
109750,
109760,
109770,
109780,
109790,
109800,
109810,
109820,
109830,
109840,
109850,
109860,
109870,
109880,
109890,
109900,
109910,
109920,
109930,
109940,
109950,
109960,
109970,
109980,
109990,
110000,
110010,
110020,
110030,
110040,
110050,
110060,
110070,
110080,
110090,
110100,
110110,
110120,
110130,
110140,
110150,
110160,
110170,
110180,
110190,
110200,
110210,
110220,
110230,
110240,
110250,
110260,
110270,
110280,
110290,
110300,
110310,
110320,
110330,
110340,
110350,
110360,
110370,
110380,
110390,
110400,
110410,
110420,
110430,
110440,
110450,
110460,
110470,
110480,
110490,
110500,
110510,
110520,
110530,
110540,
110550,
110560,
110570,
110580,
110590,
110600,
110610,
110620,
110630,
110640,
110650,
110660,
110670,
110680,
110690,
110700,
110710,
110720,
110730,
110740,
110750,
110760,
110770,
110780,
110790,
110800,
110810,
110820,
110830,
110840,
110850,
110860,
110870,
110880,
110890,
110900,
110910,
110920,
110930,
110940,
110950,
110960,
110970,
110980,
110990,
111000,
111010,
111020,
111030,
111040,
111050,
111060,
111070,
111080,
111090,
111100,
111110,
111120,
111130,
111140,
111150,
111160,
111170,
111180,
111190,
111200,
111210,
111220,
111230,
111240,
111250,
111260,
111270,
111280,
111290,
111300,
111310,
111320,
111330,
111340,
111350,
111360,
111370,
111380,
111390,
111400,
111410,
111420,
111430,
111440,
111450,
111460,
111470,
111480,
111490,
111500,
111510,
111520,
111530,
111540,
111550,
111560,
111570,
111580,
111590,
111600,
111610,
111620,
111630,
111640,
111650,
111660,
111670,
111680,
111690,
111700,
111710,
111720,
111730,
111740,
111750,
111760,
111770,
111780,
111790,
111800,
111810,
111820,
111830,
111840,
111850,
111860,
111870,
111880,
111890,
111900,
111910,
111920,
111930,
111940,
111950,
111960,
111970,
111980,
111990,
112000,
112010,
112020,
112030,
112040,
112050,
112060,
112070,
112080,
112090,
112100,
112110,
112120,
112130,
112140,
112150,
112160,
112170,
112180,
112190,
112200,
112210,
112220,
112230,
112240,
112250,
112260,
112270,
112280,
112290,
112300,
112310,
112320,
112330,
112340,
112350,
112360,
112370,
112380,
112390,
112400,
112410,
112420,
112430,
112440,
112450,
112460,
112470,
112480,
112490,
112500,
112510,
112520,
112530,
112540,
112550,
112560,
112570,
112580,
112590,
112600,
112610,
112620,
112630,
112640,
112650,
112660,
112670,
112680,
112690,
112700,
11271];
11272
11273pub static ALL_OPCODES: [Opcode; 1021] = [
11274Opcode::ADD,
11275Opcode::ADDUW,
11276Opcode::ADDI,
11277Opcode::ADDIW,
11278Opcode::ADDW,
11279Opcode::AES32DSI,
11280Opcode::AES32DSMI,
11281Opcode::AES32ESI,
11282Opcode::AES32ESMI,
11283Opcode::AES64DS,
11284Opcode::AES64DSM,
11285Opcode::AES64ES,
11286Opcode::AES64ESM,
11287Opcode::AES64IM,
11288Opcode::AES64KS1I,
11289Opcode::AES64KS2,
11290Opcode::AMOADDB,
11291Opcode::AMOADDD,
11292Opcode::AMOADDH,
11293Opcode::AMOADDW,
11294Opcode::AMOANDB,
11295Opcode::AMOANDD,
11296Opcode::AMOANDH,
11297Opcode::AMOANDW,
11298Opcode::AMOCASB,
11299Opcode::AMOCASD,
11300Opcode::AMOCASH,
11301Opcode::AMOCASQ,
11302Opcode::AMOCASW,
11303Opcode::AMOMAXB,
11304Opcode::AMOMAXD,
11305Opcode::AMOMAXH,
11306Opcode::AMOMAXW,
11307Opcode::AMOMAXUB,
11308Opcode::AMOMAXUD,
11309Opcode::AMOMAXUH,
11310Opcode::AMOMAXUW,
11311Opcode::AMOMINB,
11312Opcode::AMOMIND,
11313Opcode::AMOMINH,
11314Opcode::AMOMINW,
11315Opcode::AMOMINUB,
11316Opcode::AMOMINUD,
11317Opcode::AMOMINUH,
11318Opcode::AMOMINUW,
11319Opcode::AMOORB,
11320Opcode::AMOORD,
11321Opcode::AMOORH,
11322Opcode::AMOORW,
11323Opcode::AMOSWAPB,
11324Opcode::AMOSWAPD,
11325Opcode::AMOSWAPH,
11326Opcode::AMOSWAPW,
11327Opcode::AMOXORB,
11328Opcode::AMOXORD,
11329Opcode::AMOXORH,
11330Opcode::AMOXORW,
11331Opcode::AND,
11332Opcode::ANDI,
11333Opcode::ANDN,
11334Opcode::AUIPC,
11335Opcode::BCLR,
11336Opcode::BCLRI,
11337Opcode::BCLRIRV32,
11338Opcode::BEQ,
11339Opcode::BEQZ,
11340Opcode::BEXT,
11341Opcode::BEXTI,
11342Opcode::BEXTIRV32,
11343Opcode::BGE,
11344Opcode::BGEU,
11345Opcode::BGEZ,
11346Opcode::BGT,
11347Opcode::BGTU,
11348Opcode::BGTZ,
11349Opcode::BINV,
11350Opcode::BINVI,
11351Opcode::BINVIRV32,
11352Opcode::BLE,
11353Opcode::BLEU,
11354Opcode::BLEZ,
11355Opcode::BLT,
11356Opcode::BLTU,
11357Opcode::BLTZ,
11358Opcode::BNE,
11359Opcode::BNEZ,
11360Opcode::BREV8,
11361Opcode::BSET,
11362Opcode::BSETI,
11363Opcode::BSETIRV32,
11364Opcode::CADD,
11365Opcode::CADDI,
11366Opcode::CADDI16SP,
11367Opcode::CADDI4SPN,
11368Opcode::CADDIW,
11369Opcode::CADDW,
11370Opcode::CAND,
11371Opcode::CANDI,
11372Opcode::CBEQZ,
11373Opcode::CBNEZ,
11374Opcode::CEBREAK,
11375Opcode::CFLD,
11376Opcode::CFLDSP,
11377Opcode::CFLW,
11378Opcode::CFLWSP,
11379Opcode::CFSD,
11380Opcode::CFSDSP,
11381Opcode::CFSW,
11382Opcode::CFSWSP,
11383Opcode::CJ,
11384Opcode::CJAL,
11385Opcode::CJALR,
11386Opcode::CJR,
11387Opcode::CLBU,
11388Opcode::CLD,
11389Opcode::CLDSP,
11390Opcode::CLH,
11391Opcode::CLHU,
11392Opcode::CLI,
11393Opcode::CLUI,
11394Opcode::CLW,
11395Opcode::CLWSP,
11396Opcode::CMOP1,
11397Opcode::CMOP11,
11398Opcode::CMOP13,
11399Opcode::CMOP15,
11400Opcode::CMOP3,
11401Opcode::CMOP5,
11402Opcode::CMOP7,
11403Opcode::CMOP9,
11404Opcode::CMOPN,
11405Opcode::CMUL,
11406Opcode::CMV,
11407Opcode::CNOP,
11408Opcode::CNOT,
11409Opcode::CNTLALL,
11410Opcode::CNTLP1,
11411Opcode::CNTLPALL,
11412Opcode::CNTLS1,
11413Opcode::COR,
11414Opcode::CSB,
11415Opcode::CSD,
11416Opcode::CSDSP,
11417Opcode::CSEXTB,
11418Opcode::CSEXTH,
11419Opcode::CSEXTW,
11420Opcode::CSH,
11421Opcode::CSLLI,
11422Opcode::CSLLIRV32,
11423Opcode::CSRAI,
11424Opcode::CSRAIRV32,
11425Opcode::CSRLI,
11426Opcode::CSRLIRV32,
11427Opcode::CSUB,
11428Opcode::CSUBW,
11429Opcode::CSW,
11430Opcode::CSWSP,
11431Opcode::CXOR,
11432Opcode::CZEXTB,
11433Opcode::CZEXTH,
11434Opcode::CZEXTW,
11435Opcode::CBOCLEAN,
11436Opcode::CBOFLUSH,
11437Opcode::CBOINVAL,
11438Opcode::CBOZERO,
11439Opcode::CLMUL,
11440Opcode::CLMULH,
11441Opcode::CLMULR,
11442Opcode::CLZ,
11443Opcode::CLZW,
11444Opcode::CMJALT,
11445Opcode::CMMVA01S,
11446Opcode::CMMVSA01,
11447Opcode::CMPOP,
11448Opcode::CMPOPRET,
11449Opcode::CMPOPRETZ,
11450Opcode::CMPUSH,
11451Opcode::CPOP,
11452Opcode::CPOPW,
11453Opcode::CSRC,
11454Opcode::CSRCI,
11455Opcode::CSRR,
11456Opcode::CSRRC,
11457Opcode::CSRRCI,
11458Opcode::CSRRS,
11459Opcode::CSRRSI,
11460Opcode::CSRRW,
11461Opcode::CSRRWI,
11462Opcode::CSRS,
11463Opcode::CSRSI,
11464Opcode::CSRW,
11465Opcode::CSRWI,
11466Opcode::CTZ,
11467Opcode::CTZW,
11468Opcode::CZEROEQZ,
11469Opcode::CZERONEZ,
11470Opcode::DIV,
11471Opcode::DIVU,
11472Opcode::DIVUW,
11473Opcode::DIVW,
11474Opcode::DRET,
11475Opcode::EBREAK,
11476Opcode::ECALL,
11477Opcode::FABSD,
11478Opcode::FABSH,
11479Opcode::FABSQ,
11480Opcode::FABSS,
11481Opcode::FADDD,
11482Opcode::FADDH,
11483Opcode::FADDQ,
11484Opcode::FADDS,
11485Opcode::FCLASSD,
11486Opcode::FCLASSH,
11487Opcode::FCLASSQ,
11488Opcode::FCLASSS,
11489Opcode::FCVTDH,
11490Opcode::FCVTDL,
11491Opcode::FCVTDLU,
11492Opcode::FCVTDQ,
11493Opcode::FCVTDS,
11494Opcode::FCVTDW,
11495Opcode::FCVTDWU,
11496Opcode::FCVTHD,
11497Opcode::FCVTHL,
11498Opcode::FCVTHLU,
11499Opcode::FCVTHQ,
11500Opcode::FCVTHS,
11501Opcode::FCVTHW,
11502Opcode::FCVTHWU,
11503Opcode::FCVTLD,
11504Opcode::FCVTLH,
11505Opcode::FCVTLQ,
11506Opcode::FCVTLS,
11507Opcode::FCVTLUD,
11508Opcode::FCVTLUH,
11509Opcode::FCVTLUQ,
11510Opcode::FCVTLUS,
11511Opcode::FCVTQD,
11512Opcode::FCVTQH,
11513Opcode::FCVTQL,
11514Opcode::FCVTQLU,
11515Opcode::FCVTQS,
11516Opcode::FCVTQW,
11517Opcode::FCVTQWU,
11518Opcode::FCVTSD,
11519Opcode::FCVTSH,
11520Opcode::FCVTSL,
11521Opcode::FCVTSLU,
11522Opcode::FCVTSQ,
11523Opcode::FCVTSW,
11524Opcode::FCVTSWU,
11525Opcode::FCVTWD,
11526Opcode::FCVTWH,
11527Opcode::FCVTWQ,
11528Opcode::FCVTWS,
11529Opcode::FCVTWUD,
11530Opcode::FCVTWUH,
11531Opcode::FCVTWUQ,
11532Opcode::FCVTWUS,
11533Opcode::FCVTMODWD,
11534Opcode::FDIVD,
11535Opcode::FDIVH,
11536Opcode::FDIVQ,
11537Opcode::FDIVS,
11538Opcode::FENCE,
11539Opcode::FENCEI,
11540Opcode::FENCETSO,
11541Opcode::FEQD,
11542Opcode::FEQH,
11543Opcode::FEQQ,
11544Opcode::FEQS,
11545Opcode::FLD,
11546Opcode::FLED,
11547Opcode::FLEH,
11548Opcode::FLEQ,
11549Opcode::FLES,
11550Opcode::FLEQD,
11551Opcode::FLEQH,
11552Opcode::FLEQQ,
11553Opcode::FLEQS,
11554Opcode::FLH,
11555Opcode::FLID,
11556Opcode::FLIH,
11557Opcode::FLIQ,
11558Opcode::FLIS,
11559Opcode::FLQ,
11560Opcode::FLTD,
11561Opcode::FLTH,
11562Opcode::FLTQ,
11563Opcode::FLTS,
11564Opcode::FLTQD,
11565Opcode::FLTQH,
11566Opcode::FLTQQ,
11567Opcode::FLTQS,
11568Opcode::FLW,
11569Opcode::FMADDD,
11570Opcode::FMADDH,
11571Opcode::FMADDQ,
11572Opcode::FMADDS,
11573Opcode::FMAXD,
11574Opcode::FMAXH,
11575Opcode::FMAXQ,
11576Opcode::FMAXS,
11577Opcode::FMAXMD,
11578Opcode::FMAXMH,
11579Opcode::FMAXMQ,
11580Opcode::FMAXMS,
11581Opcode::FMIND,
11582Opcode::FMINH,
11583Opcode::FMINQ,
11584Opcode::FMINS,
11585Opcode::FMINMD,
11586Opcode::FMINMH,
11587Opcode::FMINMQ,
11588Opcode::FMINMS,
11589Opcode::FMSUBD,
11590Opcode::FMSUBH,
11591Opcode::FMSUBQ,
11592Opcode::FMSUBS,
11593Opcode::FMULD,
11594Opcode::FMULH,
11595Opcode::FMULQ,
11596Opcode::FMULS,
11597Opcode::FMVD,
11598Opcode::FMVDX,
11599Opcode::FMVH,
11600Opcode::FMVHX,
11601Opcode::FMVQ,
11602Opcode::FMVS,
11603Opcode::FMVSX,
11604Opcode::FMVWX,
11605Opcode::FMVXD,
11606Opcode::FMVXH,
11607Opcode::FMVXS,
11608Opcode::FMVXW,
11609Opcode::FMVHXD,
11610Opcode::FMVHXQ,
11611Opcode::FMVPDX,
11612Opcode::FMVPQX,
11613Opcode::FNEGD,
11614Opcode::FNEGH,
11615Opcode::FNEGQ,
11616Opcode::FNEGS,
11617Opcode::FNMADDD,
11618Opcode::FNMADDH,
11619Opcode::FNMADDQ,
11620Opcode::FNMADDS,
11621Opcode::FNMSUBD,
11622Opcode::FNMSUBH,
11623Opcode::FNMSUBQ,
11624Opcode::FNMSUBS,
11625Opcode::FRCSR,
11626Opcode::FRFLAGS,
11627Opcode::FROUNDD,
11628Opcode::FROUNDH,
11629Opcode::FROUNDQ,
11630Opcode::FROUNDS,
11631Opcode::FROUNDNXD,
11632Opcode::FROUNDNXH,
11633Opcode::FROUNDNXQ,
11634Opcode::FROUNDNXS,
11635Opcode::FRRM,
11636Opcode::FSCSR,
11637Opcode::FSD,
11638Opcode::FSFLAGS,
11639Opcode::FSFLAGSI,
11640Opcode::FSGNJD,
11641Opcode::FSGNJH,
11642Opcode::FSGNJQ,
11643Opcode::FSGNJS,
11644Opcode::FSGNJND,
11645Opcode::FSGNJNH,
11646Opcode::FSGNJNQ,
11647Opcode::FSGNJNS,
11648Opcode::FSGNJXD,
11649Opcode::FSGNJXH,
11650Opcode::FSGNJXQ,
11651Opcode::FSGNJXS,
11652Opcode::FSH,
11653Opcode::FSQ,
11654Opcode::FSQRTD,
11655Opcode::FSQRTH,
11656Opcode::FSQRTQ,
11657Opcode::FSQRTS,
11658Opcode::FSRM,
11659Opcode::FSRMI,
11660Opcode::FSUBD,
11661Opcode::FSUBH,
11662Opcode::FSUBQ,
11663Opcode::FSUBS,
11664Opcode::FSW,
11665Opcode::HFENCEGVMA,
11666Opcode::HFENCEVVMA,
11667Opcode::HINVALGVMA,
11668Opcode::HINVALVVMA,
11669Opcode::HLVB,
11670Opcode::HLVBU,
11671Opcode::HLVD,
11672Opcode::HLVH,
11673Opcode::HLVHU,
11674Opcode::HLVW,
11675Opcode::HLVWU,
11676Opcode::HLVXHU,
11677Opcode::HLVXWU,
11678Opcode::HSVB,
11679Opcode::HSVD,
11680Opcode::HSVH,
11681Opcode::HSVW,
11682Opcode::J,
11683Opcode::JAL,
11684Opcode::JALPSEUDO,
11685Opcode::JALR,
11686Opcode::JALRPSEUDO,
11687Opcode::JR,
11688Opcode::LB,
11689Opcode::LBU,
11690Opcode::LD,
11691Opcode::LH,
11692Opcode::LHU,
11693Opcode::LRD,
11694Opcode::LRW,
11695Opcode::LUI,
11696Opcode::LW,
11697Opcode::LWU,
11698Opcode::MAX,
11699Opcode::MAXU,
11700Opcode::MIN,
11701Opcode::MINU,
11702Opcode::MOPR0,
11703Opcode::MOPR1,
11704Opcode::MOPR10,
11705Opcode::MOPR11,
11706Opcode::MOPR12,
11707Opcode::MOPR13,
11708Opcode::MOPR14,
11709Opcode::MOPR15,
11710Opcode::MOPR16,
11711Opcode::MOPR17,
11712Opcode::MOPR18,
11713Opcode::MOPR19,
11714Opcode::MOPR2,
11715Opcode::MOPR20,
11716Opcode::MOPR21,
11717Opcode::MOPR22,
11718Opcode::MOPR23,
11719Opcode::MOPR24,
11720Opcode::MOPR25,
11721Opcode::MOPR26,
11722Opcode::MOPR27,
11723Opcode::MOPR28,
11724Opcode::MOPR29,
11725Opcode::MOPR3,
11726Opcode::MOPR30,
11727Opcode::MOPR31,
11728Opcode::MOPR4,
11729Opcode::MOPR5,
11730Opcode::MOPR6,
11731Opcode::MOPR7,
11732Opcode::MOPR8,
11733Opcode::MOPR9,
11734Opcode::MOPRN,
11735Opcode::MOPRR0,
11736Opcode::MOPRR1,
11737Opcode::MOPRR2,
11738Opcode::MOPRR3,
11739Opcode::MOPRR4,
11740Opcode::MOPRR5,
11741Opcode::MOPRR6,
11742Opcode::MOPRR7,
11743Opcode::MOPRRN,
11744Opcode::MRET,
11745Opcode::MUL,
11746Opcode::MULH,
11747Opcode::MULHSU,
11748Opcode::MULHU,
11749Opcode::MULW,
11750Opcode::MV,
11751Opcode::NEG,
11752Opcode::NOP,
11753Opcode::NTLALL,
11754Opcode::NTLP1,
11755Opcode::NTLPALL,
11756Opcode::NTLS1,
11757Opcode::OR,
11758Opcode::ORCB,
11759Opcode::ORI,
11760Opcode::ORN,
11761Opcode::PACK,
11762Opcode::PACKH,
11763Opcode::PACKW,
11764Opcode::PAUSE,
11765Opcode::PREFETCHI,
11766Opcode::PREFETCHR,
11767Opcode::PREFETCHW,
11768Opcode::RDCYCLE,
11769Opcode::RDCYCLEH,
11770Opcode::RDINSTRET,
11771Opcode::RDINSTRETH,
11772Opcode::RDTIME,
11773Opcode::RDTIMEH,
11774Opcode::REM,
11775Opcode::REMU,
11776Opcode::REMUW,
11777Opcode::REMW,
11778Opcode::RET,
11779Opcode::REV8,
11780Opcode::REV8RV32,
11781Opcode::ROL,
11782Opcode::ROLW,
11783Opcode::ROR,
11784Opcode::RORI,
11785Opcode::RORIRV32,
11786Opcode::RORIW,
11787Opcode::RORW,
11788Opcode::SB,
11789Opcode::SBREAK,
11790Opcode::SCD,
11791Opcode::SCW,
11792Opcode::SCALL,
11793Opcode::SD,
11794Opcode::SEQZ,
11795Opcode::SEXTB,
11796Opcode::SEXTH,
11797Opcode::SEXTW,
11798Opcode::SFENCEINVALIR,
11799Opcode::SFENCEVMA,
11800Opcode::SFENCEWINVAL,
11801Opcode::SGTZ,
11802Opcode::SH,
11803Opcode::SH1ADD,
11804Opcode::SH1ADDUW,
11805Opcode::SH2ADD,
11806Opcode::SH2ADDUW,
11807Opcode::SH3ADD,
11808Opcode::SH3ADDUW,
11809Opcode::SHA256SIG0,
11810Opcode::SHA256SIG1,
11811Opcode::SHA256SUM0,
11812Opcode::SHA256SUM1,
11813Opcode::SHA512SIG0,
11814Opcode::SHA512SIG0H,
11815Opcode::SHA512SIG0L,
11816Opcode::SHA512SIG1,
11817Opcode::SHA512SIG1H,
11818Opcode::SHA512SIG1L,
11819Opcode::SHA512SUM0,
11820Opcode::SHA512SUM0R,
11821Opcode::SHA512SUM1,
11822Opcode::SHA512SUM1R,
11823Opcode::SINVALVMA,
11824Opcode::SLL,
11825Opcode::SLLI,
11826Opcode::SLLIRV32,
11827Opcode::SLLIUW,
11828Opcode::SLLIW,
11829Opcode::SLLW,
11830Opcode::SLT,
11831Opcode::SLTI,
11832Opcode::SLTIU,
11833Opcode::SLTU,
11834Opcode::SLTZ,
11835Opcode::SM3P0,
11836Opcode::SM3P1,
11837Opcode::SM4ED,
11838Opcode::SM4KS,
11839Opcode::SNEZ,
11840Opcode::SRA,
11841Opcode::SRAI,
11842Opcode::SRAIRV32,
11843Opcode::SRAIW,
11844Opcode::SRAW,
11845Opcode::SRET,
11846Opcode::SRL,
11847Opcode::SRLI,
11848Opcode::SRLIRV32,
11849Opcode::SRLIW,
11850Opcode::SRLW,
11851Opcode::SUB,
11852Opcode::SUBW,
11853Opcode::SW,
11854Opcode::UNZIP,
11855Opcode::VAADDVV,
11856Opcode::VAADDVX,
11857Opcode::VAADDUVV,
11858Opcode::VAADDUVX,
11859Opcode::VADCVIM,
11860Opcode::VADCVVM,
11861Opcode::VADCVXM,
11862Opcode::VADDVI,
11863Opcode::VADDVV,
11864Opcode::VADDVX,
11865Opcode::VAESDFVS,
11866Opcode::VAESDFVV,
11867Opcode::VAESDMVS,
11868Opcode::VAESDMVV,
11869Opcode::VAESEFVS,
11870Opcode::VAESEFVV,
11871Opcode::VAESEMVS,
11872Opcode::VAESEMVV,
11873Opcode::VAESKF1VI,
11874Opcode::VAESKF2VI,
11875Opcode::VAESZVS,
11876Opcode::VANDVI,
11877Opcode::VANDVV,
11878Opcode::VANDVX,
11879Opcode::VANDNVV,
11880Opcode::VANDNVX,
11881Opcode::VASUBVV,
11882Opcode::VASUBVX,
11883Opcode::VASUBUVV,
11884Opcode::VASUBUVX,
11885Opcode::VBREV8V,
11886Opcode::VBREVV,
11887Opcode::VCLMULVV,
11888Opcode::VCLMULVX,
11889Opcode::VCLMULHVV,
11890Opcode::VCLMULHVX,
11891Opcode::VCLZV,
11892Opcode::VCOMPRESSVM,
11893Opcode::VCPOPM,
11894Opcode::VCPOPV,
11895Opcode::VCTZV,
11896Opcode::VDIVVV,
11897Opcode::VDIVVX,
11898Opcode::VDIVUVV,
11899Opcode::VDIVUVX,
11900Opcode::VFADDVF,
11901Opcode::VFADDVV,
11902Opcode::VFCLASSV,
11903Opcode::VFCVTFXV,
11904Opcode::VFCVTFXUV,
11905Opcode::VFCVTRTZXFV,
11906Opcode::VFCVTRTZXUFV,
11907Opcode::VFCVTXFV,
11908Opcode::VFCVTXUFV,
11909Opcode::VFDIVVF,
11910Opcode::VFDIVVV,
11911Opcode::VFIRSTM,
11912Opcode::VFMACCVF,
11913Opcode::VFMACCVV,
11914Opcode::VFMADDVF,
11915Opcode::VFMADDVV,
11916Opcode::VFMAXVF,
11917Opcode::VFMAXVV,
11918Opcode::VFMERGEVFM,
11919Opcode::VFMINVF,
11920Opcode::VFMINVV,
11921Opcode::VFMSACVF,
11922Opcode::VFMSACVV,
11923Opcode::VFMSUBVF,
11924Opcode::VFMSUBVV,
11925Opcode::VFMULVF,
11926Opcode::VFMULVV,
11927Opcode::VFMVFS,
11928Opcode::VFMVSF,
11929Opcode::VFMVVF,
11930Opcode::VFNCVTFFW,
11931Opcode::VFNCVTFXW,
11932Opcode::VFNCVTFXUW,
11933Opcode::VFNCVTRODFFW,
11934Opcode::VFNCVTRTZXFW,
11935Opcode::VFNCVTRTZXUFW,
11936Opcode::VFNCVTXFW,
11937Opcode::VFNCVTXUFW,
11938Opcode::VFNMACCVF,
11939Opcode::VFNMACCVV,
11940Opcode::VFNMADDVF,
11941Opcode::VFNMADDVV,
11942Opcode::VFNMSACVF,
11943Opcode::VFNMSACVV,
11944Opcode::VFNMSUBVF,
11945Opcode::VFNMSUBVV,
11946Opcode::VFRDIVVF,
11947Opcode::VFREC7V,
11948Opcode::VFREDMAXVS,
11949Opcode::VFREDMINVS,
11950Opcode::VFREDOSUMVS,
11951Opcode::VFREDSUMVS,
11952Opcode::VFREDUSUMVS,
11953Opcode::VFRSQRT7V,
11954Opcode::VFRSUBVF,
11955Opcode::VFSGNJVF,
11956Opcode::VFSGNJVV,
11957Opcode::VFSGNJNVF,
11958Opcode::VFSGNJNVV,
11959Opcode::VFSGNJXVF,
11960Opcode::VFSGNJXVV,
11961Opcode::VFSLIDE1DOWNVF,
11962Opcode::VFSLIDE1UPVF,
11963Opcode::VFSQRTV,
11964Opcode::VFSUBVF,
11965Opcode::VFSUBVV,
11966Opcode::VFWADDVF,
11967Opcode::VFWADDVV,
11968Opcode::VFWADDWF,
11969Opcode::VFWADDWV,
11970Opcode::VFWCVTFFV,
11971Opcode::VFWCVTFXV,
11972Opcode::VFWCVTFXUV,
11973Opcode::VFWCVTRTZXFV,
11974Opcode::VFWCVTRTZXUFV,
11975Opcode::VFWCVTXFV,
11976Opcode::VFWCVTXUFV,
11977Opcode::VFWMACCVF,
11978Opcode::VFWMACCVV,
11979Opcode::VFWMSACVF,
11980Opcode::VFWMSACVV,
11981Opcode::VFWMULVF,
11982Opcode::VFWMULVV,
11983Opcode::VFWNMACCVF,
11984Opcode::VFWNMACCVV,
11985Opcode::VFWNMSACVF,
11986Opcode::VFWNMSACVV,
11987Opcode::VFWREDOSUMVS,
11988Opcode::VFWREDSUMVS,
11989Opcode::VFWREDUSUMVS,
11990Opcode::VFWSUBVF,
11991Opcode::VFWSUBVV,
11992Opcode::VFWSUBWF,
11993Opcode::VFWSUBWV,
11994Opcode::VGHSHVV,
11995Opcode::VGMULVV,
11996Opcode::VIDV,
11997Opcode::VIOTAM,
11998Opcode::VL1RV,
11999Opcode::VL1RE16V,
12000Opcode::VL1RE32V,
12001Opcode::VL1RE64V,
12002Opcode::VL1RE8V,
12003Opcode::VL2RV,
12004Opcode::VL2RE16V,
12005Opcode::VL2RE32V,
12006Opcode::VL2RE64V,
12007Opcode::VL2RE8V,
12008Opcode::VL4RV,
12009Opcode::VL4RE16V,
12010Opcode::VL4RE32V,
12011Opcode::VL4RE64V,
12012Opcode::VL4RE8V,
12013Opcode::VL8RV,
12014Opcode::VL8RE16V,
12015Opcode::VL8RE32V,
12016Opcode::VL8RE64V,
12017Opcode::VL8RE8V,
12018Opcode::VLE16V,
12019Opcode::VLE16FFV,
12020Opcode::VLE1V,
12021Opcode::VLE32V,
12022Opcode::VLE32FFV,
12023Opcode::VLE64V,
12024Opcode::VLE64FFV,
12025Opcode::VLE8V,
12026Opcode::VLE8FFV,
12027Opcode::VLMV,
12028Opcode::VLOXEI16V,
12029Opcode::VLOXEI32V,
12030Opcode::VLOXEI64V,
12031Opcode::VLOXEI8V,
12032Opcode::VLSE16V,
12033Opcode::VLSE32V,
12034Opcode::VLSE64V,
12035Opcode::VLSE8V,
12036Opcode::VLUXEI16V,
12037Opcode::VLUXEI32V,
12038Opcode::VLUXEI64V,
12039Opcode::VLUXEI8V,
12040Opcode::VMACCVV,
12041Opcode::VMACCVX,
12042Opcode::VMADCVI,
12043Opcode::VMADCVIM,
12044Opcode::VMADCVV,
12045Opcode::VMADCVVM,
12046Opcode::VMADCVX,
12047Opcode::VMADCVXM,
12048Opcode::VMADDVV,
12049Opcode::VMADDVX,
12050Opcode::VMANDMM,
12051Opcode::VMANDNMM,
12052Opcode::VMANDNOTMM,
12053Opcode::VMAXVV,
12054Opcode::VMAXVX,
12055Opcode::VMAXUVV,
12056Opcode::VMAXUVX,
12057Opcode::VMERGEVIM,
12058Opcode::VMERGEVVM,
12059Opcode::VMERGEVXM,
12060Opcode::VMFEQVF,
12061Opcode::VMFEQVV,
12062Opcode::VMFGEVF,
12063Opcode::VMFGTVF,
12064Opcode::VMFLEVF,
12065Opcode::VMFLEVV,
12066Opcode::VMFLTVF,
12067Opcode::VMFLTVV,
12068Opcode::VMFNEVF,
12069Opcode::VMFNEVV,
12070Opcode::VMINVV,
12071Opcode::VMINVX,
12072Opcode::VMINUVV,
12073Opcode::VMINUVX,
12074Opcode::VMNANDMM,
12075Opcode::VMNORMM,
12076Opcode::VMORMM,
12077Opcode::VMORNMM,
12078Opcode::VMORNOTMM,
12079Opcode::VMSBCVV,
12080Opcode::VMSBCVVM,
12081Opcode::VMSBCVX,
12082Opcode::VMSBCVXM,
12083Opcode::VMSBFM,
12084Opcode::VMSEQVI,
12085Opcode::VMSEQVV,
12086Opcode::VMSEQVX,
12087Opcode::VMSGTVI,
12088Opcode::VMSGTVX,
12089Opcode::VMSGTUVI,
12090Opcode::VMSGTUVX,
12091Opcode::VMSIFM,
12092Opcode::VMSLEVI,
12093Opcode::VMSLEVV,
12094Opcode::VMSLEVX,
12095Opcode::VMSLEUVI,
12096Opcode::VMSLEUVV,
12097Opcode::VMSLEUVX,
12098Opcode::VMSLTVV,
12099Opcode::VMSLTVX,
12100Opcode::VMSLTUVV,
12101Opcode::VMSLTUVX,
12102Opcode::VMSNEVI,
12103Opcode::VMSNEVV,
12104Opcode::VMSNEVX,
12105Opcode::VMSOFM,
12106Opcode::VMULVV,
12107Opcode::VMULVX,
12108Opcode::VMULHVV,
12109Opcode::VMULHVX,
12110Opcode::VMULHSUVV,
12111Opcode::VMULHSUVX,
12112Opcode::VMULHUVV,
12113Opcode::VMULHUVX,
12114Opcode::VMV1RV,
12115Opcode::VMV2RV,
12116Opcode::VMV4RV,
12117Opcode::VMV8RV,
12118Opcode::VMVSX,
12119Opcode::VMVVI,
12120Opcode::VMVVV,
12121Opcode::VMVVX,
12122Opcode::VMVXS,
12123Opcode::VMXNORMM,
12124Opcode::VMXORMM,
12125Opcode::VNCLIPWI,
12126Opcode::VNCLIPWV,
12127Opcode::VNCLIPWX,
12128Opcode::VNCLIPUWI,
12129Opcode::VNCLIPUWV,
12130Opcode::VNCLIPUWX,
12131Opcode::VNMSACVV,
12132Opcode::VNMSACVX,
12133Opcode::VNMSUBVV,
12134Opcode::VNMSUBVX,
12135Opcode::VNSRAWI,
12136Opcode::VNSRAWV,
12137Opcode::VNSRAWX,
12138Opcode::VNSRLWI,
12139Opcode::VNSRLWV,
12140Opcode::VNSRLWX,
12141Opcode::VORVI,
12142Opcode::VORVV,
12143Opcode::VORVX,
12144Opcode::VPOPCM,
12145Opcode::VREDANDVS,
12146Opcode::VREDMAXVS,
12147Opcode::VREDMAXUVS,
12148Opcode::VREDMINVS,
12149Opcode::VREDMINUVS,
12150Opcode::VREDORVS,
12151Opcode::VREDSUMVS,
12152Opcode::VREDXORVS,
12153Opcode::VREMVV,
12154Opcode::VREMVX,
12155Opcode::VREMUVV,
12156Opcode::VREMUVX,
12157Opcode::VREV8V,
12158Opcode::VRGATHERVI,
12159Opcode::VRGATHERVV,
12160Opcode::VRGATHERVX,
12161Opcode::VRGATHEREI16VV,
12162Opcode::VROLVV,
12163Opcode::VROLVX,
12164Opcode::VRORVI,
12165Opcode::VRORVV,
12166Opcode::VRORVX,
12167Opcode::VRSUBVI,
12168Opcode::VRSUBVX,
12169Opcode::VS1RV,
12170Opcode::VS2RV,
12171Opcode::VS4RV,
12172Opcode::VS8RV,
12173Opcode::VSADDVI,
12174Opcode::VSADDVV,
12175Opcode::VSADDVX,
12176Opcode::VSADDUVI,
12177Opcode::VSADDUVV,
12178Opcode::VSADDUVX,
12179Opcode::VSBCVVM,
12180Opcode::VSBCVXM,
12181Opcode::VSE16V,
12182Opcode::VSE1V,
12183Opcode::VSE32V,
12184Opcode::VSE64V,
12185Opcode::VSE8V,
12186Opcode::VSETIVLI,
12187Opcode::VSETVL,
12188Opcode::VSETVLI,
12189Opcode::VSEXTVF2,
12190Opcode::VSEXTVF4,
12191Opcode::VSEXTVF8,
12192Opcode::VSHA2CHVV,
12193Opcode::VSHA2CLVV,
12194Opcode::VSHA2MSVV,
12195Opcode::VSLIDE1DOWNVX,
12196Opcode::VSLIDE1UPVX,
12197Opcode::VSLIDEDOWNVI,
12198Opcode::VSLIDEDOWNVX,
12199Opcode::VSLIDEUPVI,
12200Opcode::VSLIDEUPVX,
12201Opcode::VSLLVI,
12202Opcode::VSLLVV,
12203Opcode::VSLLVX,
12204Opcode::VSM3CVI,
12205Opcode::VSM3MEVV,
12206Opcode::VSM4KVI,
12207Opcode::VSM4RVS,
12208Opcode::VSM4RVV,
12209Opcode::VSMV,
12210Opcode::VSMULVV,
12211Opcode::VSMULVX,
12212Opcode::VSOXEI16V,
12213Opcode::VSOXEI32V,
12214Opcode::VSOXEI64V,
12215Opcode::VSOXEI8V,
12216Opcode::VSRAVI,
12217Opcode::VSRAVV,
12218Opcode::VSRAVX,
12219Opcode::VSRLVI,
12220Opcode::VSRLVV,
12221Opcode::VSRLVX,
12222Opcode::VSSE16V,
12223Opcode::VSSE32V,
12224Opcode::VSSE64V,
12225Opcode::VSSE8V,
12226Opcode::VSSRAVI,
12227Opcode::VSSRAVV,
12228Opcode::VSSRAVX,
12229Opcode::VSSRLVI,
12230Opcode::VSSRLVV,
12231Opcode::VSSRLVX,
12232Opcode::VSSUBVV,
12233Opcode::VSSUBVX,
12234Opcode::VSSUBUVV,
12235Opcode::VSSUBUVX,
12236Opcode::VSUBVV,
12237Opcode::VSUBVX,
12238Opcode::VSUXEI16V,
12239Opcode::VSUXEI32V,
12240Opcode::VSUXEI64V,
12241Opcode::VSUXEI8V,
12242Opcode::VWADDVV,
12243Opcode::VWADDVX,
12244Opcode::VWADDWV,
12245Opcode::VWADDWX,
12246Opcode::VWADDUVV,
12247Opcode::VWADDUVX,
12248Opcode::VWADDUWV,
12249Opcode::VWADDUWX,
12250Opcode::VWMACCVV,
12251Opcode::VWMACCVX,
12252Opcode::VWMACCSUVV,
12253Opcode::VWMACCSUVX,
12254Opcode::VWMACCUVV,
12255Opcode::VWMACCUVX,
12256Opcode::VWMACCUSVX,
12257Opcode::VWMULVV,
12258Opcode::VWMULVX,
12259Opcode::VWMULSUVV,
12260Opcode::VWMULSUVX,
12261Opcode::VWMULUVV,
12262Opcode::VWMULUVX,
12263Opcode::VWREDSUMVS,
12264Opcode::VWREDSUMUVS,
12265Opcode::VWSLLVI,
12266Opcode::VWSLLVV,
12267Opcode::VWSLLVX,
12268Opcode::VWSUBVV,
12269Opcode::VWSUBVX,
12270Opcode::VWSUBWV,
12271Opcode::VWSUBWX,
12272Opcode::VWSUBUVV,
12273Opcode::VWSUBUVX,
12274Opcode::VWSUBUWV,
12275Opcode::VWSUBUWX,
12276Opcode::VXORVI,
12277Opcode::VXORVV,
12278Opcode::VXORVX,
12279Opcode::VZEXTVF2,
12280Opcode::VZEXTVF4,
12281Opcode::VZEXTVF8,
12282Opcode::WFI,
12283Opcode::WRSNTO,
12284Opcode::WRSSTO,
12285Opcode::XNOR,
12286Opcode::XOR,
12287Opcode::XORI,
12288Opcode::XPERM4,
12289Opcode::XPERM8,
12290Opcode::ZEXTB,
12291Opcode::ZEXTH,
12292Opcode::ZEXTHRV32,
12293Opcode::ZEXTW,
12294Opcode::ZIP,
12295];
12296pub static SHORT_OPCODE: [bool; 1021] = [
12297false,
12298false,
12299false,
12300false,
12301false,
12302false,
12303false,
12304false,
12305false,
12306false,
12307false,
12308false,
12309false,
12310false,
12311false,
12312false,
12313false,
12314false,
12315false,
12316false,
12317false,
12318false,
12319false,
12320false,
12321false,
12322false,
12323false,
12324false,
12325false,
12326false,
12327false,
12328false,
12329false,
12330false,
12331false,
12332false,
12333false,
12334false,
12335false,
12336false,
12337false,
12338false,
12339false,
12340false,
12341false,
12342false,
12343false,
12344false,
12345false,
12346false,
12347false,
12348false,
12349false,
12350false,
12351false,
12352false,
12353false,
12354false,
12355false,
12356false,
12357false,
12358false,
12359false,
12360false,
12361false,
12362false,
12363false,
12364false,
12365false,
12366false,
12367false,
12368false,
12369false,
12370false,
12371false,
12372false,
12373false,
12374false,
12375false,
12376false,
12377false,
12378false,
12379false,
12380false,
12381false,
12382false,
12383false,
12384false,
12385false,
12386false,
12387true,
12388true,
12389true,
12390true,
12391true,
12392true,
12393true,
12394true,
12395true,
12396true,
12397true,
12398true,
12399true,
12400true,
12401true,
12402true,
12403true,
12404true,
12405true,
12406true,
12407true,
12408true,
12409true,
12410true,
12411true,
12412true,
12413true,
12414true,
12415true,
12416true,
12417true,
12418true,
12419true,
12420true,
12421true,
12422true,
12423true,
12424true,
12425true,
12426true,
12427true,
12428true,
12429true,
12430true,
12431true,
12432true,
12433true,
12434true,
12435true,
12436true,
12437true,
12438true,
12439true,
12440true,
12441true,
12442true,
12443true,
12444true,
12445true,
12446true,
12447true,
12448true,
12449true,
12450true,
12451true,
12452true,
12453true,
12454true,
12455true,
12456true,
12457true,
12458true,
12459true,
12460true,
12461true,
12462true,
12463true,
12464true,
12465true,
12466true,
12467true,
12468true,
12469true,
12470true,
12471true,
12472true,
12473true,
12474true,
12475true,
12476true,
12477true,
12478true,
12479true,
12480true,
12481true,
12482true,
12483true,
12484true,
12485true,
12486true,
12487true,
12488true,
12489true,
12490true,
12491true,
12492true,
12493false,
12494false,
12495false,
12496false,
12497false,
12498false,
12499false,
12500false,
12501false,
12502false,
12503false,
12504false,
12505false,
12506false,
12507false,
12508false,
12509false,
12510false,
12511false,
12512false,
12513false,
12514false,
12515false,
12516false,
12517false,
12518false,
12519false,
12520false,
12521false,
12522false,
12523false,
12524false,
12525false,
12526false,
12527false,
12528false,
12529false,
12530false,
12531false,
12532false,
12533false,
12534false,
12535false,
12536false,
12537false,
12538false,
12539false,
12540false,
12541false,
12542false,
12543false,
12544false,
12545false,
12546false,
12547false,
12548false,
12549false,
12550false,
12551false,
12552false,
12553false,
12554false,
12555false,
12556false,
12557false,
12558false,
12559false,
12560false,
12561false,
12562false,
12563false,
12564false,
12565false,
12566false,
12567false,
12568false,
12569false,
12570false,
12571false,
12572false,
12573false,
12574false,
12575false,
12576false,
12577false,
12578false,
12579false,
12580false,
12581false,
12582false,
12583false,
12584false,
12585false,
12586false,
12587false,
12588false,
12589false,
12590false,
12591false,
12592false,
12593false,
12594false,
12595false,
12596false,
12597false,
12598false,
12599false,
12600false,
12601false,
12602false,
12603false,
12604false,
12605false,
12606false,
12607false,
12608false,
12609false,
12610false,
12611false,
12612false,
12613false,
12614false,
12615false,
12616false,
12617false,
12618false,
12619false,
12620false,
12621false,
12622false,
12623false,
12624false,
12625false,
12626false,
12627false,
12628false,
12629false,
12630false,
12631false,
12632false,
12633false,
12634false,
12635false,
12636false,
12637false,
12638false,
12639false,
12640false,
12641false,
12642false,
12643false,
12644false,
12645false,
12646false,
12647false,
12648false,
12649false,
12650false,
12651false,
12652false,
12653false,
12654false,
12655false,
12656false,
12657false,
12658false,
12659false,
12660false,
12661false,
12662false,
12663false,
12664false,
12665false,
12666false,
12667false,
12668false,
12669false,
12670false,
12671false,
12672false,
12673false,
12674false,
12675false,
12676false,
12677false,
12678false,
12679false,
12680false,
12681false,
12682false,
12683false,
12684false,
12685false,
12686false,
12687false,
12688false,
12689false,
12690false,
12691false,
12692false,
12693false,
12694false,
12695false,
12696false,
12697false,
12698false,
12699false,
12700false,
12701false,
12702false,
12703false,
12704false,
12705false,
12706false,
12707false,
12708false,
12709false,
12710false,
12711false,
12712false,
12713false,
12714false,
12715false,
12716false,
12717false,
12718false,
12719false,
12720false,
12721false,
12722false,
12723false,
12724false,
12725false,
12726false,
12727false,
12728false,
12729false,
12730false,
12731false,
12732false,
12733false,
12734false,
12735false,
12736false,
12737false,
12738false,
12739false,
12740false,
12741false,
12742false,
12743false,
12744false,
12745false,
12746false,
12747false,
12748false,
12749false,
12750false,
12751false,
12752false,
12753false,
12754false,
12755false,
12756false,
12757false,
12758false,
12759false,
12760false,
12761false,
12762false,
12763false,
12764false,
12765false,
12766false,
12767false,
12768false,
12769false,
12770false,
12771false,
12772false,
12773false,
12774false,
12775false,
12776false,
12777false,
12778false,
12779false,
12780false,
12781false,
12782false,
12783false,
12784false,
12785false,
12786false,
12787false,
12788false,
12789false,
12790false,
12791false,
12792false,
12793false,
12794false,
12795false,
12796false,
12797false,
12798false,
12799false,
12800false,
12801false,
12802false,
12803false,
12804false,
12805false,
12806false,
12807false,
12808false,
12809false,
12810false,
12811false,
12812false,
12813false,
12814false,
12815false,
12816false,
12817false,
12818false,
12819false,
12820false,
12821false,
12822false,
12823false,
12824false,
12825false,
12826false,
12827false,
12828false,
12829false,
12830false,
12831false,
12832false,
12833false,
12834false,
12835false,
12836false,
12837false,
12838false,
12839false,
12840false,
12841false,
12842false,
12843false,
12844false,
12845false,
12846false,
12847false,
12848false,
12849false,
12850false,
12851false,
12852false,
12853false,
12854false,
12855false,
12856false,
12857false,
12858false,
12859false,
12860false,
12861false,
12862false,
12863false,
12864false,
12865false,
12866false,
12867false,
12868false,
12869false,
12870false,
12871false,
12872false,
12873false,
12874false,
12875false,
12876false,
12877false,
12878false,
12879false,
12880false,
12881false,
12882false,
12883false,
12884false,
12885false,
12886false,
12887false,
12888false,
12889false,
12890false,
12891false,
12892false,
12893false,
12894false,
12895false,
12896false,
12897false,
12898false,
12899false,
12900false,
12901false,
12902false,
12903false,
12904false,
12905false,
12906false,
12907false,
12908false,
12909false,
12910false,
12911false,
12912false,
12913false,
12914false,
12915false,
12916false,
12917false,
12918false,
12919false,
12920false,
12921false,
12922false,
12923false,
12924false,
12925false,
12926false,
12927false,
12928false,
12929false,
12930false,
12931false,
12932false,
12933false,
12934false,
12935false,
12936false,
12937false,
12938false,
12939false,
12940false,
12941false,
12942false,
12943false,
12944false,
12945false,
12946false,
12947false,
12948false,
12949false,
12950false,
12951false,
12952false,
12953false,
12954false,
12955false,
12956false,
12957false,
12958false,
12959false,
12960false,
12961false,
12962false,
12963false,
12964false,
12965false,
12966false,
12967false,
12968false,
12969false,
12970false,
12971false,
12972false,
12973false,
12974false,
12975false,
12976false,
12977false,
12978false,
12979false,
12980false,
12981false,
12982false,
12983false,
12984false,
12985false,
12986false,
12987false,
12988false,
12989false,
12990false,
12991false,
12992false,
12993false,
12994false,
12995false,
12996false,
12997false,
12998false,
12999false,
13000false,
13001false,
13002false,
13003false,
13004false,
13005false,
13006false,
13007false,
13008false,
13009false,
13010false,
13011false,
13012false,
13013false,
13014false,
13015false,
13016false,
13017false,
13018false,
13019false,
13020false,
13021false,
13022false,
13023false,
13024false,
13025false,
13026false,
13027false,
13028false,
13029false,
13030false,
13031false,
13032false,
13033false,
13034false,
13035false,
13036false,
13037false,
13038false,
13039false,
13040false,
13041false,
13042false,
13043false,
13044false,
13045false,
13046false,
13047false,
13048false,
13049false,
13050false,
13051false,
13052false,
13053false,
13054false,
13055false,
13056false,
13057false,
13058false,
13059false,
13060false,
13061false,
13062false,
13063false,
13064false,
13065false,
13066false,
13067false,
13068false,
13069false,
13070false,
13071false,
13072false,
13073false,
13074false,
13075false,
13076false,
13077false,
13078false,
13079false,
13080false,
13081false,
13082false,
13083false,
13084false,
13085false,
13086false,
13087false,
13088false,
13089false,
13090false,
13091false,
13092false,
13093false,
13094false,
13095false,
13096false,
13097false,
13098false,
13099false,
13100false,
13101false,
13102false,
13103false,
13104false,
13105false,
13106false,
13107false,
13108false,
13109false,
13110false,
13111false,
13112false,
13113false,
13114false,
13115false,
13116false,
13117false,
13118false,
13119false,
13120false,
13121false,
13122false,
13123false,
13124false,
13125false,
13126false,
13127false,
13128false,
13129false,
13130false,
13131false,
13132false,
13133false,
13134false,
13135false,
13136false,
13137false,
13138false,
13139false,
13140false,
13141false,
13142false,
13143false,
13144false,
13145false,
13146false,
13147false,
13148false,
13149false,
13150false,
13151false,
13152false,
13153false,
13154false,
13155false,
13156false,
13157false,
13158false,
13159false,
13160false,
13161false,
13162false,
13163false,
13164false,
13165false,
13166false,
13167false,
13168false,
13169false,
13170false,
13171false,
13172false,
13173false,
13174false,
13175false,
13176false,
13177false,
13178false,
13179false,
13180false,
13181false,
13182false,
13183false,
13184false,
13185false,
13186false,
13187false,
13188false,
13189false,
13190false,
13191false,
13192false,
13193false,
13194false,
13195false,
13196false,
13197false,
13198false,
13199false,
13200false,
13201false,
13202false,
13203false,
13204false,
13205false,
13206false,
13207false,
13208false,
13209false,
13210false,
13211false,
13212false,
13213false,
13214false,
13215false,
13216false,
13217false,
13218false,
13219false,
13220false,
13221false,
13222false,
13223false,
13224false,
13225false,
13226false,
13227false,
13228false,
13229false,
13230false,
13231false,
13232false,
13233false,
13234false,
13235false,
13236false,
13237false,
13238false,
13239false,
13240false,
13241false,
13242false,
13243false,
13244false,
13245false,
13246false,
13247false,
13248false,
13249false,
13250false,
13251false,
13252false,
13253false,
13254false,
13255false,
13256false,
13257false,
13258false,
13259false,
13260false,
13261false,
13262false,
13263false,
13264false,
13265false,
13266false,
13267false,
13268false,
13269false,
13270false,
13271false,
13272false,
13273false,
13274false,
13275false,
13276false,
13277false,
13278false,
13279false,
13280false,
13281false,
13282false,
13283false,
13284false,
13285false,
13286false,
13287false,
13288false,
13289false,
13290false,
13291false,
13292false,
13293false,
13294false,
13295false,
13296false,
13297false,
13298false,
13299false,
13300false,
13301false,
13302false,
13303false,
13304false,
13305false,
13306false,
13307false,
13308false,
13309false,
13310false,
13311false,
13312false,
13313false,
13314false,
13315false,
13316false,
13317false,
13318];
13319pub const SHORT_OPCODES: [Opcode; 106] = [
13320Opcode::CADD,
13321Opcode::CADDI,
13322Opcode::CADDI16SP,
13323Opcode::CADDI4SPN,
13324Opcode::CADDIW,
13325Opcode::CADDW,
13326Opcode::CAND,
13327Opcode::CANDI,
13328Opcode::CBEQZ,
13329Opcode::CBNEZ,
13330Opcode::CEBREAK,
13331Opcode::CFLD,
13332Opcode::CFLDSP,
13333Opcode::CFLW,
13334Opcode::CFLWSP,
13335Opcode::CFSD,
13336Opcode::CFSDSP,
13337Opcode::CFSW,
13338Opcode::CFSWSP,
13339Opcode::CJ,
13340Opcode::CJAL,
13341Opcode::CJALR,
13342Opcode::CJR,
13343Opcode::CLBU,
13344Opcode::CLD,
13345Opcode::CLDSP,
13346Opcode::CLH,
13347Opcode::CLHU,
13348Opcode::CLI,
13349Opcode::CLUI,
13350Opcode::CLW,
13351Opcode::CLWSP,
13352Opcode::CMOP1,
13353Opcode::CMOP11,
13354Opcode::CMOP13,
13355Opcode::CMOP15,
13356Opcode::CMOP3,
13357Opcode::CMOP5,
13358Opcode::CMOP7,
13359Opcode::CMOP9,
13360Opcode::CMOPN,
13361Opcode::CMUL,
13362Opcode::CMV,
13363Opcode::CNOP,
13364Opcode::CNOT,
13365Opcode::CNTLALL,
13366Opcode::CNTLP1,
13367Opcode::CNTLPALL,
13368Opcode::CNTLS1,
13369Opcode::COR,
13370Opcode::CSB,
13371Opcode::CSD,
13372Opcode::CSDSP,
13373Opcode::CSEXTB,
13374Opcode::CSEXTH,
13375Opcode::CSEXTW,
13376Opcode::CSH,
13377Opcode::CSLLI,
13378Opcode::CSLLIRV32,
13379Opcode::CSRAI,
13380Opcode::CSRAIRV32,
13381Opcode::CSRLI,
13382Opcode::CSRLIRV32,
13383Opcode::CSUB,
13384Opcode::CSUBW,
13385Opcode::CSW,
13386Opcode::CSWSP,
13387Opcode::CXOR,
13388Opcode::CZEXTB,
13389Opcode::CZEXTH,
13390Opcode::CZEXTW,
13391Opcode::CBOCLEAN,
13392Opcode::CBOFLUSH,
13393Opcode::CBOINVAL,
13394Opcode::CBOZERO,
13395Opcode::CLMUL,
13396Opcode::CLMULH,
13397Opcode::CLMULR,
13398Opcode::CLZ,
13399Opcode::CLZW,
13400Opcode::CMJALT,
13401Opcode::CMMVA01S,
13402Opcode::CMMVSA01,
13403Opcode::CMPOP,
13404Opcode::CMPOPRET,
13405Opcode::CMPOPRETZ,
13406Opcode::CMPUSH,
13407Opcode::CPOP,
13408Opcode::CPOPW,
13409Opcode::CSRC,
13410Opcode::CSRCI,
13411Opcode::CSRR,
13412Opcode::CSRRC,
13413Opcode::CSRRCI,
13414Opcode::CSRRS,
13415Opcode::CSRRSI,
13416Opcode::CSRRW,
13417Opcode::CSRRWI,
13418Opcode::CSRS,
13419Opcode::CSRSI,
13420Opcode::CSRW,
13421Opcode::CSRWI,
13422Opcode::CTZ,
13423Opcode::CTZW,
13424Opcode::CZEROEQZ,
13425Opcode::CZERONEZ,
13426];
13427
13428#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)]
13429#[repr(u32)]
13430pub enum Opcode {
13431 ADD,
13432 ADDUW,
13433 ADDI,
13434 ADDIW,
13435 ADDW,
13436 AES32DSI,
13437 AES32DSMI,
13438 AES32ESI,
13439 AES32ESMI,
13440 AES64DS,
13441 AES64DSM,
13442 AES64ES,
13443 AES64ESM,
13444 AES64IM,
13445 AES64KS1I,
13446 AES64KS2,
13447 AMOADDB,
13448 AMOADDD,
13449 AMOADDH,
13450 AMOADDW,
13451 AMOANDB,
13452 AMOANDD,
13453 AMOANDH,
13454 AMOANDW,
13455 AMOCASB,
13456 AMOCASD,
13457 AMOCASH,
13458 AMOCASQ,
13459 AMOCASW,
13460 AMOMAXB,
13461 AMOMAXD,
13462 AMOMAXH,
13463 AMOMAXW,
13464 AMOMAXUB,
13465 AMOMAXUD,
13466 AMOMAXUH,
13467 AMOMAXUW,
13468 AMOMINB,
13469 AMOMIND,
13470 AMOMINH,
13471 AMOMINW,
13472 AMOMINUB,
13473 AMOMINUD,
13474 AMOMINUH,
13475 AMOMINUW,
13476 AMOORB,
13477 AMOORD,
13478 AMOORH,
13479 AMOORW,
13480 AMOSWAPB,
13481 AMOSWAPD,
13482 AMOSWAPH,
13483 AMOSWAPW,
13484 AMOXORB,
13485 AMOXORD,
13486 AMOXORH,
13487 AMOXORW,
13488 AND,
13489 ANDI,
13490 ANDN,
13491 AUIPC,
13492 BCLR,
13493 BCLRI,
13494 BCLRIRV32,
13495 BEQ,
13496 BEQZ,
13497 BEXT,
13498 BEXTI,
13499 BEXTIRV32,
13500 BGE,
13501 BGEU,
13502 BGEZ,
13503 BGT,
13504 BGTU,
13505 BGTZ,
13506 BINV,
13507 BINVI,
13508 BINVIRV32,
13509 BLE,
13510 BLEU,
13511 BLEZ,
13512 BLT,
13513 BLTU,
13514 BLTZ,
13515 BNE,
13516 BNEZ,
13517 BREV8,
13518 BSET,
13519 BSETI,
13520 BSETIRV32,
13521 CADD,
13522 CADDI,
13523 CADDI16SP,
13524 CADDI4SPN,
13525 CADDIW,
13526 CADDW,
13527 CAND,
13528 CANDI,
13529 CBEQZ,
13530 CBNEZ,
13531 CEBREAK,
13532 CFLD,
13533 CFLDSP,
13534 CFLW,
13535 CFLWSP,
13536 CFSD,
13537 CFSDSP,
13538 CFSW,
13539 CFSWSP,
13540 CJ,
13541 CJAL,
13542 CJALR,
13543 CJR,
13544 CLBU,
13545 CLD,
13546 CLDSP,
13547 CLH,
13548 CLHU,
13549 CLI,
13550 CLUI,
13551 CLW,
13552 CLWSP,
13553 CMOP1,
13554 CMOP11,
13555 CMOP13,
13556 CMOP15,
13557 CMOP3,
13558 CMOP5,
13559 CMOP7,
13560 CMOP9,
13561 CMOPN,
13562 CMUL,
13563 CMV,
13564 CNOP,
13565 CNOT,
13566 CNTLALL,
13567 CNTLP1,
13568 CNTLPALL,
13569 CNTLS1,
13570 COR,
13571 CSB,
13572 CSD,
13573 CSDSP,
13574 CSEXTB,
13575 CSEXTH,
13576 CSEXTW,
13577 CSH,
13578 CSLLI,
13579 CSLLIRV32,
13580 CSRAI,
13581 CSRAIRV32,
13582 CSRLI,
13583 CSRLIRV32,
13584 CSUB,
13585 CSUBW,
13586 CSW,
13587 CSWSP,
13588 CXOR,
13589 CZEXTB,
13590 CZEXTH,
13591 CZEXTW,
13592 CBOCLEAN,
13593 CBOFLUSH,
13594 CBOINVAL,
13595 CBOZERO,
13596 CLMUL,
13597 CLMULH,
13598 CLMULR,
13599 CLZ,
13600 CLZW,
13601 CMJALT,
13602 CMMVA01S,
13603 CMMVSA01,
13604 CMPOP,
13605 CMPOPRET,
13606 CMPOPRETZ,
13607 CMPUSH,
13608 CPOP,
13609 CPOPW,
13610 CSRC,
13611 CSRCI,
13612 CSRR,
13613 CSRRC,
13614 CSRRCI,
13615 CSRRS,
13616 CSRRSI,
13617 CSRRW,
13618 CSRRWI,
13619 CSRS,
13620 CSRSI,
13621 CSRW,
13622 CSRWI,
13623 CTZ,
13624 CTZW,
13625 CZEROEQZ,
13626 CZERONEZ,
13627 DIV,
13628 DIVU,
13629 DIVUW,
13630 DIVW,
13631 DRET,
13632 EBREAK,
13633 ECALL,
13634 FABSD,
13635 FABSH,
13636 FABSQ,
13637 FABSS,
13638 FADDD,
13639 FADDH,
13640 FADDQ,
13641 FADDS,
13642 FCLASSD,
13643 FCLASSH,
13644 FCLASSQ,
13645 FCLASSS,
13646 FCVTDH,
13647 FCVTDL,
13648 FCVTDLU,
13649 FCVTDQ,
13650 FCVTDS,
13651 FCVTDW,
13652 FCVTDWU,
13653 FCVTHD,
13654 FCVTHL,
13655 FCVTHLU,
13656 FCVTHQ,
13657 FCVTHS,
13658 FCVTHW,
13659 FCVTHWU,
13660 FCVTLD,
13661 FCVTLH,
13662 FCVTLQ,
13663 FCVTLS,
13664 FCVTLUD,
13665 FCVTLUH,
13666 FCVTLUQ,
13667 FCVTLUS,
13668 FCVTQD,
13669 FCVTQH,
13670 FCVTQL,
13671 FCVTQLU,
13672 FCVTQS,
13673 FCVTQW,
13674 FCVTQWU,
13675 FCVTSD,
13676 FCVTSH,
13677 FCVTSL,
13678 FCVTSLU,
13679 FCVTSQ,
13680 FCVTSW,
13681 FCVTSWU,
13682 FCVTWD,
13683 FCVTWH,
13684 FCVTWQ,
13685 FCVTWS,
13686 FCVTWUD,
13687 FCVTWUH,
13688 FCVTWUQ,
13689 FCVTWUS,
13690 FCVTMODWD,
13691 FDIVD,
13692 FDIVH,
13693 FDIVQ,
13694 FDIVS,
13695 FENCE,
13696 FENCEI,
13697 FENCETSO,
13698 FEQD,
13699 FEQH,
13700 FEQQ,
13701 FEQS,
13702 FLD,
13703 FLED,
13704 FLEH,
13705 FLEQ,
13706 FLES,
13707 FLEQD,
13708 FLEQH,
13709 FLEQQ,
13710 FLEQS,
13711 FLH,
13712 FLID,
13713 FLIH,
13714 FLIQ,
13715 FLIS,
13716 FLQ,
13717 FLTD,
13718 FLTH,
13719 FLTQ,
13720 FLTS,
13721 FLTQD,
13722 FLTQH,
13723 FLTQQ,
13724 FLTQS,
13725 FLW,
13726 FMADDD,
13727 FMADDH,
13728 FMADDQ,
13729 FMADDS,
13730 FMAXD,
13731 FMAXH,
13732 FMAXQ,
13733 FMAXS,
13734 FMAXMD,
13735 FMAXMH,
13736 FMAXMQ,
13737 FMAXMS,
13738 FMIND,
13739 FMINH,
13740 FMINQ,
13741 FMINS,
13742 FMINMD,
13743 FMINMH,
13744 FMINMQ,
13745 FMINMS,
13746 FMSUBD,
13747 FMSUBH,
13748 FMSUBQ,
13749 FMSUBS,
13750 FMULD,
13751 FMULH,
13752 FMULQ,
13753 FMULS,
13754 FMVD,
13755 FMVDX,
13756 FMVH,
13757 FMVHX,
13758 FMVQ,
13759 FMVS,
13760 FMVSX,
13761 FMVWX,
13762 FMVXD,
13763 FMVXH,
13764 FMVXS,
13765 FMVXW,
13766 FMVHXD,
13767 FMVHXQ,
13768 FMVPDX,
13769 FMVPQX,
13770 FNEGD,
13771 FNEGH,
13772 FNEGQ,
13773 FNEGS,
13774 FNMADDD,
13775 FNMADDH,
13776 FNMADDQ,
13777 FNMADDS,
13778 FNMSUBD,
13779 FNMSUBH,
13780 FNMSUBQ,
13781 FNMSUBS,
13782 FRCSR,
13783 FRFLAGS,
13784 FROUNDD,
13785 FROUNDH,
13786 FROUNDQ,
13787 FROUNDS,
13788 FROUNDNXD,
13789 FROUNDNXH,
13790 FROUNDNXQ,
13791 FROUNDNXS,
13792 FRRM,
13793 FSCSR,
13794 FSD,
13795 FSFLAGS,
13796 FSFLAGSI,
13797 FSGNJD,
13798 FSGNJH,
13799 FSGNJQ,
13800 FSGNJS,
13801 FSGNJND,
13802 FSGNJNH,
13803 FSGNJNQ,
13804 FSGNJNS,
13805 FSGNJXD,
13806 FSGNJXH,
13807 FSGNJXQ,
13808 FSGNJXS,
13809 FSH,
13810 FSQ,
13811 FSQRTD,
13812 FSQRTH,
13813 FSQRTQ,
13814 FSQRTS,
13815 FSRM,
13816 FSRMI,
13817 FSUBD,
13818 FSUBH,
13819 FSUBQ,
13820 FSUBS,
13821 FSW,
13822 HFENCEGVMA,
13823 HFENCEVVMA,
13824 HINVALGVMA,
13825 HINVALVVMA,
13826 HLVB,
13827 HLVBU,
13828 HLVD,
13829 HLVH,
13830 HLVHU,
13831 HLVW,
13832 HLVWU,
13833 HLVXHU,
13834 HLVXWU,
13835 HSVB,
13836 HSVD,
13837 HSVH,
13838 HSVW,
13839 J,
13840 JAL,
13841 JALPSEUDO,
13842 JALR,
13843 JALRPSEUDO,
13844 JR,
13845 LB,
13846 LBU,
13847 LD,
13848 LH,
13849 LHU,
13850 LRD,
13851 LRW,
13852 LUI,
13853 LW,
13854 LWU,
13855 MAX,
13856 MAXU,
13857 MIN,
13858 MINU,
13859 MOPR0,
13860 MOPR1,
13861 MOPR10,
13862 MOPR11,
13863 MOPR12,
13864 MOPR13,
13865 MOPR14,
13866 MOPR15,
13867 MOPR16,
13868 MOPR17,
13869 MOPR18,
13870 MOPR19,
13871 MOPR2,
13872 MOPR20,
13873 MOPR21,
13874 MOPR22,
13875 MOPR23,
13876 MOPR24,
13877 MOPR25,
13878 MOPR26,
13879 MOPR27,
13880 MOPR28,
13881 MOPR29,
13882 MOPR3,
13883 MOPR30,
13884 MOPR31,
13885 MOPR4,
13886 MOPR5,
13887 MOPR6,
13888 MOPR7,
13889 MOPR8,
13890 MOPR9,
13891 MOPRN,
13892 MOPRR0,
13893 MOPRR1,
13894 MOPRR2,
13895 MOPRR3,
13896 MOPRR4,
13897 MOPRR5,
13898 MOPRR6,
13899 MOPRR7,
13900 MOPRRN,
13901 MRET,
13902 MUL,
13903 MULH,
13904 MULHSU,
13905 MULHU,
13906 MULW,
13907 MV,
13908 NEG,
13909 NOP,
13910 NTLALL,
13911 NTLP1,
13912 NTLPALL,
13913 NTLS1,
13914 OR,
13915 ORCB,
13916 ORI,
13917 ORN,
13918 PACK,
13919 PACKH,
13920 PACKW,
13921 PAUSE,
13922 PREFETCHI,
13923 PREFETCHR,
13924 PREFETCHW,
13925 RDCYCLE,
13926 RDCYCLEH,
13927 RDINSTRET,
13928 RDINSTRETH,
13929 RDTIME,
13930 RDTIMEH,
13931 REM,
13932 REMU,
13933 REMUW,
13934 REMW,
13935 RET,
13936 REV8,
13937 REV8RV32,
13938 ROL,
13939 ROLW,
13940 ROR,
13941 RORI,
13942 RORIRV32,
13943 RORIW,
13944 RORW,
13945 SB,
13946 SBREAK,
13947 SCD,
13948 SCW,
13949 SCALL,
13950 SD,
13951 SEQZ,
13952 SEXTB,
13953 SEXTH,
13954 SEXTW,
13955 SFENCEINVALIR,
13956 SFENCEVMA,
13957 SFENCEWINVAL,
13958 SGTZ,
13959 SH,
13960 SH1ADD,
13961 SH1ADDUW,
13962 SH2ADD,
13963 SH2ADDUW,
13964 SH3ADD,
13965 SH3ADDUW,
13966 SHA256SIG0,
13967 SHA256SIG1,
13968 SHA256SUM0,
13969 SHA256SUM1,
13970 SHA512SIG0,
13971 SHA512SIG0H,
13972 SHA512SIG0L,
13973 SHA512SIG1,
13974 SHA512SIG1H,
13975 SHA512SIG1L,
13976 SHA512SUM0,
13977 SHA512SUM0R,
13978 SHA512SUM1,
13979 SHA512SUM1R,
13980 SINVALVMA,
13981 SLL,
13982 SLLI,
13983 SLLIRV32,
13984 SLLIUW,
13985 SLLIW,
13986 SLLW,
13987 SLT,
13988 SLTI,
13989 SLTIU,
13990 SLTU,
13991 SLTZ,
13992 SM3P0,
13993 SM3P1,
13994 SM4ED,
13995 SM4KS,
13996 SNEZ,
13997 SRA,
13998 SRAI,
13999 SRAIRV32,
14000 SRAIW,
14001 SRAW,
14002 SRET,
14003 SRL,
14004 SRLI,
14005 SRLIRV32,
14006 SRLIW,
14007 SRLW,
14008 SUB,
14009 SUBW,
14010 SW,
14011 UNZIP,
14012 VAADDVV,
14013 VAADDVX,
14014 VAADDUVV,
14015 VAADDUVX,
14016 VADCVIM,
14017 VADCVVM,
14018 VADCVXM,
14019 VADDVI,
14020 VADDVV,
14021 VADDVX,
14022 VAESDFVS,
14023 VAESDFVV,
14024 VAESDMVS,
14025 VAESDMVV,
14026 VAESEFVS,
14027 VAESEFVV,
14028 VAESEMVS,
14029 VAESEMVV,
14030 VAESKF1VI,
14031 VAESKF2VI,
14032 VAESZVS,
14033 VANDVI,
14034 VANDVV,
14035 VANDVX,
14036 VANDNVV,
14037 VANDNVX,
14038 VASUBVV,
14039 VASUBVX,
14040 VASUBUVV,
14041 VASUBUVX,
14042 VBREV8V,
14043 VBREVV,
14044 VCLMULVV,
14045 VCLMULVX,
14046 VCLMULHVV,
14047 VCLMULHVX,
14048 VCLZV,
14049 VCOMPRESSVM,
14050 VCPOPM,
14051 VCPOPV,
14052 VCTZV,
14053 VDIVVV,
14054 VDIVVX,
14055 VDIVUVV,
14056 VDIVUVX,
14057 VFADDVF,
14058 VFADDVV,
14059 VFCLASSV,
14060 VFCVTFXV,
14061 VFCVTFXUV,
14062 VFCVTRTZXFV,
14063 VFCVTRTZXUFV,
14064 VFCVTXFV,
14065 VFCVTXUFV,
14066 VFDIVVF,
14067 VFDIVVV,
14068 VFIRSTM,
14069 VFMACCVF,
14070 VFMACCVV,
14071 VFMADDVF,
14072 VFMADDVV,
14073 VFMAXVF,
14074 VFMAXVV,
14075 VFMERGEVFM,
14076 VFMINVF,
14077 VFMINVV,
14078 VFMSACVF,
14079 VFMSACVV,
14080 VFMSUBVF,
14081 VFMSUBVV,
14082 VFMULVF,
14083 VFMULVV,
14084 VFMVFS,
14085 VFMVSF,
14086 VFMVVF,
14087 VFNCVTFFW,
14088 VFNCVTFXW,
14089 VFNCVTFXUW,
14090 VFNCVTRODFFW,
14091 VFNCVTRTZXFW,
14092 VFNCVTRTZXUFW,
14093 VFNCVTXFW,
14094 VFNCVTXUFW,
14095 VFNMACCVF,
14096 VFNMACCVV,
14097 VFNMADDVF,
14098 VFNMADDVV,
14099 VFNMSACVF,
14100 VFNMSACVV,
14101 VFNMSUBVF,
14102 VFNMSUBVV,
14103 VFRDIVVF,
14104 VFREC7V,
14105 VFREDMAXVS,
14106 VFREDMINVS,
14107 VFREDOSUMVS,
14108 VFREDSUMVS,
14109 VFREDUSUMVS,
14110 VFRSQRT7V,
14111 VFRSUBVF,
14112 VFSGNJVF,
14113 VFSGNJVV,
14114 VFSGNJNVF,
14115 VFSGNJNVV,
14116 VFSGNJXVF,
14117 VFSGNJXVV,
14118 VFSLIDE1DOWNVF,
14119 VFSLIDE1UPVF,
14120 VFSQRTV,
14121 VFSUBVF,
14122 VFSUBVV,
14123 VFWADDVF,
14124 VFWADDVV,
14125 VFWADDWF,
14126 VFWADDWV,
14127 VFWCVTFFV,
14128 VFWCVTFXV,
14129 VFWCVTFXUV,
14130 VFWCVTRTZXFV,
14131 VFWCVTRTZXUFV,
14132 VFWCVTXFV,
14133 VFWCVTXUFV,
14134 VFWMACCVF,
14135 VFWMACCVV,
14136 VFWMSACVF,
14137 VFWMSACVV,
14138 VFWMULVF,
14139 VFWMULVV,
14140 VFWNMACCVF,
14141 VFWNMACCVV,
14142 VFWNMSACVF,
14143 VFWNMSACVV,
14144 VFWREDOSUMVS,
14145 VFWREDSUMVS,
14146 VFWREDUSUMVS,
14147 VFWSUBVF,
14148 VFWSUBVV,
14149 VFWSUBWF,
14150 VFWSUBWV,
14151 VGHSHVV,
14152 VGMULVV,
14153 VIDV,
14154 VIOTAM,
14155 VL1RV,
14156 VL1RE16V,
14157 VL1RE32V,
14158 VL1RE64V,
14159 VL1RE8V,
14160 VL2RV,
14161 VL2RE16V,
14162 VL2RE32V,
14163 VL2RE64V,
14164 VL2RE8V,
14165 VL4RV,
14166 VL4RE16V,
14167 VL4RE32V,
14168 VL4RE64V,
14169 VL4RE8V,
14170 VL8RV,
14171 VL8RE16V,
14172 VL8RE32V,
14173 VL8RE64V,
14174 VL8RE8V,
14175 VLE16V,
14176 VLE16FFV,
14177 VLE1V,
14178 VLE32V,
14179 VLE32FFV,
14180 VLE64V,
14181 VLE64FFV,
14182 VLE8V,
14183 VLE8FFV,
14184 VLMV,
14185 VLOXEI16V,
14186 VLOXEI32V,
14187 VLOXEI64V,
14188 VLOXEI8V,
14189 VLSE16V,
14190 VLSE32V,
14191 VLSE64V,
14192 VLSE8V,
14193 VLUXEI16V,
14194 VLUXEI32V,
14195 VLUXEI64V,
14196 VLUXEI8V,
14197 VMACCVV,
14198 VMACCVX,
14199 VMADCVI,
14200 VMADCVIM,
14201 VMADCVV,
14202 VMADCVVM,
14203 VMADCVX,
14204 VMADCVXM,
14205 VMADDVV,
14206 VMADDVX,
14207 VMANDMM,
14208 VMANDNMM,
14209 VMANDNOTMM,
14210 VMAXVV,
14211 VMAXVX,
14212 VMAXUVV,
14213 VMAXUVX,
14214 VMERGEVIM,
14215 VMERGEVVM,
14216 VMERGEVXM,
14217 VMFEQVF,
14218 VMFEQVV,
14219 VMFGEVF,
14220 VMFGTVF,
14221 VMFLEVF,
14222 VMFLEVV,
14223 VMFLTVF,
14224 VMFLTVV,
14225 VMFNEVF,
14226 VMFNEVV,
14227 VMINVV,
14228 VMINVX,
14229 VMINUVV,
14230 VMINUVX,
14231 VMNANDMM,
14232 VMNORMM,
14233 VMORMM,
14234 VMORNMM,
14235 VMORNOTMM,
14236 VMSBCVV,
14237 VMSBCVVM,
14238 VMSBCVX,
14239 VMSBCVXM,
14240 VMSBFM,
14241 VMSEQVI,
14242 VMSEQVV,
14243 VMSEQVX,
14244 VMSGTVI,
14245 VMSGTVX,
14246 VMSGTUVI,
14247 VMSGTUVX,
14248 VMSIFM,
14249 VMSLEVI,
14250 VMSLEVV,
14251 VMSLEVX,
14252 VMSLEUVI,
14253 VMSLEUVV,
14254 VMSLEUVX,
14255 VMSLTVV,
14256 VMSLTVX,
14257 VMSLTUVV,
14258 VMSLTUVX,
14259 VMSNEVI,
14260 VMSNEVV,
14261 VMSNEVX,
14262 VMSOFM,
14263 VMULVV,
14264 VMULVX,
14265 VMULHVV,
14266 VMULHVX,
14267 VMULHSUVV,
14268 VMULHSUVX,
14269 VMULHUVV,
14270 VMULHUVX,
14271 VMV1RV,
14272 VMV2RV,
14273 VMV4RV,
14274 VMV8RV,
14275 VMVSX,
14276 VMVVI,
14277 VMVVV,
14278 VMVVX,
14279 VMVXS,
14280 VMXNORMM,
14281 VMXORMM,
14282 VNCLIPWI,
14283 VNCLIPWV,
14284 VNCLIPWX,
14285 VNCLIPUWI,
14286 VNCLIPUWV,
14287 VNCLIPUWX,
14288 VNMSACVV,
14289 VNMSACVX,
14290 VNMSUBVV,
14291 VNMSUBVX,
14292 VNSRAWI,
14293 VNSRAWV,
14294 VNSRAWX,
14295 VNSRLWI,
14296 VNSRLWV,
14297 VNSRLWX,
14298 VORVI,
14299 VORVV,
14300 VORVX,
14301 VPOPCM,
14302 VREDANDVS,
14303 VREDMAXVS,
14304 VREDMAXUVS,
14305 VREDMINVS,
14306 VREDMINUVS,
14307 VREDORVS,
14308 VREDSUMVS,
14309 VREDXORVS,
14310 VREMVV,
14311 VREMVX,
14312 VREMUVV,
14313 VREMUVX,
14314 VREV8V,
14315 VRGATHERVI,
14316 VRGATHERVV,
14317 VRGATHERVX,
14318 VRGATHEREI16VV,
14319 VROLVV,
14320 VROLVX,
14321 VRORVI,
14322 VRORVV,
14323 VRORVX,
14324 VRSUBVI,
14325 VRSUBVX,
14326 VS1RV,
14327 VS2RV,
14328 VS4RV,
14329 VS8RV,
14330 VSADDVI,
14331 VSADDVV,
14332 VSADDVX,
14333 VSADDUVI,
14334 VSADDUVV,
14335 VSADDUVX,
14336 VSBCVVM,
14337 VSBCVXM,
14338 VSE16V,
14339 VSE1V,
14340 VSE32V,
14341 VSE64V,
14342 VSE8V,
14343 VSETIVLI,
14344 VSETVL,
14345 VSETVLI,
14346 VSEXTVF2,
14347 VSEXTVF4,
14348 VSEXTVF8,
14349 VSHA2CHVV,
14350 VSHA2CLVV,
14351 VSHA2MSVV,
14352 VSLIDE1DOWNVX,
14353 VSLIDE1UPVX,
14354 VSLIDEDOWNVI,
14355 VSLIDEDOWNVX,
14356 VSLIDEUPVI,
14357 VSLIDEUPVX,
14358 VSLLVI,
14359 VSLLVV,
14360 VSLLVX,
14361 VSM3CVI,
14362 VSM3MEVV,
14363 VSM4KVI,
14364 VSM4RVS,
14365 VSM4RVV,
14366 VSMV,
14367 VSMULVV,
14368 VSMULVX,
14369 VSOXEI16V,
14370 VSOXEI32V,
14371 VSOXEI64V,
14372 VSOXEI8V,
14373 VSRAVI,
14374 VSRAVV,
14375 VSRAVX,
14376 VSRLVI,
14377 VSRLVV,
14378 VSRLVX,
14379 VSSE16V,
14380 VSSE32V,
14381 VSSE64V,
14382 VSSE8V,
14383 VSSRAVI,
14384 VSSRAVV,
14385 VSSRAVX,
14386 VSSRLVI,
14387 VSSRLVV,
14388 VSSRLVX,
14389 VSSUBVV,
14390 VSSUBVX,
14391 VSSUBUVV,
14392 VSSUBUVX,
14393 VSUBVV,
14394 VSUBVX,
14395 VSUXEI16V,
14396 VSUXEI32V,
14397 VSUXEI64V,
14398 VSUXEI8V,
14399 VWADDVV,
14400 VWADDVX,
14401 VWADDWV,
14402 VWADDWX,
14403 VWADDUVV,
14404 VWADDUVX,
14405 VWADDUWV,
14406 VWADDUWX,
14407 VWMACCVV,
14408 VWMACCVX,
14409 VWMACCSUVV,
14410 VWMACCSUVX,
14411 VWMACCUVV,
14412 VWMACCUVX,
14413 VWMACCUSVX,
14414 VWMULVV,
14415 VWMULVX,
14416 VWMULSUVV,
14417 VWMULSUVX,
14418 VWMULUVV,
14419 VWMULUVX,
14420 VWREDSUMVS,
14421 VWREDSUMUVS,
14422 VWSLLVI,
14423 VWSLLVV,
14424 VWSLLVX,
14425 VWSUBVV,
14426 VWSUBVX,
14427 VWSUBWV,
14428 VWSUBWX,
14429 VWSUBUVV,
14430 VWSUBUVX,
14431 VWSUBUWV,
14432 VWSUBUWX,
14433 VXORVI,
14434 VXORVV,
14435 VXORVX,
14436 VZEXTVF2,
14437 VZEXTVF4,
14438 VZEXTVF8,
14439 WFI,
14440 WRSNTO,
14441 WRSSTO,
14442 XNOR,
14443 XOR,
14444 XORI,
14445 XPERM4,
14446 XPERM8,
14447 ZEXTB,
14448 ZEXTH,
14449 ZEXTHRV32,
14450 ZEXTW,
14451 ZIP,
14452 Invalid,
14453}
14454
14455pub const OPCODE_STR: &[&str] = &[
14456 "add",
14457 "add.uw",
14458 "addi",
14459 "addiw",
14460 "addw",
14461 "aes32dsi",
14462 "aes32dsmi",
14463 "aes32esi",
14464 "aes32esmi",
14465 "aes64ds",
14466 "aes64dsm",
14467 "aes64es",
14468 "aes64esm",
14469 "aes64im",
14470 "aes64ks1i",
14471 "aes64ks2",
14472 "amoadd.b",
14473 "amoadd.d",
14474 "amoadd.h",
14475 "amoadd.w",
14476 "amoand.b",
14477 "amoand.d",
14478 "amoand.h",
14479 "amoand.w",
14480 "amocas.b",
14481 "amocas.d",
14482 "amocas.h",
14483 "amocas.q",
14484 "amocas.w",
14485 "amomax.b",
14486 "amomax.d",
14487 "amomax.h",
14488 "amomax.w",
14489 "amomaxu.b",
14490 "amomaxu.d",
14491 "amomaxu.h",
14492 "amomaxu.w",
14493 "amomin.b",
14494 "amomin.d",
14495 "amomin.h",
14496 "amomin.w",
14497 "amominu.b",
14498 "amominu.d",
14499 "amominu.h",
14500 "amominu.w",
14501 "amoor.b",
14502 "amoor.d",
14503 "amoor.h",
14504 "amoor.w",
14505 "amoswap.b",
14506 "amoswap.d",
14507 "amoswap.h",
14508 "amoswap.w",
14509 "amoxor.b",
14510 "amoxor.d",
14511 "amoxor.h",
14512 "amoxor.w",
14513 "and",
14514 "andi",
14515 "andn",
14516 "auipc",
14517 "bclr",
14518 "bclri",
14519 "bclri.rv32",
14520 "beq",
14521 "beqz",
14522 "bext",
14523 "bexti",
14524 "bexti.rv32",
14525 "bge",
14526 "bgeu",
14527 "bgez",
14528 "bgt",
14529 "bgtu",
14530 "bgtz",
14531 "binv",
14532 "binvi",
14533 "binvi.rv32",
14534 "ble",
14535 "bleu",
14536 "blez",
14537 "blt",
14538 "bltu",
14539 "bltz",
14540 "bne",
14541 "bnez",
14542 "brev8",
14543 "bset",
14544 "bseti",
14545 "bseti.rv32",
14546 "c.add",
14547 "c.addi",
14548 "c.addi16sp",
14549 "c.addi4spn",
14550 "c.addiw",
14551 "c.addw",
14552 "c.and",
14553 "c.andi",
14554 "c.beqz",
14555 "c.bnez",
14556 "c.ebreak",
14557 "c.fld",
14558 "c.fldsp",
14559 "c.flw",
14560 "c.flwsp",
14561 "c.fsd",
14562 "c.fsdsp",
14563 "c.fsw",
14564 "c.fswsp",
14565 "c.j",
14566 "c.jal",
14567 "c.jalr",
14568 "c.jr",
14569 "c.lbu",
14570 "c.ld",
14571 "c.ldsp",
14572 "c.lh",
14573 "c.lhu",
14574 "c.li",
14575 "c.lui",
14576 "c.lw",
14577 "c.lwsp",
14578 "c.mop.1",
14579 "c.mop.11",
14580 "c.mop.13",
14581 "c.mop.15",
14582 "c.mop.3",
14583 "c.mop.5",
14584 "c.mop.7",
14585 "c.mop.9",
14586 "c.mop.n",
14587 "c.mul",
14588 "c.mv",
14589 "c.nop",
14590 "c.not",
14591 "c.ntl.all",
14592 "c.ntl.p1",
14593 "c.ntl.pall",
14594 "c.ntl.s1",
14595 "c.or",
14596 "c.sb",
14597 "c.sd",
14598 "c.sdsp",
14599 "c.sext.b",
14600 "c.sext.h",
14601 "c.sext.w",
14602 "c.sh",
14603 "c.slli",
14604 "c.slli.rv32",
14605 "c.srai",
14606 "c.srai.rv32",
14607 "c.srli",
14608 "c.srli.rv32",
14609 "c.sub",
14610 "c.subw",
14611 "c.sw",
14612 "c.swsp",
14613 "c.xor",
14614 "c.zext.b",
14615 "c.zext.h",
14616 "c.zext.w",
14617 "cbo.clean",
14618 "cbo.flush",
14619 "cbo.inval",
14620 "cbo.zero",
14621 "clmul",
14622 "clmulh",
14623 "clmulr",
14624 "clz",
14625 "clzw",
14626 "cm.jalt",
14627 "cm.mva01s",
14628 "cm.mvsa01",
14629 "cm.pop",
14630 "cm.popret",
14631 "cm.popretz",
14632 "cm.push",
14633 "cpop",
14634 "cpopw",
14635 "csrc",
14636 "csrci",
14637 "csrr",
14638 "csrrc",
14639 "csrrci",
14640 "csrrs",
14641 "csrrsi",
14642 "csrrw",
14643 "csrrwi",
14644 "csrs",
14645 "csrsi",
14646 "csrw",
14647 "csrwi",
14648 "ctz",
14649 "ctzw",
14650 "czero.eqz",
14651 "czero.nez",
14652 "div",
14653 "divu",
14654 "divuw",
14655 "divw",
14656 "dret",
14657 "ebreak",
14658 "ecall",
14659 "fabs.d",
14660 "fabs.h",
14661 "fabs.q",
14662 "fabs.s",
14663 "fadd.d",
14664 "fadd.h",
14665 "fadd.q",
14666 "fadd.s",
14667 "fclass.d",
14668 "fclass.h",
14669 "fclass.q",
14670 "fclass.s",
14671 "fcvt.d.h",
14672 "fcvt.d.l",
14673 "fcvt.d.lu",
14674 "fcvt.d.q",
14675 "fcvt.d.s",
14676 "fcvt.d.w",
14677 "fcvt.d.wu",
14678 "fcvt.h.d",
14679 "fcvt.h.l",
14680 "fcvt.h.lu",
14681 "fcvt.h.q",
14682 "fcvt.h.s",
14683 "fcvt.h.w",
14684 "fcvt.h.wu",
14685 "fcvt.l.d",
14686 "fcvt.l.h",
14687 "fcvt.l.q",
14688 "fcvt.l.s",
14689 "fcvt.lu.d",
14690 "fcvt.lu.h",
14691 "fcvt.lu.q",
14692 "fcvt.lu.s",
14693 "fcvt.q.d",
14694 "fcvt.q.h",
14695 "fcvt.q.l",
14696 "fcvt.q.lu",
14697 "fcvt.q.s",
14698 "fcvt.q.w",
14699 "fcvt.q.wu",
14700 "fcvt.s.d",
14701 "fcvt.s.h",
14702 "fcvt.s.l",
14703 "fcvt.s.lu",
14704 "fcvt.s.q",
14705 "fcvt.s.w",
14706 "fcvt.s.wu",
14707 "fcvt.w.d",
14708 "fcvt.w.h",
14709 "fcvt.w.q",
14710 "fcvt.w.s",
14711 "fcvt.wu.d",
14712 "fcvt.wu.h",
14713 "fcvt.wu.q",
14714 "fcvt.wu.s",
14715 "fcvtmod.w.d",
14716 "fdiv.d",
14717 "fdiv.h",
14718 "fdiv.q",
14719 "fdiv.s",
14720 "fence",
14721 "fence.i",
14722 "fence.tso",
14723 "feq.d",
14724 "feq.h",
14725 "feq.q",
14726 "feq.s",
14727 "fld",
14728 "fle.d",
14729 "fle.h",
14730 "fle.q",
14731 "fle.s",
14732 "fleq.d",
14733 "fleq.h",
14734 "fleq.q",
14735 "fleq.s",
14736 "flh",
14737 "fli.d",
14738 "fli.h",
14739 "fli.q",
14740 "fli.s",
14741 "flq",
14742 "flt.d",
14743 "flt.h",
14744 "flt.q",
14745 "flt.s",
14746 "fltq.d",
14747 "fltq.h",
14748 "fltq.q",
14749 "fltq.s",
14750 "flw",
14751 "fmadd.d",
14752 "fmadd.h",
14753 "fmadd.q",
14754 "fmadd.s",
14755 "fmax.d",
14756 "fmax.h",
14757 "fmax.q",
14758 "fmax.s",
14759 "fmaxm.d",
14760 "fmaxm.h",
14761 "fmaxm.q",
14762 "fmaxm.s",
14763 "fmin.d",
14764 "fmin.h",
14765 "fmin.q",
14766 "fmin.s",
14767 "fminm.d",
14768 "fminm.h",
14769 "fminm.q",
14770 "fminm.s",
14771 "fmsub.d",
14772 "fmsub.h",
14773 "fmsub.q",
14774 "fmsub.s",
14775 "fmul.d",
14776 "fmul.h",
14777 "fmul.q",
14778 "fmul.s",
14779 "fmv.d",
14780 "fmv.d.x",
14781 "fmv.h",
14782 "fmv.h.x",
14783 "fmv.q",
14784 "fmv.s",
14785 "fmv.s.x",
14786 "fmv.w.x",
14787 "fmv.x.d",
14788 "fmv.x.h",
14789 "fmv.x.s",
14790 "fmv.x.w",
14791 "fmvh.x.d",
14792 "fmvh.x.q",
14793 "fmvp.d.x",
14794 "fmvp.q.x",
14795 "fneg.d",
14796 "fneg.h",
14797 "fneg.q",
14798 "fneg.s",
14799 "fnmadd.d",
14800 "fnmadd.h",
14801 "fnmadd.q",
14802 "fnmadd.s",
14803 "fnmsub.d",
14804 "fnmsub.h",
14805 "fnmsub.q",
14806 "fnmsub.s",
14807 "frcsr",
14808 "frflags",
14809 "fround.d",
14810 "fround.h",
14811 "fround.q",
14812 "fround.s",
14813 "froundnx.d",
14814 "froundnx.h",
14815 "froundnx.q",
14816 "froundnx.s",
14817 "frrm",
14818 "fscsr",
14819 "fsd",
14820 "fsflags",
14821 "fsflagsi",
14822 "fsgnj.d",
14823 "fsgnj.h",
14824 "fsgnj.q",
14825 "fsgnj.s",
14826 "fsgnjn.d",
14827 "fsgnjn.h",
14828 "fsgnjn.q",
14829 "fsgnjn.s",
14830 "fsgnjx.d",
14831 "fsgnjx.h",
14832 "fsgnjx.q",
14833 "fsgnjx.s",
14834 "fsh",
14835 "fsq",
14836 "fsqrt.d",
14837 "fsqrt.h",
14838 "fsqrt.q",
14839 "fsqrt.s",
14840 "fsrm",
14841 "fsrmi",
14842 "fsub.d",
14843 "fsub.h",
14844 "fsub.q",
14845 "fsub.s",
14846 "fsw",
14847 "hfence.gvma",
14848 "hfence.vvma",
14849 "hinval.gvma",
14850 "hinval.vvma",
14851 "hlv.b",
14852 "hlv.bu",
14853 "hlv.d",
14854 "hlv.h",
14855 "hlv.hu",
14856 "hlv.w",
14857 "hlv.wu",
14858 "hlvx.hu",
14859 "hlvx.wu",
14860 "hsv.b",
14861 "hsv.d",
14862 "hsv.h",
14863 "hsv.w",
14864 "j",
14865 "jal",
14866 "jal.pseudo",
14867 "jalr",
14868 "jalr.pseudo",
14869 "jr",
14870 "lb",
14871 "lbu",
14872 "ld",
14873 "lh",
14874 "lhu",
14875 "lr.d",
14876 "lr.w",
14877 "lui",
14878 "lw",
14879 "lwu",
14880 "max",
14881 "maxu",
14882 "min",
14883 "minu",
14884 "mop.r.0",
14885 "mop.r.1",
14886 "mop.r.10",
14887 "mop.r.11",
14888 "mop.r.12",
14889 "mop.r.13",
14890 "mop.r.14",
14891 "mop.r.15",
14892 "mop.r.16",
14893 "mop.r.17",
14894 "mop.r.18",
14895 "mop.r.19",
14896 "mop.r.2",
14897 "mop.r.20",
14898 "mop.r.21",
14899 "mop.r.22",
14900 "mop.r.23",
14901 "mop.r.24",
14902 "mop.r.25",
14903 "mop.r.26",
14904 "mop.r.27",
14905 "mop.r.28",
14906 "mop.r.29",
14907 "mop.r.3",
14908 "mop.r.30",
14909 "mop.r.31",
14910 "mop.r.4",
14911 "mop.r.5",
14912 "mop.r.6",
14913 "mop.r.7",
14914 "mop.r.8",
14915 "mop.r.9",
14916 "mop.r.n",
14917 "mop.rr.0",
14918 "mop.rr.1",
14919 "mop.rr.2",
14920 "mop.rr.3",
14921 "mop.rr.4",
14922 "mop.rr.5",
14923 "mop.rr.6",
14924 "mop.rr.7",
14925 "mop.rr.n",
14926 "mret",
14927 "mul",
14928 "mulh",
14929 "mulhsu",
14930 "mulhu",
14931 "mulw",
14932 "mv",
14933 "neg",
14934 "nop",
14935 "ntl.all",
14936 "ntl.p1",
14937 "ntl.pall",
14938 "ntl.s1",
14939 "or",
14940 "orc.b",
14941 "ori",
14942 "orn",
14943 "pack",
14944 "packh",
14945 "packw",
14946 "pause",
14947 "prefetch.i",
14948 "prefetch.r",
14949 "prefetch.w",
14950 "rdcycle",
14951 "rdcycleh",
14952 "rdinstret",
14953 "rdinstreth",
14954 "rdtime",
14955 "rdtimeh",
14956 "rem",
14957 "remu",
14958 "remuw",
14959 "remw",
14960 "ret",
14961 "rev8",
14962 "rev8.rv32",
14963 "rol",
14964 "rolw",
14965 "ror",
14966 "rori",
14967 "rori.rv32",
14968 "roriw",
14969 "rorw",
14970 "sb",
14971 "sbreak",
14972 "sc.d",
14973 "sc.w",
14974 "scall",
14975 "sd",
14976 "seqz",
14977 "sext.b",
14978 "sext.h",
14979 "sext.w",
14980 "sfence.inval.ir",
14981 "sfence.vma",
14982 "sfence.w.inval",
14983 "sgtz",
14984 "sh",
14985 "sh1add",
14986 "sh1add.uw",
14987 "sh2add",
14988 "sh2add.uw",
14989 "sh3add",
14990 "sh3add.uw",
14991 "sha256sig0",
14992 "sha256sig1",
14993 "sha256sum0",
14994 "sha256sum1",
14995 "sha512sig0",
14996 "sha512sig0h",
14997 "sha512sig0l",
14998 "sha512sig1",
14999 "sha512sig1h",
15000 "sha512sig1l",
15001 "sha512sum0",
15002 "sha512sum0r",
15003 "sha512sum1",
15004 "sha512sum1r",
15005 "sinval.vma",
15006 "sll",
15007 "slli",
15008 "slli.rv32",
15009 "slli.uw",
15010 "slliw",
15011 "sllw",
15012 "slt",
15013 "slti",
15014 "sltiu",
15015 "sltu",
15016 "sltz",
15017 "sm3p0",
15018 "sm3p1",
15019 "sm4ed",
15020 "sm4ks",
15021 "snez",
15022 "sra",
15023 "srai",
15024 "srai.rv32",
15025 "sraiw",
15026 "sraw",
15027 "sret",
15028 "srl",
15029 "srli",
15030 "srli.rv32",
15031 "srliw",
15032 "srlw",
15033 "sub",
15034 "subw",
15035 "sw",
15036 "unzip",
15037 "vaadd.vv",
15038 "vaadd.vx",
15039 "vaaddu.vv",
15040 "vaaddu.vx",
15041 "vadc.vim",
15042 "vadc.vvm",
15043 "vadc.vxm",
15044 "vadd.vi",
15045 "vadd.vv",
15046 "vadd.vx",
15047 "vaesdf.vs",
15048 "vaesdf.vv",
15049 "vaesdm.vs",
15050 "vaesdm.vv",
15051 "vaesef.vs",
15052 "vaesef.vv",
15053 "vaesem.vs",
15054 "vaesem.vv",
15055 "vaeskf1.vi",
15056 "vaeskf2.vi",
15057 "vaesz.vs",
15058 "vand.vi",
15059 "vand.vv",
15060 "vand.vx",
15061 "vandn.vv",
15062 "vandn.vx",
15063 "vasub.vv",
15064 "vasub.vx",
15065 "vasubu.vv",
15066 "vasubu.vx",
15067 "vbrev8.v",
15068 "vbrev.v",
15069 "vclmul.vv",
15070 "vclmul.vx",
15071 "vclmulh.vv",
15072 "vclmulh.vx",
15073 "vclz.v",
15074 "vcompress.vm",
15075 "vcpop.m",
15076 "vcpop.v",
15077 "vctz.v",
15078 "vdiv.vv",
15079 "vdiv.vx",
15080 "vdivu.vv",
15081 "vdivu.vx",
15082 "vfadd.vf",
15083 "vfadd.vv",
15084 "vfclass.v",
15085 "vfcvt.f.x.v",
15086 "vfcvt.f.xu.v",
15087 "vfcvt.rtz.x.f.v",
15088 "vfcvt.rtz.xu.f.v",
15089 "vfcvt.x.f.v",
15090 "vfcvt.xu.f.v",
15091 "vfdiv.vf",
15092 "vfdiv.vv",
15093 "vfirst.m",
15094 "vfmacc.vf",
15095 "vfmacc.vv",
15096 "vfmadd.vf",
15097 "vfmadd.vv",
15098 "vfmax.vf",
15099 "vfmax.vv",
15100 "vfmerge.vfm",
15101 "vfmin.vf",
15102 "vfmin.vv",
15103 "vfmsac.vf",
15104 "vfmsac.vv",
15105 "vfmsub.vf",
15106 "vfmsub.vv",
15107 "vfmul.vf",
15108 "vfmul.vv",
15109 "vfmv.f.s",
15110 "vfmv.s.f",
15111 "vfmv.v.f",
15112 "vfncvt.f.f.w",
15113 "vfncvt.f.x.w",
15114 "vfncvt.f.xu.w",
15115 "vfncvt.rod.f.f.w",
15116 "vfncvt.rtz.x.f.w",
15117 "vfncvt.rtz.xu.f.w",
15118 "vfncvt.x.f.w",
15119 "vfncvt.xu.f.w",
15120 "vfnmacc.vf",
15121 "vfnmacc.vv",
15122 "vfnmadd.vf",
15123 "vfnmadd.vv",
15124 "vfnmsac.vf",
15125 "vfnmsac.vv",
15126 "vfnmsub.vf",
15127 "vfnmsub.vv",
15128 "vfrdiv.vf",
15129 "vfrec7.v",
15130 "vfredmax.vs",
15131 "vfredmin.vs",
15132 "vfredosum.vs",
15133 "vfredsum.vs",
15134 "vfredusum.vs",
15135 "vfrsqrt7.v",
15136 "vfrsub.vf",
15137 "vfsgnj.vf",
15138 "vfsgnj.vv",
15139 "vfsgnjn.vf",
15140 "vfsgnjn.vv",
15141 "vfsgnjx.vf",
15142 "vfsgnjx.vv",
15143 "vfslide1down.vf",
15144 "vfslide1up.vf",
15145 "vfsqrt.v",
15146 "vfsub.vf",
15147 "vfsub.vv",
15148 "vfwadd.vf",
15149 "vfwadd.vv",
15150 "vfwadd.wf",
15151 "vfwadd.wv",
15152 "vfwcvt.f.f.v",
15153 "vfwcvt.f.x.v",
15154 "vfwcvt.f.xu.v",
15155 "vfwcvt.rtz.x.f.v",
15156 "vfwcvt.rtz.xu.f.v",
15157 "vfwcvt.x.f.v",
15158 "vfwcvt.xu.f.v",
15159 "vfwmacc.vf",
15160 "vfwmacc.vv",
15161 "vfwmsac.vf",
15162 "vfwmsac.vv",
15163 "vfwmul.vf",
15164 "vfwmul.vv",
15165 "vfwnmacc.vf",
15166 "vfwnmacc.vv",
15167 "vfwnmsac.vf",
15168 "vfwnmsac.vv",
15169 "vfwredosum.vs",
15170 "vfwredsum.vs",
15171 "vfwredusum.vs",
15172 "vfwsub.vf",
15173 "vfwsub.vv",
15174 "vfwsub.wf",
15175 "vfwsub.wv",
15176 "vghsh.vv",
15177 "vgmul.vv",
15178 "vid.v",
15179 "viota.m",
15180 "vl1r.v",
15181 "vl1re16.v",
15182 "vl1re32.v",
15183 "vl1re64.v",
15184 "vl1re8.v",
15185 "vl2r.v",
15186 "vl2re16.v",
15187 "vl2re32.v",
15188 "vl2re64.v",
15189 "vl2re8.v",
15190 "vl4r.v",
15191 "vl4re16.v",
15192 "vl4re32.v",
15193 "vl4re64.v",
15194 "vl4re8.v",
15195 "vl8r.v",
15196 "vl8re16.v",
15197 "vl8re32.v",
15198 "vl8re64.v",
15199 "vl8re8.v",
15200 "vle16.v",
15201 "vle16ff.v",
15202 "vle1.v",
15203 "vle32.v",
15204 "vle32ff.v",
15205 "vle64.v",
15206 "vle64ff.v",
15207 "vle8.v",
15208 "vle8ff.v",
15209 "vlm.v",
15210 "vloxei16.v",
15211 "vloxei32.v",
15212 "vloxei64.v",
15213 "vloxei8.v",
15214 "vlse16.v",
15215 "vlse32.v",
15216 "vlse64.v",
15217 "vlse8.v",
15218 "vluxei16.v",
15219 "vluxei32.v",
15220 "vluxei64.v",
15221 "vluxei8.v",
15222 "vmacc.vv",
15223 "vmacc.vx",
15224 "vmadc.vi",
15225 "vmadc.vim",
15226 "vmadc.vv",
15227 "vmadc.vvm",
15228 "vmadc.vx",
15229 "vmadc.vxm",
15230 "vmadd.vv",
15231 "vmadd.vx",
15232 "vmand.mm",
15233 "vmandn.mm",
15234 "vmandnot.mm",
15235 "vmax.vv",
15236 "vmax.vx",
15237 "vmaxu.vv",
15238 "vmaxu.vx",
15239 "vmerge.vim",
15240 "vmerge.vvm",
15241 "vmerge.vxm",
15242 "vmfeq.vf",
15243 "vmfeq.vv",
15244 "vmfge.vf",
15245 "vmfgt.vf",
15246 "vmfle.vf",
15247 "vmfle.vv",
15248 "vmflt.vf",
15249 "vmflt.vv",
15250 "vmfne.vf",
15251 "vmfne.vv",
15252 "vmin.vv",
15253 "vmin.vx",
15254 "vminu.vv",
15255 "vminu.vx",
15256 "vmnand.mm",
15257 "vmnor.mm",
15258 "vmor.mm",
15259 "vmorn.mm",
15260 "vmornot.mm",
15261 "vmsbc.vv",
15262 "vmsbc.vvm",
15263 "vmsbc.vx",
15264 "vmsbc.vxm",
15265 "vmsbf.m",
15266 "vmseq.vi",
15267 "vmseq.vv",
15268 "vmseq.vx",
15269 "vmsgt.vi",
15270 "vmsgt.vx",
15271 "vmsgtu.vi",
15272 "vmsgtu.vx",
15273 "vmsif.m",
15274 "vmsle.vi",
15275 "vmsle.vv",
15276 "vmsle.vx",
15277 "vmsleu.vi",
15278 "vmsleu.vv",
15279 "vmsleu.vx",
15280 "vmslt.vv",
15281 "vmslt.vx",
15282 "vmsltu.vv",
15283 "vmsltu.vx",
15284 "vmsne.vi",
15285 "vmsne.vv",
15286 "vmsne.vx",
15287 "vmsof.m",
15288 "vmul.vv",
15289 "vmul.vx",
15290 "vmulh.vv",
15291 "vmulh.vx",
15292 "vmulhsu.vv",
15293 "vmulhsu.vx",
15294 "vmulhu.vv",
15295 "vmulhu.vx",
15296 "vmv1r.v",
15297 "vmv2r.v",
15298 "vmv4r.v",
15299 "vmv8r.v",
15300 "vmv.s.x",
15301 "vmv.v.i",
15302 "vmv.v.v",
15303 "vmv.v.x",
15304 "vmv.x.s",
15305 "vmxnor.mm",
15306 "vmxor.mm",
15307 "vnclip.wi",
15308 "vnclip.wv",
15309 "vnclip.wx",
15310 "vnclipu.wi",
15311 "vnclipu.wv",
15312 "vnclipu.wx",
15313 "vnmsac.vv",
15314 "vnmsac.vx",
15315 "vnmsub.vv",
15316 "vnmsub.vx",
15317 "vnsra.wi",
15318 "vnsra.wv",
15319 "vnsra.wx",
15320 "vnsrl.wi",
15321 "vnsrl.wv",
15322 "vnsrl.wx",
15323 "vor.vi",
15324 "vor.vv",
15325 "vor.vx",
15326 "vpopc.m",
15327 "vredand.vs",
15328 "vredmax.vs",
15329 "vredmaxu.vs",
15330 "vredmin.vs",
15331 "vredminu.vs",
15332 "vredor.vs",
15333 "vredsum.vs",
15334 "vredxor.vs",
15335 "vrem.vv",
15336 "vrem.vx",
15337 "vremu.vv",
15338 "vremu.vx",
15339 "vrev8.v",
15340 "vrgather.vi",
15341 "vrgather.vv",
15342 "vrgather.vx",
15343 "vrgatherei16.vv",
15344 "vrol.vv",
15345 "vrol.vx",
15346 "vror.vi",
15347 "vror.vv",
15348 "vror.vx",
15349 "vrsub.vi",
15350 "vrsub.vx",
15351 "vs1r.v",
15352 "vs2r.v",
15353 "vs4r.v",
15354 "vs8r.v",
15355 "vsadd.vi",
15356 "vsadd.vv",
15357 "vsadd.vx",
15358 "vsaddu.vi",
15359 "vsaddu.vv",
15360 "vsaddu.vx",
15361 "vsbc.vvm",
15362 "vsbc.vxm",
15363 "vse16.v",
15364 "vse1.v",
15365 "vse32.v",
15366 "vse64.v",
15367 "vse8.v",
15368 "vsetivli",
15369 "vsetvl",
15370 "vsetvli",
15371 "vsext.vf2",
15372 "vsext.vf4",
15373 "vsext.vf8",
15374 "vsha2ch.vv",
15375 "vsha2cl.vv",
15376 "vsha2ms.vv",
15377 "vslide1down.vx",
15378 "vslide1up.vx",
15379 "vslidedown.vi",
15380 "vslidedown.vx",
15381 "vslideup.vi",
15382 "vslideup.vx",
15383 "vsll.vi",
15384 "vsll.vv",
15385 "vsll.vx",
15386 "vsm3c.vi",
15387 "vsm3me.vv",
15388 "vsm4k.vi",
15389 "vsm4r.vs",
15390 "vsm4r.vv",
15391 "vsm.v",
15392 "vsmul.vv",
15393 "vsmul.vx",
15394 "vsoxei16.v",
15395 "vsoxei32.v",
15396 "vsoxei64.v",
15397 "vsoxei8.v",
15398 "vsra.vi",
15399 "vsra.vv",
15400 "vsra.vx",
15401 "vsrl.vi",
15402 "vsrl.vv",
15403 "vsrl.vx",
15404 "vsse16.v",
15405 "vsse32.v",
15406 "vsse64.v",
15407 "vsse8.v",
15408 "vssra.vi",
15409 "vssra.vv",
15410 "vssra.vx",
15411 "vssrl.vi",
15412 "vssrl.vv",
15413 "vssrl.vx",
15414 "vssub.vv",
15415 "vssub.vx",
15416 "vssubu.vv",
15417 "vssubu.vx",
15418 "vsub.vv",
15419 "vsub.vx",
15420 "vsuxei16.v",
15421 "vsuxei32.v",
15422 "vsuxei64.v",
15423 "vsuxei8.v",
15424 "vwadd.vv",
15425 "vwadd.vx",
15426 "vwadd.wv",
15427 "vwadd.wx",
15428 "vwaddu.vv",
15429 "vwaddu.vx",
15430 "vwaddu.wv",
15431 "vwaddu.wx",
15432 "vwmacc.vv",
15433 "vwmacc.vx",
15434 "vwmaccsu.vv",
15435 "vwmaccsu.vx",
15436 "vwmaccu.vv",
15437 "vwmaccu.vx",
15438 "vwmaccus.vx",
15439 "vwmul.vv",
15440 "vwmul.vx",
15441 "vwmulsu.vv",
15442 "vwmulsu.vx",
15443 "vwmulu.vv",
15444 "vwmulu.vx",
15445 "vwredsum.vs",
15446 "vwredsumu.vs",
15447 "vwsll.vi",
15448 "vwsll.vv",
15449 "vwsll.vx",
15450 "vwsub.vv",
15451 "vwsub.vx",
15452 "vwsub.wv",
15453 "vwsub.wx",
15454 "vwsubu.vv",
15455 "vwsubu.vx",
15456 "vwsubu.wv",
15457 "vwsubu.wx",
15458 "vxor.vi",
15459 "vxor.vv",
15460 "vxor.vx",
15461 "vzext.vf2",
15462 "vzext.vf4",
15463 "vzext.vf8",
15464 "wfi",
15465 "wrs.nto",
15466 "wrs.sto",
15467 "xnor",
15468 "xor",
15469 "xori",
15470 "xperm4",
15471 "xperm8",
15472 "zext.b",
15473 "zext.h",
15474 "zext.h.rv32",
15475 "zext.w",
15476 "zip",
15477 "<invalid>"
15478];
15479
15480#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)]
15481pub struct Inst {
15482 pub opcode: u32,
15483 pub funct3: u32,
15484 pub rs1: u32,
15485 pub rs2: u32,
15486 pub csr: i64,
15487 pub funct7: u32,
15488}
15489
15490impl Inst {
15491 pub const fn encode(&self) -> InstructionValue {
15492 InstructionValue::new(
15493 0 | (self.funct7 << 25)
15494 | (self.rs2 << 20)
15495 | (self.rs1 << 15)
15496 | (self.funct3 << 12)
15497 | self.opcode,
15498 )
15499 }
15500
15501 pub const fn new(op: Opcode) -> Self {
15502 match op {
15503 Opcode::Invalid => unreachable!(),
15504 Opcode::ADD => Inst {
15505 opcode: 0x33,
15506 funct3: 0x0,
15507 rs1: 0x0,
15508 rs2: 0x0,
15509 csr: 0x0,
15510 funct7: 0x0,
15511 },
15512 Opcode::ADDUW => Inst {
15513 opcode: 0x3b,
15514 funct3: 0x0,
15515 rs1: 0x0,
15516 rs2: 0x0,
15517 csr: 0x80,
15518 funct7: 0x4,
15519 },
15520 Opcode::ADDI => Inst {
15521 opcode: 0x13,
15522 funct3: 0x0,
15523 rs1: 0x0,
15524 rs2: 0x0,
15525 csr: 0x0,
15526 funct7: 0x0,
15527 },
15528 Opcode::ADDIW => Inst {
15529 opcode: 0x1b,
15530 funct3: 0x0,
15531 rs1: 0x0,
15532 rs2: 0x0,
15533 csr: 0x0,
15534 funct7: 0x0,
15535 },
15536 Opcode::ADDW => Inst {
15537 opcode: 0x3b,
15538 funct3: 0x0,
15539 rs1: 0x0,
15540 rs2: 0x0,
15541 csr: 0x0,
15542 funct7: 0x0,
15543 },
15544 Opcode::AES32DSI => Inst {
15545 opcode: 0x33,
15546 funct3: 0x0,
15547 rs1: 0x0,
15548 rs2: 0x0,
15549 csr: 0x2a0,
15550 funct7: 0x15,
15551 },
15552 Opcode::AES32DSMI => Inst {
15553 opcode: 0x33,
15554 funct3: 0x0,
15555 rs1: 0x0,
15556 rs2: 0x0,
15557 csr: 0x2e0,
15558 funct7: 0x17,
15559 },
15560 Opcode::AES32ESI => Inst {
15561 opcode: 0x33,
15562 funct3: 0x0,
15563 rs1: 0x0,
15564 rs2: 0x0,
15565 csr: 0x220,
15566 funct7: 0x11,
15567 },
15568 Opcode::AES32ESMI => Inst {
15569 opcode: 0x33,
15570 funct3: 0x0,
15571 rs1: 0x0,
15572 rs2: 0x0,
15573 csr: 0x260,
15574 funct7: 0x13,
15575 },
15576 Opcode::AES64DS => Inst {
15577 opcode: 0x33,
15578 funct3: 0x0,
15579 rs1: 0x0,
15580 rs2: 0x0,
15581 csr: 0x3a0,
15582 funct7: 0x1d,
15583 },
15584 Opcode::AES64DSM => Inst {
15585 opcode: 0x33,
15586 funct3: 0x0,
15587 rs1: 0x0,
15588 rs2: 0x0,
15589 csr: 0x3e0,
15590 funct7: 0x1f,
15591 },
15592 Opcode::AES64ES => Inst {
15593 opcode: 0x33,
15594 funct3: 0x0,
15595 rs1: 0x0,
15596 rs2: 0x0,
15597 csr: 0x320,
15598 funct7: 0x19,
15599 },
15600 Opcode::AES64ESM => Inst {
15601 opcode: 0x33,
15602 funct3: 0x0,
15603 rs1: 0x0,
15604 rs2: 0x0,
15605 csr: 0x360,
15606 funct7: 0x1b,
15607 },
15608 Opcode::AES64IM => Inst {
15609 opcode: 0x13,
15610 funct3: 0x1,
15611 rs1: 0x0,
15612 rs2: 0x0,
15613 csr: 0x300,
15614 funct7: 0x18,
15615 },
15616 Opcode::AES64KS1I => Inst {
15617 opcode: 0x13,
15618 funct3: 0x1,
15619 rs1: 0x0,
15620 rs2: 0x10,
15621 csr: 0x310,
15622 funct7: 0x18,
15623 },
15624 Opcode::AES64KS2 => Inst {
15625 opcode: 0x33,
15626 funct3: 0x0,
15627 rs1: 0x0,
15628 rs2: 0x0,
15629 csr: 0x7e0,
15630 funct7: 0x3f,
15631 },
15632 Opcode::AMOADDB => Inst {
15633 opcode: 0x2f,
15634 funct3: 0x0,
15635 rs1: 0x0,
15636 rs2: 0x0,
15637 csr: 0x0,
15638 funct7: 0x0,
15639 },
15640 Opcode::AMOADDD => Inst {
15641 opcode: 0x2f,
15642 funct3: 0x3,
15643 rs1: 0x0,
15644 rs2: 0x0,
15645 csr: 0x0,
15646 funct7: 0x0,
15647 },
15648 Opcode::AMOADDH => Inst {
15649 opcode: 0x2f,
15650 funct3: 0x1,
15651 rs1: 0x0,
15652 rs2: 0x0,
15653 csr: 0x0,
15654 funct7: 0x0,
15655 },
15656 Opcode::AMOADDW => Inst {
15657 opcode: 0x2f,
15658 funct3: 0x2,
15659 rs1: 0x0,
15660 rs2: 0x0,
15661 csr: 0x0,
15662 funct7: 0x0,
15663 },
15664 Opcode::AMOANDB => Inst {
15665 opcode: 0x2f,
15666 funct3: 0x0,
15667 rs1: 0x0,
15668 rs2: 0x0,
15669 csr: 0x600,
15670 funct7: 0x30,
15671 },
15672 Opcode::AMOANDD => Inst {
15673 opcode: 0x2f,
15674 funct3: 0x3,
15675 rs1: 0x0,
15676 rs2: 0x0,
15677 csr: 0x600,
15678 funct7: 0x30,
15679 },
15680 Opcode::AMOANDH => Inst {
15681 opcode: 0x2f,
15682 funct3: 0x1,
15683 rs1: 0x0,
15684 rs2: 0x0,
15685 csr: 0x600,
15686 funct7: 0x30,
15687 },
15688 Opcode::AMOANDW => Inst {
15689 opcode: 0x2f,
15690 funct3: 0x2,
15691 rs1: 0x0,
15692 rs2: 0x0,
15693 csr: 0x600,
15694 funct7: 0x30,
15695 },
15696 Opcode::AMOCASB => Inst {
15697 opcode: 0x2f,
15698 funct3: 0x0,
15699 rs1: 0x0,
15700 rs2: 0x0,
15701 csr: 0x280,
15702 funct7: 0x14,
15703 },
15704 Opcode::AMOCASD => Inst {
15705 opcode: 0x2f,
15706 funct3: 0x3,
15707 rs1: 0x0,
15708 rs2: 0x0,
15709 csr: 0x280,
15710 funct7: 0x14,
15711 },
15712 Opcode::AMOCASH => Inst {
15713 opcode: 0x2f,
15714 funct3: 0x1,
15715 rs1: 0x0,
15716 rs2: 0x0,
15717 csr: 0x280,
15718 funct7: 0x14,
15719 },
15720 Opcode::AMOCASQ => Inst {
15721 opcode: 0x2f,
15722 funct3: 0x4,
15723 rs1: 0x0,
15724 rs2: 0x0,
15725 csr: 0x280,
15726 funct7: 0x14,
15727 },
15728 Opcode::AMOCASW => Inst {
15729 opcode: 0x2f,
15730 funct3: 0x2,
15731 rs1: 0x0,
15732 rs2: 0x0,
15733 csr: 0x280,
15734 funct7: 0x14,
15735 },
15736 Opcode::AMOMAXB => Inst {
15737 opcode: 0x2f,
15738 funct3: 0x0,
15739 rs1: 0x0,
15740 rs2: 0x0,
15741 csr: 0xa00,
15742 funct7: 0x50,
15743 },
15744 Opcode::AMOMAXD => Inst {
15745 opcode: 0x2f,
15746 funct3: 0x3,
15747 rs1: 0x0,
15748 rs2: 0x0,
15749 csr: 0xa00,
15750 funct7: 0x50,
15751 },
15752 Opcode::AMOMAXH => Inst {
15753 opcode: 0x2f,
15754 funct3: 0x1,
15755 rs1: 0x0,
15756 rs2: 0x0,
15757 csr: 0xa00,
15758 funct7: 0x50,
15759 },
15760 Opcode::AMOMAXW => Inst {
15761 opcode: 0x2f,
15762 funct3: 0x2,
15763 rs1: 0x0,
15764 rs2: 0x0,
15765 csr: 0xa00,
15766 funct7: 0x50,
15767 },
15768 Opcode::AMOMAXUB => Inst {
15769 opcode: 0x2f,
15770 funct3: 0x0,
15771 rs1: 0x0,
15772 rs2: 0x0,
15773 csr: 0xe00,
15774 funct7: 0x70,
15775 },
15776 Opcode::AMOMAXUD => Inst {
15777 opcode: 0x2f,
15778 funct3: 0x3,
15779 rs1: 0x0,
15780 rs2: 0x0,
15781 csr: 0xe00,
15782 funct7: 0x70,
15783 },
15784 Opcode::AMOMAXUH => Inst {
15785 opcode: 0x2f,
15786 funct3: 0x1,
15787 rs1: 0x0,
15788 rs2: 0x0,
15789 csr: 0xe00,
15790 funct7: 0x70,
15791 },
15792 Opcode::AMOMAXUW => Inst {
15793 opcode: 0x2f,
15794 funct3: 0x2,
15795 rs1: 0x0,
15796 rs2: 0x0,
15797 csr: 0xe00,
15798 funct7: 0x70,
15799 },
15800 Opcode::AMOMINB => Inst {
15801 opcode: 0x2f,
15802 funct3: 0x0,
15803 rs1: 0x0,
15804 rs2: 0x0,
15805 csr: 0x800,
15806 funct7: 0x40,
15807 },
15808 Opcode::AMOMIND => Inst {
15809 opcode: 0x2f,
15810 funct3: 0x3,
15811 rs1: 0x0,
15812 rs2: 0x0,
15813 csr: 0x800,
15814 funct7: 0x40,
15815 },
15816 Opcode::AMOMINH => Inst {
15817 opcode: 0x2f,
15818 funct3: 0x1,
15819 rs1: 0x0,
15820 rs2: 0x0,
15821 csr: 0x800,
15822 funct7: 0x40,
15823 },
15824 Opcode::AMOMINW => Inst {
15825 opcode: 0x2f,
15826 funct3: 0x2,
15827 rs1: 0x0,
15828 rs2: 0x0,
15829 csr: 0x800,
15830 funct7: 0x40,
15831 },
15832 Opcode::AMOMINUB => Inst {
15833 opcode: 0x2f,
15834 funct3: 0x0,
15835 rs1: 0x0,
15836 rs2: 0x0,
15837 csr: 0xc00,
15838 funct7: 0x60,
15839 },
15840 Opcode::AMOMINUD => Inst {
15841 opcode: 0x2f,
15842 funct3: 0x3,
15843 rs1: 0x0,
15844 rs2: 0x0,
15845 csr: 0xc00,
15846 funct7: 0x60,
15847 },
15848 Opcode::AMOMINUH => Inst {
15849 opcode: 0x2f,
15850 funct3: 0x1,
15851 rs1: 0x0,
15852 rs2: 0x0,
15853 csr: 0xc00,
15854 funct7: 0x60,
15855 },
15856 Opcode::AMOMINUW => Inst {
15857 opcode: 0x2f,
15858 funct3: 0x2,
15859 rs1: 0x0,
15860 rs2: 0x0,
15861 csr: 0xc00,
15862 funct7: 0x60,
15863 },
15864 Opcode::AMOORB => Inst {
15865 opcode: 0x2f,
15866 funct3: 0x0,
15867 rs1: 0x0,
15868 rs2: 0x0,
15869 csr: 0x400,
15870 funct7: 0x20,
15871 },
15872 Opcode::AMOORD => Inst {
15873 opcode: 0x2f,
15874 funct3: 0x3,
15875 rs1: 0x0,
15876 rs2: 0x0,
15877 csr: 0x400,
15878 funct7: 0x20,
15879 },
15880 Opcode::AMOORH => Inst {
15881 opcode: 0x2f,
15882 funct3: 0x1,
15883 rs1: 0x0,
15884 rs2: 0x0,
15885 csr: 0x400,
15886 funct7: 0x20,
15887 },
15888 Opcode::AMOORW => Inst {
15889 opcode: 0x2f,
15890 funct3: 0x2,
15891 rs1: 0x0,
15892 rs2: 0x0,
15893 csr: 0x400,
15894 funct7: 0x20,
15895 },
15896 Opcode::AMOSWAPB => Inst {
15897 opcode: 0x2f,
15898 funct3: 0x0,
15899 rs1: 0x0,
15900 rs2: 0x0,
15901 csr: 0x80,
15902 funct7: 0x4,
15903 },
15904 Opcode::AMOSWAPD => Inst {
15905 opcode: 0x2f,
15906 funct3: 0x3,
15907 rs1: 0x0,
15908 rs2: 0x0,
15909 csr: 0x80,
15910 funct7: 0x4,
15911 },
15912 Opcode::AMOSWAPH => Inst {
15913 opcode: 0x2f,
15914 funct3: 0x1,
15915 rs1: 0x0,
15916 rs2: 0x0,
15917 csr: 0x80,
15918 funct7: 0x4,
15919 },
15920 Opcode::AMOSWAPW => Inst {
15921 opcode: 0x2f,
15922 funct3: 0x2,
15923 rs1: 0x0,
15924 rs2: 0x0,
15925 csr: 0x80,
15926 funct7: 0x4,
15927 },
15928 Opcode::AMOXORB => Inst {
15929 opcode: 0x2f,
15930 funct3: 0x0,
15931 rs1: 0x0,
15932 rs2: 0x0,
15933 csr: 0x200,
15934 funct7: 0x10,
15935 },
15936 Opcode::AMOXORD => Inst {
15937 opcode: 0x2f,
15938 funct3: 0x3,
15939 rs1: 0x0,
15940 rs2: 0x0,
15941 csr: 0x200,
15942 funct7: 0x10,
15943 },
15944 Opcode::AMOXORH => Inst {
15945 opcode: 0x2f,
15946 funct3: 0x1,
15947 rs1: 0x0,
15948 rs2: 0x0,
15949 csr: 0x200,
15950 funct7: 0x10,
15951 },
15952 Opcode::AMOXORW => Inst {
15953 opcode: 0x2f,
15954 funct3: 0x2,
15955 rs1: 0x0,
15956 rs2: 0x0,
15957 csr: 0x200,
15958 funct7: 0x10,
15959 },
15960 Opcode::AND => Inst {
15961 opcode: 0x33,
15962 funct3: 0x7,
15963 rs1: 0x0,
15964 rs2: 0x0,
15965 csr: 0x0,
15966 funct7: 0x0,
15967 },
15968 Opcode::ANDI => Inst {
15969 opcode: 0x13,
15970 funct3: 0x7,
15971 rs1: 0x0,
15972 rs2: 0x0,
15973 csr: 0x0,
15974 funct7: 0x0,
15975 },
15976 Opcode::ANDN => Inst {
15977 opcode: 0x33,
15978 funct3: 0x7,
15979 rs1: 0x0,
15980 rs2: 0x0,
15981 csr: 0x400,
15982 funct7: 0x20,
15983 },
15984 Opcode::AUIPC => Inst {
15985 opcode: 0x17,
15986 funct3: 0x0,
15987 rs1: 0x0,
15988 rs2: 0x0,
15989 csr: 0x0,
15990 funct7: 0x0,
15991 },
15992 Opcode::BCLR => Inst {
15993 opcode: 0x33,
15994 funct3: 0x1,
15995 rs1: 0x0,
15996 rs2: 0x0,
15997 csr: 0x480,
15998 funct7: 0x24,
15999 },
16000 Opcode::BCLRI => Inst {
16001 opcode: 0x13,
16002 funct3: 0x1,
16003 rs1: 0x0,
16004 rs2: 0x0,
16005 csr: 0x480,
16006 funct7: 0x24,
16007 },
16008 Opcode::BCLRIRV32 => Inst {
16009 opcode: 0x13,
16010 funct3: 0x1,
16011 rs1: 0x0,
16012 rs2: 0x0,
16013 csr: 0x480,
16014 funct7: 0x24,
16015 },
16016 Opcode::BEQ => Inst {
16017 opcode: 0x63,
16018 funct3: 0x0,
16019 rs1: 0x0,
16020 rs2: 0x0,
16021 csr: 0x0,
16022 funct7: 0x0,
16023 },
16024 Opcode::BEQZ => Inst {
16025 opcode: 0x63,
16026 funct3: 0x0,
16027 rs1: 0x0,
16028 rs2: 0x0,
16029 csr: 0x0,
16030 funct7: 0x0,
16031 },
16032 Opcode::BEXT => Inst {
16033 opcode: 0x33,
16034 funct3: 0x5,
16035 rs1: 0x0,
16036 rs2: 0x0,
16037 csr: 0x480,
16038 funct7: 0x24,
16039 },
16040 Opcode::BEXTI => Inst {
16041 opcode: 0x13,
16042 funct3: 0x5,
16043 rs1: 0x0,
16044 rs2: 0x0,
16045 csr: 0x480,
16046 funct7: 0x24,
16047 },
16048 Opcode::BEXTIRV32 => Inst {
16049 opcode: 0x13,
16050 funct3: 0x5,
16051 rs1: 0x0,
16052 rs2: 0x0,
16053 csr: 0x480,
16054 funct7: 0x24,
16055 },
16056 Opcode::BGE => Inst {
16057 opcode: 0x63,
16058 funct3: 0x5,
16059 rs1: 0x0,
16060 rs2: 0x0,
16061 csr: 0x0,
16062 funct7: 0x0,
16063 },
16064 Opcode::BGEU => Inst {
16065 opcode: 0x63,
16066 funct3: 0x7,
16067 rs1: 0x0,
16068 rs2: 0x0,
16069 csr: 0x0,
16070 funct7: 0x0,
16071 },
16072 Opcode::BGEZ => Inst {
16073 opcode: 0x63,
16074 funct3: 0x5,
16075 rs1: 0x0,
16076 rs2: 0x0,
16077 csr: 0x0,
16078 funct7: 0x0,
16079 },
16080 Opcode::BGT => Inst {
16081 opcode: 0x63,
16082 funct3: 0x4,
16083 rs1: 0x0,
16084 rs2: 0x0,
16085 csr: 0x0,
16086 funct7: 0x0,
16087 },
16088 Opcode::BGTU => Inst {
16089 opcode: 0x63,
16090 funct3: 0x6,
16091 rs1: 0x0,
16092 rs2: 0x0,
16093 csr: 0x0,
16094 funct7: 0x0,
16095 },
16096 Opcode::BGTZ => Inst {
16097 opcode: 0x63,
16098 funct3: 0x4,
16099 rs1: 0x0,
16100 rs2: 0x0,
16101 csr: 0x0,
16102 funct7: 0x0,
16103 },
16104 Opcode::BINV => Inst {
16105 opcode: 0x33,
16106 funct3: 0x1,
16107 rs1: 0x0,
16108 rs2: 0x0,
16109 csr: 0x680,
16110 funct7: 0x34,
16111 },
16112 Opcode::BINVI => Inst {
16113 opcode: 0x13,
16114 funct3: 0x1,
16115 rs1: 0x0,
16116 rs2: 0x0,
16117 csr: 0x680,
16118 funct7: 0x34,
16119 },
16120 Opcode::BINVIRV32 => Inst {
16121 opcode: 0x13,
16122 funct3: 0x1,
16123 rs1: 0x0,
16124 rs2: 0x0,
16125 csr: 0x680,
16126 funct7: 0x34,
16127 },
16128 Opcode::BLE => Inst {
16129 opcode: 0x63,
16130 funct3: 0x5,
16131 rs1: 0x0,
16132 rs2: 0x0,
16133 csr: 0x0,
16134 funct7: 0x0,
16135 },
16136 Opcode::BLEU => Inst {
16137 opcode: 0x63,
16138 funct3: 0x7,
16139 rs1: 0x0,
16140 rs2: 0x0,
16141 csr: 0x0,
16142 funct7: 0x0,
16143 },
16144 Opcode::BLEZ => Inst {
16145 opcode: 0x63,
16146 funct3: 0x5,
16147 rs1: 0x0,
16148 rs2: 0x0,
16149 csr: 0x0,
16150 funct7: 0x0,
16151 },
16152 Opcode::BLT => Inst {
16153 opcode: 0x63,
16154 funct3: 0x4,
16155 rs1: 0x0,
16156 rs2: 0x0,
16157 csr: 0x0,
16158 funct7: 0x0,
16159 },
16160 Opcode::BLTU => Inst {
16161 opcode: 0x63,
16162 funct3: 0x6,
16163 rs1: 0x0,
16164 rs2: 0x0,
16165 csr: 0x0,
16166 funct7: 0x0,
16167 },
16168 Opcode::BLTZ => Inst {
16169 opcode: 0x63,
16170 funct3: 0x4,
16171 rs1: 0x0,
16172 rs2: 0x0,
16173 csr: 0x0,
16174 funct7: 0x0,
16175 },
16176 Opcode::BNE => Inst {
16177 opcode: 0x63,
16178 funct3: 0x1,
16179 rs1: 0x0,
16180 rs2: 0x0,
16181 csr: 0x0,
16182 funct7: 0x0,
16183 },
16184 Opcode::BNEZ => Inst {
16185 opcode: 0x63,
16186 funct3: 0x1,
16187 rs1: 0x0,
16188 rs2: 0x0,
16189 csr: 0x0,
16190 funct7: 0x0,
16191 },
16192 Opcode::BREV8 => Inst {
16193 opcode: 0x13,
16194 funct3: 0x5,
16195 rs1: 0x0,
16196 rs2: 0x7,
16197 csr: 0x687,
16198 funct7: 0x34,
16199 },
16200 Opcode::BSET => Inst {
16201 opcode: 0x33,
16202 funct3: 0x1,
16203 rs1: 0x0,
16204 rs2: 0x0,
16205 csr: 0x280,
16206 funct7: 0x14,
16207 },
16208 Opcode::BSETI => Inst {
16209 opcode: 0x13,
16210 funct3: 0x1,
16211 rs1: 0x0,
16212 rs2: 0x0,
16213 csr: 0x280,
16214 funct7: 0x14,
16215 },
16216 Opcode::BSETIRV32 => Inst {
16217 opcode: 0x13,
16218 funct3: 0x1,
16219 rs1: 0x0,
16220 rs2: 0x0,
16221 csr: 0x280,
16222 funct7: 0x14,
16223 },
16224 Opcode::CADD => Inst {
16225 opcode: 0x2,
16226 funct3: 0x1,
16227 rs1: 0x1,
16228 rs2: 0x0,
16229 csr: 0x0,
16230 funct7: 0x0,
16231 },
16232 Opcode::CADDI => Inst {
16233 opcode: 0x1,
16234 funct3: 0x0,
16235 rs1: 0x0,
16236 rs2: 0x0,
16237 csr: 0x0,
16238 funct7: 0x0,
16239 },
16240 Opcode::CADDI16SP => Inst {
16241 opcode: 0x1,
16242 funct3: 0x6,
16243 rs1: 0x0,
16244 rs2: 0x0,
16245 csr: 0x0,
16246 funct7: 0x0,
16247 },
16248 Opcode::CADDI4SPN => Inst {
16249 opcode: 0x0,
16250 funct3: 0x0,
16251 rs1: 0x0,
16252 rs2: 0x0,
16253 csr: 0x0,
16254 funct7: 0x0,
16255 },
16256 Opcode::CADDIW => Inst {
16257 opcode: 0x1,
16258 funct3: 0x2,
16259 rs1: 0x0,
16260 rs2: 0x0,
16261 csr: 0x0,
16262 funct7: 0x0,
16263 },
16264 Opcode::CADDW => Inst {
16265 opcode: 0x21,
16266 funct3: 0x1,
16267 rs1: 0x1,
16268 rs2: 0x0,
16269 csr: 0x0,
16270 funct7: 0x0,
16271 },
16272 Opcode::CAND => Inst {
16273 opcode: 0x61,
16274 funct3: 0x0,
16275 rs1: 0x1,
16276 rs2: 0x0,
16277 csr: 0x0,
16278 funct7: 0x0,
16279 },
16280 Opcode::CANDI => Inst {
16281 opcode: 0x1,
16282 funct3: 0x0,
16283 rs1: 0x1,
16284 rs2: 0x0,
16285 csr: 0x0,
16286 funct7: 0x0,
16287 },
16288 Opcode::CBEQZ => Inst {
16289 opcode: 0x1,
16290 funct3: 0x4,
16291 rs1: 0x1,
16292 rs2: 0x0,
16293 csr: 0x0,
16294 funct7: 0x0,
16295 },
16296 Opcode::CBNEZ => Inst {
16297 opcode: 0x1,
16298 funct3: 0x6,
16299 rs1: 0x1,
16300 rs2: 0x0,
16301 csr: 0x0,
16302 funct7: 0x0,
16303 },
16304 Opcode::CEBREAK => Inst {
16305 opcode: 0x2,
16306 funct3: 0x1,
16307 rs1: 0x1,
16308 rs2: 0x0,
16309 csr: 0x0,
16310 funct7: 0x0,
16311 },
16312 Opcode::CFLD => Inst {
16313 opcode: 0x0,
16314 funct3: 0x2,
16315 rs1: 0x0,
16316 rs2: 0x0,
16317 csr: 0x0,
16318 funct7: 0x0,
16319 },
16320 Opcode::CFLDSP => Inst {
16321 opcode: 0x2,
16322 funct3: 0x2,
16323 rs1: 0x0,
16324 rs2: 0x0,
16325 csr: 0x0,
16326 funct7: 0x0,
16327 },
16328 Opcode::CFLW => Inst {
16329 opcode: 0x0,
16330 funct3: 0x6,
16331 rs1: 0x0,
16332 rs2: 0x0,
16333 csr: 0x0,
16334 funct7: 0x0,
16335 },
16336 Opcode::CFLWSP => Inst {
16337 opcode: 0x2,
16338 funct3: 0x6,
16339 rs1: 0x0,
16340 rs2: 0x0,
16341 csr: 0x0,
16342 funct7: 0x0,
16343 },
16344 Opcode::CFSD => Inst {
16345 opcode: 0x0,
16346 funct3: 0x2,
16347 rs1: 0x1,
16348 rs2: 0x0,
16349 csr: 0x0,
16350 funct7: 0x0,
16351 },
16352 Opcode::CFSDSP => Inst {
16353 opcode: 0x2,
16354 funct3: 0x2,
16355 rs1: 0x1,
16356 rs2: 0x0,
16357 csr: 0x0,
16358 funct7: 0x0,
16359 },
16360 Opcode::CFSW => Inst {
16361 opcode: 0x0,
16362 funct3: 0x6,
16363 rs1: 0x1,
16364 rs2: 0x0,
16365 csr: 0x0,
16366 funct7: 0x0,
16367 },
16368 Opcode::CFSWSP => Inst {
16369 opcode: 0x2,
16370 funct3: 0x6,
16371 rs1: 0x1,
16372 rs2: 0x0,
16373 csr: 0x0,
16374 funct7: 0x0,
16375 },
16376 Opcode::CJ => Inst {
16377 opcode: 0x1,
16378 funct3: 0x2,
16379 rs1: 0x1,
16380 rs2: 0x0,
16381 csr: 0x0,
16382 funct7: 0x0,
16383 },
16384 Opcode::CJAL => Inst {
16385 opcode: 0x1,
16386 funct3: 0x2,
16387 rs1: 0x0,
16388 rs2: 0x0,
16389 csr: 0x0,
16390 funct7: 0x0,
16391 },
16392 Opcode::CJALR => Inst {
16393 opcode: 0x2,
16394 funct3: 0x1,
16395 rs1: 0x1,
16396 rs2: 0x0,
16397 csr: 0x0,
16398 funct7: 0x0,
16399 },
16400 Opcode::CJR => Inst {
16401 opcode: 0x2,
16402 funct3: 0x0,
16403 rs1: 0x1,
16404 rs2: 0x0,
16405 csr: 0x0,
16406 funct7: 0x0,
16407 },
16408 Opcode::CLBU => Inst {
16409 opcode: 0x0,
16410 funct3: 0x0,
16411 rs1: 0x1,
16412 rs2: 0x0,
16413 csr: 0x0,
16414 funct7: 0x0,
16415 },
16416 Opcode::CLD => Inst {
16417 opcode: 0x0,
16418 funct3: 0x6,
16419 rs1: 0x0,
16420 rs2: 0x0,
16421 csr: 0x0,
16422 funct7: 0x0,
16423 },
16424 Opcode::CLDSP => Inst {
16425 opcode: 0x2,
16426 funct3: 0x6,
16427 rs1: 0x0,
16428 rs2: 0x0,
16429 csr: 0x0,
16430 funct7: 0x0,
16431 },
16432 Opcode::CLH => Inst {
16433 opcode: 0x40,
16434 funct3: 0x0,
16435 rs1: 0x1,
16436 rs2: 0x0,
16437 csr: 0x0,
16438 funct7: 0x0,
16439 },
16440 Opcode::CLHU => Inst {
16441 opcode: 0x0,
16442 funct3: 0x0,
16443 rs1: 0x1,
16444 rs2: 0x0,
16445 csr: 0x0,
16446 funct7: 0x0,
16447 },
16448 Opcode::CLI => Inst {
16449 opcode: 0x1,
16450 funct3: 0x4,
16451 rs1: 0x0,
16452 rs2: 0x0,
16453 csr: 0x0,
16454 funct7: 0x0,
16455 },
16456 Opcode::CLUI => Inst {
16457 opcode: 0x1,
16458 funct3: 0x6,
16459 rs1: 0x0,
16460 rs2: 0x0,
16461 csr: 0x0,
16462 funct7: 0x0,
16463 },
16464 Opcode::CLW => Inst {
16465 opcode: 0x0,
16466 funct3: 0x4,
16467 rs1: 0x0,
16468 rs2: 0x0,
16469 csr: 0x0,
16470 funct7: 0x0,
16471 },
16472 Opcode::CLWSP => Inst {
16473 opcode: 0x2,
16474 funct3: 0x4,
16475 rs1: 0x0,
16476 rs2: 0x0,
16477 csr: 0x0,
16478 funct7: 0x0,
16479 },
16480 Opcode::CMOP1 => Inst {
16481 opcode: 0x1,
16482 funct3: 0x6,
16483 rs1: 0x0,
16484 rs2: 0x0,
16485 csr: 0x0,
16486 funct7: 0x0,
16487 },
16488 Opcode::CMOP11 => Inst {
16489 opcode: 0x1,
16490 funct3: 0x6,
16491 rs1: 0x0,
16492 rs2: 0x0,
16493 csr: 0x0,
16494 funct7: 0x0,
16495 },
16496 Opcode::CMOP13 => Inst {
16497 opcode: 0x1,
16498 funct3: 0x6,
16499 rs1: 0x0,
16500 rs2: 0x0,
16501 csr: 0x0,
16502 funct7: 0x0,
16503 },
16504 Opcode::CMOP15 => Inst {
16505 opcode: 0x1,
16506 funct3: 0x6,
16507 rs1: 0x0,
16508 rs2: 0x0,
16509 csr: 0x0,
16510 funct7: 0x0,
16511 },
16512 Opcode::CMOP3 => Inst {
16513 opcode: 0x1,
16514 funct3: 0x6,
16515 rs1: 0x0,
16516 rs2: 0x0,
16517 csr: 0x0,
16518 funct7: 0x0,
16519 },
16520 Opcode::CMOP5 => Inst {
16521 opcode: 0x1,
16522 funct3: 0x6,
16523 rs1: 0x0,
16524 rs2: 0x0,
16525 csr: 0x0,
16526 funct7: 0x0,
16527 },
16528 Opcode::CMOP7 => Inst {
16529 opcode: 0x1,
16530 funct3: 0x6,
16531 rs1: 0x0,
16532 rs2: 0x0,
16533 csr: 0x0,
16534 funct7: 0x0,
16535 },
16536 Opcode::CMOP9 => Inst {
16537 opcode: 0x1,
16538 funct3: 0x6,
16539 rs1: 0x0,
16540 rs2: 0x0,
16541 csr: 0x0,
16542 funct7: 0x0,
16543 },
16544 Opcode::CMOPN => Inst {
16545 opcode: 0x1,
16546 funct3: 0x6,
16547 rs1: 0x0,
16548 rs2: 0x0,
16549 csr: 0x0,
16550 funct7: 0x0,
16551 },
16552 Opcode::CMUL => Inst {
16553 opcode: 0x41,
16554 funct3: 0x1,
16555 rs1: 0x1,
16556 rs2: 0x0,
16557 csr: 0x0,
16558 funct7: 0x0,
16559 },
16560 Opcode::CMV => Inst {
16561 opcode: 0x2,
16562 funct3: 0x0,
16563 rs1: 0x1,
16564 rs2: 0x0,
16565 csr: 0x0,
16566 funct7: 0x0,
16567 },
16568 Opcode::CNOP => Inst {
16569 opcode: 0x1,
16570 funct3: 0x0,
16571 rs1: 0x0,
16572 rs2: 0x0,
16573 csr: 0x0,
16574 funct7: 0x0,
16575 },
16576 Opcode::CNOT => Inst {
16577 opcode: 0x75,
16578 funct3: 0x1,
16579 rs1: 0x1,
16580 rs2: 0x0,
16581 csr: 0x0,
16582 funct7: 0x0,
16583 },
16584 Opcode::CNTLALL => Inst {
16585 opcode: 0x16,
16586 funct3: 0x1,
16587 rs1: 0x1,
16588 rs2: 0x0,
16589 csr: 0x0,
16590 funct7: 0x0,
16591 },
16592 Opcode::CNTLP1 => Inst {
16593 opcode: 0xa,
16594 funct3: 0x1,
16595 rs1: 0x1,
16596 rs2: 0x0,
16597 csr: 0x0,
16598 funct7: 0x0,
16599 },
16600 Opcode::CNTLPALL => Inst {
16601 opcode: 0xe,
16602 funct3: 0x1,
16603 rs1: 0x1,
16604 rs2: 0x0,
16605 csr: 0x0,
16606 funct7: 0x0,
16607 },
16608 Opcode::CNTLS1 => Inst {
16609 opcode: 0x12,
16610 funct3: 0x1,
16611 rs1: 0x1,
16612 rs2: 0x0,
16613 csr: 0x0,
16614 funct7: 0x0,
16615 },
16616 Opcode::COR => Inst {
16617 opcode: 0x41,
16618 funct3: 0x0,
16619 rs1: 0x1,
16620 rs2: 0x0,
16621 csr: 0x0,
16622 funct7: 0x0,
16623 },
16624 Opcode::CSB => Inst {
16625 opcode: 0x0,
16626 funct3: 0x0,
16627 rs1: 0x1,
16628 rs2: 0x0,
16629 csr: 0x0,
16630 funct7: 0x0,
16631 },
16632 Opcode::CSD => Inst {
16633 opcode: 0x0,
16634 funct3: 0x6,
16635 rs1: 0x1,
16636 rs2: 0x0,
16637 csr: 0x0,
16638 funct7: 0x0,
16639 },
16640 Opcode::CSDSP => Inst {
16641 opcode: 0x2,
16642 funct3: 0x6,
16643 rs1: 0x1,
16644 rs2: 0x0,
16645 csr: 0x0,
16646 funct7: 0x0,
16647 },
16648 Opcode::CSEXTB => Inst {
16649 opcode: 0x65,
16650 funct3: 0x1,
16651 rs1: 0x1,
16652 rs2: 0x0,
16653 csr: 0x0,
16654 funct7: 0x0,
16655 },
16656 Opcode::CSEXTH => Inst {
16657 opcode: 0x6d,
16658 funct3: 0x1,
16659 rs1: 0x1,
16660 rs2: 0x0,
16661 csr: 0x0,
16662 funct7: 0x0,
16663 },
16664 Opcode::CSEXTW => Inst {
16665 opcode: 0x1,
16666 funct3: 0x2,
16667 rs1: 0x0,
16668 rs2: 0x0,
16669 csr: 0x0,
16670 funct7: 0x0,
16671 },
16672 Opcode::CSH => Inst {
16673 opcode: 0x0,
16674 funct3: 0x0,
16675 rs1: 0x1,
16676 rs2: 0x0,
16677 csr: 0x0,
16678 funct7: 0x0,
16679 },
16680 Opcode::CSLLI => Inst {
16681 opcode: 0x2,
16682 funct3: 0x0,
16683 rs1: 0x0,
16684 rs2: 0x0,
16685 csr: 0x0,
16686 funct7: 0x0,
16687 },
16688 Opcode::CSLLIRV32 => Inst {
16689 opcode: 0x2,
16690 funct3: 0x0,
16691 rs1: 0x0,
16692 rs2: 0x0,
16693 csr: 0x0,
16694 funct7: 0x0,
16695 },
16696 Opcode::CSRAI => Inst {
16697 opcode: 0x1,
16698 funct3: 0x0,
16699 rs1: 0x1,
16700 rs2: 0x0,
16701 csr: 0x0,
16702 funct7: 0x0,
16703 },
16704 Opcode::CSRAIRV32 => Inst {
16705 opcode: 0x1,
16706 funct3: 0x0,
16707 rs1: 0x1,
16708 rs2: 0x0,
16709 csr: 0x0,
16710 funct7: 0x0,
16711 },
16712 Opcode::CSRLI => Inst {
16713 opcode: 0x1,
16714 funct3: 0x0,
16715 rs1: 0x1,
16716 rs2: 0x0,
16717 csr: 0x0,
16718 funct7: 0x0,
16719 },
16720 Opcode::CSRLIRV32 => Inst {
16721 opcode: 0x1,
16722 funct3: 0x0,
16723 rs1: 0x1,
16724 rs2: 0x0,
16725 csr: 0x0,
16726 funct7: 0x0,
16727 },
16728 Opcode::CSUB => Inst {
16729 opcode: 0x1,
16730 funct3: 0x0,
16731 rs1: 0x1,
16732 rs2: 0x0,
16733 csr: 0x0,
16734 funct7: 0x0,
16735 },
16736 Opcode::CSUBW => Inst {
16737 opcode: 0x1,
16738 funct3: 0x1,
16739 rs1: 0x1,
16740 rs2: 0x0,
16741 csr: 0x0,
16742 funct7: 0x0,
16743 },
16744 Opcode::CSW => Inst {
16745 opcode: 0x0,
16746 funct3: 0x4,
16747 rs1: 0x1,
16748 rs2: 0x0,
16749 csr: 0x0,
16750 funct7: 0x0,
16751 },
16752 Opcode::CSWSP => Inst {
16753 opcode: 0x2,
16754 funct3: 0x4,
16755 rs1: 0x1,
16756 rs2: 0x0,
16757 csr: 0x0,
16758 funct7: 0x0,
16759 },
16760 Opcode::CXOR => Inst {
16761 opcode: 0x21,
16762 funct3: 0x0,
16763 rs1: 0x1,
16764 rs2: 0x0,
16765 csr: 0x0,
16766 funct7: 0x0,
16767 },
16768 Opcode::CZEXTB => Inst {
16769 opcode: 0x61,
16770 funct3: 0x1,
16771 rs1: 0x1,
16772 rs2: 0x0,
16773 csr: 0x0,
16774 funct7: 0x0,
16775 },
16776 Opcode::CZEXTH => Inst {
16777 opcode: 0x69,
16778 funct3: 0x1,
16779 rs1: 0x1,
16780 rs2: 0x0,
16781 csr: 0x0,
16782 funct7: 0x0,
16783 },
16784 Opcode::CZEXTW => Inst {
16785 opcode: 0x71,
16786 funct3: 0x1,
16787 rs1: 0x1,
16788 rs2: 0x0,
16789 csr: 0x0,
16790 funct7: 0x0,
16791 },
16792 Opcode::CBOCLEAN => Inst {
16793 opcode: 0xf,
16794 funct3: 0x2,
16795 rs1: 0x0,
16796 rs2: 0x1,
16797 csr: 0x1,
16798 funct7: 0x0,
16799 },
16800 Opcode::CBOFLUSH => Inst {
16801 opcode: 0xf,
16802 funct3: 0x2,
16803 rs1: 0x0,
16804 rs2: 0x2,
16805 csr: 0x2,
16806 funct7: 0x0,
16807 },
16808 Opcode::CBOINVAL => Inst {
16809 opcode: 0xf,
16810 funct3: 0x2,
16811 rs1: 0x0,
16812 rs2: 0x0,
16813 csr: 0x0,
16814 funct7: 0x0,
16815 },
16816 Opcode::CBOZERO => Inst {
16817 opcode: 0xf,
16818 funct3: 0x2,
16819 rs1: 0x0,
16820 rs2: 0x4,
16821 csr: 0x4,
16822 funct7: 0x0,
16823 },
16824 Opcode::CLMUL => Inst {
16825 opcode: 0x33,
16826 funct3: 0x1,
16827 rs1: 0x0,
16828 rs2: 0x0,
16829 csr: 0xa0,
16830 funct7: 0x5,
16831 },
16832 Opcode::CLMULH => Inst {
16833 opcode: 0x33,
16834 funct3: 0x3,
16835 rs1: 0x0,
16836 rs2: 0x0,
16837 csr: 0xa0,
16838 funct7: 0x5,
16839 },
16840 Opcode::CLMULR => Inst {
16841 opcode: 0x33,
16842 funct3: 0x2,
16843 rs1: 0x0,
16844 rs2: 0x0,
16845 csr: 0xa0,
16846 funct7: 0x5,
16847 },
16848 Opcode::CLZ => Inst {
16849 opcode: 0x13,
16850 funct3: 0x1,
16851 rs1: 0x0,
16852 rs2: 0x0,
16853 csr: 0x600,
16854 funct7: 0x30,
16855 },
16856 Opcode::CLZW => Inst {
16857 opcode: 0x1b,
16858 funct3: 0x1,
16859 rs1: 0x0,
16860 rs2: 0x0,
16861 csr: 0x600,
16862 funct7: 0x30,
16863 },
16864 Opcode::CMJALT => Inst {
16865 opcode: 0x2,
16866 funct3: 0x2,
16867 rs1: 0x1,
16868 rs2: 0x0,
16869 csr: 0x0,
16870 funct7: 0x0,
16871 },
16872 Opcode::CMMVA01S => Inst {
16873 opcode: 0x62,
16874 funct3: 0x2,
16875 rs1: 0x1,
16876 rs2: 0x0,
16877 csr: 0x0,
16878 funct7: 0x0,
16879 },
16880 Opcode::CMMVSA01 => Inst {
16881 opcode: 0x22,
16882 funct3: 0x2,
16883 rs1: 0x1,
16884 rs2: 0x0,
16885 csr: 0x0,
16886 funct7: 0x0,
16887 },
16888 Opcode::CMPOP => Inst {
16889 opcode: 0x2,
16890 funct3: 0x3,
16891 rs1: 0x1,
16892 rs2: 0x0,
16893 csr: 0x0,
16894 funct7: 0x0,
16895 },
16896 Opcode::CMPOPRET => Inst {
16897 opcode: 0x2,
16898 funct3: 0x3,
16899 rs1: 0x1,
16900 rs2: 0x0,
16901 csr: 0x0,
16902 funct7: 0x0,
16903 },
16904 Opcode::CMPOPRETZ => Inst {
16905 opcode: 0x2,
16906 funct3: 0x3,
16907 rs1: 0x1,
16908 rs2: 0x0,
16909 csr: 0x0,
16910 funct7: 0x0,
16911 },
16912 Opcode::CMPUSH => Inst {
16913 opcode: 0x2,
16914 funct3: 0x3,
16915 rs1: 0x1,
16916 rs2: 0x0,
16917 csr: 0x0,
16918 funct7: 0x0,
16919 },
16920 Opcode::CPOP => Inst {
16921 opcode: 0x13,
16922 funct3: 0x1,
16923 rs1: 0x0,
16924 rs2: 0x2,
16925 csr: 0x602,
16926 funct7: 0x30,
16927 },
16928 Opcode::CPOPW => Inst {
16929 opcode: 0x1b,
16930 funct3: 0x1,
16931 rs1: 0x0,
16932 rs2: 0x2,
16933 csr: 0x602,
16934 funct7: 0x30,
16935 },
16936 Opcode::CSRC => Inst {
16937 opcode: 0x73,
16938 funct3: 0x3,
16939 rs1: 0x0,
16940 rs2: 0x0,
16941 csr: 0x0,
16942 funct7: 0x0,
16943 },
16944 Opcode::CSRCI => Inst {
16945 opcode: 0x73,
16946 funct3: 0x7,
16947 rs1: 0x0,
16948 rs2: 0x0,
16949 csr: 0x0,
16950 funct7: 0x0,
16951 },
16952 Opcode::CSRR => Inst {
16953 opcode: 0x73,
16954 funct3: 0x2,
16955 rs1: 0x0,
16956 rs2: 0x0,
16957 csr: 0x0,
16958 funct7: 0x0,
16959 },
16960 Opcode::CSRRC => Inst {
16961 opcode: 0x73,
16962 funct3: 0x3,
16963 rs1: 0x0,
16964 rs2: 0x0,
16965 csr: 0x0,
16966 funct7: 0x0,
16967 },
16968 Opcode::CSRRCI => Inst {
16969 opcode: 0x73,
16970 funct3: 0x7,
16971 rs1: 0x0,
16972 rs2: 0x0,
16973 csr: 0x0,
16974 funct7: 0x0,
16975 },
16976 Opcode::CSRRS => Inst {
16977 opcode: 0x73,
16978 funct3: 0x2,
16979 rs1: 0x0,
16980 rs2: 0x0,
16981 csr: 0x0,
16982 funct7: 0x0,
16983 },
16984 Opcode::CSRRSI => Inst {
16985 opcode: 0x73,
16986 funct3: 0x6,
16987 rs1: 0x0,
16988 rs2: 0x0,
16989 csr: 0x0,
16990 funct7: 0x0,
16991 },
16992 Opcode::CSRRW => Inst {
16993 opcode: 0x73,
16994 funct3: 0x1,
16995 rs1: 0x0,
16996 rs2: 0x0,
16997 csr: 0x0,
16998 funct7: 0x0,
16999 },
17000 Opcode::CSRRWI => Inst {
17001 opcode: 0x73,
17002 funct3: 0x5,
17003 rs1: 0x0,
17004 rs2: 0x0,
17005 csr: 0x0,
17006 funct7: 0x0,
17007 },
17008 Opcode::CSRS => Inst {
17009 opcode: 0x73,
17010 funct3: 0x2,
17011 rs1: 0x0,
17012 rs2: 0x0,
17013 csr: 0x0,
17014 funct7: 0x0,
17015 },
17016 Opcode::CSRSI => Inst {
17017 opcode: 0x73,
17018 funct3: 0x6,
17019 rs1: 0x0,
17020 rs2: 0x0,
17021 csr: 0x0,
17022 funct7: 0x0,
17023 },
17024 Opcode::CSRW => Inst {
17025 opcode: 0x73,
17026 funct3: 0x1,
17027 rs1: 0x0,
17028 rs2: 0x0,
17029 csr: 0x0,
17030 funct7: 0x0,
17031 },
17032 Opcode::CSRWI => Inst {
17033 opcode: 0x73,
17034 funct3: 0x5,
17035 rs1: 0x0,
17036 rs2: 0x0,
17037 csr: 0x0,
17038 funct7: 0x0,
17039 },
17040 Opcode::CTZ => Inst {
17041 opcode: 0x13,
17042 funct3: 0x1,
17043 rs1: 0x0,
17044 rs2: 0x1,
17045 csr: 0x601,
17046 funct7: 0x30,
17047 },
17048 Opcode::CTZW => Inst {
17049 opcode: 0x1b,
17050 funct3: 0x1,
17051 rs1: 0x0,
17052 rs2: 0x1,
17053 csr: 0x601,
17054 funct7: 0x30,
17055 },
17056 Opcode::CZEROEQZ => Inst {
17057 opcode: 0x33,
17058 funct3: 0x5,
17059 rs1: 0x0,
17060 rs2: 0x0,
17061 csr: 0xe0,
17062 funct7: 0x7,
17063 },
17064 Opcode::CZERONEZ => Inst {
17065 opcode: 0x33,
17066 funct3: 0x7,
17067 rs1: 0x0,
17068 rs2: 0x0,
17069 csr: 0xe0,
17070 funct7: 0x7,
17071 },
17072 Opcode::DIV => Inst {
17073 opcode: 0x33,
17074 funct3: 0x4,
17075 rs1: 0x0,
17076 rs2: 0x0,
17077 csr: 0x20,
17078 funct7: 0x1,
17079 },
17080 Opcode::DIVU => Inst {
17081 opcode: 0x33,
17082 funct3: 0x5,
17083 rs1: 0x0,
17084 rs2: 0x0,
17085 csr: 0x20,
17086 funct7: 0x1,
17087 },
17088 Opcode::DIVUW => Inst {
17089 opcode: 0x3b,
17090 funct3: 0x5,
17091 rs1: 0x0,
17092 rs2: 0x0,
17093 csr: 0x20,
17094 funct7: 0x1,
17095 },
17096 Opcode::DIVW => Inst {
17097 opcode: 0x3b,
17098 funct3: 0x4,
17099 rs1: 0x0,
17100 rs2: 0x0,
17101 csr: 0x20,
17102 funct7: 0x1,
17103 },
17104 Opcode::DRET => Inst {
17105 opcode: 0x73,
17106 funct3: 0x0,
17107 rs1: 0x0,
17108 rs2: 0x12,
17109 csr: 0x7b2,
17110 funct7: 0x3d,
17111 },
17112 Opcode::EBREAK => Inst {
17113 opcode: 0x73,
17114 funct3: 0x0,
17115 rs1: 0x0,
17116 rs2: 0x1,
17117 csr: 0x1,
17118 funct7: 0x0,
17119 },
17120 Opcode::ECALL => Inst {
17121 opcode: 0x73,
17122 funct3: 0x0,
17123 rs1: 0x0,
17124 rs2: 0x0,
17125 csr: 0x0,
17126 funct7: 0x0,
17127 },
17128 Opcode::FABSD => Inst {
17129 opcode: 0x53,
17130 funct3: 0x2,
17131 rs1: 0x0,
17132 rs2: 0x0,
17133 csr: 0x220,
17134 funct7: 0x11,
17135 },
17136 Opcode::FABSH => Inst {
17137 opcode: 0x53,
17138 funct3: 0x2,
17139 rs1: 0x0,
17140 rs2: 0x0,
17141 csr: 0x240,
17142 funct7: 0x12,
17143 },
17144 Opcode::FABSQ => Inst {
17145 opcode: 0x53,
17146 funct3: 0x2,
17147 rs1: 0x0,
17148 rs2: 0x0,
17149 csr: 0x260,
17150 funct7: 0x13,
17151 },
17152 Opcode::FABSS => Inst {
17153 opcode: 0x53,
17154 funct3: 0x2,
17155 rs1: 0x0,
17156 rs2: 0x0,
17157 csr: 0x200,
17158 funct7: 0x10,
17159 },
17160 Opcode::FADDD => Inst {
17161 opcode: 0x53,
17162 funct3: 0x0,
17163 rs1: 0x0,
17164 rs2: 0x0,
17165 csr: 0x20,
17166 funct7: 0x1,
17167 },
17168 Opcode::FADDH => Inst {
17169 opcode: 0x53,
17170 funct3: 0x0,
17171 rs1: 0x0,
17172 rs2: 0x0,
17173 csr: 0x40,
17174 funct7: 0x2,
17175 },
17176 Opcode::FADDQ => Inst {
17177 opcode: 0x53,
17178 funct3: 0x0,
17179 rs1: 0x0,
17180 rs2: 0x0,
17181 csr: 0x60,
17182 funct7: 0x3,
17183 },
17184 Opcode::FADDS => Inst {
17185 opcode: 0x53,
17186 funct3: 0x0,
17187 rs1: 0x0,
17188 rs2: 0x0,
17189 csr: 0x0,
17190 funct7: 0x0,
17191 },
17192 Opcode::FCLASSD => Inst {
17193 opcode: 0x53,
17194 funct3: 0x1,
17195 rs1: 0x0,
17196 rs2: 0x0,
17197 csr: 0xe20,
17198 funct7: 0x71,
17199 },
17200 Opcode::FCLASSH => Inst {
17201 opcode: 0x53,
17202 funct3: 0x1,
17203 rs1: 0x0,
17204 rs2: 0x0,
17205 csr: 0xe40,
17206 funct7: 0x72,
17207 },
17208 Opcode::FCLASSQ => Inst {
17209 opcode: 0x53,
17210 funct3: 0x1,
17211 rs1: 0x0,
17212 rs2: 0x0,
17213 csr: 0xe60,
17214 funct7: 0x73,
17215 },
17216 Opcode::FCLASSS => Inst {
17217 opcode: 0x53,
17218 funct3: 0x1,
17219 rs1: 0x0,
17220 rs2: 0x0,
17221 csr: 0xe00,
17222 funct7: 0x70,
17223 },
17224 Opcode::FCVTDH => Inst {
17225 opcode: 0x53,
17226 funct3: 0x0,
17227 rs1: 0x0,
17228 rs2: 0x2,
17229 csr: 0x422,
17230 funct7: 0x21,
17231 },
17232 Opcode::FCVTDL => Inst {
17233 opcode: 0x53,
17234 funct3: 0x0,
17235 rs1: 0x0,
17236 rs2: 0x2,
17237 csr: 0xd22,
17238 funct7: 0x69,
17239 },
17240 Opcode::FCVTDLU => Inst {
17241 opcode: 0x53,
17242 funct3: 0x0,
17243 rs1: 0x0,
17244 rs2: 0x3,
17245 csr: 0xd23,
17246 funct7: 0x69,
17247 },
17248 Opcode::FCVTDQ => Inst {
17249 opcode: 0x53,
17250 funct3: 0x0,
17251 rs1: 0x0,
17252 rs2: 0x3,
17253 csr: 0x423,
17254 funct7: 0x21,
17255 },
17256 Opcode::FCVTDS => Inst {
17257 opcode: 0x53,
17258 funct3: 0x0,
17259 rs1: 0x0,
17260 rs2: 0x0,
17261 csr: 0x420,
17262 funct7: 0x21,
17263 },
17264 Opcode::FCVTDW => Inst {
17265 opcode: 0x53,
17266 funct3: 0x0,
17267 rs1: 0x0,
17268 rs2: 0x0,
17269 csr: 0xd20,
17270 funct7: 0x69,
17271 },
17272 Opcode::FCVTDWU => Inst {
17273 opcode: 0x53,
17274 funct3: 0x0,
17275 rs1: 0x0,
17276 rs2: 0x1,
17277 csr: 0xd21,
17278 funct7: 0x69,
17279 },
17280 Opcode::FCVTHD => Inst {
17281 opcode: 0x53,
17282 funct3: 0x0,
17283 rs1: 0x0,
17284 rs2: 0x1,
17285 csr: 0x441,
17286 funct7: 0x22,
17287 },
17288 Opcode::FCVTHL => Inst {
17289 opcode: 0x53,
17290 funct3: 0x0,
17291 rs1: 0x0,
17292 rs2: 0x2,
17293 csr: 0xd42,
17294 funct7: 0x6a,
17295 },
17296 Opcode::FCVTHLU => Inst {
17297 opcode: 0x53,
17298 funct3: 0x0,
17299 rs1: 0x0,
17300 rs2: 0x3,
17301 csr: 0xd43,
17302 funct7: 0x6a,
17303 },
17304 Opcode::FCVTHQ => Inst {
17305 opcode: 0x53,
17306 funct3: 0x0,
17307 rs1: 0x0,
17308 rs2: 0x3,
17309 csr: 0x443,
17310 funct7: 0x22,
17311 },
17312 Opcode::FCVTHS => Inst {
17313 opcode: 0x53,
17314 funct3: 0x0,
17315 rs1: 0x0,
17316 rs2: 0x0,
17317 csr: 0x440,
17318 funct7: 0x22,
17319 },
17320 Opcode::FCVTHW => Inst {
17321 opcode: 0x53,
17322 funct3: 0x0,
17323 rs1: 0x0,
17324 rs2: 0x0,
17325 csr: 0xd40,
17326 funct7: 0x6a,
17327 },
17328 Opcode::FCVTHWU => Inst {
17329 opcode: 0x53,
17330 funct3: 0x0,
17331 rs1: 0x0,
17332 rs2: 0x1,
17333 csr: 0xd41,
17334 funct7: 0x6a,
17335 },
17336 Opcode::FCVTLD => Inst {
17337 opcode: 0x53,
17338 funct3: 0x0,
17339 rs1: 0x0,
17340 rs2: 0x2,
17341 csr: 0xc22,
17342 funct7: 0x61,
17343 },
17344 Opcode::FCVTLH => Inst {
17345 opcode: 0x53,
17346 funct3: 0x0,
17347 rs1: 0x0,
17348 rs2: 0x2,
17349 csr: 0xc42,
17350 funct7: 0x62,
17351 },
17352 Opcode::FCVTLQ => Inst {
17353 opcode: 0x53,
17354 funct3: 0x0,
17355 rs1: 0x0,
17356 rs2: 0x2,
17357 csr: 0xc62,
17358 funct7: 0x63,
17359 },
17360 Opcode::FCVTLS => Inst {
17361 opcode: 0x53,
17362 funct3: 0x0,
17363 rs1: 0x0,
17364 rs2: 0x2,
17365 csr: 0xc02,
17366 funct7: 0x60,
17367 },
17368 Opcode::FCVTLUD => Inst {
17369 opcode: 0x53,
17370 funct3: 0x0,
17371 rs1: 0x0,
17372 rs2: 0x3,
17373 csr: 0xc23,
17374 funct7: 0x61,
17375 },
17376 Opcode::FCVTLUH => Inst {
17377 opcode: 0x53,
17378 funct3: 0x0,
17379 rs1: 0x0,
17380 rs2: 0x3,
17381 csr: 0xc43,
17382 funct7: 0x62,
17383 },
17384 Opcode::FCVTLUQ => Inst {
17385 opcode: 0x53,
17386 funct3: 0x0,
17387 rs1: 0x0,
17388 rs2: 0x3,
17389 csr: 0xc63,
17390 funct7: 0x63,
17391 },
17392 Opcode::FCVTLUS => Inst {
17393 opcode: 0x53,
17394 funct3: 0x0,
17395 rs1: 0x0,
17396 rs2: 0x3,
17397 csr: 0xc03,
17398 funct7: 0x60,
17399 },
17400 Opcode::FCVTQD => Inst {
17401 opcode: 0x53,
17402 funct3: 0x0,
17403 rs1: 0x0,
17404 rs2: 0x1,
17405 csr: 0x461,
17406 funct7: 0x23,
17407 },
17408 Opcode::FCVTQH => Inst {
17409 opcode: 0x53,
17410 funct3: 0x0,
17411 rs1: 0x0,
17412 rs2: 0x2,
17413 csr: 0x462,
17414 funct7: 0x23,
17415 },
17416 Opcode::FCVTQL => Inst {
17417 opcode: 0x53,
17418 funct3: 0x0,
17419 rs1: 0x0,
17420 rs2: 0x2,
17421 csr: 0xd62,
17422 funct7: 0x6b,
17423 },
17424 Opcode::FCVTQLU => Inst {
17425 opcode: 0x53,
17426 funct3: 0x0,
17427 rs1: 0x0,
17428 rs2: 0x3,
17429 csr: 0xd63,
17430 funct7: 0x6b,
17431 },
17432 Opcode::FCVTQS => Inst {
17433 opcode: 0x53,
17434 funct3: 0x0,
17435 rs1: 0x0,
17436 rs2: 0x0,
17437 csr: 0x460,
17438 funct7: 0x23,
17439 },
17440 Opcode::FCVTQW => Inst {
17441 opcode: 0x53,
17442 funct3: 0x0,
17443 rs1: 0x0,
17444 rs2: 0x0,
17445 csr: 0xd60,
17446 funct7: 0x6b,
17447 },
17448 Opcode::FCVTQWU => Inst {
17449 opcode: 0x53,
17450 funct3: 0x0,
17451 rs1: 0x0,
17452 rs2: 0x1,
17453 csr: 0xd61,
17454 funct7: 0x6b,
17455 },
17456 Opcode::FCVTSD => Inst {
17457 opcode: 0x53,
17458 funct3: 0x0,
17459 rs1: 0x0,
17460 rs2: 0x1,
17461 csr: 0x401,
17462 funct7: 0x20,
17463 },
17464 Opcode::FCVTSH => Inst {
17465 opcode: 0x53,
17466 funct3: 0x0,
17467 rs1: 0x0,
17468 rs2: 0x2,
17469 csr: 0x402,
17470 funct7: 0x20,
17471 },
17472 Opcode::FCVTSL => Inst {
17473 opcode: 0x53,
17474 funct3: 0x0,
17475 rs1: 0x0,
17476 rs2: 0x2,
17477 csr: 0xd02,
17478 funct7: 0x68,
17479 },
17480 Opcode::FCVTSLU => Inst {
17481 opcode: 0x53,
17482 funct3: 0x0,
17483 rs1: 0x0,
17484 rs2: 0x3,
17485 csr: 0xd03,
17486 funct7: 0x68,
17487 },
17488 Opcode::FCVTSQ => Inst {
17489 opcode: 0x53,
17490 funct3: 0x0,
17491 rs1: 0x0,
17492 rs2: 0x3,
17493 csr: 0x403,
17494 funct7: 0x20,
17495 },
17496 Opcode::FCVTSW => Inst {
17497 opcode: 0x53,
17498 funct3: 0x0,
17499 rs1: 0x0,
17500 rs2: 0x0,
17501 csr: 0xd00,
17502 funct7: 0x68,
17503 },
17504 Opcode::FCVTSWU => Inst {
17505 opcode: 0x53,
17506 funct3: 0x0,
17507 rs1: 0x0,
17508 rs2: 0x1,
17509 csr: 0xd01,
17510 funct7: 0x68,
17511 },
17512 Opcode::FCVTWD => Inst {
17513 opcode: 0x53,
17514 funct3: 0x0,
17515 rs1: 0x0,
17516 rs2: 0x0,
17517 csr: 0xc20,
17518 funct7: 0x61,
17519 },
17520 Opcode::FCVTWH => Inst {
17521 opcode: 0x53,
17522 funct3: 0x0,
17523 rs1: 0x0,
17524 rs2: 0x0,
17525 csr: 0xc40,
17526 funct7: 0x62,
17527 },
17528 Opcode::FCVTWQ => Inst {
17529 opcode: 0x53,
17530 funct3: 0x0,
17531 rs1: 0x0,
17532 rs2: 0x0,
17533 csr: 0xc60,
17534 funct7: 0x63,
17535 },
17536 Opcode::FCVTWS => Inst {
17537 opcode: 0x53,
17538 funct3: 0x0,
17539 rs1: 0x0,
17540 rs2: 0x0,
17541 csr: 0xc00,
17542 funct7: 0x60,
17543 },
17544 Opcode::FCVTWUD => Inst {
17545 opcode: 0x53,
17546 funct3: 0x0,
17547 rs1: 0x0,
17548 rs2: 0x1,
17549 csr: 0xc21,
17550 funct7: 0x61,
17551 },
17552 Opcode::FCVTWUH => Inst {
17553 opcode: 0x53,
17554 funct3: 0x0,
17555 rs1: 0x0,
17556 rs2: 0x1,
17557 csr: 0xc41,
17558 funct7: 0x62,
17559 },
17560 Opcode::FCVTWUQ => Inst {
17561 opcode: 0x53,
17562 funct3: 0x0,
17563 rs1: 0x0,
17564 rs2: 0x1,
17565 csr: 0xc61,
17566 funct7: 0x63,
17567 },
17568 Opcode::FCVTWUS => Inst {
17569 opcode: 0x53,
17570 funct3: 0x0,
17571 rs1: 0x0,
17572 rs2: 0x1,
17573 csr: 0xc01,
17574 funct7: 0x60,
17575 },
17576 Opcode::FCVTMODWD => Inst {
17577 opcode: 0x53,
17578 funct3: 0x1,
17579 rs1: 0x0,
17580 rs2: 0x8,
17581 csr: 0xc28,
17582 funct7: 0x61,
17583 },
17584 Opcode::FDIVD => Inst {
17585 opcode: 0x53,
17586 funct3: 0x0,
17587 rs1: 0x0,
17588 rs2: 0x0,
17589 csr: 0x1a0,
17590 funct7: 0xd,
17591 },
17592 Opcode::FDIVH => Inst {
17593 opcode: 0x53,
17594 funct3: 0x0,
17595 rs1: 0x0,
17596 rs2: 0x0,
17597 csr: 0x1c0,
17598 funct7: 0xe,
17599 },
17600 Opcode::FDIVQ => Inst {
17601 opcode: 0x53,
17602 funct3: 0x0,
17603 rs1: 0x0,
17604 rs2: 0x0,
17605 csr: 0x1e0,
17606 funct7: 0xf,
17607 },
17608 Opcode::FDIVS => Inst {
17609 opcode: 0x53,
17610 funct3: 0x0,
17611 rs1: 0x0,
17612 rs2: 0x0,
17613 csr: 0x180,
17614 funct7: 0xc,
17615 },
17616 Opcode::FENCE => Inst {
17617 opcode: 0xf,
17618 funct3: 0x0,
17619 rs1: 0x0,
17620 rs2: 0x0,
17621 csr: 0x0,
17622 funct7: 0x0,
17623 },
17624 Opcode::FENCEI => Inst {
17625 opcode: 0xf,
17626 funct3: 0x1,
17627 rs1: 0x0,
17628 rs2: 0x0,
17629 csr: 0x0,
17630 funct7: 0x0,
17631 },
17632 Opcode::FENCETSO => Inst {
17633 opcode: 0xf,
17634 funct3: 0x0,
17635 rs1: 0x0,
17636 rs2: 0x13,
17637 csr: 0x833,
17638 funct7: 0x41,
17639 },
17640 Opcode::FEQD => Inst {
17641 opcode: 0x53,
17642 funct3: 0x2,
17643 rs1: 0x0,
17644 rs2: 0x0,
17645 csr: 0xa20,
17646 funct7: 0x51,
17647 },
17648 Opcode::FEQH => Inst {
17649 opcode: 0x53,
17650 funct3: 0x2,
17651 rs1: 0x0,
17652 rs2: 0x0,
17653 csr: 0xa40,
17654 funct7: 0x52,
17655 },
17656 Opcode::FEQQ => Inst {
17657 opcode: 0x53,
17658 funct3: 0x2,
17659 rs1: 0x0,
17660 rs2: 0x0,
17661 csr: 0xa60,
17662 funct7: 0x53,
17663 },
17664 Opcode::FEQS => Inst {
17665 opcode: 0x53,
17666 funct3: 0x2,
17667 rs1: 0x0,
17668 rs2: 0x0,
17669 csr: 0xa00,
17670 funct7: 0x50,
17671 },
17672 Opcode::FLD => Inst {
17673 opcode: 0x7,
17674 funct3: 0x3,
17675 rs1: 0x0,
17676 rs2: 0x0,
17677 csr: 0x0,
17678 funct7: 0x0,
17679 },
17680 Opcode::FLED => Inst {
17681 opcode: 0x53,
17682 funct3: 0x0,
17683 rs1: 0x0,
17684 rs2: 0x0,
17685 csr: 0xa20,
17686 funct7: 0x51,
17687 },
17688 Opcode::FLEH => Inst {
17689 opcode: 0x53,
17690 funct3: 0x0,
17691 rs1: 0x0,
17692 rs2: 0x0,
17693 csr: 0xa40,
17694 funct7: 0x52,
17695 },
17696 Opcode::FLEQ => Inst {
17697 opcode: 0x53,
17698 funct3: 0x0,
17699 rs1: 0x0,
17700 rs2: 0x0,
17701 csr: 0xa60,
17702 funct7: 0x53,
17703 },
17704 Opcode::FLES => Inst {
17705 opcode: 0x53,
17706 funct3: 0x0,
17707 rs1: 0x0,
17708 rs2: 0x0,
17709 csr: 0xa00,
17710 funct7: 0x50,
17711 },
17712 Opcode::FLEQD => Inst {
17713 opcode: 0x53,
17714 funct3: 0x4,
17715 rs1: 0x0,
17716 rs2: 0x0,
17717 csr: 0xa20,
17718 funct7: 0x51,
17719 },
17720 Opcode::FLEQH => Inst {
17721 opcode: 0x53,
17722 funct3: 0x4,
17723 rs1: 0x0,
17724 rs2: 0x0,
17725 csr: 0xa40,
17726 funct7: 0x52,
17727 },
17728 Opcode::FLEQQ => Inst {
17729 opcode: 0x53,
17730 funct3: 0x4,
17731 rs1: 0x0,
17732 rs2: 0x0,
17733 csr: 0xa60,
17734 funct7: 0x53,
17735 },
17736 Opcode::FLEQS => Inst {
17737 opcode: 0x53,
17738 funct3: 0x4,
17739 rs1: 0x0,
17740 rs2: 0x0,
17741 csr: 0xa00,
17742 funct7: 0x50,
17743 },
17744 Opcode::FLH => Inst {
17745 opcode: 0x7,
17746 funct3: 0x1,
17747 rs1: 0x0,
17748 rs2: 0x0,
17749 csr: 0x0,
17750 funct7: 0x0,
17751 },
17752 Opcode::FLID => Inst {
17753 opcode: 0x53,
17754 funct3: 0x0,
17755 rs1: 0x0,
17756 rs2: 0x1,
17757 csr: 0xf21,
17758 funct7: 0x79,
17759 },
17760 Opcode::FLIH => Inst {
17761 opcode: 0x53,
17762 funct3: 0x0,
17763 rs1: 0x0,
17764 rs2: 0x1,
17765 csr: 0xf41,
17766 funct7: 0x7a,
17767 },
17768 Opcode::FLIQ => Inst {
17769 opcode: 0x53,
17770 funct3: 0x0,
17771 rs1: 0x0,
17772 rs2: 0x1,
17773 csr: 0xf61,
17774 funct7: 0x7b,
17775 },
17776 Opcode::FLIS => Inst {
17777 opcode: 0x53,
17778 funct3: 0x0,
17779 rs1: 0x0,
17780 rs2: 0x1,
17781 csr: 0xf01,
17782 funct7: 0x78,
17783 },
17784 Opcode::FLQ => Inst {
17785 opcode: 0x7,
17786 funct3: 0x4,
17787 rs1: 0x0,
17788 rs2: 0x0,
17789 csr: 0x0,
17790 funct7: 0x0,
17791 },
17792 Opcode::FLTD => Inst {
17793 opcode: 0x53,
17794 funct3: 0x1,
17795 rs1: 0x0,
17796 rs2: 0x0,
17797 csr: 0xa20,
17798 funct7: 0x51,
17799 },
17800 Opcode::FLTH => Inst {
17801 opcode: 0x53,
17802 funct3: 0x1,
17803 rs1: 0x0,
17804 rs2: 0x0,
17805 csr: 0xa40,
17806 funct7: 0x52,
17807 },
17808 Opcode::FLTQ => Inst {
17809 opcode: 0x53,
17810 funct3: 0x1,
17811 rs1: 0x0,
17812 rs2: 0x0,
17813 csr: 0xa60,
17814 funct7: 0x53,
17815 },
17816 Opcode::FLTS => Inst {
17817 opcode: 0x53,
17818 funct3: 0x1,
17819 rs1: 0x0,
17820 rs2: 0x0,
17821 csr: 0xa00,
17822 funct7: 0x50,
17823 },
17824 Opcode::FLTQD => Inst {
17825 opcode: 0x53,
17826 funct3: 0x5,
17827 rs1: 0x0,
17828 rs2: 0x0,
17829 csr: 0xa20,
17830 funct7: 0x51,
17831 },
17832 Opcode::FLTQH => Inst {
17833 opcode: 0x53,
17834 funct3: 0x5,
17835 rs1: 0x0,
17836 rs2: 0x0,
17837 csr: 0xa40,
17838 funct7: 0x52,
17839 },
17840 Opcode::FLTQQ => Inst {
17841 opcode: 0x53,
17842 funct3: 0x5,
17843 rs1: 0x0,
17844 rs2: 0x0,
17845 csr: 0xa60,
17846 funct7: 0x53,
17847 },
17848 Opcode::FLTQS => Inst {
17849 opcode: 0x53,
17850 funct3: 0x5,
17851 rs1: 0x0,
17852 rs2: 0x0,
17853 csr: 0xa00,
17854 funct7: 0x50,
17855 },
17856 Opcode::FLW => Inst {
17857 opcode: 0x7,
17858 funct3: 0x2,
17859 rs1: 0x0,
17860 rs2: 0x0,
17861 csr: 0x0,
17862 funct7: 0x0,
17863 },
17864 Opcode::FMADDD => Inst {
17865 opcode: 0x43,
17866 funct3: 0x0,
17867 rs1: 0x0,
17868 rs2: 0x0,
17869 csr: 0x20,
17870 funct7: 0x1,
17871 },
17872 Opcode::FMADDH => Inst {
17873 opcode: 0x43,
17874 funct3: 0x0,
17875 rs1: 0x0,
17876 rs2: 0x0,
17877 csr: 0x40,
17878 funct7: 0x2,
17879 },
17880 Opcode::FMADDQ => Inst {
17881 opcode: 0x43,
17882 funct3: 0x0,
17883 rs1: 0x0,
17884 rs2: 0x0,
17885 csr: 0x60,
17886 funct7: 0x3,
17887 },
17888 Opcode::FMADDS => Inst {
17889 opcode: 0x43,
17890 funct3: 0x0,
17891 rs1: 0x0,
17892 rs2: 0x0,
17893 csr: 0x0,
17894 funct7: 0x0,
17895 },
17896 Opcode::FMAXD => Inst {
17897 opcode: 0x53,
17898 funct3: 0x1,
17899 rs1: 0x0,
17900 rs2: 0x0,
17901 csr: 0x2a0,
17902 funct7: 0x15,
17903 },
17904 Opcode::FMAXH => Inst {
17905 opcode: 0x53,
17906 funct3: 0x1,
17907 rs1: 0x0,
17908 rs2: 0x0,
17909 csr: 0x2c0,
17910 funct7: 0x16,
17911 },
17912 Opcode::FMAXQ => Inst {
17913 opcode: 0x53,
17914 funct3: 0x1,
17915 rs1: 0x0,
17916 rs2: 0x0,
17917 csr: 0x2e0,
17918 funct7: 0x17,
17919 },
17920 Opcode::FMAXS => Inst {
17921 opcode: 0x53,
17922 funct3: 0x1,
17923 rs1: 0x0,
17924 rs2: 0x0,
17925 csr: 0x280,
17926 funct7: 0x14,
17927 },
17928 Opcode::FMAXMD => Inst {
17929 opcode: 0x53,
17930 funct3: 0x3,
17931 rs1: 0x0,
17932 rs2: 0x0,
17933 csr: 0x2a0,
17934 funct7: 0x15,
17935 },
17936 Opcode::FMAXMH => Inst {
17937 opcode: 0x53,
17938 funct3: 0x3,
17939 rs1: 0x0,
17940 rs2: 0x0,
17941 csr: 0x2c0,
17942 funct7: 0x16,
17943 },
17944 Opcode::FMAXMQ => Inst {
17945 opcode: 0x53,
17946 funct3: 0x3,
17947 rs1: 0x0,
17948 rs2: 0x0,
17949 csr: 0x2e0,
17950 funct7: 0x17,
17951 },
17952 Opcode::FMAXMS => Inst {
17953 opcode: 0x53,
17954 funct3: 0x3,
17955 rs1: 0x0,
17956 rs2: 0x0,
17957 csr: 0x280,
17958 funct7: 0x14,
17959 },
17960 Opcode::FMIND => Inst {
17961 opcode: 0x53,
17962 funct3: 0x0,
17963 rs1: 0x0,
17964 rs2: 0x0,
17965 csr: 0x2a0,
17966 funct7: 0x15,
17967 },
17968 Opcode::FMINH => Inst {
17969 opcode: 0x53,
17970 funct3: 0x0,
17971 rs1: 0x0,
17972 rs2: 0x0,
17973 csr: 0x2c0,
17974 funct7: 0x16,
17975 },
17976 Opcode::FMINQ => Inst {
17977 opcode: 0x53,
17978 funct3: 0x0,
17979 rs1: 0x0,
17980 rs2: 0x0,
17981 csr: 0x2e0,
17982 funct7: 0x17,
17983 },
17984 Opcode::FMINS => Inst {
17985 opcode: 0x53,
17986 funct3: 0x0,
17987 rs1: 0x0,
17988 rs2: 0x0,
17989 csr: 0x280,
17990 funct7: 0x14,
17991 },
17992 Opcode::FMINMD => Inst {
17993 opcode: 0x53,
17994 funct3: 0x2,
17995 rs1: 0x0,
17996 rs2: 0x0,
17997 csr: 0x2a0,
17998 funct7: 0x15,
17999 },
18000 Opcode::FMINMH => Inst {
18001 opcode: 0x53,
18002 funct3: 0x2,
18003 rs1: 0x0,
18004 rs2: 0x0,
18005 csr: 0x2c0,
18006 funct7: 0x16,
18007 },
18008 Opcode::FMINMQ => Inst {
18009 opcode: 0x53,
18010 funct3: 0x2,
18011 rs1: 0x0,
18012 rs2: 0x0,
18013 csr: 0x2e0,
18014 funct7: 0x17,
18015 },
18016 Opcode::FMINMS => Inst {
18017 opcode: 0x53,
18018 funct3: 0x2,
18019 rs1: 0x0,
18020 rs2: 0x0,
18021 csr: 0x280,
18022 funct7: 0x14,
18023 },
18024 Opcode::FMSUBD => Inst {
18025 opcode: 0x47,
18026 funct3: 0x0,
18027 rs1: 0x0,
18028 rs2: 0x0,
18029 csr: 0x20,
18030 funct7: 0x1,
18031 },
18032 Opcode::FMSUBH => Inst {
18033 opcode: 0x47,
18034 funct3: 0x0,
18035 rs1: 0x0,
18036 rs2: 0x0,
18037 csr: 0x40,
18038 funct7: 0x2,
18039 },
18040 Opcode::FMSUBQ => Inst {
18041 opcode: 0x47,
18042 funct3: 0x0,
18043 rs1: 0x0,
18044 rs2: 0x0,
18045 csr: 0x60,
18046 funct7: 0x3,
18047 },
18048 Opcode::FMSUBS => Inst {
18049 opcode: 0x47,
18050 funct3: 0x0,
18051 rs1: 0x0,
18052 rs2: 0x0,
18053 csr: 0x0,
18054 funct7: 0x0,
18055 },
18056 Opcode::FMULD => Inst {
18057 opcode: 0x53,
18058 funct3: 0x0,
18059 rs1: 0x0,
18060 rs2: 0x0,
18061 csr: 0x120,
18062 funct7: 0x9,
18063 },
18064 Opcode::FMULH => Inst {
18065 opcode: 0x53,
18066 funct3: 0x0,
18067 rs1: 0x0,
18068 rs2: 0x0,
18069 csr: 0x140,
18070 funct7: 0xa,
18071 },
18072 Opcode::FMULQ => Inst {
18073 opcode: 0x53,
18074 funct3: 0x0,
18075 rs1: 0x0,
18076 rs2: 0x0,
18077 csr: 0x160,
18078 funct7: 0xb,
18079 },
18080 Opcode::FMULS => Inst {
18081 opcode: 0x53,
18082 funct3: 0x0,
18083 rs1: 0x0,
18084 rs2: 0x0,
18085 csr: 0x100,
18086 funct7: 0x8,
18087 },
18088 Opcode::FMVD => Inst {
18089 opcode: 0x53,
18090 funct3: 0x0,
18091 rs1: 0x0,
18092 rs2: 0x0,
18093 csr: 0x220,
18094 funct7: 0x11,
18095 },
18096 Opcode::FMVDX => Inst {
18097 opcode: 0x53,
18098 funct3: 0x0,
18099 rs1: 0x0,
18100 rs2: 0x0,
18101 csr: 0xf20,
18102 funct7: 0x79,
18103 },
18104 Opcode::FMVH => Inst {
18105 opcode: 0x53,
18106 funct3: 0x0,
18107 rs1: 0x0,
18108 rs2: 0x0,
18109 csr: 0x240,
18110 funct7: 0x12,
18111 },
18112 Opcode::FMVHX => Inst {
18113 opcode: 0x53,
18114 funct3: 0x0,
18115 rs1: 0x0,
18116 rs2: 0x0,
18117 csr: 0xf40,
18118 funct7: 0x7a,
18119 },
18120 Opcode::FMVQ => Inst {
18121 opcode: 0x53,
18122 funct3: 0x0,
18123 rs1: 0x0,
18124 rs2: 0x0,
18125 csr: 0x260,
18126 funct7: 0x13,
18127 },
18128 Opcode::FMVS => Inst {
18129 opcode: 0x53,
18130 funct3: 0x0,
18131 rs1: 0x0,
18132 rs2: 0x0,
18133 csr: 0x200,
18134 funct7: 0x10,
18135 },
18136 Opcode::FMVSX => Inst {
18137 opcode: 0x53,
18138 funct3: 0x0,
18139 rs1: 0x0,
18140 rs2: 0x0,
18141 csr: 0xf00,
18142 funct7: 0x78,
18143 },
18144 Opcode::FMVWX => Inst {
18145 opcode: 0x53,
18146 funct3: 0x0,
18147 rs1: 0x0,
18148 rs2: 0x0,
18149 csr: 0xf00,
18150 funct7: 0x78,
18151 },
18152 Opcode::FMVXD => Inst {
18153 opcode: 0x53,
18154 funct3: 0x0,
18155 rs1: 0x0,
18156 rs2: 0x0,
18157 csr: 0xe20,
18158 funct7: 0x71,
18159 },
18160 Opcode::FMVXH => Inst {
18161 opcode: 0x53,
18162 funct3: 0x0,
18163 rs1: 0x0,
18164 rs2: 0x0,
18165 csr: 0xe40,
18166 funct7: 0x72,
18167 },
18168 Opcode::FMVXS => Inst {
18169 opcode: 0x53,
18170 funct3: 0x0,
18171 rs1: 0x0,
18172 rs2: 0x0,
18173 csr: 0xe00,
18174 funct7: 0x70,
18175 },
18176 Opcode::FMVXW => Inst {
18177 opcode: 0x53,
18178 funct3: 0x0,
18179 rs1: 0x0,
18180 rs2: 0x0,
18181 csr: 0xe00,
18182 funct7: 0x70,
18183 },
18184 Opcode::FMVHXD => Inst {
18185 opcode: 0x53,
18186 funct3: 0x0,
18187 rs1: 0x0,
18188 rs2: 0x1,
18189 csr: 0xe21,
18190 funct7: 0x71,
18191 },
18192 Opcode::FMVHXQ => Inst {
18193 opcode: 0x53,
18194 funct3: 0x0,
18195 rs1: 0x0,
18196 rs2: 0x1,
18197 csr: 0xe61,
18198 funct7: 0x73,
18199 },
18200 Opcode::FMVPDX => Inst {
18201 opcode: 0x53,
18202 funct3: 0x0,
18203 rs1: 0x0,
18204 rs2: 0x0,
18205 csr: 0xb20,
18206 funct7: 0x59,
18207 },
18208 Opcode::FMVPQX => Inst {
18209 opcode: 0x53,
18210 funct3: 0x0,
18211 rs1: 0x0,
18212 rs2: 0x0,
18213 csr: 0xb60,
18214 funct7: 0x5b,
18215 },
18216 Opcode::FNEGD => Inst {
18217 opcode: 0x53,
18218 funct3: 0x1,
18219 rs1: 0x0,
18220 rs2: 0x0,
18221 csr: 0x220,
18222 funct7: 0x11,
18223 },
18224 Opcode::FNEGH => Inst {
18225 opcode: 0x53,
18226 funct3: 0x1,
18227 rs1: 0x0,
18228 rs2: 0x0,
18229 csr: 0x240,
18230 funct7: 0x12,
18231 },
18232 Opcode::FNEGQ => Inst {
18233 opcode: 0x53,
18234 funct3: 0x1,
18235 rs1: 0x0,
18236 rs2: 0x0,
18237 csr: 0x260,
18238 funct7: 0x13,
18239 },
18240 Opcode::FNEGS => Inst {
18241 opcode: 0x53,
18242 funct3: 0x1,
18243 rs1: 0x0,
18244 rs2: 0x0,
18245 csr: 0x200,
18246 funct7: 0x10,
18247 },
18248 Opcode::FNMADDD => Inst {
18249 opcode: 0x4f,
18250 funct3: 0x0,
18251 rs1: 0x0,
18252 rs2: 0x0,
18253 csr: 0x20,
18254 funct7: 0x1,
18255 },
18256 Opcode::FNMADDH => Inst {
18257 opcode: 0x4f,
18258 funct3: 0x0,
18259 rs1: 0x0,
18260 rs2: 0x0,
18261 csr: 0x40,
18262 funct7: 0x2,
18263 },
18264 Opcode::FNMADDQ => Inst {
18265 opcode: 0x4f,
18266 funct3: 0x0,
18267 rs1: 0x0,
18268 rs2: 0x0,
18269 csr: 0x60,
18270 funct7: 0x3,
18271 },
18272 Opcode::FNMADDS => Inst {
18273 opcode: 0x4f,
18274 funct3: 0x0,
18275 rs1: 0x0,
18276 rs2: 0x0,
18277 csr: 0x0,
18278 funct7: 0x0,
18279 },
18280 Opcode::FNMSUBD => Inst {
18281 opcode: 0x4b,
18282 funct3: 0x0,
18283 rs1: 0x0,
18284 rs2: 0x0,
18285 csr: 0x20,
18286 funct7: 0x1,
18287 },
18288 Opcode::FNMSUBH => Inst {
18289 opcode: 0x4b,
18290 funct3: 0x0,
18291 rs1: 0x0,
18292 rs2: 0x0,
18293 csr: 0x40,
18294 funct7: 0x2,
18295 },
18296 Opcode::FNMSUBQ => Inst {
18297 opcode: 0x4b,
18298 funct3: 0x0,
18299 rs1: 0x0,
18300 rs2: 0x0,
18301 csr: 0x60,
18302 funct7: 0x3,
18303 },
18304 Opcode::FNMSUBS => Inst {
18305 opcode: 0x4b,
18306 funct3: 0x0,
18307 rs1: 0x0,
18308 rs2: 0x0,
18309 csr: 0x0,
18310 funct7: 0x0,
18311 },
18312 Opcode::FRCSR => Inst {
18313 opcode: 0x73,
18314 funct3: 0x2,
18315 rs1: 0x0,
18316 rs2: 0x3,
18317 csr: 0x3,
18318 funct7: 0x0,
18319 },
18320 Opcode::FRFLAGS => Inst {
18321 opcode: 0x73,
18322 funct3: 0x2,
18323 rs1: 0x0,
18324 rs2: 0x1,
18325 csr: 0x1,
18326 funct7: 0x0,
18327 },
18328 Opcode::FROUNDD => Inst {
18329 opcode: 0x53,
18330 funct3: 0x0,
18331 rs1: 0x0,
18332 rs2: 0x4,
18333 csr: 0x424,
18334 funct7: 0x21,
18335 },
18336 Opcode::FROUNDH => Inst {
18337 opcode: 0x53,
18338 funct3: 0x0,
18339 rs1: 0x0,
18340 rs2: 0x4,
18341 csr: 0x444,
18342 funct7: 0x22,
18343 },
18344 Opcode::FROUNDQ => Inst {
18345 opcode: 0x53,
18346 funct3: 0x0,
18347 rs1: 0x0,
18348 rs2: 0x4,
18349 csr: 0x464,
18350 funct7: 0x23,
18351 },
18352 Opcode::FROUNDS => Inst {
18353 opcode: 0x53,
18354 funct3: 0x0,
18355 rs1: 0x0,
18356 rs2: 0x4,
18357 csr: 0x404,
18358 funct7: 0x20,
18359 },
18360 Opcode::FROUNDNXD => Inst {
18361 opcode: 0x53,
18362 funct3: 0x0,
18363 rs1: 0x0,
18364 rs2: 0x5,
18365 csr: 0x425,
18366 funct7: 0x21,
18367 },
18368 Opcode::FROUNDNXH => Inst {
18369 opcode: 0x53,
18370 funct3: 0x0,
18371 rs1: 0x0,
18372 rs2: 0x5,
18373 csr: 0x445,
18374 funct7: 0x22,
18375 },
18376 Opcode::FROUNDNXQ => Inst {
18377 opcode: 0x53,
18378 funct3: 0x0,
18379 rs1: 0x0,
18380 rs2: 0x5,
18381 csr: 0x465,
18382 funct7: 0x23,
18383 },
18384 Opcode::FROUNDNXS => Inst {
18385 opcode: 0x53,
18386 funct3: 0x0,
18387 rs1: 0x0,
18388 rs2: 0x5,
18389 csr: 0x405,
18390 funct7: 0x20,
18391 },
18392 Opcode::FRRM => Inst {
18393 opcode: 0x73,
18394 funct3: 0x2,
18395 rs1: 0x0,
18396 rs2: 0x2,
18397 csr: 0x2,
18398 funct7: 0x0,
18399 },
18400 Opcode::FSCSR => Inst {
18401 opcode: 0x73,
18402 funct3: 0x1,
18403 rs1: 0x0,
18404 rs2: 0x3,
18405 csr: 0x3,
18406 funct7: 0x0,
18407 },
18408 Opcode::FSD => Inst {
18409 opcode: 0x27,
18410 funct3: 0x3,
18411 rs1: 0x0,
18412 rs2: 0x0,
18413 csr: 0x0,
18414 funct7: 0x0,
18415 },
18416 Opcode::FSFLAGS => Inst {
18417 opcode: 0x73,
18418 funct3: 0x1,
18419 rs1: 0x0,
18420 rs2: 0x1,
18421 csr: 0x1,
18422 funct7: 0x0,
18423 },
18424 Opcode::FSFLAGSI => Inst {
18425 opcode: 0x73,
18426 funct3: 0x5,
18427 rs1: 0x0,
18428 rs2: 0x1,
18429 csr: 0x1,
18430 funct7: 0x0,
18431 },
18432 Opcode::FSGNJD => Inst {
18433 opcode: 0x53,
18434 funct3: 0x0,
18435 rs1: 0x0,
18436 rs2: 0x0,
18437 csr: 0x220,
18438 funct7: 0x11,
18439 },
18440 Opcode::FSGNJH => Inst {
18441 opcode: 0x53,
18442 funct3: 0x0,
18443 rs1: 0x0,
18444 rs2: 0x0,
18445 csr: 0x240,
18446 funct7: 0x12,
18447 },
18448 Opcode::FSGNJQ => Inst {
18449 opcode: 0x53,
18450 funct3: 0x0,
18451 rs1: 0x0,
18452 rs2: 0x0,
18453 csr: 0x260,
18454 funct7: 0x13,
18455 },
18456 Opcode::FSGNJS => Inst {
18457 opcode: 0x53,
18458 funct3: 0x0,
18459 rs1: 0x0,
18460 rs2: 0x0,
18461 csr: 0x200,
18462 funct7: 0x10,
18463 },
18464 Opcode::FSGNJND => Inst {
18465 opcode: 0x53,
18466 funct3: 0x1,
18467 rs1: 0x0,
18468 rs2: 0x0,
18469 csr: 0x220,
18470 funct7: 0x11,
18471 },
18472 Opcode::FSGNJNH => Inst {
18473 opcode: 0x53,
18474 funct3: 0x1,
18475 rs1: 0x0,
18476 rs2: 0x0,
18477 csr: 0x240,
18478 funct7: 0x12,
18479 },
18480 Opcode::FSGNJNQ => Inst {
18481 opcode: 0x53,
18482 funct3: 0x1,
18483 rs1: 0x0,
18484 rs2: 0x0,
18485 csr: 0x260,
18486 funct7: 0x13,
18487 },
18488 Opcode::FSGNJNS => Inst {
18489 opcode: 0x53,
18490 funct3: 0x1,
18491 rs1: 0x0,
18492 rs2: 0x0,
18493 csr: 0x200,
18494 funct7: 0x10,
18495 },
18496 Opcode::FSGNJXD => Inst {
18497 opcode: 0x53,
18498 funct3: 0x2,
18499 rs1: 0x0,
18500 rs2: 0x0,
18501 csr: 0x220,
18502 funct7: 0x11,
18503 },
18504 Opcode::FSGNJXH => Inst {
18505 opcode: 0x53,
18506 funct3: 0x2,
18507 rs1: 0x0,
18508 rs2: 0x0,
18509 csr: 0x240,
18510 funct7: 0x12,
18511 },
18512 Opcode::FSGNJXQ => Inst {
18513 opcode: 0x53,
18514 funct3: 0x2,
18515 rs1: 0x0,
18516 rs2: 0x0,
18517 csr: 0x260,
18518 funct7: 0x13,
18519 },
18520 Opcode::FSGNJXS => Inst {
18521 opcode: 0x53,
18522 funct3: 0x2,
18523 rs1: 0x0,
18524 rs2: 0x0,
18525 csr: 0x200,
18526 funct7: 0x10,
18527 },
18528 Opcode::FSH => Inst {
18529 opcode: 0x27,
18530 funct3: 0x1,
18531 rs1: 0x0,
18532 rs2: 0x0,
18533 csr: 0x0,
18534 funct7: 0x0,
18535 },
18536 Opcode::FSQ => Inst {
18537 opcode: 0x27,
18538 funct3: 0x4,
18539 rs1: 0x0,
18540 rs2: 0x0,
18541 csr: 0x0,
18542 funct7: 0x0,
18543 },
18544 Opcode::FSQRTD => Inst {
18545 opcode: 0x53,
18546 funct3: 0x0,
18547 rs1: 0x0,
18548 rs2: 0x0,
18549 csr: 0x5a0,
18550 funct7: 0x2d,
18551 },
18552 Opcode::FSQRTH => Inst {
18553 opcode: 0x53,
18554 funct3: 0x0,
18555 rs1: 0x0,
18556 rs2: 0x0,
18557 csr: 0x5c0,
18558 funct7: 0x2e,
18559 },
18560 Opcode::FSQRTQ => Inst {
18561 opcode: 0x53,
18562 funct3: 0x0,
18563 rs1: 0x0,
18564 rs2: 0x0,
18565 csr: 0x5e0,
18566 funct7: 0x2f,
18567 },
18568 Opcode::FSQRTS => Inst {
18569 opcode: 0x53,
18570 funct3: 0x0,
18571 rs1: 0x0,
18572 rs2: 0x0,
18573 csr: 0x580,
18574 funct7: 0x2c,
18575 },
18576 Opcode::FSRM => Inst {
18577 opcode: 0x73,
18578 funct3: 0x1,
18579 rs1: 0x0,
18580 rs2: 0x2,
18581 csr: 0x2,
18582 funct7: 0x0,
18583 },
18584 Opcode::FSRMI => Inst {
18585 opcode: 0x73,
18586 funct3: 0x5,
18587 rs1: 0x0,
18588 rs2: 0x2,
18589 csr: 0x2,
18590 funct7: 0x0,
18591 },
18592 Opcode::FSUBD => Inst {
18593 opcode: 0x53,
18594 funct3: 0x0,
18595 rs1: 0x0,
18596 rs2: 0x0,
18597 csr: 0xa0,
18598 funct7: 0x5,
18599 },
18600 Opcode::FSUBH => Inst {
18601 opcode: 0x53,
18602 funct3: 0x0,
18603 rs1: 0x0,
18604 rs2: 0x0,
18605 csr: 0xc0,
18606 funct7: 0x6,
18607 },
18608 Opcode::FSUBQ => Inst {
18609 opcode: 0x53,
18610 funct3: 0x0,
18611 rs1: 0x0,
18612 rs2: 0x0,
18613 csr: 0xe0,
18614 funct7: 0x7,
18615 },
18616 Opcode::FSUBS => Inst {
18617 opcode: 0x53,
18618 funct3: 0x0,
18619 rs1: 0x0,
18620 rs2: 0x0,
18621 csr: 0x80,
18622 funct7: 0x4,
18623 },
18624 Opcode::FSW => Inst {
18625 opcode: 0x27,
18626 funct3: 0x2,
18627 rs1: 0x0,
18628 rs2: 0x0,
18629 csr: 0x0,
18630 funct7: 0x0,
18631 },
18632 Opcode::HFENCEGVMA => Inst {
18633 opcode: 0x73,
18634 funct3: 0x0,
18635 rs1: 0x0,
18636 rs2: 0x0,
18637 csr: 0x620,
18638 funct7: 0x31,
18639 },
18640 Opcode::HFENCEVVMA => Inst {
18641 opcode: 0x73,
18642 funct3: 0x0,
18643 rs1: 0x0,
18644 rs2: 0x0,
18645 csr: 0x220,
18646 funct7: 0x11,
18647 },
18648 Opcode::HINVALGVMA => Inst {
18649 opcode: 0x73,
18650 funct3: 0x0,
18651 rs1: 0x0,
18652 rs2: 0x0,
18653 csr: 0x660,
18654 funct7: 0x33,
18655 },
18656 Opcode::HINVALVVMA => Inst {
18657 opcode: 0x73,
18658 funct3: 0x0,
18659 rs1: 0x0,
18660 rs2: 0x0,
18661 csr: 0x260,
18662 funct7: 0x13,
18663 },
18664 Opcode::HLVB => Inst {
18665 opcode: 0x73,
18666 funct3: 0x4,
18667 rs1: 0x0,
18668 rs2: 0x0,
18669 csr: 0x600,
18670 funct7: 0x30,
18671 },
18672 Opcode::HLVBU => Inst {
18673 opcode: 0x73,
18674 funct3: 0x4,
18675 rs1: 0x0,
18676 rs2: 0x1,
18677 csr: 0x601,
18678 funct7: 0x30,
18679 },
18680 Opcode::HLVD => Inst {
18681 opcode: 0x73,
18682 funct3: 0x4,
18683 rs1: 0x0,
18684 rs2: 0x0,
18685 csr: 0x6c0,
18686 funct7: 0x36,
18687 },
18688 Opcode::HLVH => Inst {
18689 opcode: 0x73,
18690 funct3: 0x4,
18691 rs1: 0x0,
18692 rs2: 0x0,
18693 csr: 0x640,
18694 funct7: 0x32,
18695 },
18696 Opcode::HLVHU => Inst {
18697 opcode: 0x73,
18698 funct3: 0x4,
18699 rs1: 0x0,
18700 rs2: 0x1,
18701 csr: 0x641,
18702 funct7: 0x32,
18703 },
18704 Opcode::HLVW => Inst {
18705 opcode: 0x73,
18706 funct3: 0x4,
18707 rs1: 0x0,
18708 rs2: 0x0,
18709 csr: 0x680,
18710 funct7: 0x34,
18711 },
18712 Opcode::HLVWU => Inst {
18713 opcode: 0x73,
18714 funct3: 0x4,
18715 rs1: 0x0,
18716 rs2: 0x1,
18717 csr: 0x681,
18718 funct7: 0x34,
18719 },
18720 Opcode::HLVXHU => Inst {
18721 opcode: 0x73,
18722 funct3: 0x4,
18723 rs1: 0x0,
18724 rs2: 0x3,
18725 csr: 0x643,
18726 funct7: 0x32,
18727 },
18728 Opcode::HLVXWU => Inst {
18729 opcode: 0x73,
18730 funct3: 0x4,
18731 rs1: 0x0,
18732 rs2: 0x3,
18733 csr: 0x683,
18734 funct7: 0x34,
18735 },
18736 Opcode::HSVB => Inst {
18737 opcode: 0x73,
18738 funct3: 0x4,
18739 rs1: 0x0,
18740 rs2: 0x0,
18741 csr: 0x620,
18742 funct7: 0x31,
18743 },
18744 Opcode::HSVD => Inst {
18745 opcode: 0x73,
18746 funct3: 0x4,
18747 rs1: 0x0,
18748 rs2: 0x0,
18749 csr: 0x6e0,
18750 funct7: 0x37,
18751 },
18752 Opcode::HSVH => Inst {
18753 opcode: 0x73,
18754 funct3: 0x4,
18755 rs1: 0x0,
18756 rs2: 0x0,
18757 csr: 0x660,
18758 funct7: 0x33,
18759 },
18760 Opcode::HSVW => Inst {
18761 opcode: 0x73,
18762 funct3: 0x4,
18763 rs1: 0x0,
18764 rs2: 0x0,
18765 csr: 0x6a0,
18766 funct7: 0x35,
18767 },
18768 Opcode::J => Inst {
18769 opcode: 0x6f,
18770 funct3: 0x0,
18771 rs1: 0x0,
18772 rs2: 0x0,
18773 csr: 0x0,
18774 funct7: 0x0,
18775 },
18776 Opcode::JAL => Inst {
18777 opcode: 0x6f,
18778 funct3: 0x0,
18779 rs1: 0x0,
18780 rs2: 0x0,
18781 csr: 0x0,
18782 funct7: 0x0,
18783 },
18784 Opcode::JALPSEUDO => Inst {
18785 opcode: 0x6f,
18786 funct3: 0x0,
18787 rs1: 0x0,
18788 rs2: 0x0,
18789 csr: 0x0,
18790 funct7: 0x0,
18791 },
18792 Opcode::JALR => Inst {
18793 opcode: 0x67,
18794 funct3: 0x0,
18795 rs1: 0x0,
18796 rs2: 0x0,
18797 csr: 0x0,
18798 funct7: 0x0,
18799 },
18800 Opcode::JALRPSEUDO => Inst {
18801 opcode: 0x67,
18802 funct3: 0x0,
18803 rs1: 0x0,
18804 rs2: 0x0,
18805 csr: 0x0,
18806 funct7: 0x0,
18807 },
18808 Opcode::JR => Inst {
18809 opcode: 0x67,
18810 funct3: 0x0,
18811 rs1: 0x0,
18812 rs2: 0x0,
18813 csr: 0x0,
18814 funct7: 0x0,
18815 },
18816 Opcode::LB => Inst {
18817 opcode: 0x3,
18818 funct3: 0x0,
18819 rs1: 0x0,
18820 rs2: 0x0,
18821 csr: 0x0,
18822 funct7: 0x0,
18823 },
18824 Opcode::LBU => Inst {
18825 opcode: 0x3,
18826 funct3: 0x4,
18827 rs1: 0x0,
18828 rs2: 0x0,
18829 csr: 0x0,
18830 funct7: 0x0,
18831 },
18832 Opcode::LD => Inst {
18833 opcode: 0x3,
18834 funct3: 0x3,
18835 rs1: 0x0,
18836 rs2: 0x0,
18837 csr: 0x0,
18838 funct7: 0x0,
18839 },
18840 Opcode::LH => Inst {
18841 opcode: 0x3,
18842 funct3: 0x1,
18843 rs1: 0x0,
18844 rs2: 0x0,
18845 csr: 0x0,
18846 funct7: 0x0,
18847 },
18848 Opcode::LHU => Inst {
18849 opcode: 0x3,
18850 funct3: 0x5,
18851 rs1: 0x0,
18852 rs2: 0x0,
18853 csr: 0x0,
18854 funct7: 0x0,
18855 },
18856 Opcode::LRD => Inst {
18857 opcode: 0x2f,
18858 funct3: 0x3,
18859 rs1: 0x0,
18860 rs2: 0x0,
18861 csr: 0x100,
18862 funct7: 0x8,
18863 },
18864 Opcode::LRW => Inst {
18865 opcode: 0x2f,
18866 funct3: 0x2,
18867 rs1: 0x0,
18868 rs2: 0x0,
18869 csr: 0x100,
18870 funct7: 0x8,
18871 },
18872 Opcode::LUI => Inst {
18873 opcode: 0x37,
18874 funct3: 0x0,
18875 rs1: 0x0,
18876 rs2: 0x0,
18877 csr: 0x0,
18878 funct7: 0x0,
18879 },
18880 Opcode::LW => Inst {
18881 opcode: 0x3,
18882 funct3: 0x2,
18883 rs1: 0x0,
18884 rs2: 0x0,
18885 csr: 0x0,
18886 funct7: 0x0,
18887 },
18888 Opcode::LWU => Inst {
18889 opcode: 0x3,
18890 funct3: 0x6,
18891 rs1: 0x0,
18892 rs2: 0x0,
18893 csr: 0x0,
18894 funct7: 0x0,
18895 },
18896 Opcode::MAX => Inst {
18897 opcode: 0x33,
18898 funct3: 0x6,
18899 rs1: 0x0,
18900 rs2: 0x0,
18901 csr: 0xa0,
18902 funct7: 0x5,
18903 },
18904 Opcode::MAXU => Inst {
18905 opcode: 0x33,
18906 funct3: 0x7,
18907 rs1: 0x0,
18908 rs2: 0x0,
18909 csr: 0xa0,
18910 funct7: 0x5,
18911 },
18912 Opcode::MIN => Inst {
18913 opcode: 0x33,
18914 funct3: 0x4,
18915 rs1: 0x0,
18916 rs2: 0x0,
18917 csr: 0xa0,
18918 funct7: 0x5,
18919 },
18920 Opcode::MINU => Inst {
18921 opcode: 0x33,
18922 funct3: 0x5,
18923 rs1: 0x0,
18924 rs2: 0x0,
18925 csr: 0xa0,
18926 funct7: 0x5,
18927 },
18928 Opcode::MOPR0 => Inst {
18929 opcode: 0x73,
18930 funct3: 0x4,
18931 rs1: 0x0,
18932 rs2: 0x1c,
18933 csr: 0x81c,
18934 funct7: 0x40,
18935 },
18936 Opcode::MOPR1 => Inst {
18937 opcode: 0x73,
18938 funct3: 0x4,
18939 rs1: 0x0,
18940 rs2: 0x1d,
18941 csr: 0x81d,
18942 funct7: 0x40,
18943 },
18944 Opcode::MOPR10 => Inst {
18945 opcode: 0x73,
18946 funct3: 0x4,
18947 rs1: 0x0,
18948 rs2: 0x1e,
18949 csr: 0x89e,
18950 funct7: 0x44,
18951 },
18952 Opcode::MOPR11 => Inst {
18953 opcode: 0x73,
18954 funct3: 0x4,
18955 rs1: 0x0,
18956 rs2: 0x1f,
18957 csr: 0x89f,
18958 funct7: 0x44,
18959 },
18960 Opcode::MOPR12 => Inst {
18961 opcode: 0x73,
18962 funct3: 0x4,
18963 rs1: 0x0,
18964 rs2: 0x1c,
18965 csr: 0x8dc,
18966 funct7: 0x46,
18967 },
18968 Opcode::MOPR13 => Inst {
18969 opcode: 0x73,
18970 funct3: 0x4,
18971 rs1: 0x0,
18972 rs2: 0x1d,
18973 csr: 0x8dd,
18974 funct7: 0x46,
18975 },
18976 Opcode::MOPR14 => Inst {
18977 opcode: 0x73,
18978 funct3: 0x4,
18979 rs1: 0x0,
18980 rs2: 0x1e,
18981 csr: 0x8de,
18982 funct7: 0x46,
18983 },
18984 Opcode::MOPR15 => Inst {
18985 opcode: 0x73,
18986 funct3: 0x4,
18987 rs1: 0x0,
18988 rs2: 0x1f,
18989 csr: 0x8df,
18990 funct7: 0x46,
18991 },
18992 Opcode::MOPR16 => Inst {
18993 opcode: 0x73,
18994 funct3: 0x4,
18995 rs1: 0x0,
18996 rs2: 0x1c,
18997 csr: 0xc1c,
18998 funct7: 0x60,
18999 },
19000 Opcode::MOPR17 => Inst {
19001 opcode: 0x73,
19002 funct3: 0x4,
19003 rs1: 0x0,
19004 rs2: 0x1d,
19005 csr: 0xc1d,
19006 funct7: 0x60,
19007 },
19008 Opcode::MOPR18 => Inst {
19009 opcode: 0x73,
19010 funct3: 0x4,
19011 rs1: 0x0,
19012 rs2: 0x1e,
19013 csr: 0xc1e,
19014 funct7: 0x60,
19015 },
19016 Opcode::MOPR19 => Inst {
19017 opcode: 0x73,
19018 funct3: 0x4,
19019 rs1: 0x0,
19020 rs2: 0x1f,
19021 csr: 0xc1f,
19022 funct7: 0x60,
19023 },
19024 Opcode::MOPR2 => Inst {
19025 opcode: 0x73,
19026 funct3: 0x4,
19027 rs1: 0x0,
19028 rs2: 0x1e,
19029 csr: 0x81e,
19030 funct7: 0x40,
19031 },
19032 Opcode::MOPR20 => Inst {
19033 opcode: 0x73,
19034 funct3: 0x4,
19035 rs1: 0x0,
19036 rs2: 0x1c,
19037 csr: 0xc5c,
19038 funct7: 0x62,
19039 },
19040 Opcode::MOPR21 => Inst {
19041 opcode: 0x73,
19042 funct3: 0x4,
19043 rs1: 0x0,
19044 rs2: 0x1d,
19045 csr: 0xc5d,
19046 funct7: 0x62,
19047 },
19048 Opcode::MOPR22 => Inst {
19049 opcode: 0x73,
19050 funct3: 0x4,
19051 rs1: 0x0,
19052 rs2: 0x1e,
19053 csr: 0xc5e,
19054 funct7: 0x62,
19055 },
19056 Opcode::MOPR23 => Inst {
19057 opcode: 0x73,
19058 funct3: 0x4,
19059 rs1: 0x0,
19060 rs2: 0x1f,
19061 csr: 0xc5f,
19062 funct7: 0x62,
19063 },
19064 Opcode::MOPR24 => Inst {
19065 opcode: 0x73,
19066 funct3: 0x4,
19067 rs1: 0x0,
19068 rs2: 0x1c,
19069 csr: 0xc9c,
19070 funct7: 0x64,
19071 },
19072 Opcode::MOPR25 => Inst {
19073 opcode: 0x73,
19074 funct3: 0x4,
19075 rs1: 0x0,
19076 rs2: 0x1d,
19077 csr: 0xc9d,
19078 funct7: 0x64,
19079 },
19080 Opcode::MOPR26 => Inst {
19081 opcode: 0x73,
19082 funct3: 0x4,
19083 rs1: 0x0,
19084 rs2: 0x1e,
19085 csr: 0xc9e,
19086 funct7: 0x64,
19087 },
19088 Opcode::MOPR27 => Inst {
19089 opcode: 0x73,
19090 funct3: 0x4,
19091 rs1: 0x0,
19092 rs2: 0x1f,
19093 csr: 0xc9f,
19094 funct7: 0x64,
19095 },
19096 Opcode::MOPR28 => Inst {
19097 opcode: 0x73,
19098 funct3: 0x4,
19099 rs1: 0x0,
19100 rs2: 0x1c,
19101 csr: 0xcdc,
19102 funct7: 0x66,
19103 },
19104 Opcode::MOPR29 => Inst {
19105 opcode: 0x73,
19106 funct3: 0x4,
19107 rs1: 0x0,
19108 rs2: 0x1d,
19109 csr: 0xcdd,
19110 funct7: 0x66,
19111 },
19112 Opcode::MOPR3 => Inst {
19113 opcode: 0x73,
19114 funct3: 0x4,
19115 rs1: 0x0,
19116 rs2: 0x1f,
19117 csr: 0x81f,
19118 funct7: 0x40,
19119 },
19120 Opcode::MOPR30 => Inst {
19121 opcode: 0x73,
19122 funct3: 0x4,
19123 rs1: 0x0,
19124 rs2: 0x1e,
19125 csr: 0xcde,
19126 funct7: 0x66,
19127 },
19128 Opcode::MOPR31 => Inst {
19129 opcode: 0x73,
19130 funct3: 0x4,
19131 rs1: 0x0,
19132 rs2: 0x1f,
19133 csr: 0xcdf,
19134 funct7: 0x66,
19135 },
19136 Opcode::MOPR4 => Inst {
19137 opcode: 0x73,
19138 funct3: 0x4,
19139 rs1: 0x0,
19140 rs2: 0x1c,
19141 csr: 0x85c,
19142 funct7: 0x42,
19143 },
19144 Opcode::MOPR5 => Inst {
19145 opcode: 0x73,
19146 funct3: 0x4,
19147 rs1: 0x0,
19148 rs2: 0x1d,
19149 csr: 0x85d,
19150 funct7: 0x42,
19151 },
19152 Opcode::MOPR6 => Inst {
19153 opcode: 0x73,
19154 funct3: 0x4,
19155 rs1: 0x0,
19156 rs2: 0x1e,
19157 csr: 0x85e,
19158 funct7: 0x42,
19159 },
19160 Opcode::MOPR7 => Inst {
19161 opcode: 0x73,
19162 funct3: 0x4,
19163 rs1: 0x0,
19164 rs2: 0x1f,
19165 csr: 0x85f,
19166 funct7: 0x42,
19167 },
19168 Opcode::MOPR8 => Inst {
19169 opcode: 0x73,
19170 funct3: 0x4,
19171 rs1: 0x0,
19172 rs2: 0x1c,
19173 csr: 0x89c,
19174 funct7: 0x44,
19175 },
19176 Opcode::MOPR9 => Inst {
19177 opcode: 0x73,
19178 funct3: 0x4,
19179 rs1: 0x0,
19180 rs2: 0x1d,
19181 csr: 0x89d,
19182 funct7: 0x44,
19183 },
19184 Opcode::MOPRN => Inst {
19185 opcode: 0x73,
19186 funct3: 0x4,
19187 rs1: 0x0,
19188 rs2: 0x1c,
19189 csr: 0x81c,
19190 funct7: 0x40,
19191 },
19192 Opcode::MOPRR0 => Inst {
19193 opcode: 0x73,
19194 funct3: 0x4,
19195 rs1: 0x0,
19196 rs2: 0x0,
19197 csr: 0x820,
19198 funct7: 0x41,
19199 },
19200 Opcode::MOPRR1 => Inst {
19201 opcode: 0x73,
19202 funct3: 0x4,
19203 rs1: 0x0,
19204 rs2: 0x0,
19205 csr: 0x860,
19206 funct7: 0x43,
19207 },
19208 Opcode::MOPRR2 => Inst {
19209 opcode: 0x73,
19210 funct3: 0x4,
19211 rs1: 0x0,
19212 rs2: 0x0,
19213 csr: 0x8a0,
19214 funct7: 0x45,
19215 },
19216 Opcode::MOPRR3 => Inst {
19217 opcode: 0x73,
19218 funct3: 0x4,
19219 rs1: 0x0,
19220 rs2: 0x0,
19221 csr: 0x8e0,
19222 funct7: 0x47,
19223 },
19224 Opcode::MOPRR4 => Inst {
19225 opcode: 0x73,
19226 funct3: 0x4,
19227 rs1: 0x0,
19228 rs2: 0x0,
19229 csr: 0xc20,
19230 funct7: 0x61,
19231 },
19232 Opcode::MOPRR5 => Inst {
19233 opcode: 0x73,
19234 funct3: 0x4,
19235 rs1: 0x0,
19236 rs2: 0x0,
19237 csr: 0xc60,
19238 funct7: 0x63,
19239 },
19240 Opcode::MOPRR6 => Inst {
19241 opcode: 0x73,
19242 funct3: 0x4,
19243 rs1: 0x0,
19244 rs2: 0x0,
19245 csr: 0xca0,
19246 funct7: 0x65,
19247 },
19248 Opcode::MOPRR7 => Inst {
19249 opcode: 0x73,
19250 funct3: 0x4,
19251 rs1: 0x0,
19252 rs2: 0x0,
19253 csr: 0xce0,
19254 funct7: 0x67,
19255 },
19256 Opcode::MOPRRN => Inst {
19257 opcode: 0x73,
19258 funct3: 0x4,
19259 rs1: 0x0,
19260 rs2: 0x0,
19261 csr: 0x820,
19262 funct7: 0x41,
19263 },
19264 Opcode::MRET => Inst {
19265 opcode: 0x73,
19266 funct3: 0x0,
19267 rs1: 0x0,
19268 rs2: 0x2,
19269 csr: 0x302,
19270 funct7: 0x18,
19271 },
19272 Opcode::MUL => Inst {
19273 opcode: 0x33,
19274 funct3: 0x0,
19275 rs1: 0x0,
19276 rs2: 0x0,
19277 csr: 0x20,
19278 funct7: 0x1,
19279 },
19280 Opcode::MULH => Inst {
19281 opcode: 0x33,
19282 funct3: 0x1,
19283 rs1: 0x0,
19284 rs2: 0x0,
19285 csr: 0x20,
19286 funct7: 0x1,
19287 },
19288 Opcode::MULHSU => Inst {
19289 opcode: 0x33,
19290 funct3: 0x2,
19291 rs1: 0x0,
19292 rs2: 0x0,
19293 csr: 0x20,
19294 funct7: 0x1,
19295 },
19296 Opcode::MULHU => Inst {
19297 opcode: 0x33,
19298 funct3: 0x3,
19299 rs1: 0x0,
19300 rs2: 0x0,
19301 csr: 0x20,
19302 funct7: 0x1,
19303 },
19304 Opcode::MULW => Inst {
19305 opcode: 0x3b,
19306 funct3: 0x0,
19307 rs1: 0x0,
19308 rs2: 0x0,
19309 csr: 0x20,
19310 funct7: 0x1,
19311 },
19312 Opcode::MV => Inst {
19313 opcode: 0x13,
19314 funct3: 0x0,
19315 rs1: 0x0,
19316 rs2: 0x0,
19317 csr: 0x0,
19318 funct7: 0x0,
19319 },
19320 Opcode::NEG => Inst {
19321 opcode: 0x33,
19322 funct3: 0x0,
19323 rs1: 0x0,
19324 rs2: 0x0,
19325 csr: 0x400,
19326 funct7: 0x20,
19327 },
19328 Opcode::NOP => Inst {
19329 opcode: 0x13,
19330 funct3: 0x0,
19331 rs1: 0x0,
19332 rs2: 0x0,
19333 csr: 0x0,
19334 funct7: 0x0,
19335 },
19336 Opcode::NTLALL => Inst {
19337 opcode: 0x33,
19338 funct3: 0x0,
19339 rs1: 0x0,
19340 rs2: 0x5,
19341 csr: 0x5,
19342 funct7: 0x0,
19343 },
19344 Opcode::NTLP1 => Inst {
19345 opcode: 0x33,
19346 funct3: 0x0,
19347 rs1: 0x0,
19348 rs2: 0x2,
19349 csr: 0x2,
19350 funct7: 0x0,
19351 },
19352 Opcode::NTLPALL => Inst {
19353 opcode: 0x33,
19354 funct3: 0x0,
19355 rs1: 0x0,
19356 rs2: 0x3,
19357 csr: 0x3,
19358 funct7: 0x0,
19359 },
19360 Opcode::NTLS1 => Inst {
19361 opcode: 0x33,
19362 funct3: 0x0,
19363 rs1: 0x0,
19364 rs2: 0x4,
19365 csr: 0x4,
19366 funct7: 0x0,
19367 },
19368 Opcode::OR => Inst {
19369 opcode: 0x33,
19370 funct3: 0x6,
19371 rs1: 0x0,
19372 rs2: 0x0,
19373 csr: 0x0,
19374 funct7: 0x0,
19375 },
19376 Opcode::ORCB => Inst {
19377 opcode: 0x13,
19378 funct3: 0x5,
19379 rs1: 0x0,
19380 rs2: 0x7,
19381 csr: 0x287,
19382 funct7: 0x14,
19383 },
19384 Opcode::ORI => Inst {
19385 opcode: 0x13,
19386 funct3: 0x6,
19387 rs1: 0x0,
19388 rs2: 0x0,
19389 csr: 0x0,
19390 funct7: 0x0,
19391 },
19392 Opcode::ORN => Inst {
19393 opcode: 0x33,
19394 funct3: 0x6,
19395 rs1: 0x0,
19396 rs2: 0x0,
19397 csr: 0x400,
19398 funct7: 0x20,
19399 },
19400 Opcode::PACK => Inst {
19401 opcode: 0x33,
19402 funct3: 0x4,
19403 rs1: 0x0,
19404 rs2: 0x0,
19405 csr: 0x80,
19406 funct7: 0x4,
19407 },
19408 Opcode::PACKH => Inst {
19409 opcode: 0x33,
19410 funct3: 0x7,
19411 rs1: 0x0,
19412 rs2: 0x0,
19413 csr: 0x80,
19414 funct7: 0x4,
19415 },
19416 Opcode::PACKW => Inst {
19417 opcode: 0x3b,
19418 funct3: 0x4,
19419 rs1: 0x0,
19420 rs2: 0x0,
19421 csr: 0x80,
19422 funct7: 0x4,
19423 },
19424 Opcode::PAUSE => Inst {
19425 opcode: 0xf,
19426 funct3: 0x0,
19427 rs1: 0x0,
19428 rs2: 0x10,
19429 csr: 0x10,
19430 funct7: 0x0,
19431 },
19432 Opcode::PREFETCHI => Inst {
19433 opcode: 0x13,
19434 funct3: 0x6,
19435 rs1: 0x0,
19436 rs2: 0x0,
19437 csr: 0x0,
19438 funct7: 0x0,
19439 },
19440 Opcode::PREFETCHR => Inst {
19441 opcode: 0x13,
19442 funct3: 0x6,
19443 rs1: 0x0,
19444 rs2: 0x1,
19445 csr: 0x1,
19446 funct7: 0x0,
19447 },
19448 Opcode::PREFETCHW => Inst {
19449 opcode: 0x13,
19450 funct3: 0x6,
19451 rs1: 0x0,
19452 rs2: 0x3,
19453 csr: 0x3,
19454 funct7: 0x0,
19455 },
19456 Opcode::RDCYCLE => Inst {
19457 opcode: 0x73,
19458 funct3: 0x2,
19459 rs1: 0x0,
19460 rs2: 0x0,
19461 csr: 0xc00,
19462 funct7: 0x60,
19463 },
19464 Opcode::RDCYCLEH => Inst {
19465 opcode: 0x73,
19466 funct3: 0x2,
19467 rs1: 0x0,
19468 rs2: 0x0,
19469 csr: 0xc80,
19470 funct7: 0x64,
19471 },
19472 Opcode::RDINSTRET => Inst {
19473 opcode: 0x73,
19474 funct3: 0x2,
19475 rs1: 0x0,
19476 rs2: 0x2,
19477 csr: 0xc02,
19478 funct7: 0x60,
19479 },
19480 Opcode::RDINSTRETH => Inst {
19481 opcode: 0x73,
19482 funct3: 0x2,
19483 rs1: 0x0,
19484 rs2: 0x2,
19485 csr: 0xc82,
19486 funct7: 0x64,
19487 },
19488 Opcode::RDTIME => Inst {
19489 opcode: 0x73,
19490 funct3: 0x2,
19491 rs1: 0x0,
19492 rs2: 0x1,
19493 csr: 0xc01,
19494 funct7: 0x60,
19495 },
19496 Opcode::RDTIMEH => Inst {
19497 opcode: 0x73,
19498 funct3: 0x2,
19499 rs1: 0x0,
19500 rs2: 0x1,
19501 csr: 0xc81,
19502 funct7: 0x64,
19503 },
19504 Opcode::REM => Inst {
19505 opcode: 0x33,
19506 funct3: 0x6,
19507 rs1: 0x0,
19508 rs2: 0x0,
19509 csr: 0x20,
19510 funct7: 0x1,
19511 },
19512 Opcode::REMU => Inst {
19513 opcode: 0x33,
19514 funct3: 0x7,
19515 rs1: 0x0,
19516 rs2: 0x0,
19517 csr: 0x20,
19518 funct7: 0x1,
19519 },
19520 Opcode::REMUW => Inst {
19521 opcode: 0x3b,
19522 funct3: 0x7,
19523 rs1: 0x0,
19524 rs2: 0x0,
19525 csr: 0x20,
19526 funct7: 0x1,
19527 },
19528 Opcode::REMW => Inst {
19529 opcode: 0x3b,
19530 funct3: 0x6,
19531 rs1: 0x0,
19532 rs2: 0x0,
19533 csr: 0x20,
19534 funct7: 0x1,
19535 },
19536 Opcode::RET => Inst {
19537 opcode: 0x67,
19538 funct3: 0x0,
19539 rs1: 0x1,
19540 rs2: 0x0,
19541 csr: 0x0,
19542 funct7: 0x0,
19543 },
19544 Opcode::REV8 => Inst {
19545 opcode: 0x13,
19546 funct3: 0x5,
19547 rs1: 0x0,
19548 rs2: 0x18,
19549 csr: 0x6b8,
19550 funct7: 0x35,
19551 },
19552 Opcode::REV8RV32 => Inst {
19553 opcode: 0x13,
19554 funct3: 0x5,
19555 rs1: 0x0,
19556 rs2: 0x18,
19557 csr: 0x698,
19558 funct7: 0x34,
19559 },
19560 Opcode::ROL => Inst {
19561 opcode: 0x33,
19562 funct3: 0x1,
19563 rs1: 0x0,
19564 rs2: 0x0,
19565 csr: 0x600,
19566 funct7: 0x30,
19567 },
19568 Opcode::ROLW => Inst {
19569 opcode: 0x3b,
19570 funct3: 0x1,
19571 rs1: 0x0,
19572 rs2: 0x0,
19573 csr: 0x600,
19574 funct7: 0x30,
19575 },
19576 Opcode::ROR => Inst {
19577 opcode: 0x33,
19578 funct3: 0x5,
19579 rs1: 0x0,
19580 rs2: 0x0,
19581 csr: 0x600,
19582 funct7: 0x30,
19583 },
19584 Opcode::RORI => Inst {
19585 opcode: 0x13,
19586 funct3: 0x5,
19587 rs1: 0x0,
19588 rs2: 0x0,
19589 csr: 0x600,
19590 funct7: 0x30,
19591 },
19592 Opcode::RORIRV32 => Inst {
19593 opcode: 0x13,
19594 funct3: 0x5,
19595 rs1: 0x0,
19596 rs2: 0x0,
19597 csr: 0x600,
19598 funct7: 0x30,
19599 },
19600 Opcode::RORIW => Inst {
19601 opcode: 0x1b,
19602 funct3: 0x5,
19603 rs1: 0x0,
19604 rs2: 0x0,
19605 csr: 0x600,
19606 funct7: 0x30,
19607 },
19608 Opcode::RORW => Inst {
19609 opcode: 0x3b,
19610 funct3: 0x5,
19611 rs1: 0x0,
19612 rs2: 0x0,
19613 csr: 0x600,
19614 funct7: 0x30,
19615 },
19616 Opcode::SB => Inst {
19617 opcode: 0x23,
19618 funct3: 0x0,
19619 rs1: 0x0,
19620 rs2: 0x0,
19621 csr: 0x0,
19622 funct7: 0x0,
19623 },
19624 Opcode::SBREAK => Inst {
19625 opcode: 0x73,
19626 funct3: 0x0,
19627 rs1: 0x0,
19628 rs2: 0x1,
19629 csr: 0x1,
19630 funct7: 0x0,
19631 },
19632 Opcode::SCD => Inst {
19633 opcode: 0x2f,
19634 funct3: 0x3,
19635 rs1: 0x0,
19636 rs2: 0x0,
19637 csr: 0x180,
19638 funct7: 0xc,
19639 },
19640 Opcode::SCW => Inst {
19641 opcode: 0x2f,
19642 funct3: 0x2,
19643 rs1: 0x0,
19644 rs2: 0x0,
19645 csr: 0x180,
19646 funct7: 0xc,
19647 },
19648 Opcode::SCALL => Inst {
19649 opcode: 0x73,
19650 funct3: 0x0,
19651 rs1: 0x0,
19652 rs2: 0x0,
19653 csr: 0x0,
19654 funct7: 0x0,
19655 },
19656 Opcode::SD => Inst {
19657 opcode: 0x23,
19658 funct3: 0x3,
19659 rs1: 0x0,
19660 rs2: 0x0,
19661 csr: 0x0,
19662 funct7: 0x0,
19663 },
19664 Opcode::SEQZ => Inst {
19665 opcode: 0x13,
19666 funct3: 0x3,
19667 rs1: 0x0,
19668 rs2: 0x1,
19669 csr: 0x1,
19670 funct7: 0x0,
19671 },
19672 Opcode::SEXTB => Inst {
19673 opcode: 0x13,
19674 funct3: 0x1,
19675 rs1: 0x0,
19676 rs2: 0x4,
19677 csr: 0x604,
19678 funct7: 0x30,
19679 },
19680 Opcode::SEXTH => Inst {
19681 opcode: 0x13,
19682 funct3: 0x1,
19683 rs1: 0x0,
19684 rs2: 0x5,
19685 csr: 0x605,
19686 funct7: 0x30,
19687 },
19688 Opcode::SEXTW => Inst {
19689 opcode: 0x1b,
19690 funct3: 0x0,
19691 rs1: 0x0,
19692 rs2: 0x0,
19693 csr: 0x0,
19694 funct7: 0x0,
19695 },
19696 Opcode::SFENCEINVALIR => Inst {
19697 opcode: 0x73,
19698 funct3: 0x0,
19699 rs1: 0x0,
19700 rs2: 0x1,
19701 csr: 0x181,
19702 funct7: 0xc,
19703 },
19704 Opcode::SFENCEVMA => Inst {
19705 opcode: 0x73,
19706 funct3: 0x0,
19707 rs1: 0x0,
19708 rs2: 0x0,
19709 csr: 0x120,
19710 funct7: 0x9,
19711 },
19712 Opcode::SFENCEWINVAL => Inst {
19713 opcode: 0x73,
19714 funct3: 0x0,
19715 rs1: 0x0,
19716 rs2: 0x0,
19717 csr: 0x180,
19718 funct7: 0xc,
19719 },
19720 Opcode::SGTZ => Inst {
19721 opcode: 0x33,
19722 funct3: 0x2,
19723 rs1: 0x0,
19724 rs2: 0x0,
19725 csr: 0x0,
19726 funct7: 0x0,
19727 },
19728 Opcode::SH => Inst {
19729 opcode: 0x23,
19730 funct3: 0x1,
19731 rs1: 0x0,
19732 rs2: 0x0,
19733 csr: 0x0,
19734 funct7: 0x0,
19735 },
19736 Opcode::SH1ADD => Inst {
19737 opcode: 0x33,
19738 funct3: 0x2,
19739 rs1: 0x0,
19740 rs2: 0x0,
19741 csr: 0x200,
19742 funct7: 0x10,
19743 },
19744 Opcode::SH1ADDUW => Inst {
19745 opcode: 0x3b,
19746 funct3: 0x2,
19747 rs1: 0x0,
19748 rs2: 0x0,
19749 csr: 0x200,
19750 funct7: 0x10,
19751 },
19752 Opcode::SH2ADD => Inst {
19753 opcode: 0x33,
19754 funct3: 0x4,
19755 rs1: 0x0,
19756 rs2: 0x0,
19757 csr: 0x200,
19758 funct7: 0x10,
19759 },
19760 Opcode::SH2ADDUW => Inst {
19761 opcode: 0x3b,
19762 funct3: 0x4,
19763 rs1: 0x0,
19764 rs2: 0x0,
19765 csr: 0x200,
19766 funct7: 0x10,
19767 },
19768 Opcode::SH3ADD => Inst {
19769 opcode: 0x33,
19770 funct3: 0x6,
19771 rs1: 0x0,
19772 rs2: 0x0,
19773 csr: 0x200,
19774 funct7: 0x10,
19775 },
19776 Opcode::SH3ADDUW => Inst {
19777 opcode: 0x3b,
19778 funct3: 0x6,
19779 rs1: 0x0,
19780 rs2: 0x0,
19781 csr: 0x200,
19782 funct7: 0x10,
19783 },
19784 Opcode::SHA256SIG0 => Inst {
19785 opcode: 0x13,
19786 funct3: 0x1,
19787 rs1: 0x0,
19788 rs2: 0x2,
19789 csr: 0x102,
19790 funct7: 0x8,
19791 },
19792 Opcode::SHA256SIG1 => Inst {
19793 opcode: 0x13,
19794 funct3: 0x1,
19795 rs1: 0x0,
19796 rs2: 0x3,
19797 csr: 0x103,
19798 funct7: 0x8,
19799 },
19800 Opcode::SHA256SUM0 => Inst {
19801 opcode: 0x13,
19802 funct3: 0x1,
19803 rs1: 0x0,
19804 rs2: 0x0,
19805 csr: 0x100,
19806 funct7: 0x8,
19807 },
19808 Opcode::SHA256SUM1 => Inst {
19809 opcode: 0x13,
19810 funct3: 0x1,
19811 rs1: 0x0,
19812 rs2: 0x1,
19813 csr: 0x101,
19814 funct7: 0x8,
19815 },
19816 Opcode::SHA512SIG0 => Inst {
19817 opcode: 0x13,
19818 funct3: 0x1,
19819 rs1: 0x0,
19820 rs2: 0x6,
19821 csr: 0x106,
19822 funct7: 0x8,
19823 },
19824 Opcode::SHA512SIG0H => Inst {
19825 opcode: 0x33,
19826 funct3: 0x0,
19827 rs1: 0x0,
19828 rs2: 0x0,
19829 csr: 0x5c0,
19830 funct7: 0x2e,
19831 },
19832 Opcode::SHA512SIG0L => Inst {
19833 opcode: 0x33,
19834 funct3: 0x0,
19835 rs1: 0x0,
19836 rs2: 0x0,
19837 csr: 0x540,
19838 funct7: 0x2a,
19839 },
19840 Opcode::SHA512SIG1 => Inst {
19841 opcode: 0x13,
19842 funct3: 0x1,
19843 rs1: 0x0,
19844 rs2: 0x7,
19845 csr: 0x107,
19846 funct7: 0x8,
19847 },
19848 Opcode::SHA512SIG1H => Inst {
19849 opcode: 0x33,
19850 funct3: 0x0,
19851 rs1: 0x0,
19852 rs2: 0x0,
19853 csr: 0x5e0,
19854 funct7: 0x2f,
19855 },
19856 Opcode::SHA512SIG1L => Inst {
19857 opcode: 0x33,
19858 funct3: 0x0,
19859 rs1: 0x0,
19860 rs2: 0x0,
19861 csr: 0x560,
19862 funct7: 0x2b,
19863 },
19864 Opcode::SHA512SUM0 => Inst {
19865 opcode: 0x13,
19866 funct3: 0x1,
19867 rs1: 0x0,
19868 rs2: 0x4,
19869 csr: 0x104,
19870 funct7: 0x8,
19871 },
19872 Opcode::SHA512SUM0R => Inst {
19873 opcode: 0x33,
19874 funct3: 0x0,
19875 rs1: 0x0,
19876 rs2: 0x0,
19877 csr: 0x500,
19878 funct7: 0x28,
19879 },
19880 Opcode::SHA512SUM1 => Inst {
19881 opcode: 0x13,
19882 funct3: 0x1,
19883 rs1: 0x0,
19884 rs2: 0x5,
19885 csr: 0x105,
19886 funct7: 0x8,
19887 },
19888 Opcode::SHA512SUM1R => Inst {
19889 opcode: 0x33,
19890 funct3: 0x0,
19891 rs1: 0x0,
19892 rs2: 0x0,
19893 csr: 0x520,
19894 funct7: 0x29,
19895 },
19896 Opcode::SINVALVMA => Inst {
19897 opcode: 0x73,
19898 funct3: 0x0,
19899 rs1: 0x0,
19900 rs2: 0x0,
19901 csr: 0x160,
19902 funct7: 0xb,
19903 },
19904 Opcode::SLL => Inst {
19905 opcode: 0x33,
19906 funct3: 0x1,
19907 rs1: 0x0,
19908 rs2: 0x0,
19909 csr: 0x0,
19910 funct7: 0x0,
19911 },
19912 Opcode::SLLI => Inst {
19913 opcode: 0x13,
19914 funct3: 0x1,
19915 rs1: 0x0,
19916 rs2: 0x0,
19917 csr: 0x0,
19918 funct7: 0x0,
19919 },
19920 Opcode::SLLIRV32 => Inst {
19921 opcode: 0x13,
19922 funct3: 0x1,
19923 rs1: 0x0,
19924 rs2: 0x0,
19925 csr: 0x0,
19926 funct7: 0x0,
19927 },
19928 Opcode::SLLIUW => Inst {
19929 opcode: 0x1b,
19930 funct3: 0x1,
19931 rs1: 0x0,
19932 rs2: 0x0,
19933 csr: 0x80,
19934 funct7: 0x4,
19935 },
19936 Opcode::SLLIW => Inst {
19937 opcode: 0x1b,
19938 funct3: 0x1,
19939 rs1: 0x0,
19940 rs2: 0x0,
19941 csr: 0x0,
19942 funct7: 0x0,
19943 },
19944 Opcode::SLLW => Inst {
19945 opcode: 0x3b,
19946 funct3: 0x1,
19947 rs1: 0x0,
19948 rs2: 0x0,
19949 csr: 0x0,
19950 funct7: 0x0,
19951 },
19952 Opcode::SLT => Inst {
19953 opcode: 0x33,
19954 funct3: 0x2,
19955 rs1: 0x0,
19956 rs2: 0x0,
19957 csr: 0x0,
19958 funct7: 0x0,
19959 },
19960 Opcode::SLTI => Inst {
19961 opcode: 0x13,
19962 funct3: 0x2,
19963 rs1: 0x0,
19964 rs2: 0x0,
19965 csr: 0x0,
19966 funct7: 0x0,
19967 },
19968 Opcode::SLTIU => Inst {
19969 opcode: 0x13,
19970 funct3: 0x3,
19971 rs1: 0x0,
19972 rs2: 0x0,
19973 csr: 0x0,
19974 funct7: 0x0,
19975 },
19976 Opcode::SLTU => Inst {
19977 opcode: 0x33,
19978 funct3: 0x3,
19979 rs1: 0x0,
19980 rs2: 0x0,
19981 csr: 0x0,
19982 funct7: 0x0,
19983 },
19984 Opcode::SLTZ => Inst {
19985 opcode: 0x33,
19986 funct3: 0x2,
19987 rs1: 0x0,
19988 rs2: 0x0,
19989 csr: 0x0,
19990 funct7: 0x0,
19991 },
19992 Opcode::SM3P0 => Inst {
19993 opcode: 0x13,
19994 funct3: 0x1,
19995 rs1: 0x0,
19996 rs2: 0x8,
19997 csr: 0x108,
19998 funct7: 0x8,
19999 },
20000 Opcode::SM3P1 => Inst {
20001 opcode: 0x13,
20002 funct3: 0x1,
20003 rs1: 0x0,
20004 rs2: 0x9,
20005 csr: 0x109,
20006 funct7: 0x8,
20007 },
20008 Opcode::SM4ED => Inst {
20009 opcode: 0x33,
20010 funct3: 0x0,
20011 rs1: 0x0,
20012 rs2: 0x0,
20013 csr: 0x300,
20014 funct7: 0x18,
20015 },
20016 Opcode::SM4KS => Inst {
20017 opcode: 0x33,
20018 funct3: 0x0,
20019 rs1: 0x0,
20020 rs2: 0x0,
20021 csr: 0x340,
20022 funct7: 0x1a,
20023 },
20024 Opcode::SNEZ => Inst {
20025 opcode: 0x33,
20026 funct3: 0x3,
20027 rs1: 0x0,
20028 rs2: 0x0,
20029 csr: 0x0,
20030 funct7: 0x0,
20031 },
20032 Opcode::SRA => Inst {
20033 opcode: 0x33,
20034 funct3: 0x5,
20035 rs1: 0x0,
20036 rs2: 0x0,
20037 csr: 0x400,
20038 funct7: 0x20,
20039 },
20040 Opcode::SRAI => Inst {
20041 opcode: 0x13,
20042 funct3: 0x5,
20043 rs1: 0x0,
20044 rs2: 0x0,
20045 csr: 0x400,
20046 funct7: 0x20,
20047 },
20048 Opcode::SRAIRV32 => Inst {
20049 opcode: 0x13,
20050 funct3: 0x5,
20051 rs1: 0x0,
20052 rs2: 0x0,
20053 csr: 0x400,
20054 funct7: 0x20,
20055 },
20056 Opcode::SRAIW => Inst {
20057 opcode: 0x1b,
20058 funct3: 0x5,
20059 rs1: 0x0,
20060 rs2: 0x0,
20061 csr: 0x400,
20062 funct7: 0x20,
20063 },
20064 Opcode::SRAW => Inst {
20065 opcode: 0x3b,
20066 funct3: 0x5,
20067 rs1: 0x0,
20068 rs2: 0x0,
20069 csr: 0x400,
20070 funct7: 0x20,
20071 },
20072 Opcode::SRET => Inst {
20073 opcode: 0x73,
20074 funct3: 0x0,
20075 rs1: 0x0,
20076 rs2: 0x2,
20077 csr: 0x102,
20078 funct7: 0x8,
20079 },
20080 Opcode::SRL => Inst {
20081 opcode: 0x33,
20082 funct3: 0x5,
20083 rs1: 0x0,
20084 rs2: 0x0,
20085 csr: 0x0,
20086 funct7: 0x0,
20087 },
20088 Opcode::SRLI => Inst {
20089 opcode: 0x13,
20090 funct3: 0x5,
20091 rs1: 0x0,
20092 rs2: 0x0,
20093 csr: 0x0,
20094 funct7: 0x0,
20095 },
20096 Opcode::SRLIRV32 => Inst {
20097 opcode: 0x13,
20098 funct3: 0x5,
20099 rs1: 0x0,
20100 rs2: 0x0,
20101 csr: 0x0,
20102 funct7: 0x0,
20103 },
20104 Opcode::SRLIW => Inst {
20105 opcode: 0x1b,
20106 funct3: 0x5,
20107 rs1: 0x0,
20108 rs2: 0x0,
20109 csr: 0x0,
20110 funct7: 0x0,
20111 },
20112 Opcode::SRLW => Inst {
20113 opcode: 0x3b,
20114 funct3: 0x5,
20115 rs1: 0x0,
20116 rs2: 0x0,
20117 csr: 0x0,
20118 funct7: 0x0,
20119 },
20120 Opcode::SUB => Inst {
20121 opcode: 0x33,
20122 funct3: 0x0,
20123 rs1: 0x0,
20124 rs2: 0x0,
20125 csr: 0x400,
20126 funct7: 0x20,
20127 },
20128 Opcode::SUBW => Inst {
20129 opcode: 0x3b,
20130 funct3: 0x0,
20131 rs1: 0x0,
20132 rs2: 0x0,
20133 csr: 0x400,
20134 funct7: 0x20,
20135 },
20136 Opcode::SW => Inst {
20137 opcode: 0x23,
20138 funct3: 0x2,
20139 rs1: 0x0,
20140 rs2: 0x0,
20141 csr: 0x0,
20142 funct7: 0x0,
20143 },
20144 Opcode::UNZIP => Inst {
20145 opcode: 0x13,
20146 funct3: 0x5,
20147 rs1: 0x0,
20148 rs2: 0xf,
20149 csr: 0x8f,
20150 funct7: 0x4,
20151 },
20152 Opcode::VAADDVV => Inst {
20153 opcode: 0x57,
20154 funct3: 0x2,
20155 rs1: 0x0,
20156 rs2: 0x0,
20157 csr: 0x240,
20158 funct7: 0x12,
20159 },
20160 Opcode::VAADDVX => Inst {
20161 opcode: 0x57,
20162 funct3: 0x6,
20163 rs1: 0x0,
20164 rs2: 0x0,
20165 csr: 0x240,
20166 funct7: 0x12,
20167 },
20168 Opcode::VAADDUVV => Inst {
20169 opcode: 0x57,
20170 funct3: 0x2,
20171 rs1: 0x0,
20172 rs2: 0x0,
20173 csr: 0x200,
20174 funct7: 0x10,
20175 },
20176 Opcode::VAADDUVX => Inst {
20177 opcode: 0x57,
20178 funct3: 0x6,
20179 rs1: 0x0,
20180 rs2: 0x0,
20181 csr: 0x200,
20182 funct7: 0x10,
20183 },
20184 Opcode::VADCVIM => Inst {
20185 opcode: 0x57,
20186 funct3: 0x3,
20187 rs1: 0x0,
20188 rs2: 0x0,
20189 csr: 0x400,
20190 funct7: 0x20,
20191 },
20192 Opcode::VADCVVM => Inst {
20193 opcode: 0x57,
20194 funct3: 0x0,
20195 rs1: 0x0,
20196 rs2: 0x0,
20197 csr: 0x400,
20198 funct7: 0x20,
20199 },
20200 Opcode::VADCVXM => Inst {
20201 opcode: 0x57,
20202 funct3: 0x4,
20203 rs1: 0x0,
20204 rs2: 0x0,
20205 csr: 0x400,
20206 funct7: 0x20,
20207 },
20208 Opcode::VADDVI => Inst {
20209 opcode: 0x57,
20210 funct3: 0x3,
20211 rs1: 0x0,
20212 rs2: 0x0,
20213 csr: 0x0,
20214 funct7: 0x0,
20215 },
20216 Opcode::VADDVV => Inst {
20217 opcode: 0x57,
20218 funct3: 0x0,
20219 rs1: 0x0,
20220 rs2: 0x0,
20221 csr: 0x0,
20222 funct7: 0x0,
20223 },
20224 Opcode::VADDVX => Inst {
20225 opcode: 0x57,
20226 funct3: 0x4,
20227 rs1: 0x0,
20228 rs2: 0x0,
20229 csr: 0x0,
20230 funct7: 0x0,
20231 },
20232 Opcode::VAESDFVS => Inst {
20233 opcode: 0x77,
20234 funct3: 0x2,
20235 rs1: 0x1,
20236 rs2: 0x0,
20237 csr: 0xa60,
20238 funct7: 0x53,
20239 },
20240 Opcode::VAESDFVV => Inst {
20241 opcode: 0x77,
20242 funct3: 0x2,
20243 rs1: 0x1,
20244 rs2: 0x0,
20245 csr: 0xa20,
20246 funct7: 0x51,
20247 },
20248 Opcode::VAESDMVS => Inst {
20249 opcode: 0x77,
20250 funct3: 0x2,
20251 rs1: 0x0,
20252 rs2: 0x0,
20253 csr: 0xa60,
20254 funct7: 0x53,
20255 },
20256 Opcode::VAESDMVV => Inst {
20257 opcode: 0x77,
20258 funct3: 0x2,
20259 rs1: 0x0,
20260 rs2: 0x0,
20261 csr: 0xa20,
20262 funct7: 0x51,
20263 },
20264 Opcode::VAESEFVS => Inst {
20265 opcode: 0x77,
20266 funct3: 0x2,
20267 rs1: 0x3,
20268 rs2: 0x0,
20269 csr: 0xa60,
20270 funct7: 0x53,
20271 },
20272 Opcode::VAESEFVV => Inst {
20273 opcode: 0x77,
20274 funct3: 0x2,
20275 rs1: 0x3,
20276 rs2: 0x0,
20277 csr: 0xa20,
20278 funct7: 0x51,
20279 },
20280 Opcode::VAESEMVS => Inst {
20281 opcode: 0x77,
20282 funct3: 0x2,
20283 rs1: 0x2,
20284 rs2: 0x0,
20285 csr: 0xa60,
20286 funct7: 0x53,
20287 },
20288 Opcode::VAESEMVV => Inst {
20289 opcode: 0x77,
20290 funct3: 0x2,
20291 rs1: 0x2,
20292 rs2: 0x0,
20293 csr: 0xa20,
20294 funct7: 0x51,
20295 },
20296 Opcode::VAESKF1VI => Inst {
20297 opcode: 0x77,
20298 funct3: 0x2,
20299 rs1: 0x0,
20300 rs2: 0x0,
20301 csr: 0x8a0,
20302 funct7: 0x45,
20303 },
20304 Opcode::VAESKF2VI => Inst {
20305 opcode: 0x77,
20306 funct3: 0x2,
20307 rs1: 0x0,
20308 rs2: 0x0,
20309 csr: 0xaa0,
20310 funct7: 0x55,
20311 },
20312 Opcode::VAESZVS => Inst {
20313 opcode: 0x77,
20314 funct3: 0x2,
20315 rs1: 0x7,
20316 rs2: 0x0,
20317 csr: 0xa60,
20318 funct7: 0x53,
20319 },
20320 Opcode::VANDVI => Inst {
20321 opcode: 0x57,
20322 funct3: 0x3,
20323 rs1: 0x0,
20324 rs2: 0x0,
20325 csr: 0x240,
20326 funct7: 0x12,
20327 },
20328 Opcode::VANDVV => Inst {
20329 opcode: 0x57,
20330 funct3: 0x0,
20331 rs1: 0x0,
20332 rs2: 0x0,
20333 csr: 0x240,
20334 funct7: 0x12,
20335 },
20336 Opcode::VANDVX => Inst {
20337 opcode: 0x57,
20338 funct3: 0x4,
20339 rs1: 0x0,
20340 rs2: 0x0,
20341 csr: 0x240,
20342 funct7: 0x12,
20343 },
20344 Opcode::VANDNVV => Inst {
20345 opcode: 0x57,
20346 funct3: 0x0,
20347 rs1: 0x0,
20348 rs2: 0x0,
20349 csr: 0x40,
20350 funct7: 0x2,
20351 },
20352 Opcode::VANDNVX => Inst {
20353 opcode: 0x57,
20354 funct3: 0x4,
20355 rs1: 0x0,
20356 rs2: 0x0,
20357 csr: 0x40,
20358 funct7: 0x2,
20359 },
20360 Opcode::VASUBVV => Inst {
20361 opcode: 0x57,
20362 funct3: 0x2,
20363 rs1: 0x0,
20364 rs2: 0x0,
20365 csr: 0x2c0,
20366 funct7: 0x16,
20367 },
20368 Opcode::VASUBVX => Inst {
20369 opcode: 0x57,
20370 funct3: 0x6,
20371 rs1: 0x0,
20372 rs2: 0x0,
20373 csr: 0x2c0,
20374 funct7: 0x16,
20375 },
20376 Opcode::VASUBUVV => Inst {
20377 opcode: 0x57,
20378 funct3: 0x2,
20379 rs1: 0x0,
20380 rs2: 0x0,
20381 csr: 0x280,
20382 funct7: 0x14,
20383 },
20384 Opcode::VASUBUVX => Inst {
20385 opcode: 0x57,
20386 funct3: 0x6,
20387 rs1: 0x0,
20388 rs2: 0x0,
20389 csr: 0x280,
20390 funct7: 0x14,
20391 },
20392 Opcode::VBREV8V => Inst {
20393 opcode: 0x57,
20394 funct3: 0x2,
20395 rs1: 0x8,
20396 rs2: 0x0,
20397 csr: 0x480,
20398 funct7: 0x24,
20399 },
20400 Opcode::VBREVV => Inst {
20401 opcode: 0x57,
20402 funct3: 0x2,
20403 rs1: 0xa,
20404 rs2: 0x0,
20405 csr: 0x480,
20406 funct7: 0x24,
20407 },
20408 Opcode::VCLMULVV => Inst {
20409 opcode: 0x57,
20410 funct3: 0x2,
20411 rs1: 0x0,
20412 rs2: 0x0,
20413 csr: 0x300,
20414 funct7: 0x18,
20415 },
20416 Opcode::VCLMULVX => Inst {
20417 opcode: 0x57,
20418 funct3: 0x6,
20419 rs1: 0x0,
20420 rs2: 0x0,
20421 csr: 0x300,
20422 funct7: 0x18,
20423 },
20424 Opcode::VCLMULHVV => Inst {
20425 opcode: 0x57,
20426 funct3: 0x2,
20427 rs1: 0x0,
20428 rs2: 0x0,
20429 csr: 0x340,
20430 funct7: 0x1a,
20431 },
20432 Opcode::VCLMULHVX => Inst {
20433 opcode: 0x57,
20434 funct3: 0x6,
20435 rs1: 0x0,
20436 rs2: 0x0,
20437 csr: 0x340,
20438 funct7: 0x1a,
20439 },
20440 Opcode::VCLZV => Inst {
20441 opcode: 0x57,
20442 funct3: 0x2,
20443 rs1: 0xc,
20444 rs2: 0x0,
20445 csr: 0x480,
20446 funct7: 0x24,
20447 },
20448 Opcode::VCOMPRESSVM => Inst {
20449 opcode: 0x57,
20450 funct3: 0x2,
20451 rs1: 0x0,
20452 rs2: 0x0,
20453 csr: 0x5e0,
20454 funct7: 0x2f,
20455 },
20456 Opcode::VCPOPM => Inst {
20457 opcode: 0x57,
20458 funct3: 0x2,
20459 rs1: 0x10,
20460 rs2: 0x0,
20461 csr: 0x400,
20462 funct7: 0x20,
20463 },
20464 Opcode::VCPOPV => Inst {
20465 opcode: 0x57,
20466 funct3: 0x2,
20467 rs1: 0xe,
20468 rs2: 0x0,
20469 csr: 0x480,
20470 funct7: 0x24,
20471 },
20472 Opcode::VCTZV => Inst {
20473 opcode: 0x57,
20474 funct3: 0x2,
20475 rs1: 0xd,
20476 rs2: 0x0,
20477 csr: 0x480,
20478 funct7: 0x24,
20479 },
20480 Opcode::VDIVVV => Inst {
20481 opcode: 0x57,
20482 funct3: 0x2,
20483 rs1: 0x0,
20484 rs2: 0x0,
20485 csr: 0x840,
20486 funct7: 0x42,
20487 },
20488 Opcode::VDIVVX => Inst {
20489 opcode: 0x57,
20490 funct3: 0x6,
20491 rs1: 0x0,
20492 rs2: 0x0,
20493 csr: 0x840,
20494 funct7: 0x42,
20495 },
20496 Opcode::VDIVUVV => Inst {
20497 opcode: 0x57,
20498 funct3: 0x2,
20499 rs1: 0x0,
20500 rs2: 0x0,
20501 csr: 0x800,
20502 funct7: 0x40,
20503 },
20504 Opcode::VDIVUVX => Inst {
20505 opcode: 0x57,
20506 funct3: 0x6,
20507 rs1: 0x0,
20508 rs2: 0x0,
20509 csr: 0x800,
20510 funct7: 0x40,
20511 },
20512 Opcode::VFADDVF => Inst {
20513 opcode: 0x57,
20514 funct3: 0x5,
20515 rs1: 0x0,
20516 rs2: 0x0,
20517 csr: 0x0,
20518 funct7: 0x0,
20519 },
20520 Opcode::VFADDVV => Inst {
20521 opcode: 0x57,
20522 funct3: 0x1,
20523 rs1: 0x0,
20524 rs2: 0x0,
20525 csr: 0x0,
20526 funct7: 0x0,
20527 },
20528 Opcode::VFCLASSV => Inst {
20529 opcode: 0x57,
20530 funct3: 0x1,
20531 rs1: 0x10,
20532 rs2: 0x0,
20533 csr: 0x4c0,
20534 funct7: 0x26,
20535 },
20536 Opcode::VFCVTFXV => Inst {
20537 opcode: 0x57,
20538 funct3: 0x1,
20539 rs1: 0x3,
20540 rs2: 0x0,
20541 csr: 0x480,
20542 funct7: 0x24,
20543 },
20544 Opcode::VFCVTFXUV => Inst {
20545 opcode: 0x57,
20546 funct3: 0x1,
20547 rs1: 0x2,
20548 rs2: 0x0,
20549 csr: 0x480,
20550 funct7: 0x24,
20551 },
20552 Opcode::VFCVTRTZXFV => Inst {
20553 opcode: 0x57,
20554 funct3: 0x1,
20555 rs1: 0x7,
20556 rs2: 0x0,
20557 csr: 0x480,
20558 funct7: 0x24,
20559 },
20560 Opcode::VFCVTRTZXUFV => Inst {
20561 opcode: 0x57,
20562 funct3: 0x1,
20563 rs1: 0x6,
20564 rs2: 0x0,
20565 csr: 0x480,
20566 funct7: 0x24,
20567 },
20568 Opcode::VFCVTXFV => Inst {
20569 opcode: 0x57,
20570 funct3: 0x1,
20571 rs1: 0x1,
20572 rs2: 0x0,
20573 csr: 0x480,
20574 funct7: 0x24,
20575 },
20576 Opcode::VFCVTXUFV => Inst {
20577 opcode: 0x57,
20578 funct3: 0x1,
20579 rs1: 0x0,
20580 rs2: 0x0,
20581 csr: 0x480,
20582 funct7: 0x24,
20583 },
20584 Opcode::VFDIVVF => Inst {
20585 opcode: 0x57,
20586 funct3: 0x5,
20587 rs1: 0x0,
20588 rs2: 0x0,
20589 csr: 0x800,
20590 funct7: 0x40,
20591 },
20592 Opcode::VFDIVVV => Inst {
20593 opcode: 0x57,
20594 funct3: 0x1,
20595 rs1: 0x0,
20596 rs2: 0x0,
20597 csr: 0x800,
20598 funct7: 0x40,
20599 },
20600 Opcode::VFIRSTM => Inst {
20601 opcode: 0x57,
20602 funct3: 0x2,
20603 rs1: 0x11,
20604 rs2: 0x0,
20605 csr: 0x400,
20606 funct7: 0x20,
20607 },
20608 Opcode::VFMACCVF => Inst {
20609 opcode: 0x57,
20610 funct3: 0x5,
20611 rs1: 0x0,
20612 rs2: 0x0,
20613 csr: 0xb00,
20614 funct7: 0x58,
20615 },
20616 Opcode::VFMACCVV => Inst {
20617 opcode: 0x57,
20618 funct3: 0x1,
20619 rs1: 0x0,
20620 rs2: 0x0,
20621 csr: 0xb00,
20622 funct7: 0x58,
20623 },
20624 Opcode::VFMADDVF => Inst {
20625 opcode: 0x57,
20626 funct3: 0x5,
20627 rs1: 0x0,
20628 rs2: 0x0,
20629 csr: 0xa00,
20630 funct7: 0x50,
20631 },
20632 Opcode::VFMADDVV => Inst {
20633 opcode: 0x57,
20634 funct3: 0x1,
20635 rs1: 0x0,
20636 rs2: 0x0,
20637 csr: 0xa00,
20638 funct7: 0x50,
20639 },
20640 Opcode::VFMAXVF => Inst {
20641 opcode: 0x57,
20642 funct3: 0x5,
20643 rs1: 0x0,
20644 rs2: 0x0,
20645 csr: 0x180,
20646 funct7: 0xc,
20647 },
20648 Opcode::VFMAXVV => Inst {
20649 opcode: 0x57,
20650 funct3: 0x1,
20651 rs1: 0x0,
20652 rs2: 0x0,
20653 csr: 0x180,
20654 funct7: 0xc,
20655 },
20656 Opcode::VFMERGEVFM => Inst {
20657 opcode: 0x57,
20658 funct3: 0x5,
20659 rs1: 0x0,
20660 rs2: 0x0,
20661 csr: 0x5c0,
20662 funct7: 0x2e,
20663 },
20664 Opcode::VFMINVF => Inst {
20665 opcode: 0x57,
20666 funct3: 0x5,
20667 rs1: 0x0,
20668 rs2: 0x0,
20669 csr: 0x100,
20670 funct7: 0x8,
20671 },
20672 Opcode::VFMINVV => Inst {
20673 opcode: 0x57,
20674 funct3: 0x1,
20675 rs1: 0x0,
20676 rs2: 0x0,
20677 csr: 0x100,
20678 funct7: 0x8,
20679 },
20680 Opcode::VFMSACVF => Inst {
20681 opcode: 0x57,
20682 funct3: 0x5,
20683 rs1: 0x0,
20684 rs2: 0x0,
20685 csr: 0xb80,
20686 funct7: 0x5c,
20687 },
20688 Opcode::VFMSACVV => Inst {
20689 opcode: 0x57,
20690 funct3: 0x1,
20691 rs1: 0x0,
20692 rs2: 0x0,
20693 csr: 0xb80,
20694 funct7: 0x5c,
20695 },
20696 Opcode::VFMSUBVF => Inst {
20697 opcode: 0x57,
20698 funct3: 0x5,
20699 rs1: 0x0,
20700 rs2: 0x0,
20701 csr: 0xa80,
20702 funct7: 0x54,
20703 },
20704 Opcode::VFMSUBVV => Inst {
20705 opcode: 0x57,
20706 funct3: 0x1,
20707 rs1: 0x0,
20708 rs2: 0x0,
20709 csr: 0xa80,
20710 funct7: 0x54,
20711 },
20712 Opcode::VFMULVF => Inst {
20713 opcode: 0x57,
20714 funct3: 0x5,
20715 rs1: 0x0,
20716 rs2: 0x0,
20717 csr: 0x900,
20718 funct7: 0x48,
20719 },
20720 Opcode::VFMULVV => Inst {
20721 opcode: 0x57,
20722 funct3: 0x1,
20723 rs1: 0x0,
20724 rs2: 0x0,
20725 csr: 0x900,
20726 funct7: 0x48,
20727 },
20728 Opcode::VFMVFS => Inst {
20729 opcode: 0x57,
20730 funct3: 0x1,
20731 rs1: 0x0,
20732 rs2: 0x0,
20733 csr: 0x420,
20734 funct7: 0x21,
20735 },
20736 Opcode::VFMVSF => Inst {
20737 opcode: 0x57,
20738 funct3: 0x5,
20739 rs1: 0x0,
20740 rs2: 0x0,
20741 csr: 0x420,
20742 funct7: 0x21,
20743 },
20744 Opcode::VFMVVF => Inst {
20745 opcode: 0x57,
20746 funct3: 0x5,
20747 rs1: 0x0,
20748 rs2: 0x0,
20749 csr: 0x5e0,
20750 funct7: 0x2f,
20751 },
20752 Opcode::VFNCVTFFW => Inst {
20753 opcode: 0x57,
20754 funct3: 0x1,
20755 rs1: 0x14,
20756 rs2: 0x0,
20757 csr: 0x480,
20758 funct7: 0x24,
20759 },
20760 Opcode::VFNCVTFXW => Inst {
20761 opcode: 0x57,
20762 funct3: 0x1,
20763 rs1: 0x13,
20764 rs2: 0x0,
20765 csr: 0x480,
20766 funct7: 0x24,
20767 },
20768 Opcode::VFNCVTFXUW => Inst {
20769 opcode: 0x57,
20770 funct3: 0x1,
20771 rs1: 0x12,
20772 rs2: 0x0,
20773 csr: 0x480,
20774 funct7: 0x24,
20775 },
20776 Opcode::VFNCVTRODFFW => Inst {
20777 opcode: 0x57,
20778 funct3: 0x1,
20779 rs1: 0x15,
20780 rs2: 0x0,
20781 csr: 0x480,
20782 funct7: 0x24,
20783 },
20784 Opcode::VFNCVTRTZXFW => Inst {
20785 opcode: 0x57,
20786 funct3: 0x1,
20787 rs1: 0x17,
20788 rs2: 0x0,
20789 csr: 0x480,
20790 funct7: 0x24,
20791 },
20792 Opcode::VFNCVTRTZXUFW => Inst {
20793 opcode: 0x57,
20794 funct3: 0x1,
20795 rs1: 0x16,
20796 rs2: 0x0,
20797 csr: 0x480,
20798 funct7: 0x24,
20799 },
20800 Opcode::VFNCVTXFW => Inst {
20801 opcode: 0x57,
20802 funct3: 0x1,
20803 rs1: 0x11,
20804 rs2: 0x0,
20805 csr: 0x480,
20806 funct7: 0x24,
20807 },
20808 Opcode::VFNCVTXUFW => Inst {
20809 opcode: 0x57,
20810 funct3: 0x1,
20811 rs1: 0x10,
20812 rs2: 0x0,
20813 csr: 0x480,
20814 funct7: 0x24,
20815 },
20816 Opcode::VFNMACCVF => Inst {
20817 opcode: 0x57,
20818 funct3: 0x5,
20819 rs1: 0x0,
20820 rs2: 0x0,
20821 csr: 0xb40,
20822 funct7: 0x5a,
20823 },
20824 Opcode::VFNMACCVV => Inst {
20825 opcode: 0x57,
20826 funct3: 0x1,
20827 rs1: 0x0,
20828 rs2: 0x0,
20829 csr: 0xb40,
20830 funct7: 0x5a,
20831 },
20832 Opcode::VFNMADDVF => Inst {
20833 opcode: 0x57,
20834 funct3: 0x5,
20835 rs1: 0x0,
20836 rs2: 0x0,
20837 csr: 0xa40,
20838 funct7: 0x52,
20839 },
20840 Opcode::VFNMADDVV => Inst {
20841 opcode: 0x57,
20842 funct3: 0x1,
20843 rs1: 0x0,
20844 rs2: 0x0,
20845 csr: 0xa40,
20846 funct7: 0x52,
20847 },
20848 Opcode::VFNMSACVF => Inst {
20849 opcode: 0x57,
20850 funct3: 0x5,
20851 rs1: 0x0,
20852 rs2: 0x0,
20853 csr: 0xbc0,
20854 funct7: 0x5e,
20855 },
20856 Opcode::VFNMSACVV => Inst {
20857 opcode: 0x57,
20858 funct3: 0x1,
20859 rs1: 0x0,
20860 rs2: 0x0,
20861 csr: 0xbc0,
20862 funct7: 0x5e,
20863 },
20864 Opcode::VFNMSUBVF => Inst {
20865 opcode: 0x57,
20866 funct3: 0x5,
20867 rs1: 0x0,
20868 rs2: 0x0,
20869 csr: 0xac0,
20870 funct7: 0x56,
20871 },
20872 Opcode::VFNMSUBVV => Inst {
20873 opcode: 0x57,
20874 funct3: 0x1,
20875 rs1: 0x0,
20876 rs2: 0x0,
20877 csr: 0xac0,
20878 funct7: 0x56,
20879 },
20880 Opcode::VFRDIVVF => Inst {
20881 opcode: 0x57,
20882 funct3: 0x5,
20883 rs1: 0x0,
20884 rs2: 0x0,
20885 csr: 0x840,
20886 funct7: 0x42,
20887 },
20888 Opcode::VFREC7V => Inst {
20889 opcode: 0x57,
20890 funct3: 0x1,
20891 rs1: 0x5,
20892 rs2: 0x0,
20893 csr: 0x4c0,
20894 funct7: 0x26,
20895 },
20896 Opcode::VFREDMAXVS => Inst {
20897 opcode: 0x57,
20898 funct3: 0x1,
20899 rs1: 0x0,
20900 rs2: 0x0,
20901 csr: 0x1c0,
20902 funct7: 0xe,
20903 },
20904 Opcode::VFREDMINVS => Inst {
20905 opcode: 0x57,
20906 funct3: 0x1,
20907 rs1: 0x0,
20908 rs2: 0x0,
20909 csr: 0x140,
20910 funct7: 0xa,
20911 },
20912 Opcode::VFREDOSUMVS => Inst {
20913 opcode: 0x57,
20914 funct3: 0x1,
20915 rs1: 0x0,
20916 rs2: 0x0,
20917 csr: 0xc0,
20918 funct7: 0x6,
20919 },
20920 Opcode::VFREDSUMVS => Inst {
20921 opcode: 0x57,
20922 funct3: 0x1,
20923 rs1: 0x0,
20924 rs2: 0x0,
20925 csr: 0x40,
20926 funct7: 0x2,
20927 },
20928 Opcode::VFREDUSUMVS => Inst {
20929 opcode: 0x57,
20930 funct3: 0x1,
20931 rs1: 0x0,
20932 rs2: 0x0,
20933 csr: 0x40,
20934 funct7: 0x2,
20935 },
20936 Opcode::VFRSQRT7V => Inst {
20937 opcode: 0x57,
20938 funct3: 0x1,
20939 rs1: 0x4,
20940 rs2: 0x0,
20941 csr: 0x4c0,
20942 funct7: 0x26,
20943 },
20944 Opcode::VFRSUBVF => Inst {
20945 opcode: 0x57,
20946 funct3: 0x5,
20947 rs1: 0x0,
20948 rs2: 0x0,
20949 csr: 0x9c0,
20950 funct7: 0x4e,
20951 },
20952 Opcode::VFSGNJVF => Inst {
20953 opcode: 0x57,
20954 funct3: 0x5,
20955 rs1: 0x0,
20956 rs2: 0x0,
20957 csr: 0x200,
20958 funct7: 0x10,
20959 },
20960 Opcode::VFSGNJVV => Inst {
20961 opcode: 0x57,
20962 funct3: 0x1,
20963 rs1: 0x0,
20964 rs2: 0x0,
20965 csr: 0x200,
20966 funct7: 0x10,
20967 },
20968 Opcode::VFSGNJNVF => Inst {
20969 opcode: 0x57,
20970 funct3: 0x5,
20971 rs1: 0x0,
20972 rs2: 0x0,
20973 csr: 0x240,
20974 funct7: 0x12,
20975 },
20976 Opcode::VFSGNJNVV => Inst {
20977 opcode: 0x57,
20978 funct3: 0x1,
20979 rs1: 0x0,
20980 rs2: 0x0,
20981 csr: 0x240,
20982 funct7: 0x12,
20983 },
20984 Opcode::VFSGNJXVF => Inst {
20985 opcode: 0x57,
20986 funct3: 0x5,
20987 rs1: 0x0,
20988 rs2: 0x0,
20989 csr: 0x280,
20990 funct7: 0x14,
20991 },
20992 Opcode::VFSGNJXVV => Inst {
20993 opcode: 0x57,
20994 funct3: 0x1,
20995 rs1: 0x0,
20996 rs2: 0x0,
20997 csr: 0x280,
20998 funct7: 0x14,
20999 },
21000 Opcode::VFSLIDE1DOWNVF => Inst {
21001 opcode: 0x57,
21002 funct3: 0x5,
21003 rs1: 0x0,
21004 rs2: 0x0,
21005 csr: 0x3c0,
21006 funct7: 0x1e,
21007 },
21008 Opcode::VFSLIDE1UPVF => Inst {
21009 opcode: 0x57,
21010 funct3: 0x5,
21011 rs1: 0x0,
21012 rs2: 0x0,
21013 csr: 0x380,
21014 funct7: 0x1c,
21015 },
21016 Opcode::VFSQRTV => Inst {
21017 opcode: 0x57,
21018 funct3: 0x1,
21019 rs1: 0x0,
21020 rs2: 0x0,
21021 csr: 0x4c0,
21022 funct7: 0x26,
21023 },
21024 Opcode::VFSUBVF => Inst {
21025 opcode: 0x57,
21026 funct3: 0x5,
21027 rs1: 0x0,
21028 rs2: 0x0,
21029 csr: 0x80,
21030 funct7: 0x4,
21031 },
21032 Opcode::VFSUBVV => Inst {
21033 opcode: 0x57,
21034 funct3: 0x1,
21035 rs1: 0x0,
21036 rs2: 0x0,
21037 csr: 0x80,
21038 funct7: 0x4,
21039 },
21040 Opcode::VFWADDVF => Inst {
21041 opcode: 0x57,
21042 funct3: 0x5,
21043 rs1: 0x0,
21044 rs2: 0x0,
21045 csr: 0xc00,
21046 funct7: 0x60,
21047 },
21048 Opcode::VFWADDVV => Inst {
21049 opcode: 0x57,
21050 funct3: 0x1,
21051 rs1: 0x0,
21052 rs2: 0x0,
21053 csr: 0xc00,
21054 funct7: 0x60,
21055 },
21056 Opcode::VFWADDWF => Inst {
21057 opcode: 0x57,
21058 funct3: 0x5,
21059 rs1: 0x0,
21060 rs2: 0x0,
21061 csr: 0xd00,
21062 funct7: 0x68,
21063 },
21064 Opcode::VFWADDWV => Inst {
21065 opcode: 0x57,
21066 funct3: 0x1,
21067 rs1: 0x0,
21068 rs2: 0x0,
21069 csr: 0xd00,
21070 funct7: 0x68,
21071 },
21072 Opcode::VFWCVTFFV => Inst {
21073 opcode: 0x57,
21074 funct3: 0x1,
21075 rs1: 0xc,
21076 rs2: 0x0,
21077 csr: 0x480,
21078 funct7: 0x24,
21079 },
21080 Opcode::VFWCVTFXV => Inst {
21081 opcode: 0x57,
21082 funct3: 0x1,
21083 rs1: 0xb,
21084 rs2: 0x0,
21085 csr: 0x480,
21086 funct7: 0x24,
21087 },
21088 Opcode::VFWCVTFXUV => Inst {
21089 opcode: 0x57,
21090 funct3: 0x1,
21091 rs1: 0xa,
21092 rs2: 0x0,
21093 csr: 0x480,
21094 funct7: 0x24,
21095 },
21096 Opcode::VFWCVTRTZXFV => Inst {
21097 opcode: 0x57,
21098 funct3: 0x1,
21099 rs1: 0xf,
21100 rs2: 0x0,
21101 csr: 0x480,
21102 funct7: 0x24,
21103 },
21104 Opcode::VFWCVTRTZXUFV => Inst {
21105 opcode: 0x57,
21106 funct3: 0x1,
21107 rs1: 0xe,
21108 rs2: 0x0,
21109 csr: 0x480,
21110 funct7: 0x24,
21111 },
21112 Opcode::VFWCVTXFV => Inst {
21113 opcode: 0x57,
21114 funct3: 0x1,
21115 rs1: 0x9,
21116 rs2: 0x0,
21117 csr: 0x480,
21118 funct7: 0x24,
21119 },
21120 Opcode::VFWCVTXUFV => Inst {
21121 opcode: 0x57,
21122 funct3: 0x1,
21123 rs1: 0x8,
21124 rs2: 0x0,
21125 csr: 0x480,
21126 funct7: 0x24,
21127 },
21128 Opcode::VFWMACCVF => Inst {
21129 opcode: 0x57,
21130 funct3: 0x5,
21131 rs1: 0x0,
21132 rs2: 0x0,
21133 csr: 0xf00,
21134 funct7: 0x78,
21135 },
21136 Opcode::VFWMACCVV => Inst {
21137 opcode: 0x57,
21138 funct3: 0x1,
21139 rs1: 0x0,
21140 rs2: 0x0,
21141 csr: 0xf00,
21142 funct7: 0x78,
21143 },
21144 Opcode::VFWMSACVF => Inst {
21145 opcode: 0x57,
21146 funct3: 0x5,
21147 rs1: 0x0,
21148 rs2: 0x0,
21149 csr: 0xf80,
21150 funct7: 0x7c,
21151 },
21152 Opcode::VFWMSACVV => Inst {
21153 opcode: 0x57,
21154 funct3: 0x1,
21155 rs1: 0x0,
21156 rs2: 0x0,
21157 csr: 0xf80,
21158 funct7: 0x7c,
21159 },
21160 Opcode::VFWMULVF => Inst {
21161 opcode: 0x57,
21162 funct3: 0x5,
21163 rs1: 0x0,
21164 rs2: 0x0,
21165 csr: 0xe00,
21166 funct7: 0x70,
21167 },
21168 Opcode::VFWMULVV => Inst {
21169 opcode: 0x57,
21170 funct3: 0x1,
21171 rs1: 0x0,
21172 rs2: 0x0,
21173 csr: 0xe00,
21174 funct7: 0x70,
21175 },
21176 Opcode::VFWNMACCVF => Inst {
21177 opcode: 0x57,
21178 funct3: 0x5,
21179 rs1: 0x0,
21180 rs2: 0x0,
21181 csr: 0xf40,
21182 funct7: 0x7a,
21183 },
21184 Opcode::VFWNMACCVV => Inst {
21185 opcode: 0x57,
21186 funct3: 0x1,
21187 rs1: 0x0,
21188 rs2: 0x0,
21189 csr: 0xf40,
21190 funct7: 0x7a,
21191 },
21192 Opcode::VFWNMSACVF => Inst {
21193 opcode: 0x57,
21194 funct3: 0x5,
21195 rs1: 0x0,
21196 rs2: 0x0,
21197 csr: 0xfc0,
21198 funct7: 0x7e,
21199 },
21200 Opcode::VFWNMSACVV => Inst {
21201 opcode: 0x57,
21202 funct3: 0x1,
21203 rs1: 0x0,
21204 rs2: 0x0,
21205 csr: 0xfc0,
21206 funct7: 0x7e,
21207 },
21208 Opcode::VFWREDOSUMVS => Inst {
21209 opcode: 0x57,
21210 funct3: 0x1,
21211 rs1: 0x0,
21212 rs2: 0x0,
21213 csr: 0xcc0,
21214 funct7: 0x66,
21215 },
21216 Opcode::VFWREDSUMVS => Inst {
21217 opcode: 0x57,
21218 funct3: 0x1,
21219 rs1: 0x0,
21220 rs2: 0x0,
21221 csr: 0xc40,
21222 funct7: 0x62,
21223 },
21224 Opcode::VFWREDUSUMVS => Inst {
21225 opcode: 0x57,
21226 funct3: 0x1,
21227 rs1: 0x0,
21228 rs2: 0x0,
21229 csr: 0xc40,
21230 funct7: 0x62,
21231 },
21232 Opcode::VFWSUBVF => Inst {
21233 opcode: 0x57,
21234 funct3: 0x5,
21235 rs1: 0x0,
21236 rs2: 0x0,
21237 csr: 0xc80,
21238 funct7: 0x64,
21239 },
21240 Opcode::VFWSUBVV => Inst {
21241 opcode: 0x57,
21242 funct3: 0x1,
21243 rs1: 0x0,
21244 rs2: 0x0,
21245 csr: 0xc80,
21246 funct7: 0x64,
21247 },
21248 Opcode::VFWSUBWF => Inst {
21249 opcode: 0x57,
21250 funct3: 0x5,
21251 rs1: 0x0,
21252 rs2: 0x0,
21253 csr: 0xd80,
21254 funct7: 0x6c,
21255 },
21256 Opcode::VFWSUBWV => Inst {
21257 opcode: 0x57,
21258 funct3: 0x1,
21259 rs1: 0x0,
21260 rs2: 0x0,
21261 csr: 0xd80,
21262 funct7: 0x6c,
21263 },
21264 Opcode::VGHSHVV => Inst {
21265 opcode: 0x77,
21266 funct3: 0x2,
21267 rs1: 0x0,
21268 rs2: 0x0,
21269 csr: 0xb20,
21270 funct7: 0x59,
21271 },
21272 Opcode::VGMULVV => Inst {
21273 opcode: 0x77,
21274 funct3: 0x2,
21275 rs1: 0x11,
21276 rs2: 0x0,
21277 csr: 0xa20,
21278 funct7: 0x51,
21279 },
21280 Opcode::VIDV => Inst {
21281 opcode: 0x57,
21282 funct3: 0x2,
21283 rs1: 0x11,
21284 rs2: 0x0,
21285 csr: 0x500,
21286 funct7: 0x28,
21287 },
21288 Opcode::VIOTAM => Inst {
21289 opcode: 0x57,
21290 funct3: 0x2,
21291 rs1: 0x10,
21292 rs2: 0x0,
21293 csr: 0x500,
21294 funct7: 0x28,
21295 },
21296 Opcode::VL1RV => Inst {
21297 opcode: 0x7,
21298 funct3: 0x0,
21299 rs1: 0x0,
21300 rs2: 0x8,
21301 csr: 0x28,
21302 funct7: 0x1,
21303 },
21304 Opcode::VL1RE16V => Inst {
21305 opcode: 0x7,
21306 funct3: 0x5,
21307 rs1: 0x0,
21308 rs2: 0x8,
21309 csr: 0x28,
21310 funct7: 0x1,
21311 },
21312 Opcode::VL1RE32V => Inst {
21313 opcode: 0x7,
21314 funct3: 0x6,
21315 rs1: 0x0,
21316 rs2: 0x8,
21317 csr: 0x28,
21318 funct7: 0x1,
21319 },
21320 Opcode::VL1RE64V => Inst {
21321 opcode: 0x7,
21322 funct3: 0x7,
21323 rs1: 0x0,
21324 rs2: 0x8,
21325 csr: 0x28,
21326 funct7: 0x1,
21327 },
21328 Opcode::VL1RE8V => Inst {
21329 opcode: 0x7,
21330 funct3: 0x0,
21331 rs1: 0x0,
21332 rs2: 0x8,
21333 csr: 0x28,
21334 funct7: 0x1,
21335 },
21336 Opcode::VL2RV => Inst {
21337 opcode: 0x7,
21338 funct3: 0x0,
21339 rs1: 0x0,
21340 rs2: 0x8,
21341 csr: 0x228,
21342 funct7: 0x11,
21343 },
21344 Opcode::VL2RE16V => Inst {
21345 opcode: 0x7,
21346 funct3: 0x5,
21347 rs1: 0x0,
21348 rs2: 0x8,
21349 csr: 0x228,
21350 funct7: 0x11,
21351 },
21352 Opcode::VL2RE32V => Inst {
21353 opcode: 0x7,
21354 funct3: 0x6,
21355 rs1: 0x0,
21356 rs2: 0x8,
21357 csr: 0x228,
21358 funct7: 0x11,
21359 },
21360 Opcode::VL2RE64V => Inst {
21361 opcode: 0x7,
21362 funct3: 0x7,
21363 rs1: 0x0,
21364 rs2: 0x8,
21365 csr: 0x228,
21366 funct7: 0x11,
21367 },
21368 Opcode::VL2RE8V => Inst {
21369 opcode: 0x7,
21370 funct3: 0x0,
21371 rs1: 0x0,
21372 rs2: 0x8,
21373 csr: 0x228,
21374 funct7: 0x11,
21375 },
21376 Opcode::VL4RV => Inst {
21377 opcode: 0x7,
21378 funct3: 0x0,
21379 rs1: 0x0,
21380 rs2: 0x8,
21381 csr: 0x628,
21382 funct7: 0x31,
21383 },
21384 Opcode::VL4RE16V => Inst {
21385 opcode: 0x7,
21386 funct3: 0x5,
21387 rs1: 0x0,
21388 rs2: 0x8,
21389 csr: 0x628,
21390 funct7: 0x31,
21391 },
21392 Opcode::VL4RE32V => Inst {
21393 opcode: 0x7,
21394 funct3: 0x6,
21395 rs1: 0x0,
21396 rs2: 0x8,
21397 csr: 0x628,
21398 funct7: 0x31,
21399 },
21400 Opcode::VL4RE64V => Inst {
21401 opcode: 0x7,
21402 funct3: 0x7,
21403 rs1: 0x0,
21404 rs2: 0x8,
21405 csr: 0x628,
21406 funct7: 0x31,
21407 },
21408 Opcode::VL4RE8V => Inst {
21409 opcode: 0x7,
21410 funct3: 0x0,
21411 rs1: 0x0,
21412 rs2: 0x8,
21413 csr: 0x628,
21414 funct7: 0x31,
21415 },
21416 Opcode::VL8RV => Inst {
21417 opcode: 0x7,
21418 funct3: 0x0,
21419 rs1: 0x0,
21420 rs2: 0x8,
21421 csr: 0xe28,
21422 funct7: 0x71,
21423 },
21424 Opcode::VL8RE16V => Inst {
21425 opcode: 0x7,
21426 funct3: 0x5,
21427 rs1: 0x0,
21428 rs2: 0x8,
21429 csr: 0xe28,
21430 funct7: 0x71,
21431 },
21432 Opcode::VL8RE32V => Inst {
21433 opcode: 0x7,
21434 funct3: 0x6,
21435 rs1: 0x0,
21436 rs2: 0x8,
21437 csr: 0xe28,
21438 funct7: 0x71,
21439 },
21440 Opcode::VL8RE64V => Inst {
21441 opcode: 0x7,
21442 funct3: 0x7,
21443 rs1: 0x0,
21444 rs2: 0x8,
21445 csr: 0xe28,
21446 funct7: 0x71,
21447 },
21448 Opcode::VL8RE8V => Inst {
21449 opcode: 0x7,
21450 funct3: 0x0,
21451 rs1: 0x0,
21452 rs2: 0x8,
21453 csr: 0xe28,
21454 funct7: 0x71,
21455 },
21456 Opcode::VLE16V => Inst {
21457 opcode: 0x7,
21458 funct3: 0x5,
21459 rs1: 0x0,
21460 rs2: 0x0,
21461 csr: 0x0,
21462 funct7: 0x0,
21463 },
21464 Opcode::VLE16FFV => Inst {
21465 opcode: 0x7,
21466 funct3: 0x5,
21467 rs1: 0x0,
21468 rs2: 0x10,
21469 csr: 0x10,
21470 funct7: 0x0,
21471 },
21472 Opcode::VLE1V => Inst {
21473 opcode: 0x7,
21474 funct3: 0x0,
21475 rs1: 0x0,
21476 rs2: 0xb,
21477 csr: 0x2b,
21478 funct7: 0x1,
21479 },
21480 Opcode::VLE32V => Inst {
21481 opcode: 0x7,
21482 funct3: 0x6,
21483 rs1: 0x0,
21484 rs2: 0x0,
21485 csr: 0x0,
21486 funct7: 0x0,
21487 },
21488 Opcode::VLE32FFV => Inst {
21489 opcode: 0x7,
21490 funct3: 0x6,
21491 rs1: 0x0,
21492 rs2: 0x10,
21493 csr: 0x10,
21494 funct7: 0x0,
21495 },
21496 Opcode::VLE64V => Inst {
21497 opcode: 0x7,
21498 funct3: 0x7,
21499 rs1: 0x0,
21500 rs2: 0x0,
21501 csr: 0x0,
21502 funct7: 0x0,
21503 },
21504 Opcode::VLE64FFV => Inst {
21505 opcode: 0x7,
21506 funct3: 0x7,
21507 rs1: 0x0,
21508 rs2: 0x10,
21509 csr: 0x10,
21510 funct7: 0x0,
21511 },
21512 Opcode::VLE8V => Inst {
21513 opcode: 0x7,
21514 funct3: 0x0,
21515 rs1: 0x0,
21516 rs2: 0x0,
21517 csr: 0x0,
21518 funct7: 0x0,
21519 },
21520 Opcode::VLE8FFV => Inst {
21521 opcode: 0x7,
21522 funct3: 0x0,
21523 rs1: 0x0,
21524 rs2: 0x10,
21525 csr: 0x10,
21526 funct7: 0x0,
21527 },
21528 Opcode::VLMV => Inst {
21529 opcode: 0x7,
21530 funct3: 0x0,
21531 rs1: 0x0,
21532 rs2: 0xb,
21533 csr: 0x2b,
21534 funct7: 0x1,
21535 },
21536 Opcode::VLOXEI16V => Inst {
21537 opcode: 0x7,
21538 funct3: 0x5,
21539 rs1: 0x0,
21540 rs2: 0x0,
21541 csr: 0xc0,
21542 funct7: 0x6,
21543 },
21544 Opcode::VLOXEI32V => Inst {
21545 opcode: 0x7,
21546 funct3: 0x6,
21547 rs1: 0x0,
21548 rs2: 0x0,
21549 csr: 0xc0,
21550 funct7: 0x6,
21551 },
21552 Opcode::VLOXEI64V => Inst {
21553 opcode: 0x7,
21554 funct3: 0x7,
21555 rs1: 0x0,
21556 rs2: 0x0,
21557 csr: 0xc0,
21558 funct7: 0x6,
21559 },
21560 Opcode::VLOXEI8V => Inst {
21561 opcode: 0x7,
21562 funct3: 0x0,
21563 rs1: 0x0,
21564 rs2: 0x0,
21565 csr: 0xc0,
21566 funct7: 0x6,
21567 },
21568 Opcode::VLSE16V => Inst {
21569 opcode: 0x7,
21570 funct3: 0x5,
21571 rs1: 0x0,
21572 rs2: 0x0,
21573 csr: 0x80,
21574 funct7: 0x4,
21575 },
21576 Opcode::VLSE32V => Inst {
21577 opcode: 0x7,
21578 funct3: 0x6,
21579 rs1: 0x0,
21580 rs2: 0x0,
21581 csr: 0x80,
21582 funct7: 0x4,
21583 },
21584 Opcode::VLSE64V => Inst {
21585 opcode: 0x7,
21586 funct3: 0x7,
21587 rs1: 0x0,
21588 rs2: 0x0,
21589 csr: 0x80,
21590 funct7: 0x4,
21591 },
21592 Opcode::VLSE8V => Inst {
21593 opcode: 0x7,
21594 funct3: 0x0,
21595 rs1: 0x0,
21596 rs2: 0x0,
21597 csr: 0x80,
21598 funct7: 0x4,
21599 },
21600 Opcode::VLUXEI16V => Inst {
21601 opcode: 0x7,
21602 funct3: 0x5,
21603 rs1: 0x0,
21604 rs2: 0x0,
21605 csr: 0x40,
21606 funct7: 0x2,
21607 },
21608 Opcode::VLUXEI32V => Inst {
21609 opcode: 0x7,
21610 funct3: 0x6,
21611 rs1: 0x0,
21612 rs2: 0x0,
21613 csr: 0x40,
21614 funct7: 0x2,
21615 },
21616 Opcode::VLUXEI64V => Inst {
21617 opcode: 0x7,
21618 funct3: 0x7,
21619 rs1: 0x0,
21620 rs2: 0x0,
21621 csr: 0x40,
21622 funct7: 0x2,
21623 },
21624 Opcode::VLUXEI8V => Inst {
21625 opcode: 0x7,
21626 funct3: 0x0,
21627 rs1: 0x0,
21628 rs2: 0x0,
21629 csr: 0x40,
21630 funct7: 0x2,
21631 },
21632 Opcode::VMACCVV => Inst {
21633 opcode: 0x57,
21634 funct3: 0x2,
21635 rs1: 0x0,
21636 rs2: 0x0,
21637 csr: 0xb40,
21638 funct7: 0x5a,
21639 },
21640 Opcode::VMACCVX => Inst {
21641 opcode: 0x57,
21642 funct3: 0x6,
21643 rs1: 0x0,
21644 rs2: 0x0,
21645 csr: 0xb40,
21646 funct7: 0x5a,
21647 },
21648 Opcode::VMADCVI => Inst {
21649 opcode: 0x57,
21650 funct3: 0x3,
21651 rs1: 0x0,
21652 rs2: 0x0,
21653 csr: 0x460,
21654 funct7: 0x23,
21655 },
21656 Opcode::VMADCVIM => Inst {
21657 opcode: 0x57,
21658 funct3: 0x3,
21659 rs1: 0x0,
21660 rs2: 0x0,
21661 csr: 0x440,
21662 funct7: 0x22,
21663 },
21664 Opcode::VMADCVV => Inst {
21665 opcode: 0x57,
21666 funct3: 0x0,
21667 rs1: 0x0,
21668 rs2: 0x0,
21669 csr: 0x460,
21670 funct7: 0x23,
21671 },
21672 Opcode::VMADCVVM => Inst {
21673 opcode: 0x57,
21674 funct3: 0x0,
21675 rs1: 0x0,
21676 rs2: 0x0,
21677 csr: 0x440,
21678 funct7: 0x22,
21679 },
21680 Opcode::VMADCVX => Inst {
21681 opcode: 0x57,
21682 funct3: 0x4,
21683 rs1: 0x0,
21684 rs2: 0x0,
21685 csr: 0x460,
21686 funct7: 0x23,
21687 },
21688 Opcode::VMADCVXM => Inst {
21689 opcode: 0x57,
21690 funct3: 0x4,
21691 rs1: 0x0,
21692 rs2: 0x0,
21693 csr: 0x440,
21694 funct7: 0x22,
21695 },
21696 Opcode::VMADDVV => Inst {
21697 opcode: 0x57,
21698 funct3: 0x2,
21699 rs1: 0x0,
21700 rs2: 0x0,
21701 csr: 0xa40,
21702 funct7: 0x52,
21703 },
21704 Opcode::VMADDVX => Inst {
21705 opcode: 0x57,
21706 funct3: 0x6,
21707 rs1: 0x0,
21708 rs2: 0x0,
21709 csr: 0xa40,
21710 funct7: 0x52,
21711 },
21712 Opcode::VMANDMM => Inst {
21713 opcode: 0x57,
21714 funct3: 0x2,
21715 rs1: 0x0,
21716 rs2: 0x0,
21717 csr: 0x660,
21718 funct7: 0x33,
21719 },
21720 Opcode::VMANDNMM => Inst {
21721 opcode: 0x57,
21722 funct3: 0x2,
21723 rs1: 0x0,
21724 rs2: 0x0,
21725 csr: 0x620,
21726 funct7: 0x31,
21727 },
21728 Opcode::VMANDNOTMM => Inst {
21729 opcode: 0x57,
21730 funct3: 0x2,
21731 rs1: 0x0,
21732 rs2: 0x0,
21733 csr: 0x600,
21734 funct7: 0x30,
21735 },
21736 Opcode::VMAXVV => Inst {
21737 opcode: 0x57,
21738 funct3: 0x0,
21739 rs1: 0x0,
21740 rs2: 0x0,
21741 csr: 0x1c0,
21742 funct7: 0xe,
21743 },
21744 Opcode::VMAXVX => Inst {
21745 opcode: 0x57,
21746 funct3: 0x4,
21747 rs1: 0x0,
21748 rs2: 0x0,
21749 csr: 0x1c0,
21750 funct7: 0xe,
21751 },
21752 Opcode::VMAXUVV => Inst {
21753 opcode: 0x57,
21754 funct3: 0x0,
21755 rs1: 0x0,
21756 rs2: 0x0,
21757 csr: 0x180,
21758 funct7: 0xc,
21759 },
21760 Opcode::VMAXUVX => Inst {
21761 opcode: 0x57,
21762 funct3: 0x4,
21763 rs1: 0x0,
21764 rs2: 0x0,
21765 csr: 0x180,
21766 funct7: 0xc,
21767 },
21768 Opcode::VMERGEVIM => Inst {
21769 opcode: 0x57,
21770 funct3: 0x3,
21771 rs1: 0x0,
21772 rs2: 0x0,
21773 csr: 0x5c0,
21774 funct7: 0x2e,
21775 },
21776 Opcode::VMERGEVVM => Inst {
21777 opcode: 0x57,
21778 funct3: 0x0,
21779 rs1: 0x0,
21780 rs2: 0x0,
21781 csr: 0x5c0,
21782 funct7: 0x2e,
21783 },
21784 Opcode::VMERGEVXM => Inst {
21785 opcode: 0x57,
21786 funct3: 0x4,
21787 rs1: 0x0,
21788 rs2: 0x0,
21789 csr: 0x5c0,
21790 funct7: 0x2e,
21791 },
21792 Opcode::VMFEQVF => Inst {
21793 opcode: 0x57,
21794 funct3: 0x5,
21795 rs1: 0x0,
21796 rs2: 0x0,
21797 csr: 0x600,
21798 funct7: 0x30,
21799 },
21800 Opcode::VMFEQVV => Inst {
21801 opcode: 0x57,
21802 funct3: 0x1,
21803 rs1: 0x0,
21804 rs2: 0x0,
21805 csr: 0x600,
21806 funct7: 0x30,
21807 },
21808 Opcode::VMFGEVF => Inst {
21809 opcode: 0x57,
21810 funct3: 0x5,
21811 rs1: 0x0,
21812 rs2: 0x0,
21813 csr: 0x7c0,
21814 funct7: 0x3e,
21815 },
21816 Opcode::VMFGTVF => Inst {
21817 opcode: 0x57,
21818 funct3: 0x5,
21819 rs1: 0x0,
21820 rs2: 0x0,
21821 csr: 0x740,
21822 funct7: 0x3a,
21823 },
21824 Opcode::VMFLEVF => Inst {
21825 opcode: 0x57,
21826 funct3: 0x5,
21827 rs1: 0x0,
21828 rs2: 0x0,
21829 csr: 0x640,
21830 funct7: 0x32,
21831 },
21832 Opcode::VMFLEVV => Inst {
21833 opcode: 0x57,
21834 funct3: 0x1,
21835 rs1: 0x0,
21836 rs2: 0x0,
21837 csr: 0x640,
21838 funct7: 0x32,
21839 },
21840 Opcode::VMFLTVF => Inst {
21841 opcode: 0x57,
21842 funct3: 0x5,
21843 rs1: 0x0,
21844 rs2: 0x0,
21845 csr: 0x6c0,
21846 funct7: 0x36,
21847 },
21848 Opcode::VMFLTVV => Inst {
21849 opcode: 0x57,
21850 funct3: 0x1,
21851 rs1: 0x0,
21852 rs2: 0x0,
21853 csr: 0x6c0,
21854 funct7: 0x36,
21855 },
21856 Opcode::VMFNEVF => Inst {
21857 opcode: 0x57,
21858 funct3: 0x5,
21859 rs1: 0x0,
21860 rs2: 0x0,
21861 csr: 0x700,
21862 funct7: 0x38,
21863 },
21864 Opcode::VMFNEVV => Inst {
21865 opcode: 0x57,
21866 funct3: 0x1,
21867 rs1: 0x0,
21868 rs2: 0x0,
21869 csr: 0x700,
21870 funct7: 0x38,
21871 },
21872 Opcode::VMINVV => Inst {
21873 opcode: 0x57,
21874 funct3: 0x0,
21875 rs1: 0x0,
21876 rs2: 0x0,
21877 csr: 0x140,
21878 funct7: 0xa,
21879 },
21880 Opcode::VMINVX => Inst {
21881 opcode: 0x57,
21882 funct3: 0x4,
21883 rs1: 0x0,
21884 rs2: 0x0,
21885 csr: 0x140,
21886 funct7: 0xa,
21887 },
21888 Opcode::VMINUVV => Inst {
21889 opcode: 0x57,
21890 funct3: 0x0,
21891 rs1: 0x0,
21892 rs2: 0x0,
21893 csr: 0x100,
21894 funct7: 0x8,
21895 },
21896 Opcode::VMINUVX => Inst {
21897 opcode: 0x57,
21898 funct3: 0x4,
21899 rs1: 0x0,
21900 rs2: 0x0,
21901 csr: 0x100,
21902 funct7: 0x8,
21903 },
21904 Opcode::VMNANDMM => Inst {
21905 opcode: 0x57,
21906 funct3: 0x2,
21907 rs1: 0x0,
21908 rs2: 0x0,
21909 csr: 0x760,
21910 funct7: 0x3b,
21911 },
21912 Opcode::VMNORMM => Inst {
21913 opcode: 0x57,
21914 funct3: 0x2,
21915 rs1: 0x0,
21916 rs2: 0x0,
21917 csr: 0x7a0,
21918 funct7: 0x3d,
21919 },
21920 Opcode::VMORMM => Inst {
21921 opcode: 0x57,
21922 funct3: 0x2,
21923 rs1: 0x0,
21924 rs2: 0x0,
21925 csr: 0x6a0,
21926 funct7: 0x35,
21927 },
21928 Opcode::VMORNMM => Inst {
21929 opcode: 0x57,
21930 funct3: 0x2,
21931 rs1: 0x0,
21932 rs2: 0x0,
21933 csr: 0x720,
21934 funct7: 0x39,
21935 },
21936 Opcode::VMORNOTMM => Inst {
21937 opcode: 0x57,
21938 funct3: 0x2,
21939 rs1: 0x0,
21940 rs2: 0x0,
21941 csr: 0x700,
21942 funct7: 0x38,
21943 },
21944 Opcode::VMSBCVV => Inst {
21945 opcode: 0x57,
21946 funct3: 0x0,
21947 rs1: 0x0,
21948 rs2: 0x0,
21949 csr: 0x4e0,
21950 funct7: 0x27,
21951 },
21952 Opcode::VMSBCVVM => Inst {
21953 opcode: 0x57,
21954 funct3: 0x0,
21955 rs1: 0x0,
21956 rs2: 0x0,
21957 csr: 0x4c0,
21958 funct7: 0x26,
21959 },
21960 Opcode::VMSBCVX => Inst {
21961 opcode: 0x57,
21962 funct3: 0x4,
21963 rs1: 0x0,
21964 rs2: 0x0,
21965 csr: 0x4e0,
21966 funct7: 0x27,
21967 },
21968 Opcode::VMSBCVXM => Inst {
21969 opcode: 0x57,
21970 funct3: 0x4,
21971 rs1: 0x0,
21972 rs2: 0x0,
21973 csr: 0x4c0,
21974 funct7: 0x26,
21975 },
21976 Opcode::VMSBFM => Inst {
21977 opcode: 0x57,
21978 funct3: 0x2,
21979 rs1: 0x1,
21980 rs2: 0x0,
21981 csr: 0x500,
21982 funct7: 0x28,
21983 },
21984 Opcode::VMSEQVI => Inst {
21985 opcode: 0x57,
21986 funct3: 0x3,
21987 rs1: 0x0,
21988 rs2: 0x0,
21989 csr: 0x600,
21990 funct7: 0x30,
21991 },
21992 Opcode::VMSEQVV => Inst {
21993 opcode: 0x57,
21994 funct3: 0x0,
21995 rs1: 0x0,
21996 rs2: 0x0,
21997 csr: 0x600,
21998 funct7: 0x30,
21999 },
22000 Opcode::VMSEQVX => Inst {
22001 opcode: 0x57,
22002 funct3: 0x4,
22003 rs1: 0x0,
22004 rs2: 0x0,
22005 csr: 0x600,
22006 funct7: 0x30,
22007 },
22008 Opcode::VMSGTVI => Inst {
22009 opcode: 0x57,
22010 funct3: 0x3,
22011 rs1: 0x0,
22012 rs2: 0x0,
22013 csr: 0x7c0,
22014 funct7: 0x3e,
22015 },
22016 Opcode::VMSGTVX => Inst {
22017 opcode: 0x57,
22018 funct3: 0x4,
22019 rs1: 0x0,
22020 rs2: 0x0,
22021 csr: 0x7c0,
22022 funct7: 0x3e,
22023 },
22024 Opcode::VMSGTUVI => Inst {
22025 opcode: 0x57,
22026 funct3: 0x3,
22027 rs1: 0x0,
22028 rs2: 0x0,
22029 csr: 0x780,
22030 funct7: 0x3c,
22031 },
22032 Opcode::VMSGTUVX => Inst {
22033 opcode: 0x57,
22034 funct3: 0x4,
22035 rs1: 0x0,
22036 rs2: 0x0,
22037 csr: 0x780,
22038 funct7: 0x3c,
22039 },
22040 Opcode::VMSIFM => Inst {
22041 opcode: 0x57,
22042 funct3: 0x2,
22043 rs1: 0x3,
22044 rs2: 0x0,
22045 csr: 0x500,
22046 funct7: 0x28,
22047 },
22048 Opcode::VMSLEVI => Inst {
22049 opcode: 0x57,
22050 funct3: 0x3,
22051 rs1: 0x0,
22052 rs2: 0x0,
22053 csr: 0x740,
22054 funct7: 0x3a,
22055 },
22056 Opcode::VMSLEVV => Inst {
22057 opcode: 0x57,
22058 funct3: 0x0,
22059 rs1: 0x0,
22060 rs2: 0x0,
22061 csr: 0x740,
22062 funct7: 0x3a,
22063 },
22064 Opcode::VMSLEVX => Inst {
22065 opcode: 0x57,
22066 funct3: 0x4,
22067 rs1: 0x0,
22068 rs2: 0x0,
22069 csr: 0x740,
22070 funct7: 0x3a,
22071 },
22072 Opcode::VMSLEUVI => Inst {
22073 opcode: 0x57,
22074 funct3: 0x3,
22075 rs1: 0x0,
22076 rs2: 0x0,
22077 csr: 0x700,
22078 funct7: 0x38,
22079 },
22080 Opcode::VMSLEUVV => Inst {
22081 opcode: 0x57,
22082 funct3: 0x0,
22083 rs1: 0x0,
22084 rs2: 0x0,
22085 csr: 0x700,
22086 funct7: 0x38,
22087 },
22088 Opcode::VMSLEUVX => Inst {
22089 opcode: 0x57,
22090 funct3: 0x4,
22091 rs1: 0x0,
22092 rs2: 0x0,
22093 csr: 0x700,
22094 funct7: 0x38,
22095 },
22096 Opcode::VMSLTVV => Inst {
22097 opcode: 0x57,
22098 funct3: 0x0,
22099 rs1: 0x0,
22100 rs2: 0x0,
22101 csr: 0x6c0,
22102 funct7: 0x36,
22103 },
22104 Opcode::VMSLTVX => Inst {
22105 opcode: 0x57,
22106 funct3: 0x4,
22107 rs1: 0x0,
22108 rs2: 0x0,
22109 csr: 0x6c0,
22110 funct7: 0x36,
22111 },
22112 Opcode::VMSLTUVV => Inst {
22113 opcode: 0x57,
22114 funct3: 0x0,
22115 rs1: 0x0,
22116 rs2: 0x0,
22117 csr: 0x680,
22118 funct7: 0x34,
22119 },
22120 Opcode::VMSLTUVX => Inst {
22121 opcode: 0x57,
22122 funct3: 0x4,
22123 rs1: 0x0,
22124 rs2: 0x0,
22125 csr: 0x680,
22126 funct7: 0x34,
22127 },
22128 Opcode::VMSNEVI => Inst {
22129 opcode: 0x57,
22130 funct3: 0x3,
22131 rs1: 0x0,
22132 rs2: 0x0,
22133 csr: 0x640,
22134 funct7: 0x32,
22135 },
22136 Opcode::VMSNEVV => Inst {
22137 opcode: 0x57,
22138 funct3: 0x0,
22139 rs1: 0x0,
22140 rs2: 0x0,
22141 csr: 0x640,
22142 funct7: 0x32,
22143 },
22144 Opcode::VMSNEVX => Inst {
22145 opcode: 0x57,
22146 funct3: 0x4,
22147 rs1: 0x0,
22148 rs2: 0x0,
22149 csr: 0x640,
22150 funct7: 0x32,
22151 },
22152 Opcode::VMSOFM => Inst {
22153 opcode: 0x57,
22154 funct3: 0x2,
22155 rs1: 0x2,
22156 rs2: 0x0,
22157 csr: 0x500,
22158 funct7: 0x28,
22159 },
22160 Opcode::VMULVV => Inst {
22161 opcode: 0x57,
22162 funct3: 0x2,
22163 rs1: 0x0,
22164 rs2: 0x0,
22165 csr: 0x940,
22166 funct7: 0x4a,
22167 },
22168 Opcode::VMULVX => Inst {
22169 opcode: 0x57,
22170 funct3: 0x6,
22171 rs1: 0x0,
22172 rs2: 0x0,
22173 csr: 0x940,
22174 funct7: 0x4a,
22175 },
22176 Opcode::VMULHVV => Inst {
22177 opcode: 0x57,
22178 funct3: 0x2,
22179 rs1: 0x0,
22180 rs2: 0x0,
22181 csr: 0x9c0,
22182 funct7: 0x4e,
22183 },
22184 Opcode::VMULHVX => Inst {
22185 opcode: 0x57,
22186 funct3: 0x6,
22187 rs1: 0x0,
22188 rs2: 0x0,
22189 csr: 0x9c0,
22190 funct7: 0x4e,
22191 },
22192 Opcode::VMULHSUVV => Inst {
22193 opcode: 0x57,
22194 funct3: 0x2,
22195 rs1: 0x0,
22196 rs2: 0x0,
22197 csr: 0x980,
22198 funct7: 0x4c,
22199 },
22200 Opcode::VMULHSUVX => Inst {
22201 opcode: 0x57,
22202 funct3: 0x6,
22203 rs1: 0x0,
22204 rs2: 0x0,
22205 csr: 0x980,
22206 funct7: 0x4c,
22207 },
22208 Opcode::VMULHUVV => Inst {
22209 opcode: 0x57,
22210 funct3: 0x2,
22211 rs1: 0x0,
22212 rs2: 0x0,
22213 csr: 0x900,
22214 funct7: 0x48,
22215 },
22216 Opcode::VMULHUVX => Inst {
22217 opcode: 0x57,
22218 funct3: 0x6,
22219 rs1: 0x0,
22220 rs2: 0x0,
22221 csr: 0x900,
22222 funct7: 0x48,
22223 },
22224 Opcode::VMV1RV => Inst {
22225 opcode: 0x57,
22226 funct3: 0x3,
22227 rs1: 0x0,
22228 rs2: 0x0,
22229 csr: 0x9e0,
22230 funct7: 0x4f,
22231 },
22232 Opcode::VMV2RV => Inst {
22233 opcode: 0x57,
22234 funct3: 0x3,
22235 rs1: 0x1,
22236 rs2: 0x0,
22237 csr: 0x9e0,
22238 funct7: 0x4f,
22239 },
22240 Opcode::VMV4RV => Inst {
22241 opcode: 0x57,
22242 funct3: 0x3,
22243 rs1: 0x3,
22244 rs2: 0x0,
22245 csr: 0x9e0,
22246 funct7: 0x4f,
22247 },
22248 Opcode::VMV8RV => Inst {
22249 opcode: 0x57,
22250 funct3: 0x3,
22251 rs1: 0x7,
22252 rs2: 0x0,
22253 csr: 0x9e0,
22254 funct7: 0x4f,
22255 },
22256 Opcode::VMVSX => Inst {
22257 opcode: 0x57,
22258 funct3: 0x6,
22259 rs1: 0x0,
22260 rs2: 0x0,
22261 csr: 0x420,
22262 funct7: 0x21,
22263 },
22264 Opcode::VMVVI => Inst {
22265 opcode: 0x57,
22266 funct3: 0x3,
22267 rs1: 0x0,
22268 rs2: 0x0,
22269 csr: 0x5e0,
22270 funct7: 0x2f,
22271 },
22272 Opcode::VMVVV => Inst {
22273 opcode: 0x57,
22274 funct3: 0x0,
22275 rs1: 0x0,
22276 rs2: 0x0,
22277 csr: 0x5e0,
22278 funct7: 0x2f,
22279 },
22280 Opcode::VMVVX => Inst {
22281 opcode: 0x57,
22282 funct3: 0x4,
22283 rs1: 0x0,
22284 rs2: 0x0,
22285 csr: 0x5e0,
22286 funct7: 0x2f,
22287 },
22288 Opcode::VMVXS => Inst {
22289 opcode: 0x57,
22290 funct3: 0x2,
22291 rs1: 0x0,
22292 rs2: 0x0,
22293 csr: 0x420,
22294 funct7: 0x21,
22295 },
22296 Opcode::VMXNORMM => Inst {
22297 opcode: 0x57,
22298 funct3: 0x2,
22299 rs1: 0x0,
22300 rs2: 0x0,
22301 csr: 0x7e0,
22302 funct7: 0x3f,
22303 },
22304 Opcode::VMXORMM => Inst {
22305 opcode: 0x57,
22306 funct3: 0x2,
22307 rs1: 0x0,
22308 rs2: 0x0,
22309 csr: 0x6e0,
22310 funct7: 0x37,
22311 },
22312 Opcode::VNCLIPWI => Inst {
22313 opcode: 0x57,
22314 funct3: 0x3,
22315 rs1: 0x0,
22316 rs2: 0x0,
22317 csr: 0xbc0,
22318 funct7: 0x5e,
22319 },
22320 Opcode::VNCLIPWV => Inst {
22321 opcode: 0x57,
22322 funct3: 0x0,
22323 rs1: 0x0,
22324 rs2: 0x0,
22325 csr: 0xbc0,
22326 funct7: 0x5e,
22327 },
22328 Opcode::VNCLIPWX => Inst {
22329 opcode: 0x57,
22330 funct3: 0x4,
22331 rs1: 0x0,
22332 rs2: 0x0,
22333 csr: 0xbc0,
22334 funct7: 0x5e,
22335 },
22336 Opcode::VNCLIPUWI => Inst {
22337 opcode: 0x57,
22338 funct3: 0x3,
22339 rs1: 0x0,
22340 rs2: 0x0,
22341 csr: 0xb80,
22342 funct7: 0x5c,
22343 },
22344 Opcode::VNCLIPUWV => Inst {
22345 opcode: 0x57,
22346 funct3: 0x0,
22347 rs1: 0x0,
22348 rs2: 0x0,
22349 csr: 0xb80,
22350 funct7: 0x5c,
22351 },
22352 Opcode::VNCLIPUWX => Inst {
22353 opcode: 0x57,
22354 funct3: 0x4,
22355 rs1: 0x0,
22356 rs2: 0x0,
22357 csr: 0xb80,
22358 funct7: 0x5c,
22359 },
22360 Opcode::VNMSACVV => Inst {
22361 opcode: 0x57,
22362 funct3: 0x2,
22363 rs1: 0x0,
22364 rs2: 0x0,
22365 csr: 0xbc0,
22366 funct7: 0x5e,
22367 },
22368 Opcode::VNMSACVX => Inst {
22369 opcode: 0x57,
22370 funct3: 0x6,
22371 rs1: 0x0,
22372 rs2: 0x0,
22373 csr: 0xbc0,
22374 funct7: 0x5e,
22375 },
22376 Opcode::VNMSUBVV => Inst {
22377 opcode: 0x57,
22378 funct3: 0x2,
22379 rs1: 0x0,
22380 rs2: 0x0,
22381 csr: 0xac0,
22382 funct7: 0x56,
22383 },
22384 Opcode::VNMSUBVX => Inst {
22385 opcode: 0x57,
22386 funct3: 0x6,
22387 rs1: 0x0,
22388 rs2: 0x0,
22389 csr: 0xac0,
22390 funct7: 0x56,
22391 },
22392 Opcode::VNSRAWI => Inst {
22393 opcode: 0x57,
22394 funct3: 0x3,
22395 rs1: 0x0,
22396 rs2: 0x0,
22397 csr: 0xb40,
22398 funct7: 0x5a,
22399 },
22400 Opcode::VNSRAWV => Inst {
22401 opcode: 0x57,
22402 funct3: 0x0,
22403 rs1: 0x0,
22404 rs2: 0x0,
22405 csr: 0xb40,
22406 funct7: 0x5a,
22407 },
22408 Opcode::VNSRAWX => Inst {
22409 opcode: 0x57,
22410 funct3: 0x4,
22411 rs1: 0x0,
22412 rs2: 0x0,
22413 csr: 0xb40,
22414 funct7: 0x5a,
22415 },
22416 Opcode::VNSRLWI => Inst {
22417 opcode: 0x57,
22418 funct3: 0x3,
22419 rs1: 0x0,
22420 rs2: 0x0,
22421 csr: 0xb00,
22422 funct7: 0x58,
22423 },
22424 Opcode::VNSRLWV => Inst {
22425 opcode: 0x57,
22426 funct3: 0x0,
22427 rs1: 0x0,
22428 rs2: 0x0,
22429 csr: 0xb00,
22430 funct7: 0x58,
22431 },
22432 Opcode::VNSRLWX => Inst {
22433 opcode: 0x57,
22434 funct3: 0x4,
22435 rs1: 0x0,
22436 rs2: 0x0,
22437 csr: 0xb00,
22438 funct7: 0x58,
22439 },
22440 Opcode::VORVI => Inst {
22441 opcode: 0x57,
22442 funct3: 0x3,
22443 rs1: 0x0,
22444 rs2: 0x0,
22445 csr: 0x280,
22446 funct7: 0x14,
22447 },
22448 Opcode::VORVV => Inst {
22449 opcode: 0x57,
22450 funct3: 0x0,
22451 rs1: 0x0,
22452 rs2: 0x0,
22453 csr: 0x280,
22454 funct7: 0x14,
22455 },
22456 Opcode::VORVX => Inst {
22457 opcode: 0x57,
22458 funct3: 0x4,
22459 rs1: 0x0,
22460 rs2: 0x0,
22461 csr: 0x280,
22462 funct7: 0x14,
22463 },
22464 Opcode::VPOPCM => Inst {
22465 opcode: 0x57,
22466 funct3: 0x2,
22467 rs1: 0x10,
22468 rs2: 0x0,
22469 csr: 0x400,
22470 funct7: 0x20,
22471 },
22472 Opcode::VREDANDVS => Inst {
22473 opcode: 0x57,
22474 funct3: 0x2,
22475 rs1: 0x0,
22476 rs2: 0x0,
22477 csr: 0x40,
22478 funct7: 0x2,
22479 },
22480 Opcode::VREDMAXVS => Inst {
22481 opcode: 0x57,
22482 funct3: 0x2,
22483 rs1: 0x0,
22484 rs2: 0x0,
22485 csr: 0x1c0,
22486 funct7: 0xe,
22487 },
22488 Opcode::VREDMAXUVS => Inst {
22489 opcode: 0x57,
22490 funct3: 0x2,
22491 rs1: 0x0,
22492 rs2: 0x0,
22493 csr: 0x180,
22494 funct7: 0xc,
22495 },
22496 Opcode::VREDMINVS => Inst {
22497 opcode: 0x57,
22498 funct3: 0x2,
22499 rs1: 0x0,
22500 rs2: 0x0,
22501 csr: 0x140,
22502 funct7: 0xa,
22503 },
22504 Opcode::VREDMINUVS => Inst {
22505 opcode: 0x57,
22506 funct3: 0x2,
22507 rs1: 0x0,
22508 rs2: 0x0,
22509 csr: 0x100,
22510 funct7: 0x8,
22511 },
22512 Opcode::VREDORVS => Inst {
22513 opcode: 0x57,
22514 funct3: 0x2,
22515 rs1: 0x0,
22516 rs2: 0x0,
22517 csr: 0x80,
22518 funct7: 0x4,
22519 },
22520 Opcode::VREDSUMVS => Inst {
22521 opcode: 0x57,
22522 funct3: 0x2,
22523 rs1: 0x0,
22524 rs2: 0x0,
22525 csr: 0x0,
22526 funct7: 0x0,
22527 },
22528 Opcode::VREDXORVS => Inst {
22529 opcode: 0x57,
22530 funct3: 0x2,
22531 rs1: 0x0,
22532 rs2: 0x0,
22533 csr: 0xc0,
22534 funct7: 0x6,
22535 },
22536 Opcode::VREMVV => Inst {
22537 opcode: 0x57,
22538 funct3: 0x2,
22539 rs1: 0x0,
22540 rs2: 0x0,
22541 csr: 0x8c0,
22542 funct7: 0x46,
22543 },
22544 Opcode::VREMVX => Inst {
22545 opcode: 0x57,
22546 funct3: 0x6,
22547 rs1: 0x0,
22548 rs2: 0x0,
22549 csr: 0x8c0,
22550 funct7: 0x46,
22551 },
22552 Opcode::VREMUVV => Inst {
22553 opcode: 0x57,
22554 funct3: 0x2,
22555 rs1: 0x0,
22556 rs2: 0x0,
22557 csr: 0x880,
22558 funct7: 0x44,
22559 },
22560 Opcode::VREMUVX => Inst {
22561 opcode: 0x57,
22562 funct3: 0x6,
22563 rs1: 0x0,
22564 rs2: 0x0,
22565 csr: 0x880,
22566 funct7: 0x44,
22567 },
22568 Opcode::VREV8V => Inst {
22569 opcode: 0x57,
22570 funct3: 0x2,
22571 rs1: 0x9,
22572 rs2: 0x0,
22573 csr: 0x480,
22574 funct7: 0x24,
22575 },
22576 Opcode::VRGATHERVI => Inst {
22577 opcode: 0x57,
22578 funct3: 0x3,
22579 rs1: 0x0,
22580 rs2: 0x0,
22581 csr: 0x300,
22582 funct7: 0x18,
22583 },
22584 Opcode::VRGATHERVV => Inst {
22585 opcode: 0x57,
22586 funct3: 0x0,
22587 rs1: 0x0,
22588 rs2: 0x0,
22589 csr: 0x300,
22590 funct7: 0x18,
22591 },
22592 Opcode::VRGATHERVX => Inst {
22593 opcode: 0x57,
22594 funct3: 0x4,
22595 rs1: 0x0,
22596 rs2: 0x0,
22597 csr: 0x300,
22598 funct7: 0x18,
22599 },
22600 Opcode::VRGATHEREI16VV => Inst {
22601 opcode: 0x57,
22602 funct3: 0x0,
22603 rs1: 0x0,
22604 rs2: 0x0,
22605 csr: 0x380,
22606 funct7: 0x1c,
22607 },
22608 Opcode::VROLVV => Inst {
22609 opcode: 0x57,
22610 funct3: 0x0,
22611 rs1: 0x0,
22612 rs2: 0x0,
22613 csr: 0x540,
22614 funct7: 0x2a,
22615 },
22616 Opcode::VROLVX => Inst {
22617 opcode: 0x57,
22618 funct3: 0x4,
22619 rs1: 0x0,
22620 rs2: 0x0,
22621 csr: 0x540,
22622 funct7: 0x2a,
22623 },
22624 Opcode::VRORVI => Inst {
22625 opcode: 0x57,
22626 funct3: 0x3,
22627 rs1: 0x0,
22628 rs2: 0x0,
22629 csr: 0x500,
22630 funct7: 0x28,
22631 },
22632 Opcode::VRORVV => Inst {
22633 opcode: 0x57,
22634 funct3: 0x0,
22635 rs1: 0x0,
22636 rs2: 0x0,
22637 csr: 0x500,
22638 funct7: 0x28,
22639 },
22640 Opcode::VRORVX => Inst {
22641 opcode: 0x57,
22642 funct3: 0x4,
22643 rs1: 0x0,
22644 rs2: 0x0,
22645 csr: 0x500,
22646 funct7: 0x28,
22647 },
22648 Opcode::VRSUBVI => Inst {
22649 opcode: 0x57,
22650 funct3: 0x3,
22651 rs1: 0x0,
22652 rs2: 0x0,
22653 csr: 0xc0,
22654 funct7: 0x6,
22655 },
22656 Opcode::VRSUBVX => Inst {
22657 opcode: 0x57,
22658 funct3: 0x4,
22659 rs1: 0x0,
22660 rs2: 0x0,
22661 csr: 0xc0,
22662 funct7: 0x6,
22663 },
22664 Opcode::VS1RV => Inst {
22665 opcode: 0x27,
22666 funct3: 0x0,
22667 rs1: 0x0,
22668 rs2: 0x8,
22669 csr: 0x28,
22670 funct7: 0x1,
22671 },
22672 Opcode::VS2RV => Inst {
22673 opcode: 0x27,
22674 funct3: 0x0,
22675 rs1: 0x0,
22676 rs2: 0x8,
22677 csr: 0x228,
22678 funct7: 0x11,
22679 },
22680 Opcode::VS4RV => Inst {
22681 opcode: 0x27,
22682 funct3: 0x0,
22683 rs1: 0x0,
22684 rs2: 0x8,
22685 csr: 0x628,
22686 funct7: 0x31,
22687 },
22688 Opcode::VS8RV => Inst {
22689 opcode: 0x27,
22690 funct3: 0x0,
22691 rs1: 0x0,
22692 rs2: 0x8,
22693 csr: 0xe28,
22694 funct7: 0x71,
22695 },
22696 Opcode::VSADDVI => Inst {
22697 opcode: 0x57,
22698 funct3: 0x3,
22699 rs1: 0x0,
22700 rs2: 0x0,
22701 csr: 0x840,
22702 funct7: 0x42,
22703 },
22704 Opcode::VSADDVV => Inst {
22705 opcode: 0x57,
22706 funct3: 0x0,
22707 rs1: 0x0,
22708 rs2: 0x0,
22709 csr: 0x840,
22710 funct7: 0x42,
22711 },
22712 Opcode::VSADDVX => Inst {
22713 opcode: 0x57,
22714 funct3: 0x4,
22715 rs1: 0x0,
22716 rs2: 0x0,
22717 csr: 0x840,
22718 funct7: 0x42,
22719 },
22720 Opcode::VSADDUVI => Inst {
22721 opcode: 0x57,
22722 funct3: 0x3,
22723 rs1: 0x0,
22724 rs2: 0x0,
22725 csr: 0x800,
22726 funct7: 0x40,
22727 },
22728 Opcode::VSADDUVV => Inst {
22729 opcode: 0x57,
22730 funct3: 0x0,
22731 rs1: 0x0,
22732 rs2: 0x0,
22733 csr: 0x800,
22734 funct7: 0x40,
22735 },
22736 Opcode::VSADDUVX => Inst {
22737 opcode: 0x57,
22738 funct3: 0x4,
22739 rs1: 0x0,
22740 rs2: 0x0,
22741 csr: 0x800,
22742 funct7: 0x40,
22743 },
22744 Opcode::VSBCVVM => Inst {
22745 opcode: 0x57,
22746 funct3: 0x0,
22747 rs1: 0x0,
22748 rs2: 0x0,
22749 csr: 0x480,
22750 funct7: 0x24,
22751 },
22752 Opcode::VSBCVXM => Inst {
22753 opcode: 0x57,
22754 funct3: 0x4,
22755 rs1: 0x0,
22756 rs2: 0x0,
22757 csr: 0x480,
22758 funct7: 0x24,
22759 },
22760 Opcode::VSE16V => Inst {
22761 opcode: 0x27,
22762 funct3: 0x5,
22763 rs1: 0x0,
22764 rs2: 0x0,
22765 csr: 0x0,
22766 funct7: 0x0,
22767 },
22768 Opcode::VSE1V => Inst {
22769 opcode: 0x27,
22770 funct3: 0x0,
22771 rs1: 0x0,
22772 rs2: 0xb,
22773 csr: 0x2b,
22774 funct7: 0x1,
22775 },
22776 Opcode::VSE32V => Inst {
22777 opcode: 0x27,
22778 funct3: 0x6,
22779 rs1: 0x0,
22780 rs2: 0x0,
22781 csr: 0x0,
22782 funct7: 0x0,
22783 },
22784 Opcode::VSE64V => Inst {
22785 opcode: 0x27,
22786 funct3: 0x7,
22787 rs1: 0x0,
22788 rs2: 0x0,
22789 csr: 0x0,
22790 funct7: 0x0,
22791 },
22792 Opcode::VSE8V => Inst {
22793 opcode: 0x27,
22794 funct3: 0x0,
22795 rs1: 0x0,
22796 rs2: 0x0,
22797 csr: 0x0,
22798 funct7: 0x0,
22799 },
22800 Opcode::VSETIVLI => Inst {
22801 opcode: 0x57,
22802 funct3: 0x7,
22803 rs1: 0x0,
22804 rs2: 0x0,
22805 csr: 0xc00,
22806 funct7: 0x60,
22807 },
22808 Opcode::VSETVL => Inst {
22809 opcode: 0x57,
22810 funct3: 0x7,
22811 rs1: 0x0,
22812 rs2: 0x0,
22813 csr: 0x800,
22814 funct7: 0x40,
22815 },
22816 Opcode::VSETVLI => Inst {
22817 opcode: 0x57,
22818 funct3: 0x7,
22819 rs1: 0x0,
22820 rs2: 0x0,
22821 csr: 0x0,
22822 funct7: 0x0,
22823 },
22824 Opcode::VSEXTVF2 => Inst {
22825 opcode: 0x57,
22826 funct3: 0x2,
22827 rs1: 0x7,
22828 rs2: 0x0,
22829 csr: 0x480,
22830 funct7: 0x24,
22831 },
22832 Opcode::VSEXTVF4 => Inst {
22833 opcode: 0x57,
22834 funct3: 0x2,
22835 rs1: 0x5,
22836 rs2: 0x0,
22837 csr: 0x480,
22838 funct7: 0x24,
22839 },
22840 Opcode::VSEXTVF8 => Inst {
22841 opcode: 0x57,
22842 funct3: 0x2,
22843 rs1: 0x3,
22844 rs2: 0x0,
22845 csr: 0x480,
22846 funct7: 0x24,
22847 },
22848 Opcode::VSHA2CHVV => Inst {
22849 opcode: 0x77,
22850 funct3: 0x2,
22851 rs1: 0x0,
22852 rs2: 0x0,
22853 csr: 0xba0,
22854 funct7: 0x5d,
22855 },
22856 Opcode::VSHA2CLVV => Inst {
22857 opcode: 0x77,
22858 funct3: 0x2,
22859 rs1: 0x0,
22860 rs2: 0x0,
22861 csr: 0xbe0,
22862 funct7: 0x5f,
22863 },
22864 Opcode::VSHA2MSVV => Inst {
22865 opcode: 0x77,
22866 funct3: 0x2,
22867 rs1: 0x0,
22868 rs2: 0x0,
22869 csr: 0xb60,
22870 funct7: 0x5b,
22871 },
22872 Opcode::VSLIDE1DOWNVX => Inst {
22873 opcode: 0x57,
22874 funct3: 0x6,
22875 rs1: 0x0,
22876 rs2: 0x0,
22877 csr: 0x3c0,
22878 funct7: 0x1e,
22879 },
22880 Opcode::VSLIDE1UPVX => Inst {
22881 opcode: 0x57,
22882 funct3: 0x6,
22883 rs1: 0x0,
22884 rs2: 0x0,
22885 csr: 0x380,
22886 funct7: 0x1c,
22887 },
22888 Opcode::VSLIDEDOWNVI => Inst {
22889 opcode: 0x57,
22890 funct3: 0x3,
22891 rs1: 0x0,
22892 rs2: 0x0,
22893 csr: 0x3c0,
22894 funct7: 0x1e,
22895 },
22896 Opcode::VSLIDEDOWNVX => Inst {
22897 opcode: 0x57,
22898 funct3: 0x4,
22899 rs1: 0x0,
22900 rs2: 0x0,
22901 csr: 0x3c0,
22902 funct7: 0x1e,
22903 },
22904 Opcode::VSLIDEUPVI => Inst {
22905 opcode: 0x57,
22906 funct3: 0x3,
22907 rs1: 0x0,
22908 rs2: 0x0,
22909 csr: 0x380,
22910 funct7: 0x1c,
22911 },
22912 Opcode::VSLIDEUPVX => Inst {
22913 opcode: 0x57,
22914 funct3: 0x4,
22915 rs1: 0x0,
22916 rs2: 0x0,
22917 csr: 0x380,
22918 funct7: 0x1c,
22919 },
22920 Opcode::VSLLVI => Inst {
22921 opcode: 0x57,
22922 funct3: 0x3,
22923 rs1: 0x0,
22924 rs2: 0x0,
22925 csr: 0x940,
22926 funct7: 0x4a,
22927 },
22928 Opcode::VSLLVV => Inst {
22929 opcode: 0x57,
22930 funct3: 0x0,
22931 rs1: 0x0,
22932 rs2: 0x0,
22933 csr: 0x940,
22934 funct7: 0x4a,
22935 },
22936 Opcode::VSLLVX => Inst {
22937 opcode: 0x57,
22938 funct3: 0x4,
22939 rs1: 0x0,
22940 rs2: 0x0,
22941 csr: 0x940,
22942 funct7: 0x4a,
22943 },
22944 Opcode::VSM3CVI => Inst {
22945 opcode: 0x77,
22946 funct3: 0x2,
22947 rs1: 0x0,
22948 rs2: 0x0,
22949 csr: 0xae0,
22950 funct7: 0x57,
22951 },
22952 Opcode::VSM3MEVV => Inst {
22953 opcode: 0x77,
22954 funct3: 0x2,
22955 rs1: 0x0,
22956 rs2: 0x0,
22957 csr: 0x820,
22958 funct7: 0x41,
22959 },
22960 Opcode::VSM4KVI => Inst {
22961 opcode: 0x77,
22962 funct3: 0x2,
22963 rs1: 0x0,
22964 rs2: 0x0,
22965 csr: 0x860,
22966 funct7: 0x43,
22967 },
22968 Opcode::VSM4RVS => Inst {
22969 opcode: 0x77,
22970 funct3: 0x2,
22971 rs1: 0x10,
22972 rs2: 0x0,
22973 csr: 0xa60,
22974 funct7: 0x53,
22975 },
22976 Opcode::VSM4RVV => Inst {
22977 opcode: 0x77,
22978 funct3: 0x2,
22979 rs1: 0x10,
22980 rs2: 0x0,
22981 csr: 0xa20,
22982 funct7: 0x51,
22983 },
22984 Opcode::VSMV => Inst {
22985 opcode: 0x27,
22986 funct3: 0x0,
22987 rs1: 0x0,
22988 rs2: 0xb,
22989 csr: 0x2b,
22990 funct7: 0x1,
22991 },
22992 Opcode::VSMULVV => Inst {
22993 opcode: 0x57,
22994 funct3: 0x0,
22995 rs1: 0x0,
22996 rs2: 0x0,
22997 csr: 0x9c0,
22998 funct7: 0x4e,
22999 },
23000 Opcode::VSMULVX => Inst {
23001 opcode: 0x57,
23002 funct3: 0x4,
23003 rs1: 0x0,
23004 rs2: 0x0,
23005 csr: 0x9c0,
23006 funct7: 0x4e,
23007 },
23008 Opcode::VSOXEI16V => Inst {
23009 opcode: 0x27,
23010 funct3: 0x5,
23011 rs1: 0x0,
23012 rs2: 0x0,
23013 csr: 0xc0,
23014 funct7: 0x6,
23015 },
23016 Opcode::VSOXEI32V => Inst {
23017 opcode: 0x27,
23018 funct3: 0x6,
23019 rs1: 0x0,
23020 rs2: 0x0,
23021 csr: 0xc0,
23022 funct7: 0x6,
23023 },
23024 Opcode::VSOXEI64V => Inst {
23025 opcode: 0x27,
23026 funct3: 0x7,
23027 rs1: 0x0,
23028 rs2: 0x0,
23029 csr: 0xc0,
23030 funct7: 0x6,
23031 },
23032 Opcode::VSOXEI8V => Inst {
23033 opcode: 0x27,
23034 funct3: 0x0,
23035 rs1: 0x0,
23036 rs2: 0x0,
23037 csr: 0xc0,
23038 funct7: 0x6,
23039 },
23040 Opcode::VSRAVI => Inst {
23041 opcode: 0x57,
23042 funct3: 0x3,
23043 rs1: 0x0,
23044 rs2: 0x0,
23045 csr: 0xa40,
23046 funct7: 0x52,
23047 },
23048 Opcode::VSRAVV => Inst {
23049 opcode: 0x57,
23050 funct3: 0x0,
23051 rs1: 0x0,
23052 rs2: 0x0,
23053 csr: 0xa40,
23054 funct7: 0x52,
23055 },
23056 Opcode::VSRAVX => Inst {
23057 opcode: 0x57,
23058 funct3: 0x4,
23059 rs1: 0x0,
23060 rs2: 0x0,
23061 csr: 0xa40,
23062 funct7: 0x52,
23063 },
23064 Opcode::VSRLVI => Inst {
23065 opcode: 0x57,
23066 funct3: 0x3,
23067 rs1: 0x0,
23068 rs2: 0x0,
23069 csr: 0xa00,
23070 funct7: 0x50,
23071 },
23072 Opcode::VSRLVV => Inst {
23073 opcode: 0x57,
23074 funct3: 0x0,
23075 rs1: 0x0,
23076 rs2: 0x0,
23077 csr: 0xa00,
23078 funct7: 0x50,
23079 },
23080 Opcode::VSRLVX => Inst {
23081 opcode: 0x57,
23082 funct3: 0x4,
23083 rs1: 0x0,
23084 rs2: 0x0,
23085 csr: 0xa00,
23086 funct7: 0x50,
23087 },
23088 Opcode::VSSE16V => Inst {
23089 opcode: 0x27,
23090 funct3: 0x5,
23091 rs1: 0x0,
23092 rs2: 0x0,
23093 csr: 0x80,
23094 funct7: 0x4,
23095 },
23096 Opcode::VSSE32V => Inst {
23097 opcode: 0x27,
23098 funct3: 0x6,
23099 rs1: 0x0,
23100 rs2: 0x0,
23101 csr: 0x80,
23102 funct7: 0x4,
23103 },
23104 Opcode::VSSE64V => Inst {
23105 opcode: 0x27,
23106 funct3: 0x7,
23107 rs1: 0x0,
23108 rs2: 0x0,
23109 csr: 0x80,
23110 funct7: 0x4,
23111 },
23112 Opcode::VSSE8V => Inst {
23113 opcode: 0x27,
23114 funct3: 0x0,
23115 rs1: 0x0,
23116 rs2: 0x0,
23117 csr: 0x80,
23118 funct7: 0x4,
23119 },
23120 Opcode::VSSRAVI => Inst {
23121 opcode: 0x57,
23122 funct3: 0x3,
23123 rs1: 0x0,
23124 rs2: 0x0,
23125 csr: 0xac0,
23126 funct7: 0x56,
23127 },
23128 Opcode::VSSRAVV => Inst {
23129 opcode: 0x57,
23130 funct3: 0x0,
23131 rs1: 0x0,
23132 rs2: 0x0,
23133 csr: 0xac0,
23134 funct7: 0x56,
23135 },
23136 Opcode::VSSRAVX => Inst {
23137 opcode: 0x57,
23138 funct3: 0x4,
23139 rs1: 0x0,
23140 rs2: 0x0,
23141 csr: 0xac0,
23142 funct7: 0x56,
23143 },
23144 Opcode::VSSRLVI => Inst {
23145 opcode: 0x57,
23146 funct3: 0x3,
23147 rs1: 0x0,
23148 rs2: 0x0,
23149 csr: 0xa80,
23150 funct7: 0x54,
23151 },
23152 Opcode::VSSRLVV => Inst {
23153 opcode: 0x57,
23154 funct3: 0x0,
23155 rs1: 0x0,
23156 rs2: 0x0,
23157 csr: 0xa80,
23158 funct7: 0x54,
23159 },
23160 Opcode::VSSRLVX => Inst {
23161 opcode: 0x57,
23162 funct3: 0x4,
23163 rs1: 0x0,
23164 rs2: 0x0,
23165 csr: 0xa80,
23166 funct7: 0x54,
23167 },
23168 Opcode::VSSUBVV => Inst {
23169 opcode: 0x57,
23170 funct3: 0x0,
23171 rs1: 0x0,
23172 rs2: 0x0,
23173 csr: 0x8c0,
23174 funct7: 0x46,
23175 },
23176 Opcode::VSSUBVX => Inst {
23177 opcode: 0x57,
23178 funct3: 0x4,
23179 rs1: 0x0,
23180 rs2: 0x0,
23181 csr: 0x8c0,
23182 funct7: 0x46,
23183 },
23184 Opcode::VSSUBUVV => Inst {
23185 opcode: 0x57,
23186 funct3: 0x0,
23187 rs1: 0x0,
23188 rs2: 0x0,
23189 csr: 0x880,
23190 funct7: 0x44,
23191 },
23192 Opcode::VSSUBUVX => Inst {
23193 opcode: 0x57,
23194 funct3: 0x4,
23195 rs1: 0x0,
23196 rs2: 0x0,
23197 csr: 0x880,
23198 funct7: 0x44,
23199 },
23200 Opcode::VSUBVV => Inst {
23201 opcode: 0x57,
23202 funct3: 0x0,
23203 rs1: 0x0,
23204 rs2: 0x0,
23205 csr: 0x80,
23206 funct7: 0x4,
23207 },
23208 Opcode::VSUBVX => Inst {
23209 opcode: 0x57,
23210 funct3: 0x4,
23211 rs1: 0x0,
23212 rs2: 0x0,
23213 csr: 0x80,
23214 funct7: 0x4,
23215 },
23216 Opcode::VSUXEI16V => Inst {
23217 opcode: 0x27,
23218 funct3: 0x5,
23219 rs1: 0x0,
23220 rs2: 0x0,
23221 csr: 0x40,
23222 funct7: 0x2,
23223 },
23224 Opcode::VSUXEI32V => Inst {
23225 opcode: 0x27,
23226 funct3: 0x6,
23227 rs1: 0x0,
23228 rs2: 0x0,
23229 csr: 0x40,
23230 funct7: 0x2,
23231 },
23232 Opcode::VSUXEI64V => Inst {
23233 opcode: 0x27,
23234 funct3: 0x7,
23235 rs1: 0x0,
23236 rs2: 0x0,
23237 csr: 0x40,
23238 funct7: 0x2,
23239 },
23240 Opcode::VSUXEI8V => Inst {
23241 opcode: 0x27,
23242 funct3: 0x0,
23243 rs1: 0x0,
23244 rs2: 0x0,
23245 csr: 0x40,
23246 funct7: 0x2,
23247 },
23248 Opcode::VWADDVV => Inst {
23249 opcode: 0x57,
23250 funct3: 0x2,
23251 rs1: 0x0,
23252 rs2: 0x0,
23253 csr: 0xc40,
23254 funct7: 0x62,
23255 },
23256 Opcode::VWADDVX => Inst {
23257 opcode: 0x57,
23258 funct3: 0x6,
23259 rs1: 0x0,
23260 rs2: 0x0,
23261 csr: 0xc40,
23262 funct7: 0x62,
23263 },
23264 Opcode::VWADDWV => Inst {
23265 opcode: 0x57,
23266 funct3: 0x2,
23267 rs1: 0x0,
23268 rs2: 0x0,
23269 csr: 0xd40,
23270 funct7: 0x6a,
23271 },
23272 Opcode::VWADDWX => Inst {
23273 opcode: 0x57,
23274 funct3: 0x6,
23275 rs1: 0x0,
23276 rs2: 0x0,
23277 csr: 0xd40,
23278 funct7: 0x6a,
23279 },
23280 Opcode::VWADDUVV => Inst {
23281 opcode: 0x57,
23282 funct3: 0x2,
23283 rs1: 0x0,
23284 rs2: 0x0,
23285 csr: 0xc00,
23286 funct7: 0x60,
23287 },
23288 Opcode::VWADDUVX => Inst {
23289 opcode: 0x57,
23290 funct3: 0x6,
23291 rs1: 0x0,
23292 rs2: 0x0,
23293 csr: 0xc00,
23294 funct7: 0x60,
23295 },
23296 Opcode::VWADDUWV => Inst {
23297 opcode: 0x57,
23298 funct3: 0x2,
23299 rs1: 0x0,
23300 rs2: 0x0,
23301 csr: 0xd00,
23302 funct7: 0x68,
23303 },
23304 Opcode::VWADDUWX => Inst {
23305 opcode: 0x57,
23306 funct3: 0x6,
23307 rs1: 0x0,
23308 rs2: 0x0,
23309 csr: 0xd00,
23310 funct7: 0x68,
23311 },
23312 Opcode::VWMACCVV => Inst {
23313 opcode: 0x57,
23314 funct3: 0x2,
23315 rs1: 0x0,
23316 rs2: 0x0,
23317 csr: 0xf40,
23318 funct7: 0x7a,
23319 },
23320 Opcode::VWMACCVX => Inst {
23321 opcode: 0x57,
23322 funct3: 0x6,
23323 rs1: 0x0,
23324 rs2: 0x0,
23325 csr: 0xf40,
23326 funct7: 0x7a,
23327 },
23328 Opcode::VWMACCSUVV => Inst {
23329 opcode: 0x57,
23330 funct3: 0x2,
23331 rs1: 0x0,
23332 rs2: 0x0,
23333 csr: 0xfc0,
23334 funct7: 0x7e,
23335 },
23336 Opcode::VWMACCSUVX => Inst {
23337 opcode: 0x57,
23338 funct3: 0x6,
23339 rs1: 0x0,
23340 rs2: 0x0,
23341 csr: 0xfc0,
23342 funct7: 0x7e,
23343 },
23344 Opcode::VWMACCUVV => Inst {
23345 opcode: 0x57,
23346 funct3: 0x2,
23347 rs1: 0x0,
23348 rs2: 0x0,
23349 csr: 0xf00,
23350 funct7: 0x78,
23351 },
23352 Opcode::VWMACCUVX => Inst {
23353 opcode: 0x57,
23354 funct3: 0x6,
23355 rs1: 0x0,
23356 rs2: 0x0,
23357 csr: 0xf00,
23358 funct7: 0x78,
23359 },
23360 Opcode::VWMACCUSVX => Inst {
23361 opcode: 0x57,
23362 funct3: 0x6,
23363 rs1: 0x0,
23364 rs2: 0x0,
23365 csr: 0xf80,
23366 funct7: 0x7c,
23367 },
23368 Opcode::VWMULVV => Inst {
23369 opcode: 0x57,
23370 funct3: 0x2,
23371 rs1: 0x0,
23372 rs2: 0x0,
23373 csr: 0xec0,
23374 funct7: 0x76,
23375 },
23376 Opcode::VWMULVX => Inst {
23377 opcode: 0x57,
23378 funct3: 0x6,
23379 rs1: 0x0,
23380 rs2: 0x0,
23381 csr: 0xec0,
23382 funct7: 0x76,
23383 },
23384 Opcode::VWMULSUVV => Inst {
23385 opcode: 0x57,
23386 funct3: 0x2,
23387 rs1: 0x0,
23388 rs2: 0x0,
23389 csr: 0xe80,
23390 funct7: 0x74,
23391 },
23392 Opcode::VWMULSUVX => Inst {
23393 opcode: 0x57,
23394 funct3: 0x6,
23395 rs1: 0x0,
23396 rs2: 0x0,
23397 csr: 0xe80,
23398 funct7: 0x74,
23399 },
23400 Opcode::VWMULUVV => Inst {
23401 opcode: 0x57,
23402 funct3: 0x2,
23403 rs1: 0x0,
23404 rs2: 0x0,
23405 csr: 0xe00,
23406 funct7: 0x70,
23407 },
23408 Opcode::VWMULUVX => Inst {
23409 opcode: 0x57,
23410 funct3: 0x6,
23411 rs1: 0x0,
23412 rs2: 0x0,
23413 csr: 0xe00,
23414 funct7: 0x70,
23415 },
23416 Opcode::VWREDSUMVS => Inst {
23417 opcode: 0x57,
23418 funct3: 0x0,
23419 rs1: 0x0,
23420 rs2: 0x0,
23421 csr: 0xc40,
23422 funct7: 0x62,
23423 },
23424 Opcode::VWREDSUMUVS => Inst {
23425 opcode: 0x57,
23426 funct3: 0x0,
23427 rs1: 0x0,
23428 rs2: 0x0,
23429 csr: 0xc00,
23430 funct7: 0x60,
23431 },
23432 Opcode::VWSLLVI => Inst {
23433 opcode: 0x57,
23434 funct3: 0x3,
23435 rs1: 0x0,
23436 rs2: 0x0,
23437 csr: 0xd40,
23438 funct7: 0x6a,
23439 },
23440 Opcode::VWSLLVV => Inst {
23441 opcode: 0x57,
23442 funct3: 0x0,
23443 rs1: 0x0,
23444 rs2: 0x0,
23445 csr: 0xd40,
23446 funct7: 0x6a,
23447 },
23448 Opcode::VWSLLVX => Inst {
23449 opcode: 0x57,
23450 funct3: 0x4,
23451 rs1: 0x0,
23452 rs2: 0x0,
23453 csr: 0xd40,
23454 funct7: 0x6a,
23455 },
23456 Opcode::VWSUBVV => Inst {
23457 opcode: 0x57,
23458 funct3: 0x2,
23459 rs1: 0x0,
23460 rs2: 0x0,
23461 csr: 0xcc0,
23462 funct7: 0x66,
23463 },
23464 Opcode::VWSUBVX => Inst {
23465 opcode: 0x57,
23466 funct3: 0x6,
23467 rs1: 0x0,
23468 rs2: 0x0,
23469 csr: 0xcc0,
23470 funct7: 0x66,
23471 },
23472 Opcode::VWSUBWV => Inst {
23473 opcode: 0x57,
23474 funct3: 0x2,
23475 rs1: 0x0,
23476 rs2: 0x0,
23477 csr: 0xdc0,
23478 funct7: 0x6e,
23479 },
23480 Opcode::VWSUBWX => Inst {
23481 opcode: 0x57,
23482 funct3: 0x6,
23483 rs1: 0x0,
23484 rs2: 0x0,
23485 csr: 0xdc0,
23486 funct7: 0x6e,
23487 },
23488 Opcode::VWSUBUVV => Inst {
23489 opcode: 0x57,
23490 funct3: 0x2,
23491 rs1: 0x0,
23492 rs2: 0x0,
23493 csr: 0xc80,
23494 funct7: 0x64,
23495 },
23496 Opcode::VWSUBUVX => Inst {
23497 opcode: 0x57,
23498 funct3: 0x6,
23499 rs1: 0x0,
23500 rs2: 0x0,
23501 csr: 0xc80,
23502 funct7: 0x64,
23503 },
23504 Opcode::VWSUBUWV => Inst {
23505 opcode: 0x57,
23506 funct3: 0x2,
23507 rs1: 0x0,
23508 rs2: 0x0,
23509 csr: 0xd80,
23510 funct7: 0x6c,
23511 },
23512 Opcode::VWSUBUWX => Inst {
23513 opcode: 0x57,
23514 funct3: 0x6,
23515 rs1: 0x0,
23516 rs2: 0x0,
23517 csr: 0xd80,
23518 funct7: 0x6c,
23519 },
23520 Opcode::VXORVI => Inst {
23521 opcode: 0x57,
23522 funct3: 0x3,
23523 rs1: 0x0,
23524 rs2: 0x0,
23525 csr: 0x2c0,
23526 funct7: 0x16,
23527 },
23528 Opcode::VXORVV => Inst {
23529 opcode: 0x57,
23530 funct3: 0x0,
23531 rs1: 0x0,
23532 rs2: 0x0,
23533 csr: 0x2c0,
23534 funct7: 0x16,
23535 },
23536 Opcode::VXORVX => Inst {
23537 opcode: 0x57,
23538 funct3: 0x4,
23539 rs1: 0x0,
23540 rs2: 0x0,
23541 csr: 0x2c0,
23542 funct7: 0x16,
23543 },
23544 Opcode::VZEXTVF2 => Inst {
23545 opcode: 0x57,
23546 funct3: 0x2,
23547 rs1: 0x6,
23548 rs2: 0x0,
23549 csr: 0x480,
23550 funct7: 0x24,
23551 },
23552 Opcode::VZEXTVF4 => Inst {
23553 opcode: 0x57,
23554 funct3: 0x2,
23555 rs1: 0x4,
23556 rs2: 0x0,
23557 csr: 0x480,
23558 funct7: 0x24,
23559 },
23560 Opcode::VZEXTVF8 => Inst {
23561 opcode: 0x57,
23562 funct3: 0x2,
23563 rs1: 0x2,
23564 rs2: 0x0,
23565 csr: 0x480,
23566 funct7: 0x24,
23567 },
23568 Opcode::WFI => Inst {
23569 opcode: 0x73,
23570 funct3: 0x0,
23571 rs1: 0x0,
23572 rs2: 0x5,
23573 csr: 0x105,
23574 funct7: 0x8,
23575 },
23576 Opcode::WRSNTO => Inst {
23577 opcode: 0x73,
23578 funct3: 0x0,
23579 rs1: 0x0,
23580 rs2: 0xd,
23581 csr: 0xd,
23582 funct7: 0x0,
23583 },
23584 Opcode::WRSSTO => Inst {
23585 opcode: 0x73,
23586 funct3: 0x0,
23587 rs1: 0x0,
23588 rs2: 0x1d,
23589 csr: 0x1d,
23590 funct7: 0x0,
23591 },
23592 Opcode::XNOR => Inst {
23593 opcode: 0x33,
23594 funct3: 0x4,
23595 rs1: 0x0,
23596 rs2: 0x0,
23597 csr: 0x400,
23598 funct7: 0x20,
23599 },
23600 Opcode::XOR => Inst {
23601 opcode: 0x33,
23602 funct3: 0x4,
23603 rs1: 0x0,
23604 rs2: 0x0,
23605 csr: 0x0,
23606 funct7: 0x0,
23607 },
23608 Opcode::XORI => Inst {
23609 opcode: 0x13,
23610 funct3: 0x4,
23611 rs1: 0x0,
23612 rs2: 0x0,
23613 csr: 0x0,
23614 funct7: 0x0,
23615 },
23616 Opcode::XPERM4 => Inst {
23617 opcode: 0x33,
23618 funct3: 0x2,
23619 rs1: 0x0,
23620 rs2: 0x0,
23621 csr: 0x280,
23622 funct7: 0x14,
23623 },
23624 Opcode::XPERM8 => Inst {
23625 opcode: 0x33,
23626 funct3: 0x4,
23627 rs1: 0x0,
23628 rs2: 0x0,
23629 csr: 0x280,
23630 funct7: 0x14,
23631 },
23632 Opcode::ZEXTB => Inst {
23633 opcode: 0x13,
23634 funct3: 0x7,
23635 rs1: 0x0,
23636 rs2: 0x0,
23637 csr: 0x0,
23638 funct7: 0x0,
23639 },
23640 Opcode::ZEXTH => Inst {
23641 opcode: 0x3b,
23642 funct3: 0x4,
23643 rs1: 0x0,
23644 rs2: 0x0,
23645 csr: 0x80,
23646 funct7: 0x4,
23647 },
23648 Opcode::ZEXTHRV32 => Inst {
23649 opcode: 0x33,
23650 funct3: 0x4,
23651 rs1: 0x0,
23652 rs2: 0x0,
23653 csr: 0x80,
23654 funct7: 0x4,
23655 },
23656 Opcode::ZEXTW => Inst {
23657 opcode: 0x3b,
23658 funct3: 0x0,
23659 rs1: 0x0,
23660 rs2: 0x0,
23661 csr: 0x80,
23662 funct7: 0x4,
23663 },
23664 Opcode::ZIP => Inst {
23665 opcode: 0x13,
23666 funct3: 0x1,
23667 rs1: 0x0,
23668 rs2: 0xf,
23669 csr: 0x8f,
23670 funct7: 0x4,
23671 },
23672 }
23673 }
23674}
23675
23676#[derive(Copy, Clone, PartialEq, Eq, Debug, Hash)]
23677pub enum Encoding {
23678 Bimm12HiRs1Bimm12lo,
23679 Bimm12HiRs1Rs2Bimm12lo,
23680 Bimm12HiRs2Bimm12lo,
23681 Bimm12HiRs2Rs1Bimm12lo,
23682 CImm12,
23683 CIndex,
23684 CMopT,
23685 CNzimm10hiCNzimm10lo,
23686 CNzimm6hiCNzimm6lo,
23687 CRlistCSpimm,
23688 CRs1N0,
23689 CRs2CUimm8spS,
23690 CRs2CUimm9spS,
23691 CSreg1CSreg2,
23692 CsrZimm,
23693 Empty,
23694 FmPredSuccRs1Rd,
23695 Imm12HiRs1Rs2Imm12lo,
23696 Imm12Rs1Rd,
23697 Jimm20,
23698 MopRT30MopRT2726MopRT2120RdRs1,
23699 MopRrT30MopRrT2726RdRs1Rs2,
23700 NfVmRs1Vd,
23701 NfVmRs1Vs3,
23702 NfVmRs2Rs1Vd,
23703 NfVmRs2Rs1Vs3,
23704 NfVmVs2Rs1Vd,
23705 NfVmVs2Rs1Vs3,
23706 Rd,
23707 RdCUimm8sphiCUimm8splo,
23708 RdCUimm9sphiCUimm9splo,
23709 RdCsr,
23710 RdCsrZimm,
23711 RdImm20,
23712 RdJimm20,
23713 RdN0CImm6loCImm6hi,
23714 RdN0CRs2N0,
23715 RdN0CUimm8sphiCUimm8splo,
23716 RdN0CUimm9sphiCUimm9splo,
23717 RdN2CNzimm18hiCNzimm18lo,
23718 RdPCNzuimm10,
23719 RdPRs1PCUimm1,
23720 RdPRs1PCUimm2,
23721 RdPRs1PCUimm7loCUimm7hi,
23722 RdPRs1PCUimm8loCUimm8hi,
23723 RdRs1,
23724 RdRs1AqRl,
23725 RdRs1Csr,
23726 RdRs1Imm12,
23727 RdRs1N0,
23728 RdRs1N0CImm6loCImm6hi,
23729 RdRs1N0CNzimm6loCNzimm6hi,
23730 RdRs1N0CNzuimm6hiCNzuimm6lo,
23731 RdRs1N0CNzuimm6lo,
23732 RdRs1N0CRs2N0,
23733 RdRs1P,
23734 RdRs1PCImm6hiCImm6lo,
23735 RdRs1PCNzuimm5,
23736 RdRs1PCNzuimm6loCNzuimm6hi,
23737 RdRs1PRs2P,
23738 RdRs1Rm,
23739 RdRs1Rnum,
23740 RdRs1Rs2,
23741 RdRs1Rs2AqRl,
23742 RdRs1Rs2Bs,
23743 RdRs1Rs2EqRs1,
23744 RdRs1Rs2Rm,
23745 RdRs1Rs2Rs3Rm,
23746 RdRs1Shamtd,
23747 RdRs1Shamtw,
23748 RdRs2,
23749 RdZimm,
23750 Rs1,
23751 Rs1Csr,
23752 Rs1Imm12hi,
23753 Rs1N0,
23754 Rs1PCBimm9loCBimm9hi,
23755 Rs1PRs2PCUimm7loCUimm7hi,
23756 Rs1PRs2PCUimm8hiCUimm8lo,
23757 Rs1PRs2PCUimm8loCUimm8hi,
23758 Rs1Rd,
23759 Rs1Rs2,
23760 Rs1Vd,
23761 Rs1Vs3,
23762 Rs2PRs1PCUimm1,
23763 Rs2PRs1PCUimm2,
23764 Rs2Rs1Rd,
23765 Simm5Vd,
23766 VmVd,
23767 VmVs2Rd,
23768 VmVs2Rs1Vd,
23769 VmVs2Simm5Vd,
23770 VmVs2Vd,
23771 VmVs2Vs1Vd,
23772 VmVs2Zimm5Vd,
23773 Vs1Vd,
23774 Vs2Rd,
23775 Vs2Rs1Vd,
23776 Vs2Simm5Vd,
23777 Vs2Vd,
23778 Vs2Vs1Vd,
23779 Vs2Zimm5Vd,
23780 Zimm10ZimmRd,
23781 Zimm11Rs1Rd,
23782 Zimm6HiVmVs2Zimm6loVd,
23783}
23784
23785impl Opcode {
23786 pub fn encoding(self) -> Encoding {
23787 use Opcode::*;
23788 match self {
23789 Opcode::Invalid => unreachable!(),
23790 BEQZ | BGEZ | BLTZ | BNEZ => Encoding::Bimm12HiRs1Bimm12lo,
23791 BEQ | BGE | BGEU | BLT | BLTU | BNE => Encoding::Bimm12HiRs1Rs2Bimm12lo,
23792 BGTZ | BLEZ => Encoding::Bimm12HiRs2Bimm12lo,
23793 BGT | BGTU | BLE | BLEU => Encoding::Bimm12HiRs2Rs1Bimm12lo,
23794 CJ | CJAL => Encoding::CImm12,
23795 CMJALT => Encoding::CIndex,
23796 CMOPN => Encoding::CMopT,
23797 CADDI16SP => Encoding::CNzimm10hiCNzimm10lo,
23798 CNOP => Encoding::CNzimm6hiCNzimm6lo,
23799 CMPOP | CMPOPRET | CMPOPRETZ | CMPUSH => Encoding::CRlistCSpimm,
23800 CJALR => Encoding::CRs1N0,
23801 CFSWSP | CSWSP => Encoding::CRs2CUimm8spS,
23802 CFSDSP | CSDSP => Encoding::CRs2CUimm9spS,
23803 CMMVA01S | CMMVSA01 => Encoding::CSreg1CSreg2,
23804 CSRCI | CSRSI | CSRWI => Encoding::CsrZimm,
23805 CEBREAK | CMOP1 | CMOP11 | CMOP13 | CMOP15 | CMOP3 | CMOP5 | CMOP7 | CMOP9
23806 | CNTLALL | CNTLP1 | CNTLPALL | CNTLS1 | DRET | EBREAK | ECALL | MRET | NOP
23807 | NTLALL | NTLP1 | NTLPALL | NTLS1 | PAUSE | RET | SBREAK | SCALL | SFENCEINVALIR
23808 | SFENCEWINVAL | SRET | WFI | WRSNTO | WRSSTO => Encoding::Empty,
23809 FENCE => Encoding::FmPredSuccRs1Rd,
23810 FSD | FSH | FSQ | FSW | SB | SD | SH | SW => Encoding::Imm12HiRs1Rs2Imm12lo,
23811 FENCEI => Encoding::Imm12Rs1Rd,
23812 J | JALPSEUDO => Encoding::Jimm20,
23813 MOPRN => Encoding::MopRT30MopRT2726MopRT2120RdRs1,
23814 MOPRRN => Encoding::MopRrT30MopRrT2726RdRs1Rs2,
23815 VLE16V | VLE16FFV | VLE32V | VLE32FFV | VLE64V | VLE64FFV | VLE8V | VLE8FFV => {
23816 Encoding::NfVmRs1Vd
23817 }
23818 VSE16V | VSE32V | VSE64V | VSE8V => Encoding::NfVmRs1Vs3,
23819 VLSE16V | VLSE32V | VLSE64V | VLSE8V => Encoding::NfVmRs2Rs1Vd,
23820 VSSE16V | VSSE32V | VSSE64V | VSSE8V => Encoding::NfVmRs2Rs1Vs3,
23821 VLOXEI16V | VLOXEI32V | VLOXEI64V | VLOXEI8V | VLUXEI16V | VLUXEI32V | VLUXEI64V
23822 | VLUXEI8V => Encoding::NfVmVs2Rs1Vd,
23823 VSOXEI16V | VSOXEI32V | VSOXEI64V | VSOXEI8V | VSUXEI16V | VSUXEI32V | VSUXEI64V
23824 | VSUXEI8V => Encoding::NfVmVs2Rs1Vs3,
23825 FRCSR | FRFLAGS | FRRM | RDCYCLE | RDCYCLEH | RDINSTRET | RDINSTRETH | RDTIME
23826 | RDTIMEH => Encoding::Rd,
23827 CFLWSP => Encoding::RdCUimm8sphiCUimm8splo,
23828 CFLDSP => Encoding::RdCUimm9sphiCUimm9splo,
23829 CSRR => Encoding::RdCsr,
23830 CSRRCI | CSRRSI | CSRRWI => Encoding::RdCsrZimm,
23831 AUIPC | LUI => Encoding::RdImm20,
23832 JAL => Encoding::RdJimm20,
23833 CLI => Encoding::RdN0CImm6loCImm6hi,
23834 CMV => Encoding::RdN0CRs2N0,
23835 CLWSP => Encoding::RdN0CUimm8sphiCUimm8splo,
23836 CLDSP => Encoding::RdN0CUimm9sphiCUimm9splo,
23837 CLUI => Encoding::RdN2CNzimm18hiCNzimm18lo,
23838 CADDI4SPN => Encoding::RdPCNzuimm10,
23839 CLH | CLHU => Encoding::RdPRs1PCUimm1,
23840 CLBU => Encoding::RdPRs1PCUimm2,
23841 CFLW | CLW => Encoding::RdPRs1PCUimm7loCUimm7hi,
23842 CFLD | CLD => Encoding::RdPRs1PCUimm8loCUimm8hi,
23843 AES64IM | BREV8 | CLZ | CLZW | CPOP | CPOPW | CTZ | CTZW | FCLASSD | FCLASSH
23844 | FCLASSQ | FCLASSS | FCVTMODWD | FLID | FLIH | FLIQ | FLIS | FMVDX | FMVHX | FMVSX
23845 | FMVWX | FMVXD | FMVXH | FMVXS | FMVXW | FMVHXD | FMVHXQ | FSCSR | FSFLAGS | FSRM
23846 | HLVB | HLVBU | HLVD | HLVH | HLVHU | HLVW | HLVWU | HLVXHU | HLVXWU | MOPR0
23847 | MOPR1 | MOPR10 | MOPR11 | MOPR12 | MOPR13 | MOPR14 | MOPR15 | MOPR16 | MOPR17
23848 | MOPR18 | MOPR19 | MOPR2 | MOPR20 | MOPR21 | MOPR22 | MOPR23 | MOPR24 | MOPR25
23849 | MOPR26 | MOPR27 | MOPR28 | MOPR29 | MOPR3 | MOPR30 | MOPR31 | MOPR4 | MOPR5
23850 | MOPR6 | MOPR7 | MOPR8 | MOPR9 | MV | NEG | ORCB | REV8 | REV8RV32 | SEQZ | SEXTB
23851 | SEXTH | SEXTW | SHA256SIG0 | SHA256SIG1 | SHA256SUM0 | SHA256SUM1 | SHA512SIG0
23852 | SHA512SIG1 | SHA512SUM0 | SHA512SUM1 | SLTZ | SM3P0 | SM3P1 | UNZIP | ZEXTB
23853 | ZEXTH | ZEXTHRV32 | ZEXTW | ZIP => Encoding::RdRs1,
23854 LRD | LRW => Encoding::RdRs1AqRl,
23855 CSRRC | CSRRS | CSRRW => Encoding::RdRs1Csr,
23856 ADDI | ADDIW | ANDI | FLD | FLH | FLQ | FLW | JALR | LB | LBU | LD | LH | LHU | LW
23857 | LWU | ORI | SLTI | SLTIU | XORI => Encoding::RdRs1Imm12,
23858 CSEXTW => Encoding::RdRs1N0,
23859 CADDIW => Encoding::RdRs1N0CImm6loCImm6hi,
23860 CADDI => Encoding::RdRs1N0CNzimm6loCNzimm6hi,
23861 CSLLI => Encoding::RdRs1N0CNzuimm6hiCNzuimm6lo,
23862 CSLLIRV32 => Encoding::RdRs1N0CNzuimm6lo,
23863 CADD => Encoding::RdRs1N0CRs2N0,
23864 CNOT | CSEXTB | CSEXTH | CZEXTB | CZEXTH | CZEXTW => Encoding::RdRs1P,
23865 CANDI => Encoding::RdRs1PCImm6hiCImm6lo,
23866 CSRAIRV32 | CSRLIRV32 => Encoding::RdRs1PCNzuimm5,
23867 CSRAI | CSRLI => Encoding::RdRs1PCNzuimm6loCNzuimm6hi,
23868 CADDW | CAND | CMUL | COR | CSUB | CSUBW | CXOR => Encoding::RdRs1PRs2P,
23869 FCVTDH | FCVTDL | FCVTDLU | FCVTDQ | FCVTDS | FCVTDW | FCVTDWU | FCVTHD | FCVTHL
23870 | FCVTHLU | FCVTHQ | FCVTHS | FCVTHW | FCVTHWU | FCVTLD | FCVTLH | FCVTLQ | FCVTLS
23871 | FCVTLUD | FCVTLUH | FCVTLUQ | FCVTLUS | FCVTQD | FCVTQH | FCVTQL | FCVTQLU
23872 | FCVTQS | FCVTQW | FCVTQWU | FCVTSD | FCVTSH | FCVTSL | FCVTSLU | FCVTSQ | FCVTSW
23873 | FCVTSWU | FCVTWD | FCVTWH | FCVTWQ | FCVTWS | FCVTWUD | FCVTWUH | FCVTWUQ
23874 | FCVTWUS | FROUNDD | FROUNDH | FROUNDQ | FROUNDS | FROUNDNXD | FROUNDNXH
23875 | FROUNDNXQ | FROUNDNXS | FSQRTD | FSQRTH | FSQRTQ | FSQRTS => Encoding::RdRs1Rm,
23876 AES64KS1I => Encoding::RdRs1Rnum,
23877 ADD | ADDUW | ADDW | AES64DS | AES64DSM | AES64ES | AES64ESM | AES64KS2 | AND
23878 | ANDN | BCLR | BEXT | BINV | BSET | CLMUL | CLMULH | CLMULR | CZEROEQZ | CZERONEZ
23879 | DIV | DIVU | DIVUW | DIVW | FEQD | FEQH | FEQQ | FEQS | FLED | FLEH | FLEQ | FLES
23880 | FLEQD | FLEQH | FLEQQ | FLEQS | FLTD | FLTH | FLTQ | FLTS | FLTQD | FLTQH | FLTQQ
23881 | FLTQS | FMAXD | FMAXH | FMAXQ | FMAXS | FMAXMD | FMAXMH | FMAXMQ | FMAXMS | FMIND
23882 | FMINH | FMINQ | FMINS | FMINMD | FMINMH | FMINMQ | FMINMS | FMVPDX | FMVPQX
23883 | FSGNJD | FSGNJH | FSGNJQ | FSGNJS | FSGNJND | FSGNJNH | FSGNJNQ | FSGNJNS
23884 | FSGNJXD | FSGNJXH | FSGNJXQ | FSGNJXS | MAX | MAXU | MIN | MINU | MOPRR0 | MOPRR1
23885 | MOPRR2 | MOPRR3 | MOPRR4 | MOPRR5 | MOPRR6 | MOPRR7 | MUL | MULH | MULHSU | MULHU
23886 | MULW | OR | ORN | PACK | PACKH | PACKW | REM | REMU | REMUW | REMW | ROL | ROLW
23887 | ROR | RORW | SH1ADD | SH1ADDUW | SH2ADD | SH2ADDUW | SH3ADD | SH3ADDUW
23888 | SHA512SIG0H | SHA512SIG0L | SHA512SIG1H | SHA512SIG1L | SHA512SUM0R | SHA512SUM1R
23889 | SLL | SLLW | SLT | SLTU | SRA | SRAW | SRL | SRLW | SUB | SUBW | XNOR | XOR
23890 | XPERM4 | XPERM8 => Encoding::RdRs1Rs2,
23891 AMOADDB | AMOADDD | AMOADDH | AMOADDW | AMOANDB | AMOANDD | AMOANDH | AMOANDW
23892 | AMOCASB | AMOCASD | AMOCASH | AMOCASQ | AMOCASW | AMOMAXB | AMOMAXD | AMOMAXH
23893 | AMOMAXW | AMOMAXUB | AMOMAXUD | AMOMAXUH | AMOMAXUW | AMOMINB | AMOMIND | AMOMINH
23894 | AMOMINW | AMOMINUB | AMOMINUD | AMOMINUH | AMOMINUW | AMOORB | AMOORD | AMOORH
23895 | AMOORW | AMOSWAPB | AMOSWAPD | AMOSWAPH | AMOSWAPW | AMOXORB | AMOXORD | AMOXORH
23896 | AMOXORW | SCD | SCW => Encoding::RdRs1Rs2AqRl,
23897 AES32DSI | AES32DSMI | AES32ESI | AES32ESMI | SM4ED | SM4KS => Encoding::RdRs1Rs2Bs,
23898 FABSD | FABSH | FABSQ | FABSS | FMVD | FMVH | FMVQ | FMVS | FNEGD | FNEGH | FNEGQ
23899 | FNEGS => Encoding::RdRs1Rs2EqRs1,
23900 FADDD | FADDH | FADDQ | FADDS | FDIVD | FDIVH | FDIVQ | FDIVS | FMULD | FMULH
23901 | FMULQ | FMULS | FSUBD | FSUBH | FSUBQ | FSUBS => Encoding::RdRs1Rs2Rm,
23902 FMADDD | FMADDH | FMADDQ | FMADDS | FMSUBD | FMSUBH | FMSUBQ | FMSUBS | FNMADDD
23903 | FNMADDH | FNMADDQ | FNMADDS | FNMSUBD | FNMSUBH | FNMSUBQ | FNMSUBS => {
23904 Encoding::RdRs1Rs2Rs3Rm
23905 }
23906 BCLRI | BEXTI | BINVI | BSETI | RORI | SLLI | SLLIUW | SRAI | SRLI => {
23907 Encoding::RdRs1Shamtd
23908 }
23909 BCLRIRV32 | BEXTIRV32 | BINVIRV32 | BSETIRV32 | RORIRV32 | RORIW | SLLIRV32 | SLLIW
23910 | SRAIRV32 | SRAIW | SRLIRV32 | SRLIW => Encoding::RdRs1Shamtw,
23911 SGTZ | SNEZ => Encoding::RdRs2,
23912 FSFLAGSI | FSRMI => Encoding::RdZimm,
23913 CBOCLEAN | CBOFLUSH | CBOINVAL | CBOZERO | JALRPSEUDO | JR => Encoding::Rs1,
23914 CSRC | CSRS | CSRW => Encoding::Rs1Csr,
23915 PREFETCHI | PREFETCHR | PREFETCHW => Encoding::Rs1Imm12hi,
23916 CJR => Encoding::Rs1N0,
23917 CBEQZ | CBNEZ => Encoding::Rs1PCBimm9loCBimm9hi,
23918 CFSW | CSW => Encoding::Rs1PRs2PCUimm7loCUimm7hi,
23919 CSD => Encoding::Rs1PRs2PCUimm8hiCUimm8lo,
23920 CFSD => Encoding::Rs1PRs2PCUimm8loCUimm8hi,
23921 FENCETSO => Encoding::Rs1Rd,
23922 HFENCEGVMA | HFENCEVVMA | HINVALGVMA | HINVALVVMA | HSVB | HSVD | HSVH | HSVW
23923 | SFENCEVMA | SINVALVMA => Encoding::Rs1Rs2,
23924 VFMVSF | VFMVVF | VL1RV | VL1RE16V | VL1RE32V | VL1RE64V | VL1RE8V | VL2RV
23925 | VL2RE16V | VL2RE32V | VL2RE64V | VL2RE8V | VL4RV | VL4RE16V | VL4RE32V | VL4RE64V
23926 | VL4RE8V | VL8RV | VL8RE16V | VL8RE32V | VL8RE64V | VL8RE8V | VLE1V | VLMV | VMVSX
23927 | VMVVX => Encoding::Rs1Vd,
23928 VS1RV | VS2RV | VS4RV | VS8RV | VSE1V | VSMV => Encoding::Rs1Vs3,
23929 CSH => Encoding::Rs2PRs1PCUimm1,
23930 CSB => Encoding::Rs2PRs1PCUimm2,
23931 VSETVL => Encoding::Rs2Rs1Rd,
23932 VMVVI => Encoding::Simm5Vd,
23933 VIDV => Encoding::VmVd,
23934 VCPOPM | VFIRSTM | VPOPCM => Encoding::VmVs2Rd,
23935 VAADDVX | VAADDUVX | VADDVX | VANDVX | VANDNVX | VASUBVX | VASUBUVX | VCLMULVX
23936 | VCLMULHVX | VDIVVX | VDIVUVX | VFADDVF | VFDIVVF | VFMACCVF | VFMADDVF | VFMAXVF
23937 | VFMINVF | VFMSACVF | VFMSUBVF | VFMULVF | VFNMACCVF | VFNMADDVF | VFNMSACVF
23938 | VFNMSUBVF | VFRDIVVF | VFRSUBVF | VFSGNJVF | VFSGNJNVF | VFSGNJXVF
23939 | VFSLIDE1DOWNVF | VFSLIDE1UPVF | VFSUBVF | VFWADDVF | VFWADDWF | VFWMACCVF
23940 | VFWMSACVF | VFWMULVF | VFWNMACCVF | VFWNMSACVF | VFWSUBVF | VFWSUBWF | VMACCVX
23941 | VMADDVX | VMAXVX | VMAXUVX | VMFEQVF | VMFGEVF | VMFGTVF | VMFLEVF | VMFLTVF
23942 | VMFNEVF | VMINVX | VMINUVX | VMSEQVX | VMSGTVX | VMSGTUVX | VMSLEVX | VMSLEUVX
23943 | VMSLTVX | VMSLTUVX | VMSNEVX | VMULVX | VMULHVX | VMULHSUVX | VMULHUVX | VNCLIPWX
23944 | VNCLIPUWX | VNMSACVX | VNMSUBVX | VNSRAWX | VNSRLWX | VORVX | VREMVX | VREMUVX
23945 | VRGATHERVX | VROLVX | VRORVX | VRSUBVX | VSADDVX | VSADDUVX | VSLIDE1DOWNVX
23946 | VSLIDE1UPVX | VSLIDEDOWNVX | VSLIDEUPVX | VSLLVX | VSMULVX | VSRAVX | VSRLVX
23947 | VSSRAVX | VSSRLVX | VSSUBVX | VSSUBUVX | VSUBVX | VWADDVX | VWADDWX | VWADDUVX
23948 | VWADDUWX | VWMACCVX | VWMACCSUVX | VWMACCUVX | VWMACCUSVX | VWMULVX | VWMULSUVX
23949 | VWMULUVX | VWSLLVX | VWSUBVX | VWSUBWX | VWSUBUVX | VWSUBUWX | VXORVX => {
23950 Encoding::VmVs2Rs1Vd
23951 }
23952 VADDVI | VANDVI | VMSEQVI | VMSGTVI | VMSGTUVI | VMSLEVI | VMSLEUVI | VMSNEVI
23953 | VNCLIPWI | VNCLIPUWI | VNSRAWI | VNSRLWI | VORVI | VRGATHERVI | VRSUBVI | VSADDVI
23954 | VSADDUVI | VSLIDEDOWNVI | VSLIDEUPVI | VSLLVI | VSRAVI | VSRLVI | VSSRAVI
23955 | VSSRLVI | VXORVI => Encoding::VmVs2Simm5Vd,
23956 VBREV8V | VBREVV | VCLZV | VCPOPV | VCTZV | VFCLASSV | VFCVTFXV | VFCVTFXUV
23957 | VFCVTRTZXFV | VFCVTRTZXUFV | VFCVTXFV | VFCVTXUFV | VFNCVTFFW | VFNCVTFXW
23958 | VFNCVTFXUW | VFNCVTRODFFW | VFNCVTRTZXFW | VFNCVTRTZXUFW | VFNCVTXFW | VFNCVTXUFW
23959 | VFREC7V | VFRSQRT7V | VFSQRTV | VFWCVTFFV | VFWCVTFXV | VFWCVTFXUV | VFWCVTRTZXFV
23960 | VFWCVTRTZXUFV | VFWCVTXFV | VFWCVTXUFV | VIOTAM | VMSBFM | VMSIFM | VMSOFM
23961 | VREV8V | VSEXTVF2 | VSEXTVF4 | VSEXTVF8 | VZEXTVF2 | VZEXTVF4 | VZEXTVF8 => {
23962 Encoding::VmVs2Vd
23963 }
23964 VAADDVV | VAADDUVV | VADDVV | VANDVV | VANDNVV | VASUBVV | VASUBUVV | VCLMULVV
23965 | VCLMULHVV | VDIVVV | VDIVUVV | VFADDVV | VFDIVVV | VFMACCVV | VFMADDVV | VFMAXVV
23966 | VFMINVV | VFMSACVV | VFMSUBVV | VFMULVV | VFNMACCVV | VFNMADDVV | VFNMSACVV
23967 | VFNMSUBVV | VFREDMAXVS | VFREDMINVS | VFREDOSUMVS | VFREDSUMVS | VFREDUSUMVS
23968 | VFSGNJVV | VFSGNJNVV | VFSGNJXVV | VFSUBVV | VFWADDVV | VFWADDWV | VFWMACCVV
23969 | VFWMSACVV | VFWMULVV | VFWNMACCVV | VFWNMSACVV | VFWREDOSUMVS | VFWREDSUMVS
23970 | VFWREDUSUMVS | VFWSUBVV | VFWSUBWV | VMACCVV | VMADDVV | VMANDNOTMM | VMAXVV
23971 | VMAXUVV | VMFEQVV | VMFLEVV | VMFLTVV | VMFNEVV | VMINVV | VMINUVV | VMORNOTMM
23972 | VMSEQVV | VMSLEVV | VMSLEUVV | VMSLTVV | VMSLTUVV | VMSNEVV | VMULVV | VMULHVV
23973 | VMULHSUVV | VMULHUVV | VNCLIPWV | VNCLIPUWV | VNMSACVV | VNMSUBVV | VNSRAWV
23974 | VNSRLWV | VORVV | VREDANDVS | VREDMAXVS | VREDMAXUVS | VREDMINVS | VREDMINUVS
23975 | VREDORVS | VREDSUMVS | VREDXORVS | VREMVV | VREMUVV | VRGATHERVV | VRGATHEREI16VV
23976 | VROLVV | VRORVV | VSADDVV | VSADDUVV | VSLLVV | VSMULVV | VSRAVV | VSRLVV
23977 | VSSRAVV | VSSRLVV | VSSUBVV | VSSUBUVV | VSUBVV | VWADDVV | VWADDWV | VWADDUVV
23978 | VWADDUWV | VWMACCVV | VWMACCSUVV | VWMACCUVV | VWMULVV | VWMULSUVV | VWMULUVV
23979 | VWREDSUMVS | VWREDSUMUVS | VWSLLVV | VWSUBVV | VWSUBWV | VWSUBUVV | VWSUBUWV
23980 | VXORVV => Encoding::VmVs2Vs1Vd,
23981 VWSLLVI => Encoding::VmVs2Zimm5Vd,
23982 VMVVV => Encoding::Vs1Vd,
23983 VFMVFS | VMVXS => Encoding::Vs2Rd,
23984 VADCVXM | VFMERGEVFM | VMADCVX | VMADCVXM | VMERGEVXM | VMSBCVX | VMSBCVXM
23985 | VSBCVXM => Encoding::Vs2Rs1Vd,
23986 VADCVIM | VMADCVI | VMADCVIM | VMERGEVIM => Encoding::Vs2Simm5Vd,
23987 VAESDFVS | VAESDFVV | VAESDMVS | VAESDMVV | VAESEFVS | VAESEFVV | VAESEMVS
23988 | VAESEMVV | VAESZVS | VGMULVV | VMV1RV | VMV2RV | VMV4RV | VMV8RV | VSM4RVS
23989 | VSM4RVV => Encoding::Vs2Vd,
23990 VADCVVM | VCOMPRESSVM | VGHSHVV | VMADCVV | VMADCVVM | VMANDMM | VMANDNMM
23991 | VMERGEVVM | VMNANDMM | VMNORMM | VMORMM | VMORNMM | VMSBCVV | VMSBCVVM | VMXNORMM
23992 | VMXORMM | VSBCVVM | VSHA2CHVV | VSHA2CLVV | VSHA2MSVV | VSM3MEVV => {
23993 Encoding::Vs2Vs1Vd
23994 }
23995 VAESKF1VI | VAESKF2VI | VSM3CVI | VSM4KVI => Encoding::Vs2Zimm5Vd,
23996 VSETIVLI => Encoding::Zimm10ZimmRd,
23997 VSETVLI => Encoding::Zimm11Rs1Rd,
23998 VRORVI => Encoding::Zimm6HiVmVs2Zimm6loVd,
23999 }
24000 }
24001}
24002pub const INSN_FIELD_RD: u32 = 0xf80;
24003pub const INSN_FIELD_RD_START: u32 = 7;
24004pub const INSN_FIELD_RD_SIZE: u32 = 5;
24005pub const INSN_FIELD_RT: u32 = 0xf8000;
24006pub const INSN_FIELD_RT_START: u32 = 15;
24007pub const INSN_FIELD_RT_SIZE: u32 = 5;
24008pub const INSN_FIELD_RS1: u32 = 0xf8000;
24009pub const INSN_FIELD_RS1_START: u32 = 15;
24010pub const INSN_FIELD_RS1_SIZE: u32 = 5;
24011pub const INSN_FIELD_RS2: u32 = 0x1f00000;
24012pub const INSN_FIELD_RS2_START: u32 = 20;
24013pub const INSN_FIELD_RS2_SIZE: u32 = 5;
24014pub const INSN_FIELD_RS3: u32 = 0xf8000000;
24015pub const INSN_FIELD_RS3_START: u32 = 27;
24016pub const INSN_FIELD_RS3_SIZE: u32 = 5;
24017pub const INSN_FIELD_AQRL: u32 = 0x6000000;
24018pub const INSN_FIELD_AQRL_START: u32 = 25;
24019pub const INSN_FIELD_AQRL_SIZE: u32 = 2;
24020pub const INSN_FIELD_AQ: u32 = 0x4000000;
24021pub const INSN_FIELD_AQ_START: u32 = 26;
24022pub const INSN_FIELD_AQ_SIZE: u32 = 1;
24023pub const INSN_FIELD_RL: u32 = 0x2000000;
24024pub const INSN_FIELD_RL_START: u32 = 25;
24025pub const INSN_FIELD_RL_SIZE: u32 = 1;
24026pub const INSN_FIELD_FM: u32 = 0xf0000000;
24027pub const INSN_FIELD_FM_START: u32 = 28;
24028pub const INSN_FIELD_FM_SIZE: u32 = 4;
24029pub const INSN_FIELD_PRED: u32 = 0xf000000;
24030pub const INSN_FIELD_PRED_START: u32 = 24;
24031pub const INSN_FIELD_PRED_SIZE: u32 = 4;
24032pub const INSN_FIELD_SUCC: u32 = 0xf00000;
24033pub const INSN_FIELD_SUCC_START: u32 = 20;
24034pub const INSN_FIELD_SUCC_SIZE: u32 = 4;
24035pub const INSN_FIELD_RM: u32 = 0x7000;
24036pub const INSN_FIELD_RM_START: u32 = 12;
24037pub const INSN_FIELD_RM_SIZE: u32 = 3;
24038pub const INSN_FIELD_FUNCT3: u32 = 0x7000;
24039pub const INSN_FIELD_FUNCT3_START: u32 = 12;
24040pub const INSN_FIELD_FUNCT3_SIZE: u32 = 3;
24041pub const INSN_FIELD_FUNCT2: u32 = 0x6000000;
24042pub const INSN_FIELD_FUNCT2_START: u32 = 25;
24043pub const INSN_FIELD_FUNCT2_SIZE: u32 = 2;
24044pub const INSN_FIELD_IMM20: u32 = 0xfffff000;
24045pub const INSN_FIELD_IMM20_START: u32 = 12;
24046pub const INSN_FIELD_IMM20_SIZE: u32 = 20;
24047pub const INSN_FIELD_JIMM20: u32 = 0xfffff000;
24048pub const INSN_FIELD_JIMM20_START: u32 = 12;
24049pub const INSN_FIELD_JIMM20_SIZE: u32 = 20;
24050pub const INSN_FIELD_IMM12: u32 = 0xfff00000;
24051pub const INSN_FIELD_IMM12_START: u32 = 20;
24052pub const INSN_FIELD_IMM12_SIZE: u32 = 12;
24053pub const INSN_FIELD_CSR: u32 = 0xfff00000;
24054pub const INSN_FIELD_CSR_START: u32 = 20;
24055pub const INSN_FIELD_CSR_SIZE: u32 = 12;
24056pub const INSN_FIELD_IMM12HI: u32 = 0xfe000000;
24057pub const INSN_FIELD_IMM12HI_START: u32 = 25;
24058pub const INSN_FIELD_IMM12HI_SIZE: u32 = 7;
24059pub const INSN_FIELD_BIMM12HI: u32 = 0xfe000000;
24060pub const INSN_FIELD_BIMM12HI_START: u32 = 25;
24061pub const INSN_FIELD_BIMM12HI_SIZE: u32 = 7;
24062pub const INSN_FIELD_IMM12LO: u32 = 0xf80;
24063pub const INSN_FIELD_IMM12LO_START: u32 = 7;
24064pub const INSN_FIELD_IMM12LO_SIZE: u32 = 5;
24065pub const INSN_FIELD_BIMM12LO: u32 = 0xf80;
24066pub const INSN_FIELD_BIMM12LO_START: u32 = 7;
24067pub const INSN_FIELD_BIMM12LO_SIZE: u32 = 5;
24068pub const INSN_FIELD_SHAMTQ: u32 = 0x7f00000;
24069pub const INSN_FIELD_SHAMTQ_START: u32 = 20;
24070pub const INSN_FIELD_SHAMTQ_SIZE: u32 = 7;
24071pub const INSN_FIELD_SHAMTW: u32 = 0x1f00000;
24072pub const INSN_FIELD_SHAMTW_START: u32 = 20;
24073pub const INSN_FIELD_SHAMTW_SIZE: u32 = 5;
24074pub const INSN_FIELD_SHAMTW4: u32 = 0xf00000;
24075pub const INSN_FIELD_SHAMTW4_START: u32 = 20;
24076pub const INSN_FIELD_SHAMTW4_SIZE: u32 = 4;
24077pub const INSN_FIELD_SHAMTD: u32 = 0x3f00000;
24078pub const INSN_FIELD_SHAMTD_START: u32 = 20;
24079pub const INSN_FIELD_SHAMTD_SIZE: u32 = 6;
24080pub const INSN_FIELD_BS: u32 = 0xc0000000;
24081pub const INSN_FIELD_BS_START: u32 = 30;
24082pub const INSN_FIELD_BS_SIZE: u32 = 2;
24083pub const INSN_FIELD_RNUM: u32 = 0xf00000;
24084pub const INSN_FIELD_RNUM_START: u32 = 20;
24085pub const INSN_FIELD_RNUM_SIZE: u32 = 4;
24086pub const INSN_FIELD_RC: u32 = 0x3e000000;
24087pub const INSN_FIELD_RC_START: u32 = 25;
24088pub const INSN_FIELD_RC_SIZE: u32 = 5;
24089pub const INSN_FIELD_IMM2: u32 = 0x300000;
24090pub const INSN_FIELD_IMM2_START: u32 = 20;
24091pub const INSN_FIELD_IMM2_SIZE: u32 = 2;
24092pub const INSN_FIELD_IMM3: u32 = 0x700000;
24093pub const INSN_FIELD_IMM3_START: u32 = 20;
24094pub const INSN_FIELD_IMM3_SIZE: u32 = 3;
24095pub const INSN_FIELD_IMM4: u32 = 0xf00000;
24096pub const INSN_FIELD_IMM4_START: u32 = 20;
24097pub const INSN_FIELD_IMM4_SIZE: u32 = 4;
24098pub const INSN_FIELD_IMM5: u32 = 0x1f00000;
24099pub const INSN_FIELD_IMM5_START: u32 = 20;
24100pub const INSN_FIELD_IMM5_SIZE: u32 = 5;
24101pub const INSN_FIELD_IMM6: u32 = 0x3f00000;
24102pub const INSN_FIELD_IMM6_START: u32 = 20;
24103pub const INSN_FIELD_IMM6_SIZE: u32 = 6;
24104pub const INSN_FIELD_ZIMM: u32 = 0xf8000;
24105pub const INSN_FIELD_ZIMM_START: u32 = 15;
24106pub const INSN_FIELD_ZIMM_SIZE: u32 = 5;
24107pub const INSN_FIELD_OPCODE: u32 = 0x7f;
24108pub const INSN_FIELD_OPCODE_START: u32 = 0;
24109pub const INSN_FIELD_OPCODE_SIZE: u32 = 7;
24110pub const INSN_FIELD_FUNCT7: u32 = 0xfe000000;
24111pub const INSN_FIELD_FUNCT7_START: u32 = 25;
24112pub const INSN_FIELD_FUNCT7_SIZE: u32 = 7;
24113pub const INSN_FIELD_VD: u32 = 0xf80;
24114pub const INSN_FIELD_VD_START: u32 = 7;
24115pub const INSN_FIELD_VD_SIZE: u32 = 5;
24116pub const INSN_FIELD_VS3: u32 = 0xf80;
24117pub const INSN_FIELD_VS3_START: u32 = 7;
24118pub const INSN_FIELD_VS3_SIZE: u32 = 5;
24119pub const INSN_FIELD_VS1: u32 = 0xf8000;
24120pub const INSN_FIELD_VS1_START: u32 = 15;
24121pub const INSN_FIELD_VS1_SIZE: u32 = 5;
24122pub const INSN_FIELD_VS2: u32 = 0x1f00000;
24123pub const INSN_FIELD_VS2_START: u32 = 20;
24124pub const INSN_FIELD_VS2_SIZE: u32 = 5;
24125pub const INSN_FIELD_VM: u32 = 0x2000000;
24126pub const INSN_FIELD_VM_START: u32 = 25;
24127pub const INSN_FIELD_VM_SIZE: u32 = 1;
24128pub const INSN_FIELD_WD: u32 = 0x4000000;
24129pub const INSN_FIELD_WD_START: u32 = 26;
24130pub const INSN_FIELD_WD_SIZE: u32 = 1;
24131pub const INSN_FIELD_AMOOP: u32 = 0xf8000000;
24132pub const INSN_FIELD_AMOOP_START: u32 = 27;
24133pub const INSN_FIELD_AMOOP_SIZE: u32 = 5;
24134pub const INSN_FIELD_NF: u32 = 0xe0000000;
24135pub const INSN_FIELD_NF_START: u32 = 29;
24136pub const INSN_FIELD_NF_SIZE: u32 = 3;
24137pub const INSN_FIELD_SIMM5: u32 = 0xf8000;
24138pub const INSN_FIELD_SIMM5_START: u32 = 15;
24139pub const INSN_FIELD_SIMM5_SIZE: u32 = 5;
24140pub const INSN_FIELD_ZIMM5: u32 = 0xf8000;
24141pub const INSN_FIELD_ZIMM5_START: u32 = 15;
24142pub const INSN_FIELD_ZIMM5_SIZE: u32 = 5;
24143pub const INSN_FIELD_ZIMM10: u32 = 0x3ff00000;
24144pub const INSN_FIELD_ZIMM10_START: u32 = 20;
24145pub const INSN_FIELD_ZIMM10_SIZE: u32 = 10;
24146pub const INSN_FIELD_ZIMM11: u32 = 0x7ff00000;
24147pub const INSN_FIELD_ZIMM11_START: u32 = 20;
24148pub const INSN_FIELD_ZIMM11_SIZE: u32 = 11;
24149pub const INSN_FIELD_ZIMM6HI: u32 = 0x4000000;
24150pub const INSN_FIELD_ZIMM6HI_START: u32 = 26;
24151pub const INSN_FIELD_ZIMM6HI_SIZE: u32 = 1;
24152pub const INSN_FIELD_ZIMM6LO: u32 = 0xf8000;
24153pub const INSN_FIELD_ZIMM6LO_START: u32 = 15;
24154pub const INSN_FIELD_ZIMM6LO_SIZE: u32 = 5;
24155pub const INSN_FIELD_C_NZUIMM10: u32 = 0x1fe0;
24156pub const INSN_FIELD_C_NZUIMM10_START: u32 = 5;
24157pub const INSN_FIELD_C_NZUIMM10_SIZE: u32 = 8;
24158pub const INSN_FIELD_C_UIMM7LO: u32 = 0x60;
24159pub const INSN_FIELD_C_UIMM7LO_START: u32 = 5;
24160pub const INSN_FIELD_C_UIMM7LO_SIZE: u32 = 2;
24161pub const INSN_FIELD_C_UIMM7HI: u32 = 0x1c00;
24162pub const INSN_FIELD_C_UIMM7HI_START: u32 = 10;
24163pub const INSN_FIELD_C_UIMM7HI_SIZE: u32 = 3;
24164pub const INSN_FIELD_C_UIMM8LO: u32 = 0x60;
24165pub const INSN_FIELD_C_UIMM8LO_START: u32 = 5;
24166pub const INSN_FIELD_C_UIMM8LO_SIZE: u32 = 2;
24167pub const INSN_FIELD_C_UIMM8HI: u32 = 0x1c00;
24168pub const INSN_FIELD_C_UIMM8HI_START: u32 = 10;
24169pub const INSN_FIELD_C_UIMM8HI_SIZE: u32 = 3;
24170pub const INSN_FIELD_C_UIMM9LO: u32 = 0x60;
24171pub const INSN_FIELD_C_UIMM9LO_START: u32 = 5;
24172pub const INSN_FIELD_C_UIMM9LO_SIZE: u32 = 2;
24173pub const INSN_FIELD_C_UIMM9HI: u32 = 0x1c00;
24174pub const INSN_FIELD_C_UIMM9HI_START: u32 = 10;
24175pub const INSN_FIELD_C_UIMM9HI_SIZE: u32 = 3;
24176pub const INSN_FIELD_C_NZIMM6LO: u32 = 0x7c;
24177pub const INSN_FIELD_C_NZIMM6LO_START: u32 = 2;
24178pub const INSN_FIELD_C_NZIMM6LO_SIZE: u32 = 5;
24179pub const INSN_FIELD_C_NZIMM6HI: u32 = 0x1000;
24180pub const INSN_FIELD_C_NZIMM6HI_START: u32 = 12;
24181pub const INSN_FIELD_C_NZIMM6HI_SIZE: u32 = 1;
24182pub const INSN_FIELD_C_IMM6LO: u32 = 0x7c;
24183pub const INSN_FIELD_C_IMM6LO_START: u32 = 2;
24184pub const INSN_FIELD_C_IMM6LO_SIZE: u32 = 5;
24185pub const INSN_FIELD_C_IMM6HI: u32 = 0x1000;
24186pub const INSN_FIELD_C_IMM6HI_START: u32 = 12;
24187pub const INSN_FIELD_C_IMM6HI_SIZE: u32 = 1;
24188pub const INSN_FIELD_C_NZIMM10HI: u32 = 0x1000;
24189pub const INSN_FIELD_C_NZIMM10HI_START: u32 = 12;
24190pub const INSN_FIELD_C_NZIMM10HI_SIZE: u32 = 1;
24191pub const INSN_FIELD_C_NZIMM10LO: u32 = 0x7c;
24192pub const INSN_FIELD_C_NZIMM10LO_START: u32 = 2;
24193pub const INSN_FIELD_C_NZIMM10LO_SIZE: u32 = 5;
24194pub const INSN_FIELD_C_NZIMM18HI: u32 = 0x1000;
24195pub const INSN_FIELD_C_NZIMM18HI_START: u32 = 12;
24196pub const INSN_FIELD_C_NZIMM18HI_SIZE: u32 = 1;
24197pub const INSN_FIELD_C_NZIMM18LO: u32 = 0x7c;
24198pub const INSN_FIELD_C_NZIMM18LO_START: u32 = 2;
24199pub const INSN_FIELD_C_NZIMM18LO_SIZE: u32 = 5;
24200pub const INSN_FIELD_C_IMM12: u32 = 0x1ffc;
24201pub const INSN_FIELD_C_IMM12_START: u32 = 2;
24202pub const INSN_FIELD_C_IMM12_SIZE: u32 = 11;
24203pub const INSN_FIELD_C_BIMM9LO: u32 = 0x7c;
24204pub const INSN_FIELD_C_BIMM9LO_START: u32 = 2;
24205pub const INSN_FIELD_C_BIMM9LO_SIZE: u32 = 5;
24206pub const INSN_FIELD_C_BIMM9HI: u32 = 0x1c00;
24207pub const INSN_FIELD_C_BIMM9HI_START: u32 = 10;
24208pub const INSN_FIELD_C_BIMM9HI_SIZE: u32 = 3;
24209pub const INSN_FIELD_C_NZUIMM5: u32 = 0x7c;
24210pub const INSN_FIELD_C_NZUIMM5_START: u32 = 2;
24211pub const INSN_FIELD_C_NZUIMM5_SIZE: u32 = 5;
24212pub const INSN_FIELD_C_NZUIMM6LO: u32 = 0x7c;
24213pub const INSN_FIELD_C_NZUIMM6LO_START: u32 = 2;
24214pub const INSN_FIELD_C_NZUIMM6LO_SIZE: u32 = 5;
24215pub const INSN_FIELD_C_NZUIMM6HI: u32 = 0x1000;
24216pub const INSN_FIELD_C_NZUIMM6HI_START: u32 = 12;
24217pub const INSN_FIELD_C_NZUIMM6HI_SIZE: u32 = 1;
24218pub const INSN_FIELD_C_UIMM8SPLO: u32 = 0x7c;
24219pub const INSN_FIELD_C_UIMM8SPLO_START: u32 = 2;
24220pub const INSN_FIELD_C_UIMM8SPLO_SIZE: u32 = 5;
24221pub const INSN_FIELD_C_UIMM8SPHI: u32 = 0x1000;
24222pub const INSN_FIELD_C_UIMM8SPHI_START: u32 = 12;
24223pub const INSN_FIELD_C_UIMM8SPHI_SIZE: u32 = 1;
24224pub const INSN_FIELD_C_UIMM8SP_S: u32 = 0x1f80;
24225pub const INSN_FIELD_C_UIMM8SP_S_START: u32 = 7;
24226pub const INSN_FIELD_C_UIMM8SP_S_SIZE: u32 = 6;
24227pub const INSN_FIELD_C_UIMM10SPLO: u32 = 0x7c;
24228pub const INSN_FIELD_C_UIMM10SPLO_START: u32 = 2;
24229pub const INSN_FIELD_C_UIMM10SPLO_SIZE: u32 = 5;
24230pub const INSN_FIELD_C_UIMM10SPHI: u32 = 0x1000;
24231pub const INSN_FIELD_C_UIMM10SPHI_START: u32 = 12;
24232pub const INSN_FIELD_C_UIMM10SPHI_SIZE: u32 = 1;
24233pub const INSN_FIELD_C_UIMM9SPLO: u32 = 0x7c;
24234pub const INSN_FIELD_C_UIMM9SPLO_START: u32 = 2;
24235pub const INSN_FIELD_C_UIMM9SPLO_SIZE: u32 = 5;
24236pub const INSN_FIELD_C_UIMM9SPHI: u32 = 0x1000;
24237pub const INSN_FIELD_C_UIMM9SPHI_START: u32 = 12;
24238pub const INSN_FIELD_C_UIMM9SPHI_SIZE: u32 = 1;
24239pub const INSN_FIELD_C_UIMM10SP_S: u32 = 0x1f80;
24240pub const INSN_FIELD_C_UIMM10SP_S_START: u32 = 7;
24241pub const INSN_FIELD_C_UIMM10SP_S_SIZE: u32 = 6;
24242pub const INSN_FIELD_C_UIMM9SP_S: u32 = 0x1f80;
24243pub const INSN_FIELD_C_UIMM9SP_S_START: u32 = 7;
24244pub const INSN_FIELD_C_UIMM9SP_S_SIZE: u32 = 6;
24245pub const INSN_FIELD_C_UIMM2: u32 = 0x60;
24246pub const INSN_FIELD_C_UIMM2_START: u32 = 5;
24247pub const INSN_FIELD_C_UIMM2_SIZE: u32 = 2;
24248pub const INSN_FIELD_C_UIMM1: u32 = 0x20;
24249pub const INSN_FIELD_C_UIMM1_START: u32 = 5;
24250pub const INSN_FIELD_C_UIMM1_SIZE: u32 = 1;
24251pub const INSN_FIELD_C_RLIST: u32 = 0xf0;
24252pub const INSN_FIELD_C_RLIST_START: u32 = 4;
24253pub const INSN_FIELD_C_RLIST_SIZE: u32 = 4;
24254pub const INSN_FIELD_C_SPIMM: u32 = 0xc;
24255pub const INSN_FIELD_C_SPIMM_START: u32 = 2;
24256pub const INSN_FIELD_C_SPIMM_SIZE: u32 = 2;
24257pub const INSN_FIELD_C_INDEX: u32 = 0x3fc;
24258pub const INSN_FIELD_C_INDEX_START: u32 = 2;
24259pub const INSN_FIELD_C_INDEX_SIZE: u32 = 8;
24260pub const INSN_FIELD_RS1_P: u32 = 0x380;
24261pub const INSN_FIELD_RS1_P_START: u32 = 7;
24262pub const INSN_FIELD_RS1_P_SIZE: u32 = 3;
24263pub const INSN_FIELD_RS2_P: u32 = 0x1c;
24264pub const INSN_FIELD_RS2_P_START: u32 = 2;
24265pub const INSN_FIELD_RS2_P_SIZE: u32 = 3;
24266pub const INSN_FIELD_RD_P: u32 = 0x1c;
24267pub const INSN_FIELD_RD_P_START: u32 = 2;
24268pub const INSN_FIELD_RD_P_SIZE: u32 = 3;
24269pub const INSN_FIELD_RD_RS1_N0: u32 = 0xf80;
24270pub const INSN_FIELD_RD_RS1_N0_START: u32 = 7;
24271pub const INSN_FIELD_RD_RS1_N0_SIZE: u32 = 5;
24272pub const INSN_FIELD_RD_RS1_P: u32 = 0x380;
24273pub const INSN_FIELD_RD_RS1_P_START: u32 = 7;
24274pub const INSN_FIELD_RD_RS1_P_SIZE: u32 = 3;
24275pub const INSN_FIELD_RD_RS1: u32 = 0xf80;
24276pub const INSN_FIELD_RD_RS1_START: u32 = 7;
24277pub const INSN_FIELD_RD_RS1_SIZE: u32 = 5;
24278pub const INSN_FIELD_RD_N2: u32 = 0xf80;
24279pub const INSN_FIELD_RD_N2_START: u32 = 7;
24280pub const INSN_FIELD_RD_N2_SIZE: u32 = 5;
24281pub const INSN_FIELD_RD_N0: u32 = 0xf80;
24282pub const INSN_FIELD_RD_N0_START: u32 = 7;
24283pub const INSN_FIELD_RD_N0_SIZE: u32 = 5;
24284pub const INSN_FIELD_RS1_N0: u32 = 0xf80;
24285pub const INSN_FIELD_RS1_N0_START: u32 = 7;
24286pub const INSN_FIELD_RS1_N0_SIZE: u32 = 5;
24287pub const INSN_FIELD_C_RS2_N0: u32 = 0x7c;
24288pub const INSN_FIELD_C_RS2_N0_START: u32 = 2;
24289pub const INSN_FIELD_C_RS2_N0_SIZE: u32 = 5;
24290pub const INSN_FIELD_C_RS1_N0: u32 = 0xf80;
24291pub const INSN_FIELD_C_RS1_N0_START: u32 = 7;
24292pub const INSN_FIELD_C_RS1_N0_SIZE: u32 = 5;
24293pub const INSN_FIELD_C_RS2: u32 = 0x7c;
24294pub const INSN_FIELD_C_RS2_START: u32 = 2;
24295pub const INSN_FIELD_C_RS2_SIZE: u32 = 5;
24296pub const INSN_FIELD_C_SREG1: u32 = 0x380;
24297pub const INSN_FIELD_C_SREG1_START: u32 = 7;
24298pub const INSN_FIELD_C_SREG1_SIZE: u32 = 3;
24299pub const INSN_FIELD_C_SREG2: u32 = 0x1c;
24300pub const INSN_FIELD_C_SREG2_START: u32 = 2;
24301pub const INSN_FIELD_C_SREG2_SIZE: u32 = 3;
24302pub const INSN_FIELD_MOP_R_T_30: u32 = 0x40000000;
24303pub const INSN_FIELD_MOP_R_T_30_START: u32 = 30;
24304pub const INSN_FIELD_MOP_R_T_30_SIZE: u32 = 1;
24305pub const INSN_FIELD_MOP_R_T_27_26: u32 = 0xc000000;
24306pub const INSN_FIELD_MOP_R_T_27_26_START: u32 = 26;
24307pub const INSN_FIELD_MOP_R_T_27_26_SIZE: u32 = 2;
24308pub const INSN_FIELD_MOP_R_T_21_20: u32 = 0x300000;
24309pub const INSN_FIELD_MOP_R_T_21_20_START: u32 = 20;
24310pub const INSN_FIELD_MOP_R_T_21_20_SIZE: u32 = 2;
24311pub const INSN_FIELD_MOP_RR_T_30: u32 = 0x40000000;
24312pub const INSN_FIELD_MOP_RR_T_30_START: u32 = 30;
24313pub const INSN_FIELD_MOP_RR_T_30_SIZE: u32 = 1;
24314pub const INSN_FIELD_MOP_RR_T_27_26: u32 = 0xc000000;
24315pub const INSN_FIELD_MOP_RR_T_27_26_START: u32 = 26;
24316pub const INSN_FIELD_MOP_RR_T_27_26_SIZE: u32 = 2;
24317pub const INSN_FIELD_C_MOP_T: u32 = 0x700;
24318pub const INSN_FIELD_C_MOP_T_START: u32 = 8;
24319pub const INSN_FIELD_C_MOP_T_SIZE: u32 = 3;
24320pub const INSN_FIELD_RS2_EQ_RS1: u32 = 0x1f00000;
24321pub const INSN_FIELD_RS2_EQ_RS1_START: u32 = 20;
24322pub const INSN_FIELD_RS2_EQ_RS1_SIZE: u32 = 5;
24323
24324#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
24326#[repr(transparent)]
24327pub struct InstructionValue {
24328 pub value: u32,
24329}
24330
24331impl InstructionValue {
24332 pub const fn new(value: u32) -> Self {
24333 Self { value }
24334 }
24335
24336 pub const fn field<const FIELD_START: usize, const FIELD_SIZE: usize>(self) -> u32 {
24337 (self.value >> FIELD_START) & ((1 << FIELD_SIZE) - 1)
24338 }
24339
24340 pub const fn rd(self) -> u32 {
24341 (self.value >> INSN_FIELD_RD_START) & ((1 << INSN_FIELD_RD_SIZE) - 1)
24342 }
24343
24344 pub const fn set_rd(mut self, value: u32) -> Self {
24345 let mask = INSN_FIELD_RD;
24346
24347 self.value &= !mask;
24348 self.value |= (value & ((1 << INSN_FIELD_RD_SIZE) - 1)) << INSN_FIELD_RD_START;
24349 self
24350 }
24351 pub const fn rt(self) -> u32 {
24352 (self.value >> INSN_FIELD_RT_START) & ((1 << INSN_FIELD_RT_SIZE) - 1)
24353 }
24354
24355 pub const fn set_rt(mut self, value: u32) -> Self {
24356 let mask = INSN_FIELD_RT;
24357
24358 self.value &= !mask;
24359 self.value |= (value & ((1 << INSN_FIELD_RT_SIZE) - 1)) << INSN_FIELD_RT_START;
24360 self
24361 }
24362 pub const fn rs1(self) -> u32 {
24363 (self.value >> INSN_FIELD_RS1_START) & ((1 << INSN_FIELD_RS1_SIZE) - 1)
24364 }
24365
24366 pub const fn set_rs1(mut self, value: u32) -> Self {
24367 let mask = INSN_FIELD_RS1;
24368
24369 self.value &= !mask;
24370 self.value |= (value & ((1 << INSN_FIELD_RS1_SIZE) - 1)) << INSN_FIELD_RS1_START;
24371 self
24372 }
24373 pub const fn rs2(self) -> u32 {
24374 (self.value >> INSN_FIELD_RS2_START) & ((1 << INSN_FIELD_RS2_SIZE) - 1)
24375 }
24376
24377 pub const fn set_rs2(mut self, value: u32) -> Self {
24378 let mask = INSN_FIELD_RS2;
24379
24380 self.value &= !mask;
24381 self.value |= (value & ((1 << INSN_FIELD_RS2_SIZE) - 1)) << INSN_FIELD_RS2_START;
24382 self
24383 }
24384 pub const fn rs3(self) -> u32 {
24385 (self.value >> INSN_FIELD_RS3_START) & ((1 << INSN_FIELD_RS3_SIZE) - 1)
24386 }
24387
24388 pub const fn set_rs3(mut self, value: u32) -> Self {
24389 let mask = INSN_FIELD_RS3;
24390
24391 self.value &= !mask;
24392 self.value |= (value & ((1 << INSN_FIELD_RS3_SIZE) - 1)) << INSN_FIELD_RS3_START;
24393 self
24394 }
24395 pub const fn aqrl(self) -> u32 {
24396 (self.value >> INSN_FIELD_AQRL_START) & ((1 << INSN_FIELD_AQRL_SIZE) - 1)
24397 }
24398
24399 pub const fn set_aqrl(mut self, value: u32) -> Self {
24400 let mask = INSN_FIELD_AQRL;
24401
24402 self.value &= !mask;
24403 self.value |= (value & ((1 << INSN_FIELD_AQRL_SIZE) - 1)) << INSN_FIELD_AQRL_START;
24404 self
24405 }
24406 pub const fn aq(self) -> u32 {
24407 (self.value >> INSN_FIELD_AQ_START) & ((1 << INSN_FIELD_AQ_SIZE) - 1)
24408 }
24409
24410 pub const fn set_aq(mut self, value: u32) -> Self {
24411 let mask = INSN_FIELD_AQ;
24412
24413 self.value &= !mask;
24414 self.value |= (value & ((1 << INSN_FIELD_AQ_SIZE) - 1)) << INSN_FIELD_AQ_START;
24415 self
24416 }
24417 pub const fn rl(self) -> u32 {
24418 (self.value >> INSN_FIELD_RL_START) & ((1 << INSN_FIELD_RL_SIZE) - 1)
24419 }
24420
24421 pub const fn set_rl(mut self, value: u32) -> Self {
24422 let mask = INSN_FIELD_RL;
24423
24424 self.value &= !mask;
24425 self.value |= (value & ((1 << INSN_FIELD_RL_SIZE) - 1)) << INSN_FIELD_RL_START;
24426 self
24427 }
24428 pub const fn fm(self) -> u32 {
24429 (self.value >> INSN_FIELD_FM_START) & ((1 << INSN_FIELD_FM_SIZE) - 1)
24430 }
24431
24432 pub const fn set_fm(mut self, value: u32) -> Self {
24433 let mask = INSN_FIELD_FM;
24434
24435 self.value &= !mask;
24436 self.value |= (value & ((1 << INSN_FIELD_FM_SIZE) - 1)) << INSN_FIELD_FM_START;
24437 self
24438 }
24439 pub const fn pred(self) -> u32 {
24440 (self.value >> INSN_FIELD_PRED_START) & ((1 << INSN_FIELD_PRED_SIZE) - 1)
24441 }
24442
24443 pub const fn set_pred(mut self, value: u32) -> Self {
24444 let mask = INSN_FIELD_PRED;
24445
24446 self.value &= !mask;
24447 self.value |= (value & ((1 << INSN_FIELD_PRED_SIZE) - 1)) << INSN_FIELD_PRED_START;
24448 self
24449 }
24450 pub const fn succ(self) -> u32 {
24451 (self.value >> INSN_FIELD_SUCC_START) & ((1 << INSN_FIELD_SUCC_SIZE) - 1)
24452 }
24453
24454 pub const fn set_succ(mut self, value: u32) -> Self {
24455 let mask = INSN_FIELD_SUCC;
24456
24457 self.value &= !mask;
24458 self.value |= (value & ((1 << INSN_FIELD_SUCC_SIZE) - 1)) << INSN_FIELD_SUCC_START;
24459 self
24460 }
24461 pub const fn rm(self) -> u32 {
24462 (self.value >> INSN_FIELD_RM_START) & ((1 << INSN_FIELD_RM_SIZE) - 1)
24463 }
24464
24465 pub const fn set_rm(mut self, value: u32) -> Self {
24466 let mask = INSN_FIELD_RM;
24467
24468 self.value &= !mask;
24469 self.value |= (value & ((1 << INSN_FIELD_RM_SIZE) - 1)) << INSN_FIELD_RM_START;
24470 self
24471 }
24472 pub const fn funct3(self) -> u32 {
24473 (self.value >> INSN_FIELD_FUNCT3_START) & ((1 << INSN_FIELD_FUNCT3_SIZE) - 1)
24474 }
24475
24476 pub const fn set_funct3(mut self, value: u32) -> Self {
24477 let mask = INSN_FIELD_FUNCT3;
24478
24479 self.value &= !mask;
24480 self.value |= (value & ((1 << INSN_FIELD_FUNCT3_SIZE) - 1)) << INSN_FIELD_FUNCT3_START;
24481 self
24482 }
24483 pub const fn funct2(self) -> u32 {
24484 (self.value >> INSN_FIELD_FUNCT2_START) & ((1 << INSN_FIELD_FUNCT2_SIZE) - 1)
24485 }
24486
24487 pub const fn set_funct2(mut self, value: u32) -> Self {
24488 let mask = INSN_FIELD_FUNCT2;
24489
24490 self.value &= !mask;
24491 self.value |= (value & ((1 << INSN_FIELD_FUNCT2_SIZE) - 1)) << INSN_FIELD_FUNCT2_START;
24492 self
24493 }
24494 pub const fn imm20_raw(self) -> u32 {
24495 (self.value >> INSN_FIELD_IMM20_START) & ((1 << INSN_FIELD_IMM20_SIZE) - 1)
24496 }
24497
24498 pub const fn set_imm20_raw(mut self, value: u32) -> Self {
24499 let mask = INSN_FIELD_IMM20;
24500
24501 self.value &= !mask;
24502 self.value |= (value & ((1 << INSN_FIELD_IMM20_SIZE) - 1)) << INSN_FIELD_IMM20_START;
24503 self
24504 }
24505 pub const fn jimm20_raw(self) -> u32 {
24506 (self.value >> INSN_FIELD_JIMM20_START) & ((1 << INSN_FIELD_JIMM20_SIZE) - 1)
24507 }
24508
24509 pub const fn set_jimm20_raw(mut self, value: u32) -> Self {
24510 let mask = INSN_FIELD_JIMM20;
24511
24512 self.value &= !mask;
24513 self.value |= (value & ((1 << INSN_FIELD_JIMM20_SIZE) - 1)) << INSN_FIELD_JIMM20_START;
24514 self
24515 }
24516 pub const fn imm12_raw(self) -> u32 {
24517 (self.value >> INSN_FIELD_IMM12_START) & ((1 << INSN_FIELD_IMM12_SIZE) - 1)
24518 }
24519
24520 pub const fn set_imm12_raw(mut self, value: u32) -> Self {
24521 let mask = INSN_FIELD_IMM12;
24522
24523 self.value &= !mask;
24524 self.value |= (value & ((1 << INSN_FIELD_IMM12_SIZE) - 1)) << INSN_FIELD_IMM12_START;
24525 self
24526 }
24527 pub const fn csr(self) -> u32 {
24528 (self.value >> INSN_FIELD_CSR_START) & ((1 << INSN_FIELD_CSR_SIZE) - 1)
24529 }
24530
24531 pub const fn set_csr(mut self, value: u32) -> Self {
24532 let mask = INSN_FIELD_CSR;
24533
24534 self.value &= !mask;
24535 self.value |= (value & ((1 << INSN_FIELD_CSR_SIZE) - 1)) << INSN_FIELD_CSR_START;
24536 self
24537 }
24538 pub const fn imm12hi_raw(self) -> u32 {
24539 (self.value >> INSN_FIELD_IMM12HI_START) & ((1 << INSN_FIELD_IMM12HI_SIZE) - 1)
24540 }
24541
24542 pub const fn set_imm12hi_raw(mut self, value: u32) -> Self {
24543 let mask = INSN_FIELD_IMM12HI;
24544
24545 self.value &= !mask;
24546 self.value |= (value & ((1 << INSN_FIELD_IMM12HI_SIZE) - 1)) << INSN_FIELD_IMM12HI_START;
24547 self
24548 }
24549 pub const fn bimm12hi_raw(self) -> u32 {
24550 (self.value >> INSN_FIELD_BIMM12HI_START) & ((1 << INSN_FIELD_BIMM12HI_SIZE) - 1)
24551 }
24552
24553 pub const fn set_bimm12hi_raw(mut self, value: u32) -> Self {
24554 let mask = INSN_FIELD_BIMM12HI;
24555
24556 self.value &= !mask;
24557 self.value |= (value & ((1 << INSN_FIELD_BIMM12HI_SIZE) - 1)) << INSN_FIELD_BIMM12HI_START;
24558 self
24559 }
24560 pub const fn imm12lo_raw(self) -> u32 {
24561 (self.value >> INSN_FIELD_IMM12LO_START) & ((1 << INSN_FIELD_IMM12LO_SIZE) - 1)
24562 }
24563
24564 pub const fn set_imm12lo_raw(mut self, value: u32) -> Self {
24565 let mask = INSN_FIELD_IMM12LO;
24566
24567 self.value &= !mask;
24568 self.value |= (value & ((1 << INSN_FIELD_IMM12LO_SIZE) - 1)) << INSN_FIELD_IMM12LO_START;
24569 self
24570 }
24571 pub const fn bimm12lo_raw(self) -> u32 {
24572 (self.value >> INSN_FIELD_BIMM12LO_START) & ((1 << INSN_FIELD_BIMM12LO_SIZE) - 1)
24573 }
24574
24575 pub const fn set_bimm12lo_raw(mut self, value: u32) -> Self {
24576 let mask = INSN_FIELD_BIMM12LO;
24577
24578 self.value &= !mask;
24579 self.value |= (value & ((1 << INSN_FIELD_BIMM12LO_SIZE) - 1)) << INSN_FIELD_BIMM12LO_START;
24580 self
24581 }
24582 pub const fn shamtq(self) -> u32 {
24583 (self.value >> INSN_FIELD_SHAMTQ_START) & ((1 << INSN_FIELD_SHAMTQ_SIZE) - 1)
24584 }
24585
24586 pub const fn set_shamtq(mut self, value: u32) -> Self {
24587 let mask = INSN_FIELD_SHAMTQ;
24588
24589 self.value &= !mask;
24590 self.value |= (value & ((1 << INSN_FIELD_SHAMTQ_SIZE) - 1)) << INSN_FIELD_SHAMTQ_START;
24591 self
24592 }
24593 pub const fn shamtw(self) -> u32 {
24594 (self.value >> INSN_FIELD_SHAMTW_START) & ((1 << INSN_FIELD_SHAMTW_SIZE) - 1)
24595 }
24596
24597 pub const fn set_shamtw(mut self, value: u32) -> Self {
24598 let mask = INSN_FIELD_SHAMTW;
24599
24600 self.value &= !mask;
24601 self.value |= (value & ((1 << INSN_FIELD_SHAMTW_SIZE) - 1)) << INSN_FIELD_SHAMTW_START;
24602 self
24603 }
24604 pub const fn shamtw4(self) -> u32 {
24605 (self.value >> INSN_FIELD_SHAMTW4_START) & ((1 << INSN_FIELD_SHAMTW4_SIZE) - 1)
24606 }
24607
24608 pub const fn set_shamtw4(mut self, value: u32) -> Self {
24609 let mask = INSN_FIELD_SHAMTW4;
24610
24611 self.value &= !mask;
24612 self.value |= (value & ((1 << INSN_FIELD_SHAMTW4_SIZE) - 1)) << INSN_FIELD_SHAMTW4_START;
24613 self
24614 }
24615 pub const fn shamtd(self) -> u32 {
24616 (self.value >> INSN_FIELD_SHAMTD_START) & ((1 << INSN_FIELD_SHAMTD_SIZE) - 1)
24617 }
24618
24619 pub const fn set_shamtd(mut self, value: u32) -> Self {
24620 let mask = INSN_FIELD_SHAMTD;
24621
24622 self.value &= !mask;
24623 self.value |= (value & ((1 << INSN_FIELD_SHAMTD_SIZE) - 1)) << INSN_FIELD_SHAMTD_START;
24624 self
24625 }
24626 pub const fn bs(self) -> u32 {
24627 (self.value >> INSN_FIELD_BS_START) & ((1 << INSN_FIELD_BS_SIZE) - 1)
24628 }
24629
24630 pub const fn set_bs(mut self, value: u32) -> Self {
24631 let mask = INSN_FIELD_BS;
24632
24633 self.value &= !mask;
24634 self.value |= (value & ((1 << INSN_FIELD_BS_SIZE) - 1)) << INSN_FIELD_BS_START;
24635 self
24636 }
24637 pub const fn rnum(self) -> u32 {
24638 (self.value >> INSN_FIELD_RNUM_START) & ((1 << INSN_FIELD_RNUM_SIZE) - 1)
24639 }
24640
24641 pub const fn set_rnum(mut self, value: u32) -> Self {
24642 let mask = INSN_FIELD_RNUM;
24643
24644 self.value &= !mask;
24645 self.value |= (value & ((1 << INSN_FIELD_RNUM_SIZE) - 1)) << INSN_FIELD_RNUM_START;
24646 self
24647 }
24648 pub const fn rc(self) -> u32 {
24649 (self.value >> INSN_FIELD_RC_START) & ((1 << INSN_FIELD_RC_SIZE) - 1)
24650 }
24651
24652 pub const fn set_rc(mut self, value: u32) -> Self {
24653 let mask = INSN_FIELD_RC;
24654
24655 self.value &= !mask;
24656 self.value |= (value & ((1 << INSN_FIELD_RC_SIZE) - 1)) << INSN_FIELD_RC_START;
24657 self
24658 }
24659 pub const fn imm2_raw(self) -> u32 {
24660 (self.value >> INSN_FIELD_IMM2_START) & ((1 << INSN_FIELD_IMM2_SIZE) - 1)
24661 }
24662
24663 pub const fn set_imm2_raw(mut self, value: u32) -> Self {
24664 let mask = INSN_FIELD_IMM2;
24665
24666 self.value &= !mask;
24667 self.value |= (value & ((1 << INSN_FIELD_IMM2_SIZE) - 1)) << INSN_FIELD_IMM2_START;
24668 self
24669 }
24670 pub const fn imm3_raw(self) -> u32 {
24671 (self.value >> INSN_FIELD_IMM3_START) & ((1 << INSN_FIELD_IMM3_SIZE) - 1)
24672 }
24673
24674 pub const fn set_imm3_raw(mut self, value: u32) -> Self {
24675 let mask = INSN_FIELD_IMM3;
24676
24677 self.value &= !mask;
24678 self.value |= (value & ((1 << INSN_FIELD_IMM3_SIZE) - 1)) << INSN_FIELD_IMM3_START;
24679 self
24680 }
24681 pub const fn imm4_raw(self) -> u32 {
24682 (self.value >> INSN_FIELD_IMM4_START) & ((1 << INSN_FIELD_IMM4_SIZE) - 1)
24683 }
24684
24685 pub const fn set_imm4_raw(mut self, value: u32) -> Self {
24686 let mask = INSN_FIELD_IMM4;
24687
24688 self.value &= !mask;
24689 self.value |= (value & ((1 << INSN_FIELD_IMM4_SIZE) - 1)) << INSN_FIELD_IMM4_START;
24690 self
24691 }
24692 pub const fn imm5_raw(self) -> u32 {
24693 (self.value >> INSN_FIELD_IMM5_START) & ((1 << INSN_FIELD_IMM5_SIZE) - 1)
24694 }
24695
24696 pub const fn set_imm5_raw(mut self, value: u32) -> Self {
24697 let mask = INSN_FIELD_IMM5;
24698
24699 self.value &= !mask;
24700 self.value |= (value & ((1 << INSN_FIELD_IMM5_SIZE) - 1)) << INSN_FIELD_IMM5_START;
24701 self
24702 }
24703 pub const fn imm6_raw(self) -> u32 {
24704 (self.value >> INSN_FIELD_IMM6_START) & ((1 << INSN_FIELD_IMM6_SIZE) - 1)
24705 }
24706
24707 pub const fn set_imm6_raw(mut self, value: u32) -> Self {
24708 let mask = INSN_FIELD_IMM6;
24709
24710 self.value &= !mask;
24711 self.value |= (value & ((1 << INSN_FIELD_IMM6_SIZE) - 1)) << INSN_FIELD_IMM6_START;
24712 self
24713 }
24714 pub const fn zimm_raw(self) -> u32 {
24715 (self.value >> INSN_FIELD_ZIMM_START) & ((1 << INSN_FIELD_ZIMM_SIZE) - 1)
24716 }
24717
24718 pub const fn set_zimm_raw(mut self, value: u32) -> Self {
24719 let mask = INSN_FIELD_ZIMM;
24720
24721 self.value &= !mask;
24722 self.value |= (value & ((1 << INSN_FIELD_ZIMM_SIZE) - 1)) << INSN_FIELD_ZIMM_START;
24723 self
24724 }
24725 pub const fn opcode(self) -> u32 {
24726 (self.value >> INSN_FIELD_OPCODE_START) & ((1 << INSN_FIELD_OPCODE_SIZE) - 1)
24727 }
24728
24729 pub const fn set_opcode(mut self, value: u32) -> Self {
24730 let mask = INSN_FIELD_OPCODE;
24731
24732 self.value &= !mask;
24733 self.value |= (value & ((1 << INSN_FIELD_OPCODE_SIZE) - 1)) << INSN_FIELD_OPCODE_START;
24734 self
24735 }
24736 pub const fn funct7(self) -> u32 {
24737 (self.value >> INSN_FIELD_FUNCT7_START) & ((1 << INSN_FIELD_FUNCT7_SIZE) - 1)
24738 }
24739
24740 pub const fn set_funct7(mut self, value: u32) -> Self {
24741 let mask = INSN_FIELD_FUNCT7;
24742
24743 self.value &= !mask;
24744 self.value |= (value & ((1 << INSN_FIELD_FUNCT7_SIZE) - 1)) << INSN_FIELD_FUNCT7_START;
24745 self
24746 }
24747 pub const fn vd(self) -> u32 {
24748 (self.value >> INSN_FIELD_VD_START) & ((1 << INSN_FIELD_VD_SIZE) - 1)
24749 }
24750
24751 pub const fn set_vd(mut self, value: u32) -> Self {
24752 let mask = INSN_FIELD_VD;
24753
24754 self.value &= !mask;
24755 self.value |= (value & ((1 << INSN_FIELD_VD_SIZE) - 1)) << INSN_FIELD_VD_START;
24756 self
24757 }
24758 pub const fn vs3(self) -> u32 {
24759 (self.value >> INSN_FIELD_VS3_START) & ((1 << INSN_FIELD_VS3_SIZE) - 1)
24760 }
24761
24762 pub const fn set_vs3(mut self, value: u32) -> Self {
24763 let mask = INSN_FIELD_VS3;
24764
24765 self.value &= !mask;
24766 self.value |= (value & ((1 << INSN_FIELD_VS3_SIZE) - 1)) << INSN_FIELD_VS3_START;
24767 self
24768 }
24769 pub const fn vs1(self) -> u32 {
24770 (self.value >> INSN_FIELD_VS1_START) & ((1 << INSN_FIELD_VS1_SIZE) - 1)
24771 }
24772
24773 pub const fn set_vs1(mut self, value: u32) -> Self {
24774 let mask = INSN_FIELD_VS1;
24775
24776 self.value &= !mask;
24777 self.value |= (value & ((1 << INSN_FIELD_VS1_SIZE) - 1)) << INSN_FIELD_VS1_START;
24778 self
24779 }
24780 pub const fn vs2(self) -> u32 {
24781 (self.value >> INSN_FIELD_VS2_START) & ((1 << INSN_FIELD_VS2_SIZE) - 1)
24782 }
24783
24784 pub const fn set_vs2(mut self, value: u32) -> Self {
24785 let mask = INSN_FIELD_VS2;
24786
24787 self.value &= !mask;
24788 self.value |= (value & ((1 << INSN_FIELD_VS2_SIZE) - 1)) << INSN_FIELD_VS2_START;
24789 self
24790 }
24791 pub const fn vm(self) -> u32 {
24792 (self.value >> INSN_FIELD_VM_START) & ((1 << INSN_FIELD_VM_SIZE) - 1)
24793 }
24794
24795 pub const fn set_vm(mut self, value: u32) -> Self {
24796 let mask = INSN_FIELD_VM;
24797
24798 self.value &= !mask;
24799 self.value |= (value & ((1 << INSN_FIELD_VM_SIZE) - 1)) << INSN_FIELD_VM_START;
24800 self
24801 }
24802 pub const fn wd(self) -> u32 {
24803 (self.value >> INSN_FIELD_WD_START) & ((1 << INSN_FIELD_WD_SIZE) - 1)
24804 }
24805
24806 pub const fn set_wd(mut self, value: u32) -> Self {
24807 let mask = INSN_FIELD_WD;
24808
24809 self.value &= !mask;
24810 self.value |= (value & ((1 << INSN_FIELD_WD_SIZE) - 1)) << INSN_FIELD_WD_START;
24811 self
24812 }
24813 pub const fn amoop(self) -> u32 {
24814 (self.value >> INSN_FIELD_AMOOP_START) & ((1 << INSN_FIELD_AMOOP_SIZE) - 1)
24815 }
24816
24817 pub const fn set_amoop(mut self, value: u32) -> Self {
24818 let mask = INSN_FIELD_AMOOP;
24819
24820 self.value &= !mask;
24821 self.value |= (value & ((1 << INSN_FIELD_AMOOP_SIZE) - 1)) << INSN_FIELD_AMOOP_START;
24822 self
24823 }
24824 pub const fn nf(self) -> u32 {
24825 (self.value >> INSN_FIELD_NF_START) & ((1 << INSN_FIELD_NF_SIZE) - 1)
24826 }
24827
24828 pub const fn set_nf(mut self, value: u32) -> Self {
24829 let mask = INSN_FIELD_NF;
24830
24831 self.value &= !mask;
24832 self.value |= (value & ((1 << INSN_FIELD_NF_SIZE) - 1)) << INSN_FIELD_NF_START;
24833 self
24834 }
24835 pub const fn simm5_raw(self) -> u32 {
24836 (self.value >> INSN_FIELD_SIMM5_START) & ((1 << INSN_FIELD_SIMM5_SIZE) - 1)
24837 }
24838
24839 pub const fn set_simm5_raw(mut self, value: u32) -> Self {
24840 let mask = INSN_FIELD_SIMM5;
24841
24842 self.value &= !mask;
24843 self.value |= (value & ((1 << INSN_FIELD_SIMM5_SIZE) - 1)) << INSN_FIELD_SIMM5_START;
24844 self
24845 }
24846 pub const fn zimm5_raw(self) -> u32 {
24847 (self.value >> INSN_FIELD_ZIMM5_START) & ((1 << INSN_FIELD_ZIMM5_SIZE) - 1)
24848 }
24849
24850 pub const fn set_zimm5_raw(mut self, value: u32) -> Self {
24851 let mask = INSN_FIELD_ZIMM5;
24852
24853 self.value &= !mask;
24854 self.value |= (value & ((1 << INSN_FIELD_ZIMM5_SIZE) - 1)) << INSN_FIELD_ZIMM5_START;
24855 self
24856 }
24857 pub const fn zimm10_raw(self) -> u32 {
24858 (self.value >> INSN_FIELD_ZIMM10_START) & ((1 << INSN_FIELD_ZIMM10_SIZE) - 1)
24859 }
24860
24861 pub const fn set_zimm10_raw(mut self, value: u32) -> Self {
24862 let mask = INSN_FIELD_ZIMM10;
24863
24864 self.value &= !mask;
24865 self.value |= (value & ((1 << INSN_FIELD_ZIMM10_SIZE) - 1)) << INSN_FIELD_ZIMM10_START;
24866 self
24867 }
24868 pub const fn zimm11_raw(self) -> u32 {
24869 (self.value >> INSN_FIELD_ZIMM11_START) & ((1 << INSN_FIELD_ZIMM11_SIZE) - 1)
24870 }
24871
24872 pub const fn set_zimm11_raw(mut self, value: u32) -> Self {
24873 let mask = INSN_FIELD_ZIMM11;
24874
24875 self.value &= !mask;
24876 self.value |= (value & ((1 << INSN_FIELD_ZIMM11_SIZE) - 1)) << INSN_FIELD_ZIMM11_START;
24877 self
24878 }
24879 pub const fn zimm6hi_raw(self) -> u32 {
24880 (self.value >> INSN_FIELD_ZIMM6HI_START) & ((1 << INSN_FIELD_ZIMM6HI_SIZE) - 1)
24881 }
24882
24883 pub const fn set_zimm6hi_raw(mut self, value: u32) -> Self {
24884 let mask = INSN_FIELD_ZIMM6HI;
24885
24886 self.value &= !mask;
24887 self.value |= (value & ((1 << INSN_FIELD_ZIMM6HI_SIZE) - 1)) << INSN_FIELD_ZIMM6HI_START;
24888 self
24889 }
24890 pub const fn zimm6lo_raw(self) -> u32 {
24891 (self.value >> INSN_FIELD_ZIMM6LO_START) & ((1 << INSN_FIELD_ZIMM6LO_SIZE) - 1)
24892 }
24893
24894 pub const fn set_zimm6lo_raw(mut self, value: u32) -> Self {
24895 let mask = INSN_FIELD_ZIMM6LO;
24896
24897 self.value &= !mask;
24898 self.value |= (value & ((1 << INSN_FIELD_ZIMM6LO_SIZE) - 1)) << INSN_FIELD_ZIMM6LO_START;
24899 self
24900 }
24901 pub const fn c_nzuimm10_raw(self) -> u32 {
24902 (self.value >> INSN_FIELD_C_NZUIMM10_START) & ((1 << INSN_FIELD_C_NZUIMM10_SIZE) - 1)
24903 }
24904
24905 pub const fn set_c_nzuimm10_raw(mut self, value: u32) -> Self {
24906 let mask = INSN_FIELD_C_NZUIMM10;
24907
24908 self.value &= !mask;
24909 self.value |=
24910 (value & ((1 << INSN_FIELD_C_NZUIMM10_SIZE) - 1)) << INSN_FIELD_C_NZUIMM10_START;
24911 self
24912 }
24913 pub const fn c_uimm7lo_raw(self) -> u32 {
24914 (self.value >> INSN_FIELD_C_UIMM7LO_START) & ((1 << INSN_FIELD_C_UIMM7LO_SIZE) - 1)
24915 }
24916
24917 pub const fn set_c_uimm7lo_raw(mut self, value: u32) -> Self {
24918 let mask = INSN_FIELD_C_UIMM7LO;
24919
24920 self.value &= !mask;
24921 self.value |=
24922 (value & ((1 << INSN_FIELD_C_UIMM7LO_SIZE) - 1)) << INSN_FIELD_C_UIMM7LO_START;
24923 self
24924 }
24925 pub const fn c_uimm7hi_raw(self) -> u32 {
24926 (self.value >> INSN_FIELD_C_UIMM7HI_START) & ((1 << INSN_FIELD_C_UIMM7HI_SIZE) - 1)
24927 }
24928
24929 pub const fn set_c_uimm7hi_raw(mut self, value: u32) -> Self {
24930 let mask = INSN_FIELD_C_UIMM7HI;
24931
24932 self.value &= !mask;
24933 self.value |=
24934 (value & ((1 << INSN_FIELD_C_UIMM7HI_SIZE) - 1)) << INSN_FIELD_C_UIMM7HI_START;
24935 self
24936 }
24937 pub const fn c_uimm8lo_raw(self) -> u32 {
24938 (self.value >> INSN_FIELD_C_UIMM8LO_START) & ((1 << INSN_FIELD_C_UIMM8LO_SIZE) - 1)
24939 }
24940
24941 pub const fn set_c_uimm8lo_raw(mut self, value: u32) -> Self {
24942 let mask = INSN_FIELD_C_UIMM8LO;
24943
24944 self.value &= !mask;
24945 self.value |=
24946 (value & ((1 << INSN_FIELD_C_UIMM8LO_SIZE) - 1)) << INSN_FIELD_C_UIMM8LO_START;
24947 self
24948 }
24949 pub const fn c_uimm8hi_raw(self) -> u32 {
24950 (self.value >> INSN_FIELD_C_UIMM8HI_START) & ((1 << INSN_FIELD_C_UIMM8HI_SIZE) - 1)
24951 }
24952
24953 pub const fn set_c_uimm8hi_raw(mut self, value: u32) -> Self {
24954 let mask = INSN_FIELD_C_UIMM8HI;
24955
24956 self.value &= !mask;
24957 self.value |=
24958 (value & ((1 << INSN_FIELD_C_UIMM8HI_SIZE) - 1)) << INSN_FIELD_C_UIMM8HI_START;
24959 self
24960 }
24961 pub const fn c_uimm9lo_raw(self) -> u32 {
24962 (self.value >> INSN_FIELD_C_UIMM9LO_START) & ((1 << INSN_FIELD_C_UIMM9LO_SIZE) - 1)
24963 }
24964
24965 pub const fn set_c_uimm9lo_raw(mut self, value: u32) -> Self {
24966 let mask = INSN_FIELD_C_UIMM9LO;
24967
24968 self.value &= !mask;
24969 self.value |=
24970 (value & ((1 << INSN_FIELD_C_UIMM9LO_SIZE) - 1)) << INSN_FIELD_C_UIMM9LO_START;
24971 self
24972 }
24973 pub const fn c_uimm9hi_raw(self) -> u32 {
24974 (self.value >> INSN_FIELD_C_UIMM9HI_START) & ((1 << INSN_FIELD_C_UIMM9HI_SIZE) - 1)
24975 }
24976
24977 pub const fn set_c_uimm9hi_raw(mut self, value: u32) -> Self {
24978 let mask = INSN_FIELD_C_UIMM9HI;
24979
24980 self.value &= !mask;
24981 self.value |=
24982 (value & ((1 << INSN_FIELD_C_UIMM9HI_SIZE) - 1)) << INSN_FIELD_C_UIMM9HI_START;
24983 self
24984 }
24985 pub const fn c_nzimm6lo_raw(self) -> u32 {
24986 (self.value >> INSN_FIELD_C_NZIMM6LO_START) & ((1 << INSN_FIELD_C_NZIMM6LO_SIZE) - 1)
24987 }
24988
24989 pub const fn set_c_nzimm6lo_raw(mut self, value: u32) -> Self {
24990 let mask = INSN_FIELD_C_NZIMM6LO;
24991
24992 self.value &= !mask;
24993 self.value |=
24994 (value & ((1 << INSN_FIELD_C_NZIMM6LO_SIZE) - 1)) << INSN_FIELD_C_NZIMM6LO_START;
24995 self
24996 }
24997 pub const fn c_nzimm6hi_raw(self) -> u32 {
24998 (self.value >> INSN_FIELD_C_NZIMM6HI_START) & ((1 << INSN_FIELD_C_NZIMM6HI_SIZE) - 1)
24999 }
25000
25001 pub const fn set_c_nzimm6hi_raw(mut self, value: u32) -> Self {
25002 let mask = INSN_FIELD_C_NZIMM6HI;
25003
25004 self.value &= !mask;
25005 self.value |=
25006 (value & ((1 << INSN_FIELD_C_NZIMM6HI_SIZE) - 1)) << INSN_FIELD_C_NZIMM6HI_START;
25007 self
25008 }
25009 pub const fn c_imm6lo_raw(self) -> u32 {
25010 (self.value >> INSN_FIELD_C_IMM6LO_START) & ((1 << INSN_FIELD_C_IMM6LO_SIZE) - 1)
25011 }
25012
25013 pub const fn set_c_imm6lo_raw(mut self, value: u32) -> Self {
25014 let mask = INSN_FIELD_C_IMM6LO;
25015
25016 self.value &= !mask;
25017 self.value |= (value & ((1 << INSN_FIELD_C_IMM6LO_SIZE) - 1)) << INSN_FIELD_C_IMM6LO_START;
25018 self
25019 }
25020 pub const fn c_imm6hi_raw(self) -> u32 {
25021 (self.value >> INSN_FIELD_C_IMM6HI_START) & ((1 << INSN_FIELD_C_IMM6HI_SIZE) - 1)
25022 }
25023
25024 pub const fn set_c_imm6hi_raw(mut self, value: u32) -> Self {
25025 let mask = INSN_FIELD_C_IMM6HI;
25026
25027 self.value &= !mask;
25028 self.value |= (value & ((1 << INSN_FIELD_C_IMM6HI_SIZE) - 1)) << INSN_FIELD_C_IMM6HI_START;
25029 self
25030 }
25031 pub const fn c_nzimm10hi_raw(self) -> u32 {
25032 (self.value >> INSN_FIELD_C_NZIMM10HI_START) & ((1 << INSN_FIELD_C_NZIMM10HI_SIZE) - 1)
25033 }
25034
25035 pub const fn set_c_nzimm10hi_raw(mut self, value: u32) -> Self {
25036 let mask = INSN_FIELD_C_NZIMM10HI;
25037
25038 self.value &= !mask;
25039 self.value |=
25040 (value & ((1 << INSN_FIELD_C_NZIMM10HI_SIZE) - 1)) << INSN_FIELD_C_NZIMM10HI_START;
25041 self
25042 }
25043 pub const fn c_nzimm10lo_raw(self) -> u32 {
25044 (self.value >> INSN_FIELD_C_NZIMM10LO_START) & ((1 << INSN_FIELD_C_NZIMM10LO_SIZE) - 1)
25045 }
25046
25047 pub const fn set_c_nzimm10lo_raw(mut self, value: u32) -> Self {
25048 let mask = INSN_FIELD_C_NZIMM10LO;
25049
25050 self.value &= !mask;
25051 self.value |=
25052 (value & ((1 << INSN_FIELD_C_NZIMM10LO_SIZE) - 1)) << INSN_FIELD_C_NZIMM10LO_START;
25053 self
25054 }
25055 pub const fn c_nzimm18hi_raw(self) -> u32 {
25056 (self.value >> INSN_FIELD_C_NZIMM18HI_START) & ((1 << INSN_FIELD_C_NZIMM18HI_SIZE) - 1)
25057 }
25058
25059 pub const fn set_c_nzimm18hi_raw(mut self, value: u32) -> Self {
25060 let mask = INSN_FIELD_C_NZIMM18HI;
25061
25062 self.value &= !mask;
25063 self.value |=
25064 (value & ((1 << INSN_FIELD_C_NZIMM18HI_SIZE) - 1)) << INSN_FIELD_C_NZIMM18HI_START;
25065 self
25066 }
25067 pub const fn c_nzimm18lo_raw(self) -> u32 {
25068 (self.value >> INSN_FIELD_C_NZIMM18LO_START) & ((1 << INSN_FIELD_C_NZIMM18LO_SIZE) - 1)
25069 }
25070
25071 pub const fn set_c_nzimm18lo_raw(mut self, value: u32) -> Self {
25072 let mask = INSN_FIELD_C_NZIMM18LO;
25073
25074 self.value &= !mask;
25075 self.value |=
25076 (value & ((1 << INSN_FIELD_C_NZIMM18LO_SIZE) - 1)) << INSN_FIELD_C_NZIMM18LO_START;
25077 self
25078 }
25079 pub const fn c_imm12_raw(self) -> u32 {
25080 (self.value >> INSN_FIELD_C_IMM12_START) & ((1 << INSN_FIELD_C_IMM12_SIZE) - 1)
25081 }
25082
25083 pub const fn set_c_imm12_raw(mut self, value: u32) -> Self {
25084 let mask = INSN_FIELD_C_IMM12;
25085
25086 self.value &= !mask;
25087 self.value |= (value & ((1 << INSN_FIELD_C_IMM12_SIZE) - 1)) << INSN_FIELD_C_IMM12_START;
25088 self
25089 }
25090 pub const fn c_bimm9lo_raw(self) -> u32 {
25091 (self.value >> INSN_FIELD_C_BIMM9LO_START) & ((1 << INSN_FIELD_C_BIMM9LO_SIZE) - 1)
25092 }
25093
25094 pub const fn set_c_bimm9lo_raw(mut self, value: u32) -> Self {
25095 let mask = INSN_FIELD_C_BIMM9LO;
25096
25097 self.value &= !mask;
25098 self.value |=
25099 (value & ((1 << INSN_FIELD_C_BIMM9LO_SIZE) - 1)) << INSN_FIELD_C_BIMM9LO_START;
25100 self
25101 }
25102 pub const fn c_bimm9hi_raw(self) -> u32 {
25103 (self.value >> INSN_FIELD_C_BIMM9HI_START) & ((1 << INSN_FIELD_C_BIMM9HI_SIZE) - 1)
25104 }
25105
25106 pub const fn set_c_bimm9hi_raw(mut self, value: u32) -> Self {
25107 let mask = INSN_FIELD_C_BIMM9HI;
25108
25109 self.value &= !mask;
25110 self.value |=
25111 (value & ((1 << INSN_FIELD_C_BIMM9HI_SIZE) - 1)) << INSN_FIELD_C_BIMM9HI_START;
25112 self
25113 }
25114 pub const fn c_nzuimm5_raw(self) -> u32 {
25115 (self.value >> INSN_FIELD_C_NZUIMM5_START) & ((1 << INSN_FIELD_C_NZUIMM5_SIZE) - 1)
25116 }
25117
25118 pub const fn set_c_nzuimm5_raw(mut self, value: u32) -> Self {
25119 let mask = INSN_FIELD_C_NZUIMM5;
25120
25121 self.value &= !mask;
25122 self.value |=
25123 (value & ((1 << INSN_FIELD_C_NZUIMM5_SIZE) - 1)) << INSN_FIELD_C_NZUIMM5_START;
25124 self
25125 }
25126 pub const fn c_nzuimm6lo_raw(self) -> u32 {
25127 (self.value >> INSN_FIELD_C_NZUIMM6LO_START) & ((1 << INSN_FIELD_C_NZUIMM6LO_SIZE) - 1)
25128 }
25129
25130 pub const fn set_c_nzuimm6lo_raw(mut self, value: u32) -> Self {
25131 let mask = INSN_FIELD_C_NZUIMM6LO;
25132
25133 self.value &= !mask;
25134 self.value |=
25135 (value & ((1 << INSN_FIELD_C_NZUIMM6LO_SIZE) - 1)) << INSN_FIELD_C_NZUIMM6LO_START;
25136 self
25137 }
25138 pub const fn c_nzuimm6hi_raw(self) -> u32 {
25139 (self.value >> INSN_FIELD_C_NZUIMM6HI_START) & ((1 << INSN_FIELD_C_NZUIMM6HI_SIZE) - 1)
25140 }
25141
25142 pub const fn set_c_nzuimm6hi_raw(mut self, value: u32) -> Self {
25143 let mask = INSN_FIELD_C_NZUIMM6HI;
25144
25145 self.value &= !mask;
25146 self.value |=
25147 (value & ((1 << INSN_FIELD_C_NZUIMM6HI_SIZE) - 1)) << INSN_FIELD_C_NZUIMM6HI_START;
25148 self
25149 }
25150 pub const fn c_uimm8splo_raw(self) -> u32 {
25151 (self.value >> INSN_FIELD_C_UIMM8SPLO_START) & ((1 << INSN_FIELD_C_UIMM8SPLO_SIZE) - 1)
25152 }
25153
25154 pub const fn set_c_uimm8splo_raw(mut self, value: u32) -> Self {
25155 let mask = INSN_FIELD_C_UIMM8SPLO;
25156
25157 self.value &= !mask;
25158 self.value |=
25159 (value & ((1 << INSN_FIELD_C_UIMM8SPLO_SIZE) - 1)) << INSN_FIELD_C_UIMM8SPLO_START;
25160 self
25161 }
25162 pub const fn c_uimm8sphi_raw(self) -> u32 {
25163 (self.value >> INSN_FIELD_C_UIMM8SPHI_START) & ((1 << INSN_FIELD_C_UIMM8SPHI_SIZE) - 1)
25164 }
25165
25166 pub const fn set_c_uimm8sphi_raw(mut self, value: u32) -> Self {
25167 let mask = INSN_FIELD_C_UIMM8SPHI;
25168
25169 self.value &= !mask;
25170 self.value |=
25171 (value & ((1 << INSN_FIELD_C_UIMM8SPHI_SIZE) - 1)) << INSN_FIELD_C_UIMM8SPHI_START;
25172 self
25173 }
25174 pub const fn c_uimm8sp_s_raw(self) -> u32 {
25175 (self.value >> INSN_FIELD_C_UIMM8SP_S_START) & ((1 << INSN_FIELD_C_UIMM8SP_S_SIZE) - 1)
25176 }
25177
25178 pub const fn set_c_uimm8sp_s_raw(mut self, value: u32) -> Self {
25179 let mask = INSN_FIELD_C_UIMM8SP_S;
25180
25181 self.value &= !mask;
25182 self.value |=
25183 (value & ((1 << INSN_FIELD_C_UIMM8SP_S_SIZE) - 1)) << INSN_FIELD_C_UIMM8SP_S_START;
25184 self
25185 }
25186 pub const fn c_uimm10splo_raw(self) -> u32 {
25187 (self.value >> INSN_FIELD_C_UIMM10SPLO_START) & ((1 << INSN_FIELD_C_UIMM10SPLO_SIZE) - 1)
25188 }
25189
25190 pub const fn set_c_uimm10splo_raw(mut self, value: u32) -> Self {
25191 let mask = INSN_FIELD_C_UIMM10SPLO;
25192
25193 self.value &= !mask;
25194 self.value |=
25195 (value & ((1 << INSN_FIELD_C_UIMM10SPLO_SIZE) - 1)) << INSN_FIELD_C_UIMM10SPLO_START;
25196 self
25197 }
25198 pub const fn c_uimm10sphi_raw(self) -> u32 {
25199 (self.value >> INSN_FIELD_C_UIMM10SPHI_START) & ((1 << INSN_FIELD_C_UIMM10SPHI_SIZE) - 1)
25200 }
25201
25202 pub const fn set_c_uimm10sphi_raw(mut self, value: u32) -> Self {
25203 let mask = INSN_FIELD_C_UIMM10SPHI;
25204
25205 self.value &= !mask;
25206 self.value |=
25207 (value & ((1 << INSN_FIELD_C_UIMM10SPHI_SIZE) - 1)) << INSN_FIELD_C_UIMM10SPHI_START;
25208 self
25209 }
25210 pub const fn c_uimm9splo_raw(self) -> u32 {
25211 (self.value >> INSN_FIELD_C_UIMM9SPLO_START) & ((1 << INSN_FIELD_C_UIMM9SPLO_SIZE) - 1)
25212 }
25213
25214 pub const fn set_c_uimm9splo_raw(mut self, value: u32) -> Self {
25215 let mask = INSN_FIELD_C_UIMM9SPLO;
25216
25217 self.value &= !mask;
25218 self.value |=
25219 (value & ((1 << INSN_FIELD_C_UIMM9SPLO_SIZE) - 1)) << INSN_FIELD_C_UIMM9SPLO_START;
25220 self
25221 }
25222 pub const fn c_uimm9sphi_raw(self) -> u32 {
25223 (self.value >> INSN_FIELD_C_UIMM9SPHI_START) & ((1 << INSN_FIELD_C_UIMM9SPHI_SIZE) - 1)
25224 }
25225
25226 pub const fn set_c_uimm9sphi_raw(mut self, value: u32) -> Self {
25227 let mask = INSN_FIELD_C_UIMM9SPHI;
25228
25229 self.value &= !mask;
25230 self.value |=
25231 (value & ((1 << INSN_FIELD_C_UIMM9SPHI_SIZE) - 1)) << INSN_FIELD_C_UIMM9SPHI_START;
25232 self
25233 }
25234 pub const fn c_uimm10sp_s_raw(self) -> u32 {
25235 (self.value >> INSN_FIELD_C_UIMM10SP_S_START) & ((1 << INSN_FIELD_C_UIMM10SP_S_SIZE) - 1)
25236 }
25237
25238 pub const fn set_c_uimm10sp_s_raw(mut self, value: u32) -> Self {
25239 let mask = INSN_FIELD_C_UIMM10SP_S;
25240
25241 self.value &= !mask;
25242 self.value |=
25243 (value & ((1 << INSN_FIELD_C_UIMM10SP_S_SIZE) - 1)) << INSN_FIELD_C_UIMM10SP_S_START;
25244 self
25245 }
25246 pub const fn c_uimm9sp_s_raw(self) -> u32 {
25247 (self.value >> INSN_FIELD_C_UIMM9SP_S_START) & ((1 << INSN_FIELD_C_UIMM9SP_S_SIZE) - 1)
25248 }
25249
25250 pub const fn set_c_uimm9sp_s_raw(mut self, value: u32) -> Self {
25251 let mask = INSN_FIELD_C_UIMM9SP_S;
25252
25253 self.value &= !mask;
25254 self.value |=
25255 (value & ((1 << INSN_FIELD_C_UIMM9SP_S_SIZE) - 1)) << INSN_FIELD_C_UIMM9SP_S_START;
25256 self
25257 }
25258 pub const fn c_uimm2_raw(self) -> u32 {
25259 (self.value >> INSN_FIELD_C_UIMM2_START) & ((1 << INSN_FIELD_C_UIMM2_SIZE) - 1)
25260 }
25261
25262 pub const fn set_c_uimm2_raw(mut self, value: u32) -> Self {
25263 let mask = INSN_FIELD_C_UIMM2;
25264
25265 self.value &= !mask;
25266 self.value |= (value & ((1 << INSN_FIELD_C_UIMM2_SIZE) - 1)) << INSN_FIELD_C_UIMM2_START;
25267 self
25268 }
25269 pub const fn c_uimm1_raw(self) -> u32 {
25270 (self.value >> INSN_FIELD_C_UIMM1_START) & ((1 << INSN_FIELD_C_UIMM1_SIZE) - 1)
25271 }
25272
25273 pub const fn set_c_uimm1_raw(mut self, value: u32) -> Self {
25274 let mask = INSN_FIELD_C_UIMM1;
25275
25276 self.value &= !mask;
25277 self.value |= (value & ((1 << INSN_FIELD_C_UIMM1_SIZE) - 1)) << INSN_FIELD_C_UIMM1_START;
25278 self
25279 }
25280 pub const fn c_rlist(self) -> u32 {
25281 (self.value >> INSN_FIELD_C_RLIST_START) & ((1 << INSN_FIELD_C_RLIST_SIZE) - 1)
25282 }
25283
25284 pub const fn set_c_rlist(mut self, value: u32) -> Self {
25285 let mask = INSN_FIELD_C_RLIST;
25286
25287 self.value &= !mask;
25288 self.value |= (value & ((1 << INSN_FIELD_C_RLIST_SIZE) - 1)) << INSN_FIELD_C_RLIST_START;
25289 self
25290 }
25291 pub const fn c_spimm_raw(self) -> u32 {
25292 (self.value >> INSN_FIELD_C_SPIMM_START) & ((1 << INSN_FIELD_C_SPIMM_SIZE) - 1)
25293 }
25294
25295 pub const fn set_c_spimm_raw(mut self, value: u32) -> Self {
25296 let mask = INSN_FIELD_C_SPIMM;
25297
25298 self.value &= !mask;
25299 self.value |= (value & ((1 << INSN_FIELD_C_SPIMM_SIZE) - 1)) << INSN_FIELD_C_SPIMM_START;
25300 self
25301 }
25302 pub const fn c_index(self) -> u32 {
25303 (self.value >> INSN_FIELD_C_INDEX_START) & ((1 << INSN_FIELD_C_INDEX_SIZE) - 1)
25304 }
25305
25306 pub const fn set_c_index(mut self, value: u32) -> Self {
25307 let mask = INSN_FIELD_C_INDEX;
25308
25309 self.value &= !mask;
25310 self.value |= (value & ((1 << INSN_FIELD_C_INDEX_SIZE) - 1)) << INSN_FIELD_C_INDEX_START;
25311 self
25312 }
25313 pub const fn rs1_p(self) -> u32 {
25314 (self.value >> INSN_FIELD_RS1_P_START) & ((1 << INSN_FIELD_RS1_P_SIZE) - 1)
25315 }
25316
25317 pub const fn set_rs1_p(mut self, value: u32) -> Self {
25318 let mask = INSN_FIELD_RS1_P;
25319
25320 self.value &= !mask;
25321 self.value |= (value & ((1 << INSN_FIELD_RS1_P_SIZE) - 1)) << INSN_FIELD_RS1_P_START;
25322 self
25323 }
25324 pub const fn rs2_p(self) -> u32 {
25325 (self.value >> INSN_FIELD_RS2_P_START) & ((1 << INSN_FIELD_RS2_P_SIZE) - 1)
25326 }
25327
25328 pub const fn set_rs2_p(mut self, value: u32) -> Self {
25329 let mask = INSN_FIELD_RS2_P;
25330
25331 self.value &= !mask;
25332 self.value |= (value & ((1 << INSN_FIELD_RS2_P_SIZE) - 1)) << INSN_FIELD_RS2_P_START;
25333 self
25334 }
25335 pub const fn rd_p(self) -> u32 {
25336 (self.value >> INSN_FIELD_RD_P_START) & ((1 << INSN_FIELD_RD_P_SIZE) - 1)
25337 }
25338
25339 pub const fn set_rd_p(mut self, value: u32) -> Self {
25340 let mask = INSN_FIELD_RD_P;
25341
25342 self.value &= !mask;
25343 self.value |= (value & ((1 << INSN_FIELD_RD_P_SIZE) - 1)) << INSN_FIELD_RD_P_START;
25344 self
25345 }
25346 pub const fn rd_rs1_n0(self) -> u32 {
25347 (self.value >> INSN_FIELD_RD_RS1_N0_START) & ((1 << INSN_FIELD_RD_RS1_N0_SIZE) - 1)
25348 }
25349
25350 pub const fn set_rd_rs1_n0(mut self, value: u32) -> Self {
25351 let mask = INSN_FIELD_RD_RS1_N0;
25352
25353 self.value &= !mask;
25354 self.value |=
25355 (value & ((1 << INSN_FIELD_RD_RS1_N0_SIZE) - 1)) << INSN_FIELD_RD_RS1_N0_START;
25356 self
25357 }
25358 pub const fn rd_rs1_p(self) -> u32 {
25359 (self.value >> INSN_FIELD_RD_RS1_P_START) & ((1 << INSN_FIELD_RD_RS1_P_SIZE) - 1)
25360 }
25361
25362 pub const fn set_rd_rs1_p(mut self, value: u32) -> Self {
25363 let mask = INSN_FIELD_RD_RS1_P;
25364
25365 self.value &= !mask;
25366 self.value |= (value & ((1 << INSN_FIELD_RD_RS1_P_SIZE) - 1)) << INSN_FIELD_RD_RS1_P_START;
25367 self
25368 }
25369 pub const fn rd_rs1(self) -> u32 {
25370 (self.value >> INSN_FIELD_RD_RS1_START) & ((1 << INSN_FIELD_RD_RS1_SIZE) - 1)
25371 }
25372
25373 pub const fn set_rd_rs1(mut self, value: u32) -> Self {
25374 let mask = INSN_FIELD_RD_RS1;
25375
25376 self.value &= !mask;
25377 self.value |= (value & ((1 << INSN_FIELD_RD_RS1_SIZE) - 1)) << INSN_FIELD_RD_RS1_START;
25378 self
25379 }
25380 pub const fn rd_n2(self) -> u32 {
25381 (self.value >> INSN_FIELD_RD_N2_START) & ((1 << INSN_FIELD_RD_N2_SIZE) - 1)
25382 }
25383
25384 pub const fn set_rd_n2(mut self, value: u32) -> Self {
25385 let mask = INSN_FIELD_RD_N2;
25386
25387 self.value &= !mask;
25388 self.value |= (value & ((1 << INSN_FIELD_RD_N2_SIZE) - 1)) << INSN_FIELD_RD_N2_START;
25389 self
25390 }
25391 pub const fn rd_n0(self) -> u32 {
25392 (self.value >> INSN_FIELD_RD_N0_START) & ((1 << INSN_FIELD_RD_N0_SIZE) - 1)
25393 }
25394
25395 pub const fn set_rd_n0(mut self, value: u32) -> Self {
25396 let mask = INSN_FIELD_RD_N0;
25397
25398 self.value &= !mask;
25399 self.value |= (value & ((1 << INSN_FIELD_RD_N0_SIZE) - 1)) << INSN_FIELD_RD_N0_START;
25400 self
25401 }
25402 pub const fn rs1_n0(self) -> u32 {
25403 (self.value >> INSN_FIELD_RS1_N0_START) & ((1 << INSN_FIELD_RS1_N0_SIZE) - 1)
25404 }
25405
25406 pub const fn set_rs1_n0(mut self, value: u32) -> Self {
25407 let mask = INSN_FIELD_RS1_N0;
25408
25409 self.value &= !mask;
25410 self.value |= (value & ((1 << INSN_FIELD_RS1_N0_SIZE) - 1)) << INSN_FIELD_RS1_N0_START;
25411 self
25412 }
25413 pub const fn c_rs2_n0(self) -> u32 {
25414 (self.value >> INSN_FIELD_C_RS2_N0_START) & ((1 << INSN_FIELD_C_RS2_N0_SIZE) - 1)
25415 }
25416
25417 pub const fn set_c_rs2_n0(mut self, value: u32) -> Self {
25418 let mask = INSN_FIELD_C_RS2_N0;
25419
25420 self.value &= !mask;
25421 self.value |= (value & ((1 << INSN_FIELD_C_RS2_N0_SIZE) - 1)) << INSN_FIELD_C_RS2_N0_START;
25422 self
25423 }
25424 pub const fn c_rs1_n0(self) -> u32 {
25425 (self.value >> INSN_FIELD_C_RS1_N0_START) & ((1 << INSN_FIELD_C_RS1_N0_SIZE) - 1)
25426 }
25427
25428 pub const fn set_c_rs1_n0(mut self, value: u32) -> Self {
25429 let mask = INSN_FIELD_C_RS1_N0;
25430
25431 self.value &= !mask;
25432 self.value |= (value & ((1 << INSN_FIELD_C_RS1_N0_SIZE) - 1)) << INSN_FIELD_C_RS1_N0_START;
25433 self
25434 }
25435 pub const fn c_rs2(self) -> u32 {
25436 (self.value >> INSN_FIELD_C_RS2_START) & ((1 << INSN_FIELD_C_RS2_SIZE) - 1)
25437 }
25438
25439 pub const fn set_c_rs2(mut self, value: u32) -> Self {
25440 let mask = INSN_FIELD_C_RS2;
25441
25442 self.value &= !mask;
25443 self.value |= (value & ((1 << INSN_FIELD_C_RS2_SIZE) - 1)) << INSN_FIELD_C_RS2_START;
25444 self
25445 }
25446 pub const fn c_sreg1(self) -> u32 {
25447 (self.value >> INSN_FIELD_C_SREG1_START) & ((1 << INSN_FIELD_C_SREG1_SIZE) - 1)
25448 }
25449
25450 pub const fn set_c_sreg1(mut self, value: u32) -> Self {
25451 let mask = INSN_FIELD_C_SREG1;
25452
25453 self.value &= !mask;
25454 self.value |= (value & ((1 << INSN_FIELD_C_SREG1_SIZE) - 1)) << INSN_FIELD_C_SREG1_START;
25455 self
25456 }
25457 pub const fn c_sreg2(self) -> u32 {
25458 (self.value >> INSN_FIELD_C_SREG2_START) & ((1 << INSN_FIELD_C_SREG2_SIZE) - 1)
25459 }
25460
25461 pub const fn set_c_sreg2(mut self, value: u32) -> Self {
25462 let mask = INSN_FIELD_C_SREG2;
25463
25464 self.value &= !mask;
25465 self.value |= (value & ((1 << INSN_FIELD_C_SREG2_SIZE) - 1)) << INSN_FIELD_C_SREG2_START;
25466 self
25467 }
25468 pub const fn mop_r_t_30(self) -> u32 {
25469 (self.value >> INSN_FIELD_MOP_R_T_30_START) & ((1 << INSN_FIELD_MOP_R_T_30_SIZE) - 1)
25470 }
25471
25472 pub const fn set_mop_r_t_30(mut self, value: u32) -> Self {
25473 let mask = INSN_FIELD_MOP_R_T_30;
25474
25475 self.value &= !mask;
25476 self.value |=
25477 (value & ((1 << INSN_FIELD_MOP_R_T_30_SIZE) - 1)) << INSN_FIELD_MOP_R_T_30_START;
25478 self
25479 }
25480 pub const fn mop_r_t_27_26(self) -> u32 {
25481 (self.value >> INSN_FIELD_MOP_R_T_27_26_START) & ((1 << INSN_FIELD_MOP_R_T_27_26_SIZE) - 1)
25482 }
25483
25484 pub const fn set_mop_r_t_27_26(mut self, value: u32) -> Self {
25485 let mask = INSN_FIELD_MOP_R_T_27_26;
25486
25487 self.value &= !mask;
25488 self.value |=
25489 (value & ((1 << INSN_FIELD_MOP_R_T_27_26_SIZE) - 1)) << INSN_FIELD_MOP_R_T_27_26_START;
25490 self
25491 }
25492 pub const fn mop_r_t_21_20(self) -> u32 {
25493 (self.value >> INSN_FIELD_MOP_R_T_21_20_START) & ((1 << INSN_FIELD_MOP_R_T_21_20_SIZE) - 1)
25494 }
25495
25496 pub const fn set_mop_r_t_21_20(mut self, value: u32) -> Self {
25497 let mask = INSN_FIELD_MOP_R_T_21_20;
25498
25499 self.value &= !mask;
25500 self.value |=
25501 (value & ((1 << INSN_FIELD_MOP_R_T_21_20_SIZE) - 1)) << INSN_FIELD_MOP_R_T_21_20_START;
25502 self
25503 }
25504 pub const fn mop_rr_t_30(self) -> u32 {
25505 (self.value >> INSN_FIELD_MOP_RR_T_30_START) & ((1 << INSN_FIELD_MOP_RR_T_30_SIZE) - 1)
25506 }
25507
25508 pub const fn set_mop_rr_t_30(mut self, value: u32) -> Self {
25509 let mask = INSN_FIELD_MOP_RR_T_30;
25510
25511 self.value &= !mask;
25512 self.value |=
25513 (value & ((1 << INSN_FIELD_MOP_RR_T_30_SIZE) - 1)) << INSN_FIELD_MOP_RR_T_30_START;
25514 self
25515 }
25516 pub const fn mop_rr_t_27_26(self) -> u32 {
25517 (self.value >> INSN_FIELD_MOP_RR_T_27_26_START)
25518 & ((1 << INSN_FIELD_MOP_RR_T_27_26_SIZE) - 1)
25519 }
25520
25521 pub const fn set_mop_rr_t_27_26(mut self, value: u32) -> Self {
25522 let mask = INSN_FIELD_MOP_RR_T_27_26;
25523
25524 self.value &= !mask;
25525 self.value |= (value & ((1 << INSN_FIELD_MOP_RR_T_27_26_SIZE) - 1))
25526 << INSN_FIELD_MOP_RR_T_27_26_START;
25527 self
25528 }
25529 pub const fn c_mop_t(self) -> u32 {
25530 (self.value >> INSN_FIELD_C_MOP_T_START) & ((1 << INSN_FIELD_C_MOP_T_SIZE) - 1)
25531 }
25532
25533 pub const fn set_c_mop_t(mut self, value: u32) -> Self {
25534 let mask = INSN_FIELD_C_MOP_T;
25535
25536 self.value &= !mask;
25537 self.value |= (value & ((1 << INSN_FIELD_C_MOP_T_SIZE) - 1)) << INSN_FIELD_C_MOP_T_START;
25538 self
25539 }
25540 pub const fn rs2_eq_rs1(self) -> u32 {
25541 (self.value >> INSN_FIELD_RS2_EQ_RS1_START) & ((1 << INSN_FIELD_RS2_EQ_RS1_SIZE) - 1)
25542 }
25543
25544 pub const fn set_rs2_eq_rs1(mut self, value: u32) -> Self {
25545 let mask = INSN_FIELD_RS2_EQ_RS1;
25546
25547 self.value &= !mask;
25548 self.value |=
25549 (value & ((1 << INSN_FIELD_RS2_EQ_RS1_SIZE) - 1)) << INSN_FIELD_RS2_EQ_RS1_START;
25550 self
25551 }
25552
25553 pub const fn imm20(self) -> i32 {
25555 decode_immediate(&IMM20, self.value as _) as _
25556 }
25557
25558 pub const fn set_imm20(mut self, imm20: i32) -> Self {
25559 self.value |= encode_immediate(&IMM20, imm20 as _);
25560 self
25561 }
25562
25563 pub const fn jimm20(self) -> i32 {
25565 decode_immediate(&JIMM20, self.value as _) as _
25566 }
25567
25568 pub const fn set_jimm20(mut self, jimm20: i32) -> Self {
25569 self.value |= encode_immediate(&JIMM20, jimm20 as _);
25570 self
25571 }
25572
25573 pub const fn imm12(self) -> i32 {
25575 decode_immediate(&IMM12, self.value as _) as _
25576 }
25577
25578 pub const fn set_imm12(mut self, imm12: i32) -> Self {
25579 self.value |= encode_immediate(&IMM12, imm12 as _);
25580 self
25581 }
25582
25583 pub const fn imm12lohi(self) -> i32 {
25585 decode_immediate(&IMM12LOHI, self.value as _) as _
25586 }
25587
25588 pub const fn set_imm12lohi(mut self, imm12lohi: i32) -> Self {
25589 self.value |= encode_immediate(&IMM12LOHI, imm12lohi as _);
25590 self
25591 }
25592
25593 pub const fn bimm12lohi(self) -> i32 {
25595 decode_immediate(&BIMM12LOHI, self.value as _) as _
25596 }
25597
25598 pub const fn set_bimm12lohi(mut self, bimm12lohi: i32) -> Self {
25599 self.value |= encode_immediate(&BIMM12LOHI, bimm12lohi as _);
25600 self
25601 }
25602
25603 pub const fn imm2(self) -> i32 {
25605 decode_immediate(&IMM2, self.value as _) as _
25606 }
25607
25608 pub const fn set_imm2(mut self, imm2: i32) -> Self {
25609 self.value |= encode_immediate(&IMM2, imm2 as _);
25610 self
25611 }
25612
25613 pub const fn imm3(self) -> i32 {
25615 decode_immediate(&IMM3, self.value as _) as _
25616 }
25617
25618 pub const fn set_imm3(mut self, imm3: i32) -> Self {
25619 self.value |= encode_immediate(&IMM3, imm3 as _);
25620 self
25621 }
25622
25623 pub const fn imm4(self) -> i32 {
25625 decode_immediate(&IMM4, self.value as _) as _
25626 }
25627
25628 pub const fn set_imm4(mut self, imm4: i32) -> Self {
25629 self.value |= encode_immediate(&IMM4, imm4 as _);
25630 self
25631 }
25632
25633 pub const fn imm5(self) -> i32 {
25635 decode_immediate(&IMM5, self.value as _) as _
25636 }
25637
25638 pub const fn set_imm5(mut self, imm5: i32) -> Self {
25639 self.value |= encode_immediate(&IMM5, imm5 as _);
25640 self
25641 }
25642
25643 pub const fn imm6(self) -> i32 {
25645 decode_immediate(&IMM6, self.value as _) as _
25646 }
25647
25648 pub const fn set_imm6(mut self, imm6: i32) -> Self {
25649 self.value |= encode_immediate(&IMM6, imm6 as _);
25650 self
25651 }
25652
25653 pub const fn zimm(self) -> i32 {
25655 decode_immediate(&ZIMM, self.value as _) as _
25656 }
25657
25658 pub const fn set_zimm(mut self, zimm: i32) -> Self {
25659 self.value |= encode_immediate(&ZIMM, zimm as _);
25660 self
25661 }
25662
25663 pub const fn simm5(self) -> i32 {
25665 decode_immediate(&SIMM5, self.value as _) as _
25666 }
25667
25668 pub const fn set_simm5(mut self, simm5: i32) -> Self {
25669 self.value |= encode_immediate(&SIMM5, simm5 as _);
25670 self
25671 }
25672
25673 pub const fn zimm5(self) -> i32 {
25675 decode_immediate(&ZIMM5, self.value as _) as _
25676 }
25677
25678 pub const fn set_zimm5(mut self, zimm5: i32) -> Self {
25679 self.value |= encode_immediate(&ZIMM5, zimm5 as _);
25680 self
25681 }
25682
25683 pub const fn zimm10(self) -> i32 {
25685 decode_immediate(&ZIMM10, self.value as _) as _
25686 }
25687
25688 pub const fn set_zimm10(mut self, zimm10: i32) -> Self {
25689 self.value |= encode_immediate(&ZIMM10, zimm10 as _);
25690 self
25691 }
25692
25693 pub const fn zimm11(self) -> i32 {
25695 decode_immediate(&ZIMM11, self.value as _) as _
25696 }
25697
25698 pub const fn set_zimm11(mut self, zimm11: i32) -> Self {
25699 self.value |= encode_immediate(&ZIMM11, zimm11 as _);
25700 self
25701 }
25702
25703 pub const fn zimm6lohi(self) -> i32 {
25705 decode_immediate(&ZIMM6LOHI, self.value as _) as _
25706 }
25707
25708 pub const fn set_zimm6lohi(mut self, zimm6lohi: i32) -> Self {
25709 self.value |= encode_immediate(&ZIMM6LOHI, zimm6lohi as _);
25710 self
25711 }
25712
25713 pub const fn c_nzuimm10(self) -> u32 {
25715 decode_immediate(&C_NZUIMM10, self.value as _) as _
25716 }
25717
25718 pub const fn set_c_nzuimm10(mut self, c_nzuimm10: u32) -> Self {
25719 self.value |= encode_immediate(&C_NZUIMM10, c_nzuimm10 as _);
25720 self
25721 }
25722
25723 pub const fn c_uimm7lohi(self) -> u32 {
25725 decode_immediate(&C_UIMM7LOHI, self.value as _) as _
25726 }
25727
25728 pub const fn set_c_uimm7lohi(mut self, c_uimm7lohi: u32) -> Self {
25729 self.value |= encode_immediate(&C_UIMM7LOHI, c_uimm7lohi as _);
25730 self
25731 }
25732
25733 pub const fn c_uimm8lohi(self) -> u32 {
25735 decode_immediate(&C_UIMM8LOHI, self.value as _) as _
25736 }
25737
25738 pub const fn set_c_uimm8lohi(mut self, c_uimm8lohi: u32) -> Self {
25739 self.value |= encode_immediate(&C_UIMM8LOHI, c_uimm8lohi as _);
25740 self
25741 }
25742
25743 pub const fn c_uimm9lohi(self) -> u32 {
25745 decode_immediate(&C_UIMM9LOHI, self.value as _) as _
25746 }
25747
25748 pub const fn set_c_uimm9lohi(mut self, c_uimm9lohi: u32) -> Self {
25749 self.value |= encode_immediate(&C_UIMM9LOHI, c_uimm9lohi as _);
25750 self
25751 }
25752
25753 pub const fn c_nzimm6lohi(self) -> i32 {
25755 decode_immediate(&C_NZIMM6LOHI, self.value as _) as _
25756 }
25757
25758 pub const fn set_c_nzimm6lohi(mut self, c_nzimm6lohi: i32) -> Self {
25759 self.value |= encode_immediate(&C_NZIMM6LOHI, c_nzimm6lohi as _);
25760 self
25761 }
25762
25763 pub const fn c_imm6lohi(self) -> i32 {
25765 decode_immediate(&C_IMM6LOHI, self.value as _) as _
25766 }
25767
25768 pub const fn set_c_imm6lohi(mut self, c_imm6lohi: i32) -> Self {
25769 self.value |= encode_immediate(&C_IMM6LOHI, c_imm6lohi as _);
25770 self
25771 }
25772
25773 pub const fn c_nzimm10lohi(self) -> i32 {
25775 decode_immediate(&C_NZIMM10LOHI, self.value as _) as _
25776 }
25777
25778 pub const fn set_c_nzimm10lohi(mut self, c_nzimm10lohi: i32) -> Self {
25779 self.value |= encode_immediate(&C_NZIMM10LOHI, c_nzimm10lohi as _);
25780 self
25781 }
25782
25783 pub const fn c_nzimm18lohi(self) -> i32 {
25785 decode_immediate(&C_NZIMM18LOHI, self.value as _) as _
25786 }
25787
25788 pub const fn set_c_nzimm18lohi(mut self, c_nzimm18lohi: i32) -> Self {
25789 self.value |= encode_immediate(&C_NZIMM18LOHI, c_nzimm18lohi as _);
25790 self
25791 }
25792
25793 pub const fn c_imm12(self) -> i32 {
25795 decode_immediate(&C_IMM12, self.value as _) as _
25796 }
25797
25798 pub const fn set_c_imm12(mut self, c_imm12: i32) -> Self {
25799 self.value |= encode_immediate(&C_IMM12, c_imm12 as _);
25800 self
25801 }
25802
25803 pub const fn c_bimm9lohi(self) -> i32 {
25805 decode_immediate(&C_BIMM9LOHI, self.value as _) as _
25806 }
25807
25808 pub const fn set_c_bimm9lohi(mut self, c_bimm9lohi: i32) -> Self {
25809 self.value |= encode_immediate(&C_BIMM9LOHI, c_bimm9lohi as _);
25810 self
25811 }
25812
25813 pub const fn c_nzuimm5(self) -> u32 {
25815 decode_immediate(&C_NZUIMM5, self.value as _) as _
25816 }
25817
25818 pub const fn set_c_nzuimm5(mut self, c_nzuimm5: u32) -> Self {
25819 self.value |= encode_immediate(&C_NZUIMM5, c_nzuimm5 as _);
25820 self
25821 }
25822
25823 pub const fn c_nzuimm6lohi(self) -> u32 {
25825 decode_immediate(&C_NZUIMM6LOHI, self.value as _) as _
25826 }
25827
25828 pub const fn set_c_nzuimm6lohi(mut self, c_nzuimm6lohi: u32) -> Self {
25829 self.value |= encode_immediate(&C_NZUIMM6LOHI, c_nzuimm6lohi as _);
25830 self
25831 }
25832
25833 pub const fn c_uimm8splohi(self) -> u32 {
25835 decode_immediate(&C_UIMM8SPLOHI, self.value as _) as _
25836 }
25837
25838 pub const fn set_c_uimm8splohi(mut self, c_uimm8splohi: u32) -> Self {
25839 self.value |= encode_immediate(&C_UIMM8SPLOHI, c_uimm8splohi as _);
25840 self
25841 }
25842
25843 pub const fn c_uimm8sp_s(self) -> u32 {
25845 decode_immediate(&C_UIMM8SP_S, self.value as _) as _
25846 }
25847
25848 pub const fn set_c_uimm8sp_s(mut self, c_uimm8sp_s: u32) -> Self {
25849 self.value |= encode_immediate(&C_UIMM8SP_S, c_uimm8sp_s as _);
25850 self
25851 }
25852
25853 pub const fn c_uimm10splohi(self) -> u32 {
25855 decode_immediate(&C_UIMM10SPLOHI, self.value as _) as _
25856 }
25857
25858 pub const fn set_c_uimm10splohi(mut self, c_uimm10splohi: u32) -> Self {
25859 self.value |= encode_immediate(&C_UIMM10SPLOHI, c_uimm10splohi as _);
25860 self
25861 }
25862
25863 pub const fn c_uimm9splohi(self) -> u32 {
25865 decode_immediate(&C_UIMM9SPLOHI, self.value as _) as _
25866 }
25867
25868 pub const fn set_c_uimm9splohi(mut self, c_uimm9splohi: u32) -> Self {
25869 self.value |= encode_immediate(&C_UIMM9SPLOHI, c_uimm9splohi as _);
25870 self
25871 }
25872
25873 pub const fn c_uimm10sp_s(self) -> u32 {
25875 decode_immediate(&C_UIMM10SP_S, self.value as _) as _
25876 }
25877
25878 pub const fn set_c_uimm10sp_s(mut self, c_uimm10sp_s: u32) -> Self {
25879 self.value |= encode_immediate(&C_UIMM10SP_S, c_uimm10sp_s as _);
25880 self
25881 }
25882
25883 pub const fn c_uimm9sp_s(self) -> u32 {
25885 decode_immediate(&C_UIMM9SP_S, self.value as _) as _
25886 }
25887
25888 pub const fn set_c_uimm9sp_s(mut self, c_uimm9sp_s: u32) -> Self {
25889 self.value |= encode_immediate(&C_UIMM9SP_S, c_uimm9sp_s as _);
25890 self
25891 }
25892
25893 pub const fn c_uimm2(self) -> u32 {
25895 decode_immediate(&C_UIMM2, self.value as _) as _
25896 }
25897
25898 pub const fn set_c_uimm2(mut self, c_uimm2: u32) -> Self {
25899 self.value |= encode_immediate(&C_UIMM2, c_uimm2 as _);
25900 self
25901 }
25902
25903 pub const fn c_uimm1(self) -> u32 {
25905 decode_immediate(&C_UIMM1, self.value as _) as _
25906 }
25907
25908 pub const fn set_c_uimm1(mut self, c_uimm1: u32) -> Self {
25909 self.value |= encode_immediate(&C_UIMM1, c_uimm1 as _);
25910 self
25911 }
25912
25913 pub const fn c_spimm(self) -> i32 {
25915 decode_immediate(&C_SPIMM, self.value as _) as _
25916 }
25917
25918 pub const fn set_c_spimm(mut self, c_spimm: i32) -> Self {
25919 self.value |= encode_immediate(&C_SPIMM, c_spimm as _);
25920 self
25921 }
25922}