349fa9e69ca0a9ece1bf8ed0358e2fab7ede1a76
1 /* Automatically generated by parse-opcodes */
2 switch((insn
.bits
>> 0x19) & 0x7f)
6 switch((insn
.bits
>> 0xc) & 0x7)
10 if((insn
.bits
& 0xffffffff) == 0x0)
12 #include "insns/unimp.h"
15 #include "insns/unimp.h"
19 #include "insns/unimp.h"
46 #include "insns/jal.h"
51 #include "insns/jal.h"
56 #include "insns/jal.h"
61 #include "insns/jal.h"
66 switch((insn
.bits
>> 0xc) & 0x7)
70 if((insn
.bits
& 0xfe007fe0) == 0xd0000820)
72 #include "insns/c_eq_s.h"
75 if((insn
.bits
& 0xfe007fe0) == 0xd00000a0)
77 #include "insns/sgninj_s.h"
80 if((insn
.bits
& 0xfe0fffe0) == 0xd00004c0)
82 #include "insns/cvt_s_w.h"
85 if((insn
.bits
& 0xfe0fffe0) == 0xd0000440)
87 #include "insns/trunc_w_s.h"
90 if((insn
.bits
& 0xfe007fe0) == 0xd0000000)
92 #include "insns/add_s.h"
95 if((insn
.bits
& 0xfe007fe0) == 0xd00000c0)
97 #include "insns/sgninjn_s.h"
100 if((insn
.bits
& 0xfe0fffe0) == 0xd0000400)
102 #include "insns/trunc_l_s.h"
105 if((insn
.bits
& 0xfe0fffe0) == 0xd00004e0)
107 #include "insns/cvtu_s_w.h"
110 if((insn
.bits
& 0xfe0fffe0) == 0xd0000420)
112 #include "insns/truncu_l_s.h"
115 if((insn
.bits
& 0xfe0fffe0) == 0xd00004a0)
117 #include "insns/cvtu_s_l.h"
120 if((insn
.bits
& 0xfe007fe0) == 0xd0000020)
122 #include "insns/sub_s.h"
125 if((insn
.bits
& 0xfe0fffe0) == 0xd0000080)
127 #include "insns/sqrt_s.h"
130 if((insn
.bits
& 0xfe007fe0) == 0xd0000840)
132 #include "insns/c_lt_s.h"
135 if((insn
.bits
& 0xfe007fe0) == 0xd00000e0)
137 #include "insns/sgnmul_s.h"
140 if((insn
.bits
& 0xfe0fffe0) == 0xd0000480)
142 #include "insns/cvt_s_l.h"
145 if((insn
.bits
& 0xfe007fe0) == 0xd0000060)
147 #include "insns/div_s.h"
150 if((insn
.bits
& 0xfe0fffe0) == 0xd0000660)
152 #include "insns/cvt_s_d.h"
155 if((insn
.bits
& 0xfe007fe0) == 0xd0000860)
157 #include "insns/c_le_s.h"
160 if((insn
.bits
& 0xfe007fe0) == 0xd0000040)
162 #include "insns/mul_s.h"
165 if((insn
.bits
& 0xfe0fffe0) == 0xd0000460)
167 #include "insns/truncu_w_s.h"
170 #include "insns/unimp.h"
174 if((insn
.bits
& 0xfe007fe0) == 0xd00060a0)
176 #include "insns/sgninj_d.h"
179 if((insn
.bits
& 0xfe007fe0) == 0xd0006060)
181 #include "insns/div_d.h"
184 if((insn
.bits
& 0xfe007fe0) == 0xd0006820)
186 #include "insns/c_eq_d.h"
189 if((insn
.bits
& 0xfe0fffe0) == 0xd00064a0)
191 #include "insns/cvtu_d_l.h"
194 if((insn
.bits
& 0xfe0fffe0) == 0xd0006440)
196 #include "insns/trunc_w_d.h"
199 if((insn
.bits
& 0xfe0fffe0) == 0xd00064e0)
201 #include "insns/cvtu_d_w.h"
204 if((insn
.bits
& 0xfe007fe0) == 0xd0006000)
206 #include "insns/add_d.h"
209 if((insn
.bits
& 0xfe007fe0) == 0xd0006860)
211 #include "insns/c_le_d.h"
214 if((insn
.bits
& 0xfe007fe0) == 0xd00060e0)
216 #include "insns/sgnmul_d.h"
219 if((insn
.bits
& 0xfe007fe0) == 0xd00060c0)
221 #include "insns/sgninjn_d.h"
224 if((insn
.bits
& 0xfe0fffe0) == 0xd0006600)
226 #include "insns/cvt_d_s.h"
229 if((insn
.bits
& 0xfe0fffe0) == 0xd0006400)
231 #include "insns/trunc_l_d.h"
234 if((insn
.bits
& 0xfe0fffe0) == 0xd0006420)
236 #include "insns/truncu_l_d.h"
239 if((insn
.bits
& 0xfe007fe0) == 0xd0006020)
241 #include "insns/sub_d.h"
244 if((insn
.bits
& 0xfe0fffe0) == 0xd0006080)
246 #include "insns/sqrt_d.h"
249 if((insn
.bits
& 0xfe0fffe0) == 0xd00064c0)
251 #include "insns/cvt_d_w.h"
254 if((insn
.bits
& 0xfe0fffe0) == 0xd0006480)
256 #include "insns/cvt_d_l.h"
259 if((insn
.bits
& 0xfe0fffe0) == 0xd0006460)
261 #include "insns/truncu_w_d.h"
264 if((insn
.bits
& 0xfe007fe0) == 0xd0006040)
266 #include "insns/mul_d.h"
269 if((insn
.bits
& 0xfe007fe0) == 0xd0006840)
271 #include "insns/c_lt_d.h"
274 #include "insns/unimp.h"
278 #include "insns/unimp.h"
285 switch((insn
.bits
>> 0xc) & 0x7)
289 #include "insns/l_s.h"
294 #include "insns/s_s.h"
299 #include "insns/l_d.h"
304 #include "insns/s_d.h"
309 #include "insns/unimp.h"
316 switch((insn
.bits
>> 0xc) & 0x7)
320 if((insn
.bits
& 0xfe0fffe0) == 0xd4000000)
322 #include "insns/mff_s.h"
325 if((insn
.bits
& 0xfe0fffe0) == 0xd4000800)
327 #include "insns/mtf_s.h"
330 #include "insns/unimp.h"
334 if((insn
.bits
& 0xfe0fffe0) == 0xd4006000)
336 #include "insns/mff_d.h"
339 if((insn
.bits
& 0xfe0fffe0) == 0xd4006400)
341 #include "insns/mffh_d.h"
344 if((insn
.bits
& 0xfe007fe0) == 0xd4006c00)
346 #include "insns/mtflh_d.h"
349 if((insn
.bits
& 0xfe0fffe0) == 0xd4006800)
351 #include "insns/mtf_d.h"
354 #include "insns/unimp.h"
358 #include "insns/unimp.h"
365 switch((insn
.bits
>> 0xc) & 0x7)
369 if((insn
.bits
& 0xfe007c00) == 0xd6000800)
371 #include "insns/nmadd_s.h"
374 if((insn
.bits
& 0xfe007c00) == 0xd6000c00)
376 #include "insns/nmsub_s.h"
379 if((insn
.bits
& 0xfe007c00) == 0xd6000400)
381 #include "insns/msub_s.h"
384 if((insn
.bits
& 0xfe007c00) == 0xd6000000)
386 #include "insns/madd_s.h"
389 #include "insns/unimp.h"
393 if((insn
.bits
& 0xfe007c00) == 0xd6006800)
395 #include "insns/nmadd_d.h"
398 if((insn
.bits
& 0xfe007c00) == 0xd6006c00)
400 #include "insns/nmsub_d.h"
403 if((insn
.bits
& 0xfe007c00) == 0xd6006400)
405 #include "insns/msub_d.h"
408 if((insn
.bits
& 0xfe007c00) == 0xd6006000)
410 #include "insns/madd_d.h"
413 #include "insns/unimp.h"
417 #include "insns/unimp.h"
424 #include "insns/lui.h"
429 switch((insn
.bits
>> 0xc) & 0x7)
433 #include "insns/beq.h"
438 #include "insns/bne.h"
443 #include "insns/blt.h"
448 #include "insns/bge.h"
453 #include "insns/bltu.h"
458 #include "insns/bgeu.h"
463 #include "insns/unimp.h"
470 switch((insn
.bits
>> 0xc) & 0x7)
474 #include "insns/addi.h"
479 #include "insns/slti.h"
484 #include "insns/sltiu.h"
489 #include "insns/andi.h"
494 #include "insns/ori.h"
499 #include "insns/xori.h"
504 if((insn
.bits
& 0xfe007fc0) == 0xe8007080)
506 #include "insns/srli.h"
509 if((insn
.bits
& 0xfe007fc0) == 0xe80070c0)
511 #include "insns/srai.h"
514 if((insn
.bits
& 0xfe007fc0) == 0xe8007040)
516 #include "insns/slli.h"
519 #include "insns/unimp.h"
523 #include "insns/unimp.h"
530 switch((insn
.bits
>> 0xc) & 0x7)
534 if((insn
.bits
& 0xfe007fe0) == 0xea000000)
536 #include "insns/add.h"
539 if((insn
.bits
& 0xfe007fe0) == 0xea0000e0)
541 #include "insns/nor.h"
544 if((insn
.bits
& 0xfe007fe0) == 0xea000060)
546 #include "insns/sltu.h"
549 if((insn
.bits
& 0xfe007fe0) == 0xea0000c0)
551 #include "insns/xor.h"
554 if((insn
.bits
& 0xfe007fe0) == 0xea000020)
556 #include "insns/sub.h"
559 if((insn
.bits
& 0xfe007fe0) == 0xea0000a0)
561 #include "insns/or.h"
564 if((insn
.bits
& 0xfe007fe0) == 0xea000040)
566 #include "insns/slt.h"
569 if((insn
.bits
& 0xfe007fe0) == 0xea000080)
571 #include "insns/and.h"
574 #include "insns/unimp.h"
578 if((insn
.bits
& 0xfe007fe0) == 0xea001000)
580 #include "insns/mul.h"
583 if((insn
.bits
& 0xfe007fe0) == 0xea001080)
585 #include "insns/div.h"
588 if((insn
.bits
& 0xfe007fe0) == 0xea0010c0)
590 #include "insns/rem.h"
593 if((insn
.bits
& 0xfe007fe0) == 0xea001040)
595 #include "insns/mulh.h"
598 if((insn
.bits
& 0xfe007fe0) == 0xea0010e0)
600 #include "insns/remu.h"
603 if((insn
.bits
& 0xfe007fe0) == 0xea001060)
605 #include "insns/mulhu.h"
608 if((insn
.bits
& 0xfe007fe0) == 0xea0010a0)
610 #include "insns/divu.h"
613 #include "insns/unimp.h"
617 if((insn
.bits
& 0xfe007fe0) == 0xea0070c0)
619 #include "insns/sra.h"
622 if((insn
.bits
& 0xfe007fe0) == 0xea007080)
624 #include "insns/srl.h"
627 if((insn
.bits
& 0xfe007fe0) == 0xea007040)
629 #include "insns/sll.h"
632 #include "insns/unimp.h"
636 #include "insns/unimp.h"
643 switch((insn
.bits
>> 0xc) & 0x7)
647 #include "insns/addiw.h"
652 if((insn
.bits
& 0xfe007fe0) == 0xec007040)
654 #include "insns/slliw.h"
657 if((insn
.bits
& 0xfe007fe0) == 0xec007080)
659 #include "insns/srliw.h"
662 if((insn
.bits
& 0xfe007fe0) == 0xec0070c0)
664 #include "insns/sraiw.h"
667 #include "insns/unimp.h"
671 #include "insns/unimp.h"
678 switch((insn
.bits
>> 0xc) & 0x7)
682 if((insn
.bits
& 0xfe007fe0) == 0xee000000)
684 #include "insns/addw.h"
687 if((insn
.bits
& 0xfe007fe0) == 0xee000020)
689 #include "insns/subw.h"
692 #include "insns/unimp.h"
696 if((insn
.bits
& 0xfe007fe0) == 0xee0010e0)
698 #include "insns/remuw.h"
701 if((insn
.bits
& 0xfe007fe0) == 0xee0010a0)
703 #include "insns/divuw.h"
706 if((insn
.bits
& 0xfe007fe0) == 0xee001060)
708 #include "insns/mulhuw.h"
711 if((insn
.bits
& 0xfe007fe0) == 0xee001000)
713 #include "insns/mulw.h"
716 if((insn
.bits
& 0xfe007fe0) == 0xee0010c0)
718 #include "insns/remw.h"
721 if((insn
.bits
& 0xfe007fe0) == 0xee001040)
723 #include "insns/mulhw.h"
726 if((insn
.bits
& 0xfe007fe0) == 0xee001080)
728 #include "insns/divw.h"
731 #include "insns/unimp.h"
735 if((insn
.bits
& 0xfe007fe0) == 0xee007080)
737 #include "insns/srlw.h"
740 if((insn
.bits
& 0xfe007fe0) == 0xee0070c0)
742 #include "insns/sraw.h"
745 if((insn
.bits
& 0xfe007fe0) == 0xee007040)
747 #include "insns/sllw.h"
750 #include "insns/unimp.h"
754 #include "insns/unimp.h"
761 switch((insn
.bits
>> 0xc) & 0x7)
765 #include "insns/lb.h"
770 #include "insns/lh.h"
775 #include "insns/lw.h"
780 #include "insns/ld.h"
785 #include "insns/lbu.h"
790 #include "insns/lhu.h"
795 #include "insns/lwu.h"
800 if((insn
.bits
& 0xfff07000) == 0xf0007000)
802 #include "insns/synci.h"
805 #include "insns/unimp.h"
809 #include "insns/unimp.h"
816 switch((insn
.bits
>> 0xc) & 0x7)
820 #include "insns/sb.h"
825 #include "insns/sh.h"
830 #include "insns/sw.h"
835 #include "insns/sd.h"
840 #include "insns/unimp.h"
847 switch((insn
.bits
>> 0xc) & 0x7)
851 if((insn
.bits
& 0xfe007fe0) == 0xf4002040)
853 #include "insns/amow_and.h"
856 if((insn
.bits
& 0xfe007fe0) == 0xf4002080)
858 #include "insns/amow_min.h"
861 if((insn
.bits
& 0xfe007fe0) == 0xf4002060)
863 #include "insns/amow_or.h"
866 if((insn
.bits
& 0xfe007fe0) == 0xf40020a0)
868 #include "insns/amow_max.h"
871 if((insn
.bits
& 0xfe007fe0) == 0xf40020c0)
873 #include "insns/amow_minu.h"
876 if((insn
.bits
& 0xfe007fe0) == 0xf4002000)
878 #include "insns/amow_add.h"
881 if((insn
.bits
& 0xfe007fe0) == 0xf4002020)
883 #include "insns/amow_swap.h"
886 if((insn
.bits
& 0xfe007fe0) == 0xf40020e0)
888 #include "insns/amow_maxu.h"
891 #include "insns/unimp.h"
895 if((insn
.bits
& 0xfe007fe0) == 0xf4003000)
897 #include "insns/amo_add.h"
900 if((insn
.bits
& 0xfe007fe0) == 0xf4003020)
902 #include "insns/amo_swap.h"
905 if((insn
.bits
& 0xfe007fe0) == 0xf4003060)
907 #include "insns/amo_or.h"
910 if((insn
.bits
& 0xfe007fe0) == 0xf40030a0)
912 #include "insns/amo_max.h"
915 if((insn
.bits
& 0xfe007fe0) == 0xf4003080)
917 #include "insns/amo_min.h"
920 if((insn
.bits
& 0xfe007fe0) == 0xf40030c0)
922 #include "insns/amo_minu.h"
925 if((insn
.bits
& 0xfe007fe0) == 0xf4003040)
927 #include "insns/amo_and.h"
930 if((insn
.bits
& 0xfe007fe0) == 0xf40030e0)
932 #include "insns/amo_maxu.h"
935 #include "insns/unimp.h"
939 #include "insns/unimp.h"
946 switch((insn
.bits
>> 0xc) & 0x7)
950 if((insn
.bits
& 0xfe0fffe0) == 0xf6000000)
952 #include "insns/jalr_c.h"
955 if((insn
.bits
& 0xfe0fffe0) == 0xf6000040)
957 #include "insns/jalr_j.h"
960 if((insn
.bits
& 0xfe0fffe0) == 0xf6000020)
962 #include "insns/jalr_r.h"
965 #include "insns/unimp.h"
969 if((insn
.bits
& 0xffffffe0) == 0xf6001000)
971 #include "insns/rdnpc.h"
974 #include "insns/unimp.h"
978 if((insn
.bits
& 0xfff07fe0) == 0xf6002000)
980 #include "insns/mfcr.h"
983 #include "insns/unimp.h"
987 if((insn
.bits
& 0xfe007fff) == 0xf6003000)
989 #include "insns/mtcr.h"
992 #include "insns/unimp.h"
996 if((insn
.bits
& 0xffffffff) == 0xf6004000)
998 #include "insns/sync.h"
1001 #include "insns/unimp.h"
1005 if((insn
.bits
& 0xffffffff) == 0xf6005000)
1007 #include "insns/syscall.h"
1010 #include "insns/unimp.h"
1014 if((insn
.bits
& 0xffffffff) == 0xf6006000)
1016 #include "insns/break.h"
1019 #include "insns/unimp.h"
1023 #include "insns/unimp.h"
1030 switch((insn
.bits
>> 0xc) & 0x7)
1034 if((insn
.bits
& 0xffffffe0) == 0xfc000000)
1036 #include "insns/ei.h"
1039 #include "insns/unimp.h"
1043 if((insn
.bits
& 0xffffffe0) == 0xfc001000)
1045 #include "insns/di.h"
1048 #include "insns/unimp.h"
1052 if((insn
.bits
& 0xffffffff) == 0xfc002000)
1054 #include "insns/eret.h"
1057 #include "insns/unimp.h"
1061 if((insn
.bits
& 0xfff07fe0) == 0xfc004000)
1063 #include "insns/mfpcr.h"
1066 #include "insns/unimp.h"
1070 if((insn
.bits
& 0xfe007fff) == 0xfc005000)
1072 #include "insns/mtpcr.h"
1075 #include "insns/unimp.h"
1079 #include "insns/unimp.h"
1086 #include "insns/unimp.h"