1 /* Automatically generated by parse-opcodes */
2 switch((insn
.bits
>> 0x0) & 0x7f)
6 switch((insn
.bits
>> 0x7) & 0x7)
10 if((insn
.bits
& 0xffffffff) == 0x0)
12 #include "insns/unimp.h"
15 #include "insns/unimp.h"
19 #include "insns/unimp.h"
26 switch((insn
.bits
>> 0x7) & 0x7)
50 #include "insns/lbu.h"
55 #include "insns/lhu.h"
60 #include "insns/lwu.h"
65 #include "insns/unimp.h"
72 switch((insn
.bits
>> 0x7) & 0x7)
76 #include "insns/flw.h"
81 #include "insns/fld.h"
86 #include "insns/unimp.h"
93 switch((insn
.bits
>> 0x7) & 0x7)
97 #include "insns/addi.h"
102 if((insn
.bits
& 0x3f03ff) == 0x93)
104 #include "insns/slli.h"
107 #include "insns/unimp.h"
111 #include "insns/slti.h"
116 #include "insns/sltiu.h"
121 #include "insns/xori.h"
126 if((insn
.bits
& 0x3f03ff) == 0x293)
128 #include "insns/srli.h"
131 if((insn
.bits
& 0x3f03ff) == 0x10293)
133 #include "insns/srai.h"
136 #include "insns/unimp.h"
140 #include "insns/ori.h"
145 #include "insns/andi.h"
150 #include "insns/unimp.h"
157 switch((insn
.bits
>> 0x7) & 0x7)
161 #include "insns/addiw.h"
166 if((insn
.bits
& 0x3f83ff) == 0x9b)
168 #include "insns/slliw.h"
171 #include "insns/unimp.h"
175 if((insn
.bits
& 0x3f83ff) == 0x29b)
177 #include "insns/srliw.h"
180 if((insn
.bits
& 0x3f83ff) == 0x1029b)
182 #include "insns/sraiw.h"
185 #include "insns/unimp.h"
189 #include "insns/unimp.h"
196 switch((insn
.bits
>> 0x7) & 0x7)
200 #include "insns/sb.h"
205 #include "insns/sh.h"
210 #include "insns/sw.h"
215 #include "insns/sd.h"
220 #include "insns/unimp.h"
227 switch((insn
.bits
>> 0x7) & 0x7)
231 #include "insns/fsw.h"
236 #include "insns/fsd.h"
241 #include "insns/unimp.h"
248 switch((insn
.bits
>> 0x7) & 0x7)
252 if((insn
.bits
& 0x1ffff) == 0x192b)
254 #include "insns/amominu_w.h"
257 if((insn
.bits
& 0x1ffff) == 0x92b)
259 #include "insns/amoand_w.h"
262 if((insn
.bits
& 0x1ffff) == 0x1d2b)
264 #include "insns/amomaxu_w.h"
267 if((insn
.bits
& 0x1ffff) == 0x152b)
269 #include "insns/amomax_w.h"
272 if((insn
.bits
& 0x1ffff) == 0x12b)
274 #include "insns/amoadd_w.h"
277 if((insn
.bits
& 0x1ffff) == 0xd2b)
279 #include "insns/amoor_w.h"
282 if((insn
.bits
& 0x1ffff) == 0x112b)
284 #include "insns/amomin_w.h"
287 if((insn
.bits
& 0x1ffff) == 0x52b)
289 #include "insns/amoswap_w.h"
292 #include "insns/unimp.h"
296 if((insn
.bits
& 0x1ffff) == 0x19ab)
298 #include "insns/amominu_d.h"
301 if((insn
.bits
& 0x1ffff) == 0x9ab)
303 #include "insns/amoand_d.h"
306 if((insn
.bits
& 0x1ffff) == 0x1dab)
308 #include "insns/amomaxu_d.h"
311 if((insn
.bits
& 0x1ffff) == 0x1ab)
313 #include "insns/amoadd_d.h"
316 if((insn
.bits
& 0x1ffff) == 0x15ab)
318 #include "insns/amomax_d.h"
321 if((insn
.bits
& 0x1ffff) == 0xdab)
323 #include "insns/amoor_d.h"
326 if((insn
.bits
& 0x1ffff) == 0x5ab)
328 #include "insns/amoswap_d.h"
331 if((insn
.bits
& 0x1ffff) == 0x11ab)
333 #include "insns/amomin_d.h"
336 #include "insns/unimp.h"
340 #include "insns/unimp.h"
347 switch((insn
.bits
>> 0x7) & 0x7)
351 #include "insns/fence_i.h"
356 #include "insns/fence.h"
361 #include "insns/unimp.h"
368 switch((insn
.bits
>> 0x7) & 0x7)
372 if((insn
.bits
& 0x1ffff) == 0x33)
374 #include "insns/add.h"
377 if((insn
.bits
& 0x1ffff) == 0x433)
379 #include "insns/mul.h"
382 if((insn
.bits
& 0x1ffff) == 0x10033)
384 #include "insns/sub.h"
387 #include "insns/unimp.h"
391 if((insn
.bits
& 0x1ffff) == 0xb3)
393 #include "insns/sll.h"
396 if((insn
.bits
& 0x1ffff) == 0x4b3)
398 #include "insns/mulh.h"
401 #include "insns/unimp.h"
405 if((insn
.bits
& 0x1ffff) == 0x533)
407 #include "insns/mulhsu.h"
410 if((insn
.bits
& 0x1ffff) == 0x133)
412 #include "insns/slt.h"
415 #include "insns/unimp.h"
419 if((insn
.bits
& 0x1ffff) == 0x1b3)
421 #include "insns/sltu.h"
424 if((insn
.bits
& 0x1ffff) == 0x5b3)
426 #include "insns/mulhu.h"
429 #include "insns/unimp.h"
433 if((insn
.bits
& 0x1ffff) == 0x633)
435 #include "insns/div.h"
438 if((insn
.bits
& 0x1ffff) == 0x233)
440 #include "insns/xor.h"
443 #include "insns/unimp.h"
447 if((insn
.bits
& 0x1ffff) == 0x102b3)
449 #include "insns/sra.h"
452 if((insn
.bits
& 0x1ffff) == 0x2b3)
454 #include "insns/srl.h"
457 if((insn
.bits
& 0x1ffff) == 0x6b3)
459 #include "insns/divu.h"
462 #include "insns/unimp.h"
466 if((insn
.bits
& 0x1ffff) == 0x733)
468 #include "insns/rem.h"
471 if((insn
.bits
& 0x1ffff) == 0x333)
473 #include "insns/or.h"
476 #include "insns/unimp.h"
480 if((insn
.bits
& 0x1ffff) == 0x7b3)
482 #include "insns/remu.h"
485 if((insn
.bits
& 0x1ffff) == 0x3b3)
487 #include "insns/and.h"
490 #include "insns/unimp.h"
494 #include "insns/unimp.h"
501 #include "insns/lui.h"
506 switch((insn
.bits
>> 0x7) & 0x7)
510 if((insn
.bits
& 0x1ffff) == 0x43b)
512 #include "insns/mulw.h"
515 if((insn
.bits
& 0x1ffff) == 0x3b)
517 #include "insns/addw.h"
520 if((insn
.bits
& 0x1ffff) == 0x1003b)
522 #include "insns/subw.h"
525 #include "insns/unimp.h"
529 if((insn
.bits
& 0x1ffff) == 0xbb)
531 #include "insns/sllw.h"
534 #include "insns/unimp.h"
538 if((insn
.bits
& 0x1ffff) == 0x63b)
540 #include "insns/divw.h"
543 #include "insns/unimp.h"
547 if((insn
.bits
& 0x1ffff) == 0x6bb)
549 #include "insns/divuw.h"
552 if((insn
.bits
& 0x1ffff) == 0x2bb)
554 #include "insns/srlw.h"
557 if((insn
.bits
& 0x1ffff) == 0x102bb)
559 #include "insns/sraw.h"
562 #include "insns/unimp.h"
566 if((insn
.bits
& 0x1ffff) == 0x73b)
568 #include "insns/remw.h"
571 #include "insns/unimp.h"
575 if((insn
.bits
& 0x1ffff) == 0x7bb)
577 #include "insns/remuw.h"
580 #include "insns/unimp.h"
584 #include "insns/unimp.h"
591 switch((insn
.bits
>> 0x7) & 0x7)
595 #include "insns/fmadd_s.h"
600 #include "insns/fmadd_d.h"
605 #include "insns/unimp.h"
612 switch((insn
.bits
>> 0x7) & 0x7)
616 #include "insns/fmsub_s.h"
621 #include "insns/fmsub_d.h"
626 #include "insns/unimp.h"
633 switch((insn
.bits
>> 0x7) & 0x7)
637 #include "insns/fnmsub_s.h"
642 #include "insns/fnmsub_d.h"
647 #include "insns/unimp.h"
654 switch((insn
.bits
>> 0x7) & 0x7)
658 #include "insns/fnmadd_s.h"
663 #include "insns/fnmadd_d.h"
668 #include "insns/unimp.h"
675 switch((insn
.bits
>> 0x7) & 0x7)
679 if((insn
.bits
& 0x3ff1ff) == 0x9053)
681 #include "insns/fcvt_lu_s.h"
684 if((insn
.bits
& 0x1ffff) == 0x18053)
686 #include "insns/fmin_s.h"
689 if((insn
.bits
& 0x3ff1ff) == 0x11053)
691 #include "insns/fcvt_s_d.h"
694 if((insn
.bits
& 0x3ff1ff) == 0xe053)
696 #include "insns/fcvt_s_w.h"
699 if((insn
.bits
& 0x7c1ffff) == 0x1c053)
701 #include "insns/mftx_s.h"
704 if((insn
.bits
& 0x3ff1ff) == 0x8053)
706 #include "insns/fcvt_l_s.h"
709 if((insn
.bits
& 0x1ffff) == 0x17053)
711 #include "insns/fle_s.h"
714 if((insn
.bits
& 0x7ffffff) == 0x1d053)
716 #include "insns/mffsr.h"
719 if((insn
.bits
& 0x1f1ff) == 0x3053)
721 #include "insns/fdiv_s.h"
724 if((insn
.bits
& 0x3fffff) == 0x1f053)
726 #include "insns/mtfsr.h"
729 if((insn
.bits
& 0x3ff1ff) == 0xd053)
731 #include "insns/fcvt_s_lu.h"
734 if((insn
.bits
& 0x1f1ff) == 0x2053)
736 #include "insns/fmul_s.h"
739 if((insn
.bits
& 0x1ffff) == 0x16053)
741 #include "insns/flt_s.h"
744 if((insn
.bits
& 0x1ffff) == 0x15053)
746 #include "insns/feq_s.h"
749 if((insn
.bits
& 0x1ffff) == 0x7053)
751 #include "insns/fsgnjx_s.h"
754 if((insn
.bits
& 0x1ffff) == 0x19053)
756 #include "insns/fmax_s.h"
759 if((insn
.bits
& 0x3ff1ff) == 0xb053)
761 #include "insns/fcvt_wu_s.h"
764 if((insn
.bits
& 0x3ff1ff) == 0xa053)
766 #include "insns/fcvt_w_s.h"
769 if((insn
.bits
& 0x3fffff) == 0x1e053)
771 #include "insns/mxtf_s.h"
774 if((insn
.bits
& 0x1f1ff) == 0x1053)
776 #include "insns/fsub_s.h"
779 if((insn
.bits
& 0x1ffff) == 0x5053)
781 #include "insns/fsgnj_s.h"
784 if((insn
.bits
& 0x3ff1ff) == 0xf053)
786 #include "insns/fcvt_s_wu.h"
789 if((insn
.bits
& 0x3ff1ff) == 0xc053)
791 #include "insns/fcvt_s_l.h"
794 if((insn
.bits
& 0x3ff1ff) == 0x4053)
796 #include "insns/fsqrt_s.h"
799 if((insn
.bits
& 0x1ffff) == 0x6053)
801 #include "insns/fsgnjn_s.h"
804 if((insn
.bits
& 0x1f1ff) == 0x53)
806 #include "insns/fadd_s.h"
809 #include "insns/unimp.h"
813 if((insn
.bits
& 0x1ffff) == 0x180d3)
815 #include "insns/fmin_d.h"
818 if((insn
.bits
& 0x3ff1ff) == 0xc0d3)
820 #include "insns/fcvt_d_l.h"
823 if((insn
.bits
& 0x3fffff) == 0xe0d3)
825 #include "insns/fcvt_d_w.h"
828 if((insn
.bits
& 0x3fffff) == 0x100d3)
830 #include "insns/fcvt_d_s.h"
833 if((insn
.bits
& 0x1ffff) == 0x190d3)
835 #include "insns/fmax_d.h"
838 if((insn
.bits
& 0x7c1ffff) == 0x1c0d3)
840 #include "insns/mftx_d.h"
843 if((insn
.bits
& 0x1ffff) == 0x170d3)
845 #include "insns/fle_d.h"
848 if((insn
.bits
& 0x1ffff) == 0x160d3)
850 #include "insns/flt_d.h"
853 if((insn
.bits
& 0x1f1ff) == 0x20d3)
855 #include "insns/fmul_d.h"
858 if((insn
.bits
& 0x1ffff) == 0x70d3)
860 #include "insns/fsgnjx_d.h"
863 if((insn
.bits
& 0x1ffff) == 0x150d3)
865 #include "insns/feq_d.h"
868 if((insn
.bits
& 0x3fffff) == 0xf0d3)
870 #include "insns/fcvt_d_wu.h"
873 if((insn
.bits
& 0x3ff1ff) == 0xb0d3)
875 #include "insns/fcvt_wu_d.h"
878 if((insn
.bits
& 0x1ffff) == 0x60d3)
880 #include "insns/fsgnjn_d.h"
883 if((insn
.bits
& 0x3ff1ff) == 0xd0d3)
885 #include "insns/fcvt_d_lu.h"
888 if((insn
.bits
& 0x3ff1ff) == 0xa0d3)
890 #include "insns/fcvt_w_d.h"
893 if((insn
.bits
& 0x3fffff) == 0x1e0d3)
895 #include "insns/mxtf_d.h"
898 if((insn
.bits
& 0x1ffff) == 0x50d3)
900 #include "insns/fsgnj_d.h"
903 if((insn
.bits
& 0x3ff1ff) == 0x80d3)
905 #include "insns/fcvt_l_d.h"
908 if((insn
.bits
& 0x1f1ff) == 0xd3)
910 #include "insns/fadd_d.h"
913 if((insn
.bits
& 0x3ff1ff) == 0x90d3)
915 #include "insns/fcvt_lu_d.h"
918 if((insn
.bits
& 0x1f1ff) == 0x10d3)
920 #include "insns/fsub_d.h"
923 if((insn
.bits
& 0x3ff1ff) == 0x40d3)
925 #include "insns/fsqrt_d.h"
928 if((insn
.bits
& 0x1f1ff) == 0x30d3)
930 #include "insns/fdiv_d.h"
933 #include "insns/unimp.h"
937 #include "insns/unimp.h"
944 switch((insn
.bits
>> 0x7) & 0x7)
948 #include "insns/beq.h"
953 #include "insns/bne.h"
958 #include "insns/blt.h"
963 #include "insns/bge.h"
968 #include "insns/bltu.h"
973 #include "insns/bgeu.h"
978 #include "insns/unimp.h"
990 switch((insn
.bits
>> 0x7) & 0x7)
994 #include "insns/jalr_c.h"
999 #include "insns/jalr_r.h"
1004 #include "insns/jalr_j.h"
1009 if((insn
.bits
& 0x7ffffff) == 0x26b)
1011 #include "insns/rdnpc.h"
1014 #include "insns/unimp.h"
1018 #include "insns/unimp.h"
1025 #include "insns/jal.h"
1030 switch((insn
.bits
>> 0x7) & 0x7)
1034 if((insn
.bits
& 0xffffffff) == 0x77)
1036 #include "insns/syscall.h"
1039 #include "insns/unimp.h"
1043 if((insn
.bits
& 0xffffffff) == 0xf7)
1045 #include "insns/break.h"
1048 #include "insns/unimp.h"
1052 #include "insns/unimp.h"
1059 switch((insn
.bits
>> 0x7) & 0x7)
1063 if((insn
.bits
& 0x7ffffff) == 0x7b)
1065 #include "insns/ei.h"
1068 #include "insns/unimp.h"
1072 if((insn
.bits
& 0x7ffffff) == 0xfb)
1074 #include "insns/di.h"
1077 #include "insns/unimp.h"
1081 if((insn
.bits
& 0x7c1ffff) == 0x17b)
1083 #include "insns/mfpcr.h"
1086 #include "insns/unimp.h"
1090 if((insn
.bits
& 0xf801ffff) == 0x1fb)
1092 #include "insns/mtpcr.h"
1095 #include "insns/unimp.h"
1099 if((insn
.bits
& 0xffffffff) == 0x27b)
1101 #include "insns/eret.h"
1104 #include "insns/unimp.h"
1108 #include "insns/unimp.h"
1115 #include "insns/unimp.h"