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
& 0xfe007c00) == 0xd0000000)
72 #include "insns/add_fmt.h"
75 #include "insns/unimp.h"
79 if((insn
.bits
& 0xfe007c00) == 0xd0001000)
81 #include "insns/sub_fmt.h"
84 #include "insns/unimp.h"
88 if((insn
.bits
& 0xfe007c00) == 0xd0002000)
90 #include "insns/mul_fmt.h"
93 #include "insns/unimp.h"
97 if((insn
.bits
& 0xfe007c00) == 0xd0003000)
99 #include "insns/div_fmt.h"
102 #include "insns/unimp.h"
106 if((insn
.bits
& 0xfe0ffc00) == 0xd0004000)
108 #include "insns/sqrt_fmt.h"
111 #include "insns/unimp.h"
115 if((insn
.bits
& 0xfe0ffc00) == 0xd0005000)
117 #include "insns/abs_fmt.h"
120 #include "insns/unimp.h"
124 if((insn
.bits
& 0xfe0ffc00) == 0xd0006000)
126 #include "insns/mov_fmt.h"
129 #include "insns/unimp.h"
133 if((insn
.bits
& 0xfe0ffc00) == 0xd0007000)
135 #include "insns/neg_fmt.h"
138 #include "insns/unimp.h"
142 #include "insns/unimp.h"
149 switch((insn
.bits
>> 0xc) & 0x7)
153 if((insn
.bits
& 0xfe0ffc00) == 0xd2000000)
155 #include "insns/round_l_fmt.h"
158 #include "insns/unimp.h"
162 if((insn
.bits
& 0xfe0ffc00) == 0xd2001000)
164 #include "insns/trunc_l_fmt.h"
167 #include "insns/unimp.h"
171 if((insn
.bits
& 0xfe0ffc00) == 0xd2002000)
173 #include "insns/ceil_l_fmt.h"
176 #include "insns/unimp.h"
180 if((insn
.bits
& 0xfe0ffc00) == 0xd2003000)
182 #include "insns/floor_l_fmt.h"
185 #include "insns/unimp.h"
189 if((insn
.bits
& 0xfe0ffc00) == 0xd2004000)
191 #include "insns/round_w_fmt.h"
194 #include "insns/unimp.h"
198 if((insn
.bits
& 0xfe0ffc00) == 0xd2005000)
200 #include "insns/trunc_w_fmt.h"
203 #include "insns/unimp.h"
207 if((insn
.bits
& 0xfe0ffc00) == 0xd2006000)
209 #include "insns/ceil_w_fmt.h"
212 #include "insns/unimp.h"
216 if((insn
.bits
& 0xfe0ffc00) == 0xd2007000)
218 #include "insns/floor_w_fmt.h"
221 #include "insns/unimp.h"
225 #include "insns/unimp.h"
232 switch((insn
.bits
>> 0xc) & 0x7)
236 if((insn
.bits
& 0xfe007fff) == 0xd4000000)
238 #include "insns/mfc1.h"
241 #include "insns/unimp.h"
245 if((insn
.bits
& 0xfe007fff) == 0xd4001000)
247 #include "insns/dmfc1.h"
250 #include "insns/unimp.h"
254 if((insn
.bits
& 0xfe007fff) == 0xd4002000)
256 #include "insns/cfc1.h"
259 #include "insns/unimp.h"
263 if((insn
.bits
& 0xfe007fff) == 0xd4003000)
265 #include "insns/mfhc1.h"
268 #include "insns/unimp.h"
272 if((insn
.bits
& 0xfe007fff) == 0xd4004000)
274 #include "insns/mtc1.h"
277 #include "insns/unimp.h"
281 if((insn
.bits
& 0xfe007fff) == 0xd4005000)
283 #include "insns/dmtc1.h"
286 #include "insns/unimp.h"
290 if((insn
.bits
& 0xfe007fff) == 0xd4006000)
292 #include "insns/ctc1.h"
295 #include "insns/unimp.h"
299 if((insn
.bits
& 0xfe007fff) == 0xd4007000)
301 #include "insns/mthc1.h"
304 #include "insns/unimp.h"
308 #include "insns/unimp.h"
315 switch((insn
.bits
>> 0xc) & 0x7)
319 if((insn
.bits
& 0xfe0ffc00) == 0xd6000000)
321 #include "insns/cvt_s_fmt.h"
324 #include "insns/unimp.h"
328 if((insn
.bits
& 0xfe0ffc00) == 0xd6001000)
330 #include "insns/cvt_d_fmt.h"
333 #include "insns/unimp.h"
337 if((insn
.bits
& 0xfe0ffc00) == 0xd6004000)
339 #include "insns/cvt_w_fmt.h"
342 #include "insns/unimp.h"
346 if((insn
.bits
& 0xfe0ffc00) == 0xd6005000)
348 #include "insns/cvt_l_fmt.h"
351 #include "insns/unimp.h"
355 #include "insns/unimp.h"
362 switch((insn
.bits
>> 0xc) & 0x7)
366 if((insn
.bits
& 0xfe007c00) == 0xd8000000)
368 #include "insns/c_f_fmt.h"
371 #include "insns/unimp.h"
375 if((insn
.bits
& 0xfe007c00) == 0xd8001000)
377 #include "insns/c_un_fmt.h"
380 #include "insns/unimp.h"
384 if((insn
.bits
& 0xfe007c00) == 0xd8002000)
386 #include "insns/c_eq_fmt.h"
389 #include "insns/unimp.h"
393 if((insn
.bits
& 0xfe007c00) == 0xd8003000)
395 #include "insns/c_ueq_fmt.h"
398 #include "insns/unimp.h"
402 if((insn
.bits
& 0xfe007c00) == 0xd8004000)
404 #include "insns/c_olt_fmt.h"
407 #include "insns/unimp.h"
411 if((insn
.bits
& 0xfe007c00) == 0xd8005000)
413 #include "insns/c_ult_fmt.h"
416 #include "insns/unimp.h"
420 if((insn
.bits
& 0xfe007c00) == 0xd8006000)
422 #include "insns/c_ole_fmt.h"
425 #include "insns/unimp.h"
429 if((insn
.bits
& 0xfe007c00) == 0xd8007000)
431 #include "insns/c_ule_fmt.h"
434 #include "insns/unimp.h"
438 #include "insns/unimp.h"
445 switch((insn
.bits
>> 0xc) & 0x7)
449 if((insn
.bits
& 0xfe007c00) == 0xda000000)
451 #include "insns/c_sf_fmt.h"
454 #include "insns/unimp.h"
458 if((insn
.bits
& 0xfe007c00) == 0xda001000)
460 #include "insns/c_ngle_fmt.h"
463 #include "insns/unimp.h"
467 if((insn
.bits
& 0xfe007c00) == 0xda002000)
469 #include "insns/c_seq_fmt.h"
472 #include "insns/unimp.h"
476 if((insn
.bits
& 0xfe007c00) == 0xda003000)
478 #include "insns/c_ngl_fmt.h"
481 #include "insns/unimp.h"
485 if((insn
.bits
& 0xfe007c00) == 0xda004000)
487 #include "insns/c_lt_fmt.h"
490 #include "insns/unimp.h"
494 if((insn
.bits
& 0xfe007c00) == 0xda005000)
496 #include "insns/c_nge_fmt.h"
499 #include "insns/unimp.h"
503 if((insn
.bits
& 0xfe007c00) == 0xda006000)
505 #include "insns/c_le_fmt.h"
508 #include "insns/unimp.h"
512 if((insn
.bits
& 0xfe007c00) == 0xda007000)
514 #include "insns/c_ngt_fmt.h"
517 #include "insns/unimp.h"
521 #include "insns/unimp.h"
528 #include "insns/lui.h"
533 #include "insns/slori.h"
538 switch((insn
.bits
>> 0xc) & 0x7)
542 #include "insns/beq.h"
547 #include "insns/bne.h"
552 #include "insns/blt.h"
557 #include "insns/bltu.h"
562 #include "insns/ble.h"
567 #include "insns/bleu.h"
572 #include "insns/unimp.h"
579 switch((insn
.bits
>> 0xc) & 0x7)
583 #include "insns/addi.h"
588 #include "insns/daddi.h"
593 #include "insns/slti.h"
598 #include "insns/sltiu.h"
603 #include "insns/andi.h"
608 #include "insns/ori.h"
613 #include "insns/xori.h"
618 #include "insns/unimp.h"
625 switch((insn
.bits
>> 0xc) & 0x7)
629 if((insn
.bits
& 0xfe007fe0) == 0xea0000e0)
631 #include "insns/nor.h"
634 if((insn
.bits
& 0xfe007fe0) == 0xea000060)
636 #include "insns/sltu.h"
639 if((insn
.bits
& 0xfe007fe0) == 0xea0000c0)
641 #include "insns/xor.h"
644 if((insn
.bits
& 0xfe007fe0) == 0xea000020)
646 #include "insns/sub.h"
649 if((insn
.bits
& 0xfe007fe0) == 0xea0000a0)
651 #include "insns/or.h"
654 if((insn
.bits
& 0xfe007fe0) == 0xea000000)
656 #include "insns/add.h"
659 if((insn
.bits
& 0xfe007fe0) == 0xea000040)
661 #include "insns/slt.h"
664 if((insn
.bits
& 0xfe007fe0) == 0xea000080)
666 #include "insns/and.h"
669 #include "insns/unimp.h"
673 if((insn
.bits
& 0xfe007fe0) == 0xea001000)
675 #include "insns/mul.h"
678 if((insn
.bits
& 0xfe007fe0) == 0xea001080)
680 #include "insns/div.h"
683 if((insn
.bits
& 0xfe007fe0) == 0xea0010c0)
685 #include "insns/rem.h"
688 if((insn
.bits
& 0xfe007fe0) == 0xea001040)
690 #include "insns/mulh.h"
693 if((insn
.bits
& 0xfe007fe0) == 0xea0010e0)
695 #include "insns/remu.h"
698 if((insn
.bits
& 0xfe007fe0) == 0xea001060)
700 #include "insns/mulhu.h"
703 if((insn
.bits
& 0xfe007fe0) == 0xea0010a0)
705 #include "insns/divu.h"
708 #include "insns/unimp.h"
712 if((insn
.bits
& 0xfe007fe0) == 0xea004040)
714 #include "insns/srlv.h"
717 if((insn
.bits
& 0xfe007fe0) == 0xea004020)
719 #include "insns/sllv.h"
722 if((insn
.bits
& 0xfe007fe0) == 0xea004060)
724 #include "insns/srav.h"
727 #include "insns/unimp.h"
731 if((insn
.bits
& 0xfff07c00) == 0xea005000)
733 #include "insns/sll.h"
736 #include "insns/unimp.h"
740 if((insn
.bits
& 0xfff07c00) == 0xea006000)
742 #include "insns/srl.h"
745 #include "insns/unimp.h"
749 if((insn
.bits
& 0xfff07c00) == 0xea007000)
751 #include "insns/sra.h"
754 #include "insns/unimp.h"
758 #include "insns/unimp.h"
765 switch((insn
.bits
>> 0xc) & 0x7)
769 if((insn
.bits
& 0xfe007fe0) == 0xec000020)
771 #include "insns/dsub.h"
774 if((insn
.bits
& 0xfe007fe0) == 0xec000000)
776 #include "insns/dadd.h"
779 #include "insns/unimp.h"
783 if((insn
.bits
& 0xfe007fe0) == 0xec0010e0)
785 #include "insns/dremu.h"
788 if((insn
.bits
& 0xfe007fe0) == 0xec001080)
790 #include "insns/ddiv.h"
793 if((insn
.bits
& 0xfe007fe0) == 0xec0010c0)
795 #include "insns/drem.h"
798 if((insn
.bits
& 0xfe007fe0) == 0xec001060)
800 #include "insns/dmulhu.h"
803 if((insn
.bits
& 0xfe007fe0) == 0xec001000)
805 #include "insns/dmul.h"
808 if((insn
.bits
& 0xfe007fe0) == 0xec001040)
810 #include "insns/dmulh.h"
813 if((insn
.bits
& 0xfe007fe0) == 0xec0010a0)
815 #include "insns/ddivu.h"
818 #include "insns/unimp.h"
822 if((insn
.bits
& 0xfe007fe0) == 0xec004020)
824 #include "insns/dsllv.h"
827 if((insn
.bits
& 0xfe007fe0) == 0xec004060)
829 #include "insns/dsrav.h"
832 if((insn
.bits
& 0xfe007fe0) == 0xec004040)
834 #include "insns/dsrlv.h"
837 #include "insns/unimp.h"
841 if((insn
.bits
& 0xfff07c00) == 0xec005000)
843 #include "insns/dsll.h"
846 if((insn
.bits
& 0xfff07c00) == 0xec005400)
848 #include "insns/dsll32.h"
851 #include "insns/unimp.h"
855 if((insn
.bits
& 0xfff07c00) == 0xec006400)
857 #include "insns/dsrl32.h"
860 if((insn
.bits
& 0xfff07c00) == 0xec006000)
862 #include "insns/dsrl.h"
865 #include "insns/unimp.h"
869 if((insn
.bits
& 0xfff07c00) == 0xec007400)
871 #include "insns/dsra32.h"
874 if((insn
.bits
& 0xfff07c00) == 0xec007000)
876 #include "insns/dsra.h"
879 #include "insns/unimp.h"
883 #include "insns/unimp.h"
890 switch((insn
.bits
>> 0xc) & 0x7)
894 #include "insns/lb.h"
899 #include "insns/lh.h"
904 #include "insns/lw.h"
909 #include "insns/ld.h"
914 #include "insns/lbu.h"
919 #include "insns/lhu.h"
924 #include "insns/lwu.h"
929 if((insn
.bits
& 0xfff07000) == 0xf0007000)
931 #include "insns/synci.h"
934 #include "insns/unimp.h"
938 #include "insns/unimp.h"
945 switch((insn
.bits
>> 0xc) & 0x7)
949 #include "insns/sb.h"
954 #include "insns/sh.h"
959 #include "insns/sw.h"
964 #include "insns/sd.h"
969 #include "insns/l_s.h"
974 #include "insns/l_d.h"
979 #include "insns/s_s.h"
984 #include "insns/s_d.h"
989 #include "insns/unimp.h"
996 switch((insn
.bits
>> 0xc) & 0x7)
1000 if((insn
.bits
& 0xfe0fffe0) == 0xf6000000)
1002 #include "insns/jalr_c.h"
1005 if((insn
.bits
& 0xfe0fffe0) == 0xf6000040)
1007 #include "insns/jalr_j.h"
1010 if((insn
.bits
& 0xfe0fffe0) == 0xf6000020)
1012 #include "insns/jalr_r.h"
1015 #include "insns/unimp.h"
1019 if((insn
.bits
& 0xffffffe0) == 0xf6001000)
1021 #include "insns/rdpc.h"
1024 #include "insns/unimp.h"
1028 if((insn
.bits
& 0xfe0fffe0) == 0xf6002000)
1030 #include "insns/rdhwr.h"
1033 #include "insns/unimp.h"
1037 if((insn
.bits
& 0xffffffff) == 0xf6003000)
1039 #include "insns/sync.h"
1042 #include "insns/unimp.h"
1046 if((insn
.bits
& 0xffffffff) == 0xf6004000)
1048 #include "insns/syscall.h"
1051 #include "insns/unimp.h"
1055 if((insn
.bits
& 0xffffffff) == 0xf6005000)
1057 #include "insns/break.h"
1060 #include "insns/unimp.h"
1064 #include "insns/unimp.h"
1071 switch((insn
.bits
>> 0xc) & 0x7)
1075 if((insn
.bits
& 0xfe0fffff) == 0xfc000000)
1077 #include "insns/ei.h"
1080 #include "insns/unimp.h"
1084 if((insn
.bits
& 0xfe0fffff) == 0xfc001000)
1086 #include "insns/di.h"
1089 #include "insns/unimp.h"
1093 if((insn
.bits
& 0xffffffff) == 0xfc002000)
1095 #include "insns/eret.h"
1098 #include "insns/unimp.h"
1102 if((insn
.bits
& 0xfe007fff) == 0xfc004000)
1104 #include "insns/mfc0.h"
1107 #include "insns/unimp.h"
1111 if((insn
.bits
& 0xfe007fff) == 0xfc005000)
1113 #include "insns/dmfc0.h"
1116 #include "insns/unimp.h"
1120 if((insn
.bits
& 0xfe007fff) == 0xfc006000)
1122 #include "insns/mtc0.h"
1125 #include "insns/unimp.h"
1129 if((insn
.bits
& 0xfe007fff) == 0xfc007000)
1131 #include "insns/dmtc0.h"
1134 #include "insns/unimp.h"
1138 #include "insns/unimp.h"
1145 #include "insns/unimp.h"