1
2
3
4
5
6
7
8 package riscv64asm
9
10 const (
11 _ Op = iota
12 ADD
13 ADDI
14 ADDIW
15 ADDW
16 ADD_UW
17 AMOADD_D
18 AMOADD_D_AQ
19 AMOADD_D_AQRL
20 AMOADD_D_RL
21 AMOADD_W
22 AMOADD_W_AQ
23 AMOADD_W_AQRL
24 AMOADD_W_RL
25 AMOAND_D
26 AMOAND_D_AQ
27 AMOAND_D_AQRL
28 AMOAND_D_RL
29 AMOAND_W
30 AMOAND_W_AQ
31 AMOAND_W_AQRL
32 AMOAND_W_RL
33 AMOMAXU_D
34 AMOMAXU_D_AQ
35 AMOMAXU_D_AQRL
36 AMOMAXU_D_RL
37 AMOMAXU_W
38 AMOMAXU_W_AQ
39 AMOMAXU_W_AQRL
40 AMOMAXU_W_RL
41 AMOMAX_D
42 AMOMAX_D_AQ
43 AMOMAX_D_AQRL
44 AMOMAX_D_RL
45 AMOMAX_W
46 AMOMAX_W_AQ
47 AMOMAX_W_AQRL
48 AMOMAX_W_RL
49 AMOMINU_D
50 AMOMINU_D_AQ
51 AMOMINU_D_AQRL
52 AMOMINU_D_RL
53 AMOMINU_W
54 AMOMINU_W_AQ
55 AMOMINU_W_AQRL
56 AMOMINU_W_RL
57 AMOMIN_D
58 AMOMIN_D_AQ
59 AMOMIN_D_AQRL
60 AMOMIN_D_RL
61 AMOMIN_W
62 AMOMIN_W_AQ
63 AMOMIN_W_AQRL
64 AMOMIN_W_RL
65 AMOOR_D
66 AMOOR_D_AQ
67 AMOOR_D_AQRL
68 AMOOR_D_RL
69 AMOOR_W
70 AMOOR_W_AQ
71 AMOOR_W_AQRL
72 AMOOR_W_RL
73 AMOSWAP_D
74 AMOSWAP_D_AQ
75 AMOSWAP_D_AQRL
76 AMOSWAP_D_RL
77 AMOSWAP_W
78 AMOSWAP_W_AQ
79 AMOSWAP_W_AQRL
80 AMOSWAP_W_RL
81 AMOXOR_D
82 AMOXOR_D_AQ
83 AMOXOR_D_AQRL
84 AMOXOR_D_RL
85 AMOXOR_W
86 AMOXOR_W_AQ
87 AMOXOR_W_AQRL
88 AMOXOR_W_RL
89 AND
90 ANDI
91 ANDN
92 AUIPC
93 BCLR
94 BCLRI
95 BEQ
96 BEXT
97 BEXTI
98 BGE
99 BGEU
100 BINV
101 BINVI
102 BLT
103 BLTU
104 BNE
105 BSET
106 BSETI
107 CLZ
108 CLZW
109 CPOP
110 CPOPW
111 CSRRC
112 CSRRCI
113 CSRRS
114 CSRRSI
115 CSRRW
116 CSRRWI
117 CTZ
118 CTZW
119 C_ADD
120 C_ADDI
121 C_ADDI16SP
122 C_ADDI4SPN
123 C_ADDIW
124 C_ADDW
125 C_AND
126 C_ANDI
127 C_BEQZ
128 C_BNEZ
129 C_EBREAK
130 C_FLD
131 C_FLDSP
132 C_FSD
133 C_FSDSP
134 C_J
135 C_JALR
136 C_JR
137 C_LD
138 C_LDSP
139 C_LI
140 C_LUI
141 C_LW
142 C_LWSP
143 C_MV
144 C_NOP
145 C_OR
146 C_SD
147 C_SDSP
148 C_SLLI
149 C_SRAI
150 C_SRLI
151 C_SUB
152 C_SUBW
153 C_SW
154 C_SWSP
155 C_UNIMP
156 C_XOR
157 DIV
158 DIVU
159 DIVUW
160 DIVW
161 EBREAK
162 ECALL
163 FADD_D
164 FADD_H
165 FADD_Q
166 FADD_S
167 FCLASS_D
168 FCLASS_H
169 FCLASS_Q
170 FCLASS_S
171 FCVT_D_L
172 FCVT_D_LU
173 FCVT_D_Q
174 FCVT_D_S
175 FCVT_D_W
176 FCVT_D_WU
177 FCVT_H_L
178 FCVT_H_LU
179 FCVT_H_S
180 FCVT_H_W
181 FCVT_H_WU
182 FCVT_LU_D
183 FCVT_LU_H
184 FCVT_LU_Q
185 FCVT_LU_S
186 FCVT_L_D
187 FCVT_L_H
188 FCVT_L_Q
189 FCVT_L_S
190 FCVT_Q_D
191 FCVT_Q_L
192 FCVT_Q_LU
193 FCVT_Q_S
194 FCVT_Q_W
195 FCVT_Q_WU
196 FCVT_S_D
197 FCVT_S_H
198 FCVT_S_L
199 FCVT_S_LU
200 FCVT_S_Q
201 FCVT_S_W
202 FCVT_S_WU
203 FCVT_WU_D
204 FCVT_WU_H
205 FCVT_WU_Q
206 FCVT_WU_S
207 FCVT_W_D
208 FCVT_W_H
209 FCVT_W_Q
210 FCVT_W_S
211 FDIV_D
212 FDIV_H
213 FDIV_Q
214 FDIV_S
215 FENCE
216 FENCE_I
217 FEQ_D
218 FEQ_H
219 FEQ_Q
220 FEQ_S
221 FLD
222 FLE_D
223 FLE_H
224 FLE_Q
225 FLE_S
226 FLH
227 FLQ
228 FLT_D
229 FLT_H
230 FLT_Q
231 FLT_S
232 FLW
233 FMADD_D
234 FMADD_H
235 FMADD_Q
236 FMADD_S
237 FMAX_D
238 FMAX_H
239 FMAX_Q
240 FMAX_S
241 FMIN_D
242 FMIN_H
243 FMIN_Q
244 FMIN_S
245 FMSUB_D
246 FMSUB_H
247 FMSUB_Q
248 FMSUB_S
249 FMUL_D
250 FMUL_H
251 FMUL_Q
252 FMUL_S
253 FMV_D_X
254 FMV_H_X
255 FMV_W_X
256 FMV_X_D
257 FMV_X_H
258 FMV_X_W
259 FNMADD_D
260 FNMADD_H
261 FNMADD_Q
262 FNMADD_S
263 FNMSUB_D
264 FNMSUB_H
265 FNMSUB_Q
266 FNMSUB_S
267 FSD
268 FSGNJN_D
269 FSGNJN_H
270 FSGNJN_Q
271 FSGNJN_S
272 FSGNJX_D
273 FSGNJX_H
274 FSGNJX_Q
275 FSGNJX_S
276 FSGNJ_D
277 FSGNJ_H
278 FSGNJ_Q
279 FSGNJ_S
280 FSH
281 FSQ
282 FSQRT_D
283 FSQRT_H
284 FSQRT_Q
285 FSQRT_S
286 FSUB_D
287 FSUB_H
288 FSUB_Q
289 FSUB_S
290 FSW
291 JAL
292 JALR
293 LB
294 LBU
295 LD
296 LH
297 LHU
298 LR_D
299 LR_D_AQ
300 LR_D_AQRL
301 LR_D_RL
302 LR_W
303 LR_W_AQ
304 LR_W_AQRL
305 LR_W_RL
306 LUI
307 LW
308 LWU
309 MAX
310 MAXU
311 MIN
312 MINU
313 MUL
314 MULH
315 MULHSU
316 MULHU
317 MULW
318 OR
319 ORC_B
320 ORI
321 ORN
322 REM
323 REMU
324 REMUW
325 REMW
326 REV8
327 ROL
328 ROLW
329 ROR
330 RORI
331 RORIW
332 RORW
333 SB
334 SC_D
335 SC_D_AQ
336 SC_D_AQRL
337 SC_D_RL
338 SC_W
339 SC_W_AQ
340 SC_W_AQRL
341 SC_W_RL
342 SD
343 SEXT_B
344 SEXT_H
345 SH
346 SH1ADD
347 SH1ADD_UW
348 SH2ADD
349 SH2ADD_UW
350 SH3ADD
351 SH3ADD_UW
352 SLL
353 SLLI
354 SLLIW
355 SLLI_UW
356 SLLW
357 SLT
358 SLTI
359 SLTIU
360 SLTU
361 SRA
362 SRAI
363 SRAIW
364 SRAW
365 SRL
366 SRLI
367 SRLIW
368 SRLW
369 SUB
370 SUBW
371 SW
372 XNOR
373 XOR
374 XORI
375 ZEXT_H
376 )
377
378 var opstr = [...]string{
379 ADD: "ADD",
380 ADDI: "ADDI",
381 ADDIW: "ADDIW",
382 ADDW: "ADDW",
383 ADD_UW: "ADD.UW",
384 AMOADD_D: "AMOADD.D",
385 AMOADD_D_AQ: "AMOADD.D.AQ",
386 AMOADD_D_AQRL: "AMOADD.D.AQRL",
387 AMOADD_D_RL: "AMOADD.D.RL",
388 AMOADD_W: "AMOADD.W",
389 AMOADD_W_AQ: "AMOADD.W.AQ",
390 AMOADD_W_AQRL: "AMOADD.W.AQRL",
391 AMOADD_W_RL: "AMOADD.W.RL",
392 AMOAND_D: "AMOAND.D",
393 AMOAND_D_AQ: "AMOAND.D.AQ",
394 AMOAND_D_AQRL: "AMOAND.D.AQRL",
395 AMOAND_D_RL: "AMOAND.D.RL",
396 AMOAND_W: "AMOAND.W",
397 AMOAND_W_AQ: "AMOAND.W.AQ",
398 AMOAND_W_AQRL: "AMOAND.W.AQRL",
399 AMOAND_W_RL: "AMOAND.W.RL",
400 AMOMAXU_D: "AMOMAXU.D",
401 AMOMAXU_D_AQ: "AMOMAXU.D.AQ",
402 AMOMAXU_D_AQRL: "AMOMAXU.D.AQRL",
403 AMOMAXU_D_RL: "AMOMAXU.D.RL",
404 AMOMAXU_W: "AMOMAXU.W",
405 AMOMAXU_W_AQ: "AMOMAXU.W.AQ",
406 AMOMAXU_W_AQRL: "AMOMAXU.W.AQRL",
407 AMOMAXU_W_RL: "AMOMAXU.W.RL",
408 AMOMAX_D: "AMOMAX.D",
409 AMOMAX_D_AQ: "AMOMAX.D.AQ",
410 AMOMAX_D_AQRL: "AMOMAX.D.AQRL",
411 AMOMAX_D_RL: "AMOMAX.D.RL",
412 AMOMAX_W: "AMOMAX.W",
413 AMOMAX_W_AQ: "AMOMAX.W.AQ",
414 AMOMAX_W_AQRL: "AMOMAX.W.AQRL",
415 AMOMAX_W_RL: "AMOMAX.W.RL",
416 AMOMINU_D: "AMOMINU.D",
417 AMOMINU_D_AQ: "AMOMINU.D.AQ",
418 AMOMINU_D_AQRL: "AMOMINU.D.AQRL",
419 AMOMINU_D_RL: "AMOMINU.D.RL",
420 AMOMINU_W: "AMOMINU.W",
421 AMOMINU_W_AQ: "AMOMINU.W.AQ",
422 AMOMINU_W_AQRL: "AMOMINU.W.AQRL",
423 AMOMINU_W_RL: "AMOMINU.W.RL",
424 AMOMIN_D: "AMOMIN.D",
425 AMOMIN_D_AQ: "AMOMIN.D.AQ",
426 AMOMIN_D_AQRL: "AMOMIN.D.AQRL",
427 AMOMIN_D_RL: "AMOMIN.D.RL",
428 AMOMIN_W: "AMOMIN.W",
429 AMOMIN_W_AQ: "AMOMIN.W.AQ",
430 AMOMIN_W_AQRL: "AMOMIN.W.AQRL",
431 AMOMIN_W_RL: "AMOMIN.W.RL",
432 AMOOR_D: "AMOOR.D",
433 AMOOR_D_AQ: "AMOOR.D.AQ",
434 AMOOR_D_AQRL: "AMOOR.D.AQRL",
435 AMOOR_D_RL: "AMOOR.D.RL",
436 AMOOR_W: "AMOOR.W",
437 AMOOR_W_AQ: "AMOOR.W.AQ",
438 AMOOR_W_AQRL: "AMOOR.W.AQRL",
439 AMOOR_W_RL: "AMOOR.W.RL",
440 AMOSWAP_D: "AMOSWAP.D",
441 AMOSWAP_D_AQ: "AMOSWAP.D.AQ",
442 AMOSWAP_D_AQRL: "AMOSWAP.D.AQRL",
443 AMOSWAP_D_RL: "AMOSWAP.D.RL",
444 AMOSWAP_W: "AMOSWAP.W",
445 AMOSWAP_W_AQ: "AMOSWAP.W.AQ",
446 AMOSWAP_W_AQRL: "AMOSWAP.W.AQRL",
447 AMOSWAP_W_RL: "AMOSWAP.W.RL",
448 AMOXOR_D: "AMOXOR.D",
449 AMOXOR_D_AQ: "AMOXOR.D.AQ",
450 AMOXOR_D_AQRL: "AMOXOR.D.AQRL",
451 AMOXOR_D_RL: "AMOXOR.D.RL",
452 AMOXOR_W: "AMOXOR.W",
453 AMOXOR_W_AQ: "AMOXOR.W.AQ",
454 AMOXOR_W_AQRL: "AMOXOR.W.AQRL",
455 AMOXOR_W_RL: "AMOXOR.W.RL",
456 AND: "AND",
457 ANDI: "ANDI",
458 ANDN: "ANDN",
459 AUIPC: "AUIPC",
460 BCLR: "BCLR",
461 BCLRI: "BCLRI",
462 BEQ: "BEQ",
463 BEXT: "BEXT",
464 BEXTI: "BEXTI",
465 BGE: "BGE",
466 BGEU: "BGEU",
467 BINV: "BINV",
468 BINVI: "BINVI",
469 BLT: "BLT",
470 BLTU: "BLTU",
471 BNE: "BNE",
472 BSET: "BSET",
473 BSETI: "BSETI",
474 CLZ: "CLZ",
475 CLZW: "CLZW",
476 CPOP: "CPOP",
477 CPOPW: "CPOPW",
478 CSRRC: "CSRRC",
479 CSRRCI: "CSRRCI",
480 CSRRS: "CSRRS",
481 CSRRSI: "CSRRSI",
482 CSRRW: "CSRRW",
483 CSRRWI: "CSRRWI",
484 CTZ: "CTZ",
485 CTZW: "CTZW",
486 C_ADD: "C.ADD",
487 C_ADDI: "C.ADDI",
488 C_ADDI16SP: "C.ADDI16SP",
489 C_ADDI4SPN: "C.ADDI4SPN",
490 C_ADDIW: "C.ADDIW",
491 C_ADDW: "C.ADDW",
492 C_AND: "C.AND",
493 C_ANDI: "C.ANDI",
494 C_BEQZ: "C.BEQZ",
495 C_BNEZ: "C.BNEZ",
496 C_EBREAK: "C.EBREAK",
497 C_FLD: "C.FLD",
498 C_FLDSP: "C.FLDSP",
499 C_FSD: "C.FSD",
500 C_FSDSP: "C.FSDSP",
501 C_J: "C.J",
502 C_JALR: "C.JALR",
503 C_JR: "C.JR",
504 C_LD: "C.LD",
505 C_LDSP: "C.LDSP",
506 C_LI: "C.LI",
507 C_LUI: "C.LUI",
508 C_LW: "C.LW",
509 C_LWSP: "C.LWSP",
510 C_MV: "C.MV",
511 C_NOP: "C.NOP",
512 C_OR: "C.OR",
513 C_SD: "C.SD",
514 C_SDSP: "C.SDSP",
515 C_SLLI: "C.SLLI",
516 C_SRAI: "C.SRAI",
517 C_SRLI: "C.SRLI",
518 C_SUB: "C.SUB",
519 C_SUBW: "C.SUBW",
520 C_SW: "C.SW",
521 C_SWSP: "C.SWSP",
522 C_UNIMP: "C.UNIMP",
523 C_XOR: "C.XOR",
524 DIV: "DIV",
525 DIVU: "DIVU",
526 DIVUW: "DIVUW",
527 DIVW: "DIVW",
528 EBREAK: "EBREAK",
529 ECALL: "ECALL",
530 FADD_D: "FADD.D",
531 FADD_H: "FADD.H",
532 FADD_Q: "FADD.Q",
533 FADD_S: "FADD.S",
534 FCLASS_D: "FCLASS.D",
535 FCLASS_H: "FCLASS.H",
536 FCLASS_Q: "FCLASS.Q",
537 FCLASS_S: "FCLASS.S",
538 FCVT_D_L: "FCVT.D.L",
539 FCVT_D_LU: "FCVT.D.LU",
540 FCVT_D_Q: "FCVT.D.Q",
541 FCVT_D_S: "FCVT.D.S",
542 FCVT_D_W: "FCVT.D.W",
543 FCVT_D_WU: "FCVT.D.WU",
544 FCVT_H_L: "FCVT.H.L",
545 FCVT_H_LU: "FCVT.H.LU",
546 FCVT_H_S: "FCVT.H.S",
547 FCVT_H_W: "FCVT.H.W",
548 FCVT_H_WU: "FCVT.H.WU",
549 FCVT_LU_D: "FCVT.LU.D",
550 FCVT_LU_H: "FCVT.LU.H",
551 FCVT_LU_Q: "FCVT.LU.Q",
552 FCVT_LU_S: "FCVT.LU.S",
553 FCVT_L_D: "FCVT.L.D",
554 FCVT_L_H: "FCVT.L.H",
555 FCVT_L_Q: "FCVT.L.Q",
556 FCVT_L_S: "FCVT.L.S",
557 FCVT_Q_D: "FCVT.Q.D",
558 FCVT_Q_L: "FCVT.Q.L",
559 FCVT_Q_LU: "FCVT.Q.LU",
560 FCVT_Q_S: "FCVT.Q.S",
561 FCVT_Q_W: "FCVT.Q.W",
562 FCVT_Q_WU: "FCVT.Q.WU",
563 FCVT_S_D: "FCVT.S.D",
564 FCVT_S_H: "FCVT.S.H",
565 FCVT_S_L: "FCVT.S.L",
566 FCVT_S_LU: "FCVT.S.LU",
567 FCVT_S_Q: "FCVT.S.Q",
568 FCVT_S_W: "FCVT.S.W",
569 FCVT_S_WU: "FCVT.S.WU",
570 FCVT_WU_D: "FCVT.WU.D",
571 FCVT_WU_H: "FCVT.WU.H",
572 FCVT_WU_Q: "FCVT.WU.Q",
573 FCVT_WU_S: "FCVT.WU.S",
574 FCVT_W_D: "FCVT.W.D",
575 FCVT_W_H: "FCVT.W.H",
576 FCVT_W_Q: "FCVT.W.Q",
577 FCVT_W_S: "FCVT.W.S",
578 FDIV_D: "FDIV.D",
579 FDIV_H: "FDIV.H",
580 FDIV_Q: "FDIV.Q",
581 FDIV_S: "FDIV.S",
582 FENCE: "FENCE",
583 FENCE_I: "FENCE.I",
584 FEQ_D: "FEQ.D",
585 FEQ_H: "FEQ.H",
586 FEQ_Q: "FEQ.Q",
587 FEQ_S: "FEQ.S",
588 FLD: "FLD",
589 FLE_D: "FLE.D",
590 FLE_H: "FLE.H",
591 FLE_Q: "FLE.Q",
592 FLE_S: "FLE.S",
593 FLH: "FLH",
594 FLQ: "FLQ",
595 FLT_D: "FLT.D",
596 FLT_H: "FLT.H",
597 FLT_Q: "FLT.Q",
598 FLT_S: "FLT.S",
599 FLW: "FLW",
600 FMADD_D: "FMADD.D",
601 FMADD_H: "FMADD.H",
602 FMADD_Q: "FMADD.Q",
603 FMADD_S: "FMADD.S",
604 FMAX_D: "FMAX.D",
605 FMAX_H: "FMAX.H",
606 FMAX_Q: "FMAX.Q",
607 FMAX_S: "FMAX.S",
608 FMIN_D: "FMIN.D",
609 FMIN_H: "FMIN.H",
610 FMIN_Q: "FMIN.Q",
611 FMIN_S: "FMIN.S",
612 FMSUB_D: "FMSUB.D",
613 FMSUB_H: "FMSUB.H",
614 FMSUB_Q: "FMSUB.Q",
615 FMSUB_S: "FMSUB.S",
616 FMUL_D: "FMUL.D",
617 FMUL_H: "FMUL.H",
618 FMUL_Q: "FMUL.Q",
619 FMUL_S: "FMUL.S",
620 FMV_D_X: "FMV.D.X",
621 FMV_H_X: "FMV.H.X",
622 FMV_W_X: "FMV.W.X",
623 FMV_X_D: "FMV.X.D",
624 FMV_X_H: "FMV.X.H",
625 FMV_X_W: "FMV.X.W",
626 FNMADD_D: "FNMADD.D",
627 FNMADD_H: "FNMADD.H",
628 FNMADD_Q: "FNMADD.Q",
629 FNMADD_S: "FNMADD.S",
630 FNMSUB_D: "FNMSUB.D",
631 FNMSUB_H: "FNMSUB.H",
632 FNMSUB_Q: "FNMSUB.Q",
633 FNMSUB_S: "FNMSUB.S",
634 FSD: "FSD",
635 FSGNJN_D: "FSGNJN.D",
636 FSGNJN_H: "FSGNJN.H",
637 FSGNJN_Q: "FSGNJN.Q",
638 FSGNJN_S: "FSGNJN.S",
639 FSGNJX_D: "FSGNJX.D",
640 FSGNJX_H: "FSGNJX.H",
641 FSGNJX_Q: "FSGNJX.Q",
642 FSGNJX_S: "FSGNJX.S",
643 FSGNJ_D: "FSGNJ.D",
644 FSGNJ_H: "FSGNJ.H",
645 FSGNJ_Q: "FSGNJ.Q",
646 FSGNJ_S: "FSGNJ.S",
647 FSH: "FSH",
648 FSQ: "FSQ",
649 FSQRT_D: "FSQRT.D",
650 FSQRT_H: "FSQRT.H",
651 FSQRT_Q: "FSQRT.Q",
652 FSQRT_S: "FSQRT.S",
653 FSUB_D: "FSUB.D",
654 FSUB_H: "FSUB.H",
655 FSUB_Q: "FSUB.Q",
656 FSUB_S: "FSUB.S",
657 FSW: "FSW",
658 JAL: "JAL",
659 JALR: "JALR",
660 LB: "LB",
661 LBU: "LBU",
662 LD: "LD",
663 LH: "LH",
664 LHU: "LHU",
665 LR_D: "LR.D",
666 LR_D_AQ: "LR.D.AQ",
667 LR_D_AQRL: "LR.D.AQRL",
668 LR_D_RL: "LR.D.RL",
669 LR_W: "LR.W",
670 LR_W_AQ: "LR.W.AQ",
671 LR_W_AQRL: "LR.W.AQRL",
672 LR_W_RL: "LR.W.RL",
673 LUI: "LUI",
674 LW: "LW",
675 LWU: "LWU",
676 MAX: "MAX",
677 MAXU: "MAXU",
678 MIN: "MIN",
679 MINU: "MINU",
680 MUL: "MUL",
681 MULH: "MULH",
682 MULHSU: "MULHSU",
683 MULHU: "MULHU",
684 MULW: "MULW",
685 OR: "OR",
686 ORC_B: "ORC.B",
687 ORI: "ORI",
688 ORN: "ORN",
689 REM: "REM",
690 REMU: "REMU",
691 REMUW: "REMUW",
692 REMW: "REMW",
693 REV8: "REV8",
694 ROL: "ROL",
695 ROLW: "ROLW",
696 ROR: "ROR",
697 RORI: "RORI",
698 RORIW: "RORIW",
699 RORW: "RORW",
700 SB: "SB",
701 SC_D: "SC.D",
702 SC_D_AQ: "SC.D.AQ",
703 SC_D_AQRL: "SC.D.AQRL",
704 SC_D_RL: "SC.D.RL",
705 SC_W: "SC.W",
706 SC_W_AQ: "SC.W.AQ",
707 SC_W_AQRL: "SC.W.AQRL",
708 SC_W_RL: "SC.W.RL",
709 SD: "SD",
710 SEXT_B: "SEXT.B",
711 SEXT_H: "SEXT.H",
712 SH: "SH",
713 SH1ADD: "SH1ADD",
714 SH1ADD_UW: "SH1ADD.UW",
715 SH2ADD: "SH2ADD",
716 SH2ADD_UW: "SH2ADD.UW",
717 SH3ADD: "SH3ADD",
718 SH3ADD_UW: "SH3ADD.UW",
719 SLL: "SLL",
720 SLLI: "SLLI",
721 SLLIW: "SLLIW",
722 SLLI_UW: "SLLI.UW",
723 SLLW: "SLLW",
724 SLT: "SLT",
725 SLTI: "SLTI",
726 SLTIU: "SLTIU",
727 SLTU: "SLTU",
728 SRA: "SRA",
729 SRAI: "SRAI",
730 SRAIW: "SRAIW",
731 SRAW: "SRAW",
732 SRL: "SRL",
733 SRLI: "SRLI",
734 SRLIW: "SRLIW",
735 SRLW: "SRLW",
736 SUB: "SUB",
737 SUBW: "SUBW",
738 SW: "SW",
739 XNOR: "XNOR",
740 XOR: "XOR",
741 XORI: "XORI",
742 ZEXT_H: "ZEXT.H",
743 }
744
745 var instFormats = [...]instFormat{
746
747 {mask: 0xfe00707f, value: 0x00000033, op: ADD, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
748
749 {mask: 0x0000707f, value: 0x00000013, op: ADDI, args: argTypeList{arg_rd, arg_rs1, arg_imm12}},
750
751 {mask: 0x0000707f, value: 0x0000001b, op: ADDIW, args: argTypeList{arg_rd, arg_rs1, arg_imm12}},
752
753 {mask: 0xfe00707f, value: 0x0000003b, op: ADDW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
754
755 {mask: 0xfe00707f, value: 0x0800003b, op: ADD_UW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
756
757 {mask: 0xfe00707f, value: 0x0000302f, op: AMOADD_D, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
758
759 {mask: 0xfe00707f, value: 0x0400302f, op: AMOADD_D_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
760
761 {mask: 0xfe00707f, value: 0x0600302f, op: AMOADD_D_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
762
763 {mask: 0xfe00707f, value: 0x0200302f, op: AMOADD_D_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
764
765 {mask: 0xfe00707f, value: 0x0000202f, op: AMOADD_W, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
766
767 {mask: 0xfe00707f, value: 0x0400202f, op: AMOADD_W_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
768
769 {mask: 0xfe00707f, value: 0x0600202f, op: AMOADD_W_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
770
771 {mask: 0xfe00707f, value: 0x0200202f, op: AMOADD_W_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
772
773 {mask: 0xfe00707f, value: 0x6000302f, op: AMOAND_D, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
774
775 {mask: 0xfe00707f, value: 0x6400302f, op: AMOAND_D_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
776
777 {mask: 0xfe00707f, value: 0x6600302f, op: AMOAND_D_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
778
779 {mask: 0xfe00707f, value: 0x6200302f, op: AMOAND_D_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
780
781 {mask: 0xfe00707f, value: 0x6000202f, op: AMOAND_W, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
782
783 {mask: 0xfe00707f, value: 0x6400202f, op: AMOAND_W_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
784
785 {mask: 0xfe00707f, value: 0x6600202f, op: AMOAND_W_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
786
787 {mask: 0xfe00707f, value: 0x6200202f, op: AMOAND_W_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
788
789 {mask: 0xfe00707f, value: 0xe000302f, op: AMOMAXU_D, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
790
791 {mask: 0xfe00707f, value: 0xe400302f, op: AMOMAXU_D_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
792
793 {mask: 0xfe00707f, value: 0xe600302f, op: AMOMAXU_D_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
794
795 {mask: 0xfe00707f, value: 0xe200302f, op: AMOMAXU_D_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
796
797 {mask: 0xfe00707f, value: 0xe000202f, op: AMOMAXU_W, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
798
799 {mask: 0xfe00707f, value: 0xe400202f, op: AMOMAXU_W_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
800
801 {mask: 0xfe00707f, value: 0xe600202f, op: AMOMAXU_W_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
802
803 {mask: 0xfe00707f, value: 0xe200202f, op: AMOMAXU_W_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
804
805 {mask: 0xfe00707f, value: 0xa000302f, op: AMOMAX_D, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
806
807 {mask: 0xfe00707f, value: 0xa400302f, op: AMOMAX_D_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
808
809 {mask: 0xfe00707f, value: 0xa600302f, op: AMOMAX_D_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
810
811 {mask: 0xfe00707f, value: 0xa200302f, op: AMOMAX_D_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
812
813 {mask: 0xfe00707f, value: 0xa000202f, op: AMOMAX_W, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
814
815 {mask: 0xfe00707f, value: 0xa400202f, op: AMOMAX_W_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
816
817 {mask: 0xfe00707f, value: 0xa600202f, op: AMOMAX_W_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
818
819 {mask: 0xfe00707f, value: 0xa200202f, op: AMOMAX_W_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
820
821 {mask: 0xfe00707f, value: 0xc000302f, op: AMOMINU_D, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
822
823 {mask: 0xfe00707f, value: 0xc400302f, op: AMOMINU_D_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
824
825 {mask: 0xfe00707f, value: 0xc600302f, op: AMOMINU_D_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
826
827 {mask: 0xfe00707f, value: 0xc200302f, op: AMOMINU_D_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
828
829 {mask: 0xfe00707f, value: 0xc000202f, op: AMOMINU_W, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
830
831 {mask: 0xfe00707f, value: 0xc400202f, op: AMOMINU_W_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
832
833 {mask: 0xfe00707f, value: 0xc600202f, op: AMOMINU_W_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
834
835 {mask: 0xfe00707f, value: 0xc200202f, op: AMOMINU_W_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
836
837 {mask: 0xfe00707f, value: 0x8000302f, op: AMOMIN_D, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
838
839 {mask: 0xfe00707f, value: 0x8400302f, op: AMOMIN_D_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
840
841 {mask: 0xfe00707f, value: 0x8600302f, op: AMOMIN_D_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
842
843 {mask: 0xfe00707f, value: 0x8200302f, op: AMOMIN_D_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
844
845 {mask: 0xfe00707f, value: 0x8000202f, op: AMOMIN_W, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
846
847 {mask: 0xfe00707f, value: 0x8400202f, op: AMOMIN_W_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
848
849 {mask: 0xfe00707f, value: 0x8600202f, op: AMOMIN_W_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
850
851 {mask: 0xfe00707f, value: 0x8200202f, op: AMOMIN_W_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
852
853 {mask: 0xfe00707f, value: 0x4000302f, op: AMOOR_D, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
854
855 {mask: 0xfe00707f, value: 0x4400302f, op: AMOOR_D_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
856
857 {mask: 0xfe00707f, value: 0x4600302f, op: AMOOR_D_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
858
859 {mask: 0xfe00707f, value: 0x4200302f, op: AMOOR_D_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
860
861 {mask: 0xfe00707f, value: 0x4000202f, op: AMOOR_W, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
862
863 {mask: 0xfe00707f, value: 0x4400202f, op: AMOOR_W_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
864
865 {mask: 0xfe00707f, value: 0x4600202f, op: AMOOR_W_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
866
867 {mask: 0xfe00707f, value: 0x4200202f, op: AMOOR_W_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
868
869 {mask: 0xfe00707f, value: 0x0800302f, op: AMOSWAP_D, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
870
871 {mask: 0xfe00707f, value: 0x0c00302f, op: AMOSWAP_D_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
872
873 {mask: 0xfe00707f, value: 0x0e00302f, op: AMOSWAP_D_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
874
875 {mask: 0xfe00707f, value: 0x0a00302f, op: AMOSWAP_D_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
876
877 {mask: 0xfe00707f, value: 0x0800202f, op: AMOSWAP_W, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
878
879 {mask: 0xfe00707f, value: 0x0c00202f, op: AMOSWAP_W_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
880
881 {mask: 0xfe00707f, value: 0x0e00202f, op: AMOSWAP_W_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
882
883 {mask: 0xfe00707f, value: 0x0a00202f, op: AMOSWAP_W_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
884
885 {mask: 0xfe00707f, value: 0x2000302f, op: AMOXOR_D, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
886
887 {mask: 0xfe00707f, value: 0x2400302f, op: AMOXOR_D_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
888
889 {mask: 0xfe00707f, value: 0x2600302f, op: AMOXOR_D_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
890
891 {mask: 0xfe00707f, value: 0x2200302f, op: AMOXOR_D_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
892
893 {mask: 0xfe00707f, value: 0x2000202f, op: AMOXOR_W, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
894
895 {mask: 0xfe00707f, value: 0x2400202f, op: AMOXOR_W_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
896
897 {mask: 0xfe00707f, value: 0x2600202f, op: AMOXOR_W_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
898
899 {mask: 0xfe00707f, value: 0x2200202f, op: AMOXOR_W_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
900
901 {mask: 0xfe00707f, value: 0x00007033, op: AND, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
902
903 {mask: 0x0000707f, value: 0x00007013, op: ANDI, args: argTypeList{arg_rd, arg_rs1, arg_imm12}},
904
905 {mask: 0xfe00707f, value: 0x40007033, op: ANDN, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
906
907 {mask: 0x0000007f, value: 0x00000017, op: AUIPC, args: argTypeList{arg_rd, arg_imm20}},
908
909 {mask: 0xfe00707f, value: 0x48001033, op: BCLR, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
910
911 {mask: 0xfc00707f, value: 0x48001013, op: BCLRI, args: argTypeList{arg_rd, arg_rs1, arg_shamt6}},
912
913 {mask: 0x0000707f, value: 0x00000063, op: BEQ, args: argTypeList{arg_rs1, arg_rs2, arg_bimm12}},
914
915 {mask: 0xfe00707f, value: 0x48005033, op: BEXT, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
916
917 {mask: 0xfc00707f, value: 0x48005013, op: BEXTI, args: argTypeList{arg_rd, arg_rs1, arg_shamt6}},
918
919 {mask: 0x0000707f, value: 0x00005063, op: BGE, args: argTypeList{arg_rs1, arg_rs2, arg_bimm12}},
920
921 {mask: 0x0000707f, value: 0x00007063, op: BGEU, args: argTypeList{arg_rs1, arg_rs2, arg_bimm12}},
922
923 {mask: 0xfe00707f, value: 0x68001033, op: BINV, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
924
925 {mask: 0xfc00707f, value: 0x68001013, op: BINVI, args: argTypeList{arg_rd, arg_rs1, arg_shamt6}},
926
927 {mask: 0x0000707f, value: 0x00004063, op: BLT, args: argTypeList{arg_rs1, arg_rs2, arg_bimm12}},
928
929 {mask: 0x0000707f, value: 0x00006063, op: BLTU, args: argTypeList{arg_rs1, arg_rs2, arg_bimm12}},
930
931 {mask: 0x0000707f, value: 0x00001063, op: BNE, args: argTypeList{arg_rs1, arg_rs2, arg_bimm12}},
932
933 {mask: 0xfe00707f, value: 0x28001033, op: BSET, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
934
935 {mask: 0xfc00707f, value: 0x28001013, op: BSETI, args: argTypeList{arg_rd, arg_rs1, arg_shamt6}},
936
937 {mask: 0xfff0707f, value: 0x60001013, op: CLZ, args: argTypeList{arg_rd, arg_rs1}},
938
939 {mask: 0xfff0707f, value: 0x6000101b, op: CLZW, args: argTypeList{arg_rd, arg_rs1}},
940
941 {mask: 0xfff0707f, value: 0x60201013, op: CPOP, args: argTypeList{arg_rd, arg_rs1}},
942
943 {mask: 0xfff0707f, value: 0x6020101b, op: CPOPW, args: argTypeList{arg_rd, arg_rs1}},
944
945 {mask: 0x0000707f, value: 0x00003073, op: CSRRC, args: argTypeList{arg_rd, arg_csr, arg_rs1}},
946
947 {mask: 0x0000707f, value: 0x00007073, op: CSRRCI, args: argTypeList{arg_rd, arg_csr, arg_zimm}},
948
949 {mask: 0x0000707f, value: 0x00002073, op: CSRRS, args: argTypeList{arg_rd, arg_csr, arg_rs1}},
950
951 {mask: 0x0000707f, value: 0x00006073, op: CSRRSI, args: argTypeList{arg_rd, arg_csr, arg_zimm}},
952
953 {mask: 0x0000707f, value: 0x00001073, op: CSRRW, args: argTypeList{arg_rd, arg_csr, arg_rs1}},
954
955 {mask: 0x0000707f, value: 0x00005073, op: CSRRWI, args: argTypeList{arg_rd, arg_csr, arg_zimm}},
956
957 {mask: 0xfff0707f, value: 0x60101013, op: CTZ, args: argTypeList{arg_rd, arg_rs1}},
958
959 {mask: 0xfff0707f, value: 0x6010101b, op: CTZW, args: argTypeList{arg_rd, arg_rs1}},
960
961 {mask: 0x0000f003, value: 0x00009002, op: C_ADD, args: argTypeList{arg_rd_rs1_n0, arg_c_rs2_n0}},
962
963 {mask: 0x0000e003, value: 0x00000001, op: C_ADDI, args: argTypeList{arg_rd_rs1_n0, arg_c_nzimm6}},
964
965 {mask: 0x0000ef83, value: 0x00006101, op: C_ADDI16SP, args: argTypeList{arg_c_nzimm10}},
966
967 {mask: 0x0000e003, value: 0x00000000, op: C_ADDI4SPN, args: argTypeList{arg_rd_p, arg_c_nzuimm10}},
968
969 {mask: 0x0000e003, value: 0x00002001, op: C_ADDIW, args: argTypeList{arg_rd_rs1_n0, arg_c_imm6}},
970
971 {mask: 0x0000fc63, value: 0x00009c21, op: C_ADDW, args: argTypeList{arg_rd_rs1_p, arg_rs2_p}},
972
973 {mask: 0x0000fc63, value: 0x00008c61, op: C_AND, args: argTypeList{arg_rd_rs1_p, arg_rs2_p}},
974
975 {mask: 0x0000ec03, value: 0x00008801, op: C_ANDI, args: argTypeList{arg_rd_rs1_p, arg_c_imm6}},
976
977 {mask: 0x0000e003, value: 0x0000c001, op: C_BEQZ, args: argTypeList{arg_rs1_p, arg_c_bimm9}},
978
979 {mask: 0x0000e003, value: 0x0000e001, op: C_BNEZ, args: argTypeList{arg_rs1_p, arg_c_bimm9}},
980
981 {mask: 0x0000ffff, value: 0x00009002, op: C_EBREAK, args: argTypeList{}},
982
983 {mask: 0x0000e003, value: 0x00002000, op: C_FLD, args: argTypeList{arg_fd_p, arg_rs1_p, arg_c_uimm8}},
984
985 {mask: 0x0000e003, value: 0x00002002, op: C_FLDSP, args: argTypeList{arg_fd, arg_c_uimm9sp}},
986
987 {mask: 0x0000e003, value: 0x0000a000, op: C_FSD, args: argTypeList{arg_rs1_p, arg_fs2_p, arg_c_uimm8}},
988
989 {mask: 0x0000e003, value: 0x0000a002, op: C_FSDSP, args: argTypeList{arg_c_fs2, arg_c_uimm9sp_s}},
990
991 {mask: 0x0000e003, value: 0x0000a001, op: C_J, args: argTypeList{arg_c_imm12}},
992
993 {mask: 0x0000f07f, value: 0x00009002, op: C_JALR, args: argTypeList{arg_c_rs1_n0}},
994
995 {mask: 0x0000f07f, value: 0x00008002, op: C_JR, args: argTypeList{arg_rs1_n0}},
996
997 {mask: 0x0000e003, value: 0x00006000, op: C_LD, args: argTypeList{arg_rd_p, arg_rs1_p, arg_c_uimm8}},
998
999 {mask: 0x0000e003, value: 0x00006002, op: C_LDSP, args: argTypeList{arg_rd_n0, arg_c_uimm9sp}},
1000
1001 {mask: 0x0000e003, value: 0x00004001, op: C_LI, args: argTypeList{arg_rd_n0, arg_c_imm6}},
1002
1003 {mask: 0x0000e003, value: 0x00006001, op: C_LUI, args: argTypeList{arg_rd_n2, arg_c_nzimm18}},
1004
1005 {mask: 0x0000e003, value: 0x00004000, op: C_LW, args: argTypeList{arg_rd_p, arg_rs1_p, arg_c_uimm7}},
1006
1007 {mask: 0x0000e003, value: 0x00004002, op: C_LWSP, args: argTypeList{arg_rd_n0, arg_c_uimm8sp}},
1008
1009 {mask: 0x0000f003, value: 0x00008002, op: C_MV, args: argTypeList{arg_rd_n0, arg_c_rs2_n0}},
1010
1011 {mask: 0x0000ef83, value: 0x00000001, op: C_NOP, args: argTypeList{arg_c_nzimm6}},
1012
1013 {mask: 0x0000fc63, value: 0x00008c41, op: C_OR, args: argTypeList{arg_rd_rs1_p, arg_rs2_p}},
1014
1015 {mask: 0x0000e003, value: 0x0000e000, op: C_SD, args: argTypeList{arg_rs1_p, arg_rs2_p, arg_c_uimm8}},
1016
1017 {mask: 0x0000e003, value: 0x0000e002, op: C_SDSP, args: argTypeList{arg_c_rs2, arg_c_uimm9sp_s}},
1018
1019 {mask: 0x0000e003, value: 0x00000002, op: C_SLLI, args: argTypeList{arg_rd_rs1_n0, arg_c_nzuimm6}},
1020
1021 {mask: 0x0000ec03, value: 0x00008401, op: C_SRAI, args: argTypeList{arg_rd_rs1_p, arg_c_nzuimm6}},
1022
1023 {mask: 0x0000ec03, value: 0x00008001, op: C_SRLI, args: argTypeList{arg_rd_rs1_p, arg_c_nzuimm6}},
1024
1025 {mask: 0x0000fc63, value: 0x00008c01, op: C_SUB, args: argTypeList{arg_rd_rs1_p, arg_rs2_p}},
1026
1027 {mask: 0x0000fc63, value: 0x00009c01, op: C_SUBW, args: argTypeList{arg_rd_rs1_p, arg_rs2_p}},
1028
1029 {mask: 0x0000e003, value: 0x0000c000, op: C_SW, args: argTypeList{arg_rs1_p, arg_rs2_p, arg_c_uimm7}},
1030
1031 {mask: 0x0000e003, value: 0x0000c002, op: C_SWSP, args: argTypeList{arg_c_rs2, arg_c_uimm8sp_s}},
1032
1033 {mask: 0x0000ffff, value: 0x00000000, op: C_UNIMP, args: argTypeList{}},
1034
1035 {mask: 0x0000fc63, value: 0x00008c21, op: C_XOR, args: argTypeList{arg_rd_rs1_p, arg_rs2_p}},
1036
1037 {mask: 0xfe00707f, value: 0x02004033, op: DIV, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1038
1039 {mask: 0xfe00707f, value: 0x02005033, op: DIVU, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1040
1041 {mask: 0xfe00707f, value: 0x0200503b, op: DIVUW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1042
1043 {mask: 0xfe00707f, value: 0x0200403b, op: DIVW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1044
1045 {mask: 0xffffffff, value: 0x00100073, op: EBREAK, args: argTypeList{}},
1046
1047 {mask: 0xffffffff, value: 0x00000073, op: ECALL, args: argTypeList{}},
1048
1049 {mask: 0xfe00007f, value: 0x02000053, op: FADD_D, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1050
1051 {mask: 0xfe00007f, value: 0x04000053, op: FADD_H, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1052
1053 {mask: 0xfe00007f, value: 0x06000053, op: FADD_Q, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1054
1055 {mask: 0xfe00007f, value: 0x00000053, op: FADD_S, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1056
1057 {mask: 0xfff0707f, value: 0xe2001053, op: FCLASS_D, args: argTypeList{arg_rd, arg_fs1}},
1058
1059 {mask: 0xfff0707f, value: 0xe4001053, op: FCLASS_H, args: argTypeList{arg_rd, arg_fs1}},
1060
1061 {mask: 0xfff0707f, value: 0xe6001053, op: FCLASS_Q, args: argTypeList{arg_rd, arg_fs1}},
1062
1063 {mask: 0xfff0707f, value: 0xe0001053, op: FCLASS_S, args: argTypeList{arg_rd, arg_fs1}},
1064
1065 {mask: 0xfff0007f, value: 0xd2200053, op: FCVT_D_L, args: argTypeList{arg_fd, arg_rs1}},
1066
1067 {mask: 0xfff0007f, value: 0xd2300053, op: FCVT_D_LU, args: argTypeList{arg_fd, arg_rs1}},
1068
1069 {mask: 0xfff0007f, value: 0x42300053, op: FCVT_D_Q, args: argTypeList{arg_fd, arg_fs1}},
1070
1071 {mask: 0xfff0007f, value: 0x42000053, op: FCVT_D_S, args: argTypeList{arg_fd, arg_fs1}},
1072
1073 {mask: 0xfff0007f, value: 0xd2000053, op: FCVT_D_W, args: argTypeList{arg_fd, arg_rs1}},
1074
1075 {mask: 0xfff0007f, value: 0xd2100053, op: FCVT_D_WU, args: argTypeList{arg_fd, arg_rs1}},
1076
1077 {mask: 0xfff0007f, value: 0xd4200053, op: FCVT_H_L, args: argTypeList{arg_fd, arg_rs1}},
1078
1079 {mask: 0xfff0007f, value: 0xd4300053, op: FCVT_H_LU, args: argTypeList{arg_fd, arg_rs1}},
1080
1081 {mask: 0xfff0007f, value: 0x44000053, op: FCVT_H_S, args: argTypeList{arg_fd, arg_fs1}},
1082
1083 {mask: 0xfff0007f, value: 0xd4000053, op: FCVT_H_W, args: argTypeList{arg_fd, arg_rs1}},
1084
1085 {mask: 0xfff0007f, value: 0xd4100053, op: FCVT_H_WU, args: argTypeList{arg_fd, arg_rs1}},
1086
1087 {mask: 0xfff0007f, value: 0xc2300053, op: FCVT_LU_D, args: argTypeList{arg_rd, arg_fs1}},
1088
1089 {mask: 0xfff0007f, value: 0xc4300053, op: FCVT_LU_H, args: argTypeList{arg_rd, arg_fs1}},
1090
1091 {mask: 0xfff0007f, value: 0xc6300053, op: FCVT_LU_Q, args: argTypeList{arg_rd, arg_fs1}},
1092
1093 {mask: 0xfff0007f, value: 0xc0300053, op: FCVT_LU_S, args: argTypeList{arg_rd, arg_fs1}},
1094
1095 {mask: 0xfff0007f, value: 0xc2200053, op: FCVT_L_D, args: argTypeList{arg_rd, arg_fs1}},
1096
1097 {mask: 0xfff0007f, value: 0xc4200053, op: FCVT_L_H, args: argTypeList{arg_rd, arg_fs1}},
1098
1099 {mask: 0xfff0007f, value: 0xc6200053, op: FCVT_L_Q, args: argTypeList{arg_rd, arg_fs1}},
1100
1101 {mask: 0xfff0007f, value: 0xc0200053, op: FCVT_L_S, args: argTypeList{arg_rd, arg_fs1}},
1102
1103 {mask: 0xfff0007f, value: 0x46100053, op: FCVT_Q_D, args: argTypeList{arg_fd, arg_fs1}},
1104
1105 {mask: 0xfff0007f, value: 0xd6200053, op: FCVT_Q_L, args: argTypeList{arg_fd, arg_rs1}},
1106
1107 {mask: 0xfff0007f, value: 0xd6300053, op: FCVT_Q_LU, args: argTypeList{arg_fd, arg_rs1}},
1108
1109 {mask: 0xfff0007f, value: 0x46000053, op: FCVT_Q_S, args: argTypeList{arg_fd, arg_fs1}},
1110
1111 {mask: 0xfff0007f, value: 0xd6000053, op: FCVT_Q_W, args: argTypeList{arg_fd, arg_rs1}},
1112
1113 {mask: 0xfff0007f, value: 0xd6100053, op: FCVT_Q_WU, args: argTypeList{arg_fd, arg_rs1}},
1114
1115 {mask: 0xfff0007f, value: 0x40100053, op: FCVT_S_D, args: argTypeList{arg_fd, arg_fs1}},
1116
1117 {mask: 0xfff0007f, value: 0x40200053, op: FCVT_S_H, args: argTypeList{arg_fd, arg_fs1}},
1118
1119 {mask: 0xfff0007f, value: 0xd0200053, op: FCVT_S_L, args: argTypeList{arg_fd, arg_rs1}},
1120
1121 {mask: 0xfff0007f, value: 0xd0300053, op: FCVT_S_LU, args: argTypeList{arg_fd, arg_rs1}},
1122
1123 {mask: 0xfff0007f, value: 0x40300053, op: FCVT_S_Q, args: argTypeList{arg_fd, arg_fs1}},
1124
1125 {mask: 0xfff0007f, value: 0xd0000053, op: FCVT_S_W, args: argTypeList{arg_fd, arg_rs1}},
1126
1127 {mask: 0xfff0007f, value: 0xd0100053, op: FCVT_S_WU, args: argTypeList{arg_fd, arg_rs1}},
1128
1129 {mask: 0xfff0007f, value: 0xc2100053, op: FCVT_WU_D, args: argTypeList{arg_rd, arg_fs1}},
1130
1131 {mask: 0xfff0007f, value: 0xc4100053, op: FCVT_WU_H, args: argTypeList{arg_rd, arg_fs1}},
1132
1133 {mask: 0xfff0007f, value: 0xc6100053, op: FCVT_WU_Q, args: argTypeList{arg_rd, arg_fs1}},
1134
1135 {mask: 0xfff0007f, value: 0xc0100053, op: FCVT_WU_S, args: argTypeList{arg_rd, arg_fs1}},
1136
1137 {mask: 0xfff0007f, value: 0xc2000053, op: FCVT_W_D, args: argTypeList{arg_rd, arg_fs1}},
1138
1139 {mask: 0xfff0007f, value: 0xc4000053, op: FCVT_W_H, args: argTypeList{arg_rd, arg_fs1}},
1140
1141 {mask: 0xfff0007f, value: 0xc6000053, op: FCVT_W_Q, args: argTypeList{arg_rd, arg_fs1}},
1142
1143 {mask: 0xfff0007f, value: 0xc0000053, op: FCVT_W_S, args: argTypeList{arg_rd, arg_fs1}},
1144
1145 {mask: 0xfe00007f, value: 0x1a000053, op: FDIV_D, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1146
1147 {mask: 0xfe00007f, value: 0x1c000053, op: FDIV_H, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1148
1149 {mask: 0xfe00007f, value: 0x1e000053, op: FDIV_Q, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1150
1151 {mask: 0xfe00007f, value: 0x18000053, op: FDIV_S, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1152
1153 {mask: 0x0000707f, value: 0x0000000f, op: FENCE, args: argTypeList{arg_pred, arg_succ}},
1154
1155 {mask: 0x0000707f, value: 0x0000100f, op: FENCE_I, args: argTypeList{}},
1156
1157 {mask: 0xfe00707f, value: 0xa2002053, op: FEQ_D, args: argTypeList{arg_rd, arg_fs1, arg_fs2}},
1158
1159 {mask: 0xfe00707f, value: 0xa4002053, op: FEQ_H, args: argTypeList{arg_rd, arg_fs1, arg_fs2}},
1160
1161 {mask: 0xfe00707f, value: 0xa6002053, op: FEQ_Q, args: argTypeList{arg_rd, arg_fs1, arg_fs2}},
1162
1163 {mask: 0xfe00707f, value: 0xa0002053, op: FEQ_S, args: argTypeList{arg_rd, arg_fs1, arg_fs2}},
1164
1165 {mask: 0x0000707f, value: 0x00003007, op: FLD, args: argTypeList{arg_fd, arg_rs1_mem}},
1166
1167 {mask: 0xfe00707f, value: 0xa2000053, op: FLE_D, args: argTypeList{arg_rd, arg_fs1, arg_fs2}},
1168
1169 {mask: 0xfe00707f, value: 0xa4000053, op: FLE_H, args: argTypeList{arg_rd, arg_fs1, arg_fs2}},
1170
1171 {mask: 0xfe00707f, value: 0xa6000053, op: FLE_Q, args: argTypeList{arg_rd, arg_fs1, arg_fs2}},
1172
1173 {mask: 0xfe00707f, value: 0xa0000053, op: FLE_S, args: argTypeList{arg_rd, arg_fs1, arg_fs2}},
1174
1175 {mask: 0x0000707f, value: 0x00001007, op: FLH, args: argTypeList{arg_fd, arg_rs1_mem}},
1176
1177 {mask: 0x0000707f, value: 0x00004007, op: FLQ, args: argTypeList{arg_fd, arg_rs1_mem}},
1178
1179 {mask: 0xfe00707f, value: 0xa2001053, op: FLT_D, args: argTypeList{arg_rd, arg_fs1, arg_fs2}},
1180
1181 {mask: 0xfe00707f, value: 0xa4001053, op: FLT_H, args: argTypeList{arg_rd, arg_fs1, arg_fs2}},
1182
1183 {mask: 0xfe00707f, value: 0xa6001053, op: FLT_Q, args: argTypeList{arg_rd, arg_fs1, arg_fs2}},
1184
1185 {mask: 0xfe00707f, value: 0xa0001053, op: FLT_S, args: argTypeList{arg_rd, arg_fs1, arg_fs2}},
1186
1187 {mask: 0x0000707f, value: 0x00002007, op: FLW, args: argTypeList{arg_fd, arg_rs1_mem}},
1188
1189 {mask: 0x0600007f, value: 0x02000043, op: FMADD_D, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1190
1191 {mask: 0x0600007f, value: 0x04000043, op: FMADD_H, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1192
1193 {mask: 0x0600007f, value: 0x06000043, op: FMADD_Q, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1194
1195 {mask: 0x0600007f, value: 0x00000043, op: FMADD_S, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1196
1197 {mask: 0xfe00707f, value: 0x2a001053, op: FMAX_D, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1198
1199 {mask: 0xfe00707f, value: 0x2c001053, op: FMAX_H, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1200
1201 {mask: 0xfe00707f, value: 0x2e001053, op: FMAX_Q, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1202
1203 {mask: 0xfe00707f, value: 0x28001053, op: FMAX_S, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1204
1205 {mask: 0xfe00707f, value: 0x2a000053, op: FMIN_D, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1206
1207 {mask: 0xfe00707f, value: 0x2c000053, op: FMIN_H, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1208
1209 {mask: 0xfe00707f, value: 0x2e000053, op: FMIN_Q, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1210
1211 {mask: 0xfe00707f, value: 0x28000053, op: FMIN_S, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1212
1213 {mask: 0x0600007f, value: 0x02000047, op: FMSUB_D, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1214
1215 {mask: 0x0600007f, value: 0x04000047, op: FMSUB_H, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1216
1217 {mask: 0x0600007f, value: 0x06000047, op: FMSUB_Q, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1218
1219 {mask: 0x0600007f, value: 0x00000047, op: FMSUB_S, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1220
1221 {mask: 0xfe00007f, value: 0x12000053, op: FMUL_D, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1222
1223 {mask: 0xfe00007f, value: 0x14000053, op: FMUL_H, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1224
1225 {mask: 0xfe00007f, value: 0x16000053, op: FMUL_Q, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1226
1227 {mask: 0xfe00007f, value: 0x10000053, op: FMUL_S, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1228
1229 {mask: 0xfff0707f, value: 0xf2000053, op: FMV_D_X, args: argTypeList{arg_fd, arg_rs1}},
1230
1231 {mask: 0xfff0707f, value: 0xf4000053, op: FMV_H_X, args: argTypeList{arg_fd, arg_rs1}},
1232
1233 {mask: 0xfff0707f, value: 0xf0000053, op: FMV_W_X, args: argTypeList{arg_fd, arg_rs1}},
1234
1235 {mask: 0xfff0707f, value: 0xe2000053, op: FMV_X_D, args: argTypeList{arg_rd, arg_fs1}},
1236
1237 {mask: 0xfff0707f, value: 0xe4000053, op: FMV_X_H, args: argTypeList{arg_rd, arg_fs1}},
1238
1239 {mask: 0xfff0707f, value: 0xe0000053, op: FMV_X_W, args: argTypeList{arg_rd, arg_fs1}},
1240
1241 {mask: 0x0600007f, value: 0x0200004f, op: FNMADD_D, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1242
1243 {mask: 0x0600007f, value: 0x0400004f, op: FNMADD_H, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1244
1245 {mask: 0x0600007f, value: 0x0600004f, op: FNMADD_Q, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1246
1247 {mask: 0x0600007f, value: 0x0000004f, op: FNMADD_S, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1248
1249 {mask: 0x0600007f, value: 0x0200004b, op: FNMSUB_D, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1250
1251 {mask: 0x0600007f, value: 0x0400004b, op: FNMSUB_H, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1252
1253 {mask: 0x0600007f, value: 0x0600004b, op: FNMSUB_Q, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1254
1255 {mask: 0x0600007f, value: 0x0000004b, op: FNMSUB_S, args: argTypeList{arg_fd, arg_fs1, arg_fs2, arg_fs3}},
1256
1257 {mask: 0x0000707f, value: 0x00003027, op: FSD, args: argTypeList{arg_fs2, arg_rs1_store}},
1258
1259 {mask: 0xfe00707f, value: 0x22001053, op: FSGNJN_D, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1260
1261 {mask: 0xfe00707f, value: 0x24001053, op: FSGNJN_H, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1262
1263 {mask: 0xfe00707f, value: 0x26001053, op: FSGNJN_Q, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1264
1265 {mask: 0xfe00707f, value: 0x20001053, op: FSGNJN_S, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1266
1267 {mask: 0xfe00707f, value: 0x22002053, op: FSGNJX_D, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1268
1269 {mask: 0xfe00707f, value: 0x24002053, op: FSGNJX_H, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1270
1271 {mask: 0xfe00707f, value: 0x26002053, op: FSGNJX_Q, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1272
1273 {mask: 0xfe00707f, value: 0x20002053, op: FSGNJX_S, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1274
1275 {mask: 0xfe00707f, value: 0x22000053, op: FSGNJ_D, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1276
1277 {mask: 0xfe00707f, value: 0x24000053, op: FSGNJ_H, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1278
1279 {mask: 0xfe00707f, value: 0x26000053, op: FSGNJ_Q, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1280
1281 {mask: 0xfe00707f, value: 0x20000053, op: FSGNJ_S, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1282
1283 {mask: 0x0000707f, value: 0x00001027, op: FSH, args: argTypeList{arg_fs2, arg_rs1_store}},
1284
1285 {mask: 0x0000707f, value: 0x00004027, op: FSQ, args: argTypeList{arg_fs2, arg_rs1_store}},
1286
1287 {mask: 0xfff0007f, value: 0x5a000053, op: FSQRT_D, args: argTypeList{arg_fd, arg_fs1}},
1288
1289 {mask: 0xfff0007f, value: 0x5c000053, op: FSQRT_H, args: argTypeList{arg_fd, arg_fs1}},
1290
1291 {mask: 0xfff0007f, value: 0x5e000053, op: FSQRT_Q, args: argTypeList{arg_fd, arg_fs1}},
1292
1293 {mask: 0xfff0007f, value: 0x58000053, op: FSQRT_S, args: argTypeList{arg_fd, arg_fs1}},
1294
1295 {mask: 0xfe00007f, value: 0x0a000053, op: FSUB_D, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1296
1297 {mask: 0xfe00007f, value: 0x0c000053, op: FSUB_H, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1298
1299 {mask: 0xfe00007f, value: 0x0e000053, op: FSUB_Q, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1300
1301 {mask: 0xfe00007f, value: 0x08000053, op: FSUB_S, args: argTypeList{arg_fd, arg_fs1, arg_fs2}},
1302
1303 {mask: 0x0000707f, value: 0x00002027, op: FSW, args: argTypeList{arg_fs2, arg_rs1_store}},
1304
1305 {mask: 0x0000007f, value: 0x0000006f, op: JAL, args: argTypeList{arg_rd, arg_jimm20}},
1306
1307 {mask: 0x0000707f, value: 0x00000067, op: JALR, args: argTypeList{arg_rd, arg_rs1_mem}},
1308
1309 {mask: 0x0000707f, value: 0x00000003, op: LB, args: argTypeList{arg_rd, arg_rs1_mem}},
1310
1311 {mask: 0x0000707f, value: 0x00004003, op: LBU, args: argTypeList{arg_rd, arg_rs1_mem}},
1312
1313 {mask: 0x0000707f, value: 0x00003003, op: LD, args: argTypeList{arg_rd, arg_rs1_mem}},
1314
1315 {mask: 0x0000707f, value: 0x00001003, op: LH, args: argTypeList{arg_rd, arg_rs1_mem}},
1316
1317 {mask: 0x0000707f, value: 0x00005003, op: LHU, args: argTypeList{arg_rd, arg_rs1_mem}},
1318
1319 {mask: 0xfff0707f, value: 0x1000302f, op: LR_D, args: argTypeList{arg_rd, arg_rs1_amo}},
1320
1321 {mask: 0xfff0707f, value: 0x1400302f, op: LR_D_AQ, args: argTypeList{arg_rd, arg_rs1_amo}},
1322
1323 {mask: 0xfff0707f, value: 0x1600302f, op: LR_D_AQRL, args: argTypeList{arg_rd, arg_rs1_amo}},
1324
1325 {mask: 0xfff0707f, value: 0x1200302f, op: LR_D_RL, args: argTypeList{arg_rd, arg_rs1_amo}},
1326
1327 {mask: 0xfff0707f, value: 0x1000202f, op: LR_W, args: argTypeList{arg_rd, arg_rs1_amo}},
1328
1329 {mask: 0xfff0707f, value: 0x1400202f, op: LR_W_AQ, args: argTypeList{arg_rd, arg_rs1_amo}},
1330
1331 {mask: 0xfff0707f, value: 0x1600202f, op: LR_W_AQRL, args: argTypeList{arg_rd, arg_rs1_amo}},
1332
1333 {mask: 0xfff0707f, value: 0x1200202f, op: LR_W_RL, args: argTypeList{arg_rd, arg_rs1_amo}},
1334
1335 {mask: 0x0000007f, value: 0x00000037, op: LUI, args: argTypeList{arg_rd, arg_imm20}},
1336
1337 {mask: 0x0000707f, value: 0x00002003, op: LW, args: argTypeList{arg_rd, arg_rs1_mem}},
1338
1339 {mask: 0x0000707f, value: 0x00006003, op: LWU, args: argTypeList{arg_rd, arg_rs1_mem}},
1340
1341 {mask: 0xfe00707f, value: 0x0a006033, op: MAX, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1342
1343 {mask: 0xfe00707f, value: 0x0a007033, op: MAXU, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1344
1345 {mask: 0xfe00707f, value: 0x0a004033, op: MIN, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1346
1347 {mask: 0xfe00707f, value: 0x0a005033, op: MINU, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1348
1349 {mask: 0xfe00707f, value: 0x02000033, op: MUL, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1350
1351 {mask: 0xfe00707f, value: 0x02001033, op: MULH, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1352
1353 {mask: 0xfe00707f, value: 0x02002033, op: MULHSU, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1354
1355 {mask: 0xfe00707f, value: 0x02003033, op: MULHU, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1356
1357 {mask: 0xfe00707f, value: 0x0200003b, op: MULW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1358
1359 {mask: 0xfe00707f, value: 0x00006033, op: OR, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1360
1361 {mask: 0xfff0707f, value: 0x28705013, op: ORC_B, args: argTypeList{arg_rd, arg_rs1}},
1362
1363 {mask: 0x0000707f, value: 0x00006013, op: ORI, args: argTypeList{arg_rd, arg_rs1, arg_imm12}},
1364
1365 {mask: 0xfe00707f, value: 0x40006033, op: ORN, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1366
1367 {mask: 0xfe00707f, value: 0x02006033, op: REM, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1368
1369 {mask: 0xfe00707f, value: 0x02007033, op: REMU, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1370
1371 {mask: 0xfe00707f, value: 0x0200703b, op: REMUW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1372
1373 {mask: 0xfe00707f, value: 0x0200603b, op: REMW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1374
1375 {mask: 0xfff0707f, value: 0x6b805013, op: REV8, args: argTypeList{arg_rd, arg_rs1}},
1376
1377 {mask: 0xfe00707f, value: 0x60001033, op: ROL, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1378
1379 {mask: 0xfe00707f, value: 0x6000103b, op: ROLW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1380
1381 {mask: 0xfe00707f, value: 0x60005033, op: ROR, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1382
1383 {mask: 0xfc00707f, value: 0x60005013, op: RORI, args: argTypeList{arg_rd, arg_rs1, arg_shamt6}},
1384
1385 {mask: 0xfe00707f, value: 0x6000501b, op: RORIW, args: argTypeList{arg_rd, arg_rs1, arg_shamt5}},
1386
1387 {mask: 0xfe00707f, value: 0x6000503b, op: RORW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1388
1389 {mask: 0x0000707f, value: 0x00000023, op: SB, args: argTypeList{arg_rs2, arg_rs1_store}},
1390
1391 {mask: 0xfe00707f, value: 0x1800302f, op: SC_D, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
1392
1393 {mask: 0xfe00707f, value: 0x1c00302f, op: SC_D_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
1394
1395 {mask: 0xfe00707f, value: 0x1e00302f, op: SC_D_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
1396
1397 {mask: 0xfe00707f, value: 0x1a00302f, op: SC_D_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
1398
1399 {mask: 0xfe00707f, value: 0x1800202f, op: SC_W, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
1400
1401 {mask: 0xfe00707f, value: 0x1c00202f, op: SC_W_AQ, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
1402
1403 {mask: 0xfe00707f, value: 0x1e00202f, op: SC_W_AQRL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
1404
1405 {mask: 0xfe00707f, value: 0x1a00202f, op: SC_W_RL, args: argTypeList{arg_rd, arg_rs2, arg_rs1_amo}},
1406
1407 {mask: 0x0000707f, value: 0x00003023, op: SD, args: argTypeList{arg_rs2, arg_rs1_store}},
1408
1409 {mask: 0xfff0707f, value: 0x60401013, op: SEXT_B, args: argTypeList{arg_rd, arg_rs1}},
1410
1411 {mask: 0xfff0707f, value: 0x60501013, op: SEXT_H, args: argTypeList{arg_rd, arg_rs1}},
1412
1413 {mask: 0x0000707f, value: 0x00001023, op: SH, args: argTypeList{arg_rs2, arg_rs1_store}},
1414
1415 {mask: 0xfe00707f, value: 0x20002033, op: SH1ADD, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1416
1417 {mask: 0xfe00707f, value: 0x2000203b, op: SH1ADD_UW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1418
1419 {mask: 0xfe00707f, value: 0x20004033, op: SH2ADD, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1420
1421 {mask: 0xfe00707f, value: 0x2000403b, op: SH2ADD_UW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1422
1423 {mask: 0xfe00707f, value: 0x20006033, op: SH3ADD, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1424
1425 {mask: 0xfe00707f, value: 0x2000603b, op: SH3ADD_UW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1426
1427 {mask: 0xfe00707f, value: 0x00001033, op: SLL, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1428
1429 {mask: 0xfc00707f, value: 0x00001013, op: SLLI, args: argTypeList{arg_rd, arg_rs1, arg_shamt6}},
1430
1431 {mask: 0xfe00707f, value: 0x0000101b, op: SLLIW, args: argTypeList{arg_rd, arg_rs1, arg_shamt5}},
1432
1433 {mask: 0xfc00707f, value: 0x0800101b, op: SLLI_UW, args: argTypeList{arg_rd, arg_rs1, arg_shamt6}},
1434
1435 {mask: 0xfe00707f, value: 0x0000103b, op: SLLW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1436
1437 {mask: 0xfe00707f, value: 0x00002033, op: SLT, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1438
1439 {mask: 0x0000707f, value: 0x00002013, op: SLTI, args: argTypeList{arg_rd, arg_rs1, arg_imm12}},
1440
1441 {mask: 0x0000707f, value: 0x00003013, op: SLTIU, args: argTypeList{arg_rd, arg_rs1, arg_imm12}},
1442
1443 {mask: 0xfe00707f, value: 0x00003033, op: SLTU, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1444
1445 {mask: 0xfe00707f, value: 0x40005033, op: SRA, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1446
1447 {mask: 0xfc00707f, value: 0x40005013, op: SRAI, args: argTypeList{arg_rd, arg_rs1, arg_shamt6}},
1448
1449 {mask: 0xfe00707f, value: 0x4000501b, op: SRAIW, args: argTypeList{arg_rd, arg_rs1, arg_shamt5}},
1450
1451 {mask: 0xfe00707f, value: 0x4000503b, op: SRAW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1452
1453 {mask: 0xfe00707f, value: 0x00005033, op: SRL, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1454
1455 {mask: 0xfc00707f, value: 0x00005013, op: SRLI, args: argTypeList{arg_rd, arg_rs1, arg_shamt6}},
1456
1457 {mask: 0xfe00707f, value: 0x0000501b, op: SRLIW, args: argTypeList{arg_rd, arg_rs1, arg_shamt5}},
1458
1459 {mask: 0xfe00707f, value: 0x0000503b, op: SRLW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1460
1461 {mask: 0xfe00707f, value: 0x40000033, op: SUB, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1462
1463 {mask: 0xfe00707f, value: 0x4000003b, op: SUBW, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1464
1465 {mask: 0x0000707f, value: 0x00002023, op: SW, args: argTypeList{arg_rs2, arg_rs1_store}},
1466
1467 {mask: 0xfe00707f, value: 0x40004033, op: XNOR, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1468
1469 {mask: 0xfe00707f, value: 0x00004033, op: XOR, args: argTypeList{arg_rd, arg_rs1, arg_rs2}},
1470
1471 {mask: 0x0000707f, value: 0x00004013, op: XORI, args: argTypeList{arg_rd, arg_rs1, arg_imm12}},
1472
1473 {mask: 0xfff0707f, value: 0x0800403b, op: ZEXT_H, args: argTypeList{arg_rd, arg_rs1}},
1474 }
1475
View as plain text