1a6e8ecf5e2706e2cddaa1ffad2101600081b0f4
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 #include "insns/l_s.h"
75 #include "insns/l_d.h"
80 #include "insns/unimp.h"
87 switch((insn
.bits
>> 0xc) & 0x7)
91 #include "insns/s_s.h"
96 #include "insns/s_d.h"
101 #include "insns/unimp.h"
108 switch((insn
.bits
>> 0xc) & 0x7)
112 if((insn
.bits
& 0xfe007fe0) == 0xd40002a0)
114 #include "insns/c_eq_s.h"
117 if((insn
.bits
& 0xfe007fe0) == 0xd40000a0)
119 #include "insns/sgninj_s.h"
122 if((insn
.bits
& 0xfff07fe0) == 0xd40001c0)
124 #include "insns/cvt_s_w.h"
127 if((insn
.bits
& 0xfff07fe0) == 0xd4000140)
129 #include "insns/trunc_w_s.h"
132 if((insn
.bits
& 0xfe007fe0) == 0xd4000000)
134 #include "insns/add_s.h"
137 if((insn
.bits
& 0xfe0fffe0) == 0xd4000b00)
139 #include "insns/mff_s.h"
142 if((insn
.bits
& 0xfff07fe0) == 0xd4000b80)
144 #include "insns/mtf_s.h"
147 if((insn
.bits
& 0xfe007fe0) == 0xd40000c0)
149 #include "insns/sgninjn_s.h"
152 if((insn
.bits
& 0xfff07fe0) == 0xd4000100)
154 #include "insns/trunc_l_s.h"
157 if((insn
.bits
& 0xfff07fe0) == 0xd40001e0)
159 #include "insns/cvtu_s_w.h"
162 if((insn
.bits
& 0xfff07fe0) == 0xd4000120)
164 #include "insns/truncu_l_s.h"
167 if((insn
.bits
& 0xfff07fe0) == 0xd40001a0)
169 #include "insns/cvtu_s_l.h"
172 if((insn
.bits
& 0xfe007fe0) == 0xd4000020)
174 #include "insns/sub_s.h"
177 if((insn
.bits
& 0xfff07fe0) == 0xd4000080)
179 #include "insns/sqrt_s.h"
182 if((insn
.bits
& 0xfe007fe0) == 0xd40002c0)
184 #include "insns/c_lt_s.h"
187 if((insn
.bits
& 0xfe007fe0) == 0xd40000e0)
189 #include "insns/sgnmul_s.h"
192 if((insn
.bits
& 0xfff07fe0) == 0xd4000180)
194 #include "insns/cvt_s_l.h"
197 if((insn
.bits
& 0xfe007fe0) == 0xd4000060)
199 #include "insns/div_s.h"
202 if((insn
.bits
& 0xfff07fe0) == 0xd4000660)
204 #include "insns/cvt_s_d.h"
207 if((insn
.bits
& 0xfe007fe0) == 0xd40002e0)
209 #include "insns/c_le_s.h"
212 if((insn
.bits
& 0xfe007fe0) == 0xd4000040)
214 #include "insns/mul_s.h"
217 if((insn
.bits
& 0xfff07fe0) == 0xd4000160)
219 #include "insns/truncu_w_s.h"
222 #include "insns/unimp.h"
226 if((insn
.bits
& 0xfe0fffe0) == 0xd4006b00)
228 #include "insns/mff_d.h"
231 if((insn
.bits
& 0xfe007fe0) == 0xd40060a0)
233 #include "insns/sgninj_d.h"
236 if((insn
.bits
& 0xfe007fe0) == 0xd4006060)
238 #include "insns/div_d.h"
241 if((insn
.bits
& 0xfe007fe0) == 0xd40062a0)
243 #include "insns/c_eq_d.h"
246 if((insn
.bits
& 0xfff07fe0) == 0xd40061a0)
248 #include "insns/cvtu_d_l.h"
251 if((insn
.bits
& 0xfff07fe0) == 0xd4006140)
253 #include "insns/trunc_w_d.h"
256 if((insn
.bits
& 0xfff07fe0) == 0xd40061e0)
258 #include "insns/cvtu_d_w.h"
261 if((insn
.bits
& 0xfe0fffe0) == 0xd4006b20)
263 #include "insns/mffl_d.h"
266 if((insn
.bits
& 0xfe007fe0) == 0xd4006000)
268 #include "insns/add_d.h"
271 if((insn
.bits
& 0xfe0fffe0) == 0xd4006b40)
273 #include "insns/mffh_d.h"
276 if((insn
.bits
& 0xfe007fe0) == 0xd40062e0)
278 #include "insns/c_le_d.h"
281 if((insn
.bits
& 0xfe007fe0) == 0xd40060e0)
283 #include "insns/sgnmul_d.h"
286 if((insn
.bits
& 0xfe007fe0) == 0xd40060c0)
288 #include "insns/sgninjn_d.h"
291 if((insn
.bits
& 0xfe007fe0) == 0xd4006ba0)
293 #include "insns/mtflh_d.h"
296 if((insn
.bits
& 0xfff07fe0) == 0xd4006600)
298 #include "insns/cvt_d_s.h"
301 if((insn
.bits
& 0xfff07fe0) == 0xd4006100)
303 #include "insns/trunc_l_d.h"
306 if((insn
.bits
& 0xfff07fe0) == 0xd4006120)
308 #include "insns/truncu_l_d.h"
311 if((insn
.bits
& 0xfe007fe0) == 0xd4006020)
313 #include "insns/sub_d.h"
316 if((insn
.bits
& 0xfff07fe0) == 0xd4006b80)
318 #include "insns/mtf_d.h"
321 if((insn
.bits
& 0xfff07fe0) == 0xd4006080)
323 #include "insns/sqrt_d.h"
326 if((insn
.bits
& 0xfff07fe0) == 0xd40061c0)
328 #include "insns/cvt_d_w.h"
331 if((insn
.bits
& 0xfff07fe0) == 0xd4006180)
333 #include "insns/cvt_d_l.h"
336 if((insn
.bits
& 0xfff07fe0) == 0xd4006160)
338 #include "insns/truncu_w_d.h"
341 if((insn
.bits
& 0xfe007fe0) == 0xd4006040)
343 #include "insns/mul_d.h"
346 if((insn
.bits
& 0xfe007fe0) == 0xd40062c0)
348 #include "insns/c_lt_d.h"
351 #include "insns/unimp.h"
355 #include "insns/unimp.h"
362 switch((insn
.bits
>> 0xc) & 0x7)
366 if((insn
.bits
& 0xfe007c00) == 0xd6000c00)
368 #include "insns/nmadd_s.h"
371 if((insn
.bits
& 0xfe007c00) == 0xd6000800)
373 #include "insns/nmsub_s.h"
376 if((insn
.bits
& 0xfe007c00) == 0xd6000400)
378 #include "insns/msub_s.h"
381 if((insn
.bits
& 0xfe007c00) == 0xd6000000)
383 #include "insns/madd_s.h"
386 #include "insns/unimp.h"
390 if((insn
.bits
& 0xfe007c00) == 0xd6006c00)
392 #include "insns/nmadd_d.h"
395 if((insn
.bits
& 0xfe007c00) == 0xd6006800)
397 #include "insns/nmsub_d.h"
400 if((insn
.bits
& 0xfe007c00) == 0xd6006400)
402 #include "insns/msub_d.h"
405 if((insn
.bits
& 0xfe007c00) == 0xd6006000)
407 #include "insns/madd_d.h"
410 #include "insns/unimp.h"
414 #include "insns/unimp.h"
421 #include "insns/lui.h"
426 switch((insn
.bits
>> 0xc) & 0x7)
430 #include "insns/beq.h"
435 #include "insns/bne.h"
440 #include "insns/blt.h"
445 #include "insns/bge.h"
450 #include "insns/bltu.h"
455 #include "insns/bgeu.h"
460 #include "insns/unimp.h"
467 switch((insn
.bits
>> 0xc) & 0x7)
471 #include "insns/addi.h"
476 #include "insns/slti.h"
481 #include "insns/sltiu.h"
486 #include "insns/andi.h"
491 #include "insns/ori.h"
496 #include "insns/xori.h"
501 if((insn
.bits
& 0xfe007fc0) == 0xe8007080)
503 #include "insns/srli.h"
506 if((insn
.bits
& 0xfe007fc0) == 0xe80070c0)
508 #include "insns/srai.h"
511 if((insn
.bits
& 0xfe007fc0) == 0xe8007040)
513 #include "insns/slli.h"
516 #include "insns/unimp.h"
520 #include "insns/unimp.h"
527 switch((insn
.bits
>> 0xc) & 0x7)
531 if((insn
.bits
& 0xfe007fe0) == 0xea000000)
533 #include "insns/add.h"
536 if((insn
.bits
& 0xfe007fe0) == 0xea0000e0)
538 #include "insns/nor.h"
541 if((insn
.bits
& 0xfe007fe0) == 0xea000060)
543 #include "insns/sltu.h"
546 if((insn
.bits
& 0xfe007fe0) == 0xea0000c0)
548 #include "insns/xor.h"
551 if((insn
.bits
& 0xfe007fe0) == 0xea000020)
553 #include "insns/sub.h"
556 if((insn
.bits
& 0xfe007fe0) == 0xea0000a0)
558 #include "insns/or.h"
561 if((insn
.bits
& 0xfe007fe0) == 0xea000040)
563 #include "insns/slt.h"
566 if((insn
.bits
& 0xfe007fe0) == 0xea000080)
568 #include "insns/and.h"
571 #include "insns/unimp.h"
575 if((insn
.bits
& 0xfe007fe0) == 0xea001000)
577 #include "insns/mul.h"
580 if((insn
.bits
& 0xfe007fe0) == 0xea001080)
582 #include "insns/div.h"
585 if((insn
.bits
& 0xfe007fe0) == 0xea0010c0)
587 #include "insns/rem.h"
590 if((insn
.bits
& 0xfe007fe0) == 0xea001040)
592 #include "insns/mulh.h"
595 if((insn
.bits
& 0xfe007fe0) == 0xea0010e0)
597 #include "insns/remu.h"
600 if((insn
.bits
& 0xfe007fe0) == 0xea001060)
602 #include "insns/mulhu.h"
605 if((insn
.bits
& 0xfe007fe0) == 0xea0010a0)
607 #include "insns/divu.h"
610 #include "insns/unimp.h"
614 if((insn
.bits
& 0xfe007fe0) == 0xea0070c0)
616 #include "insns/sra.h"
619 if((insn
.bits
& 0xfe007fe0) == 0xea007080)
621 #include "insns/srl.h"
624 if((insn
.bits
& 0xfe007fe0) == 0xea007040)
626 #include "insns/sll.h"
629 #include "insns/unimp.h"
633 #include "insns/unimp.h"
640 switch((insn
.bits
>> 0xc) & 0x7)
644 #include "insns/addiw.h"
649 if((insn
.bits
& 0xfe007fe0) == 0xec007040)
651 #include "insns/slliw.h"
654 if((insn
.bits
& 0xfe007fe0) == 0xec007080)
656 #include "insns/srliw.h"
659 if((insn
.bits
& 0xfe007fe0) == 0xec0070c0)
661 #include "insns/sraiw.h"
664 #include "insns/unimp.h"
668 #include "insns/unimp.h"
675 switch((insn
.bits
>> 0xc) & 0x7)
679 if((insn
.bits
& 0xfe007fe0) == 0xee000000)
681 #include "insns/addw.h"
684 if((insn
.bits
& 0xfe007fe0) == 0xee000020)
686 #include "insns/subw.h"
689 #include "insns/unimp.h"
693 if((insn
.bits
& 0xfe007fe0) == 0xee0010e0)
695 #include "insns/remuw.h"
698 if((insn
.bits
& 0xfe007fe0) == 0xee0010a0)
700 #include "insns/divuw.h"
703 if((insn
.bits
& 0xfe007fe0) == 0xee001060)
705 #include "insns/mulhuw.h"
708 if((insn
.bits
& 0xfe007fe0) == 0xee001000)
710 #include "insns/mulw.h"
713 if((insn
.bits
& 0xfe007fe0) == 0xee0010c0)
715 #include "insns/remw.h"
718 if((insn
.bits
& 0xfe007fe0) == 0xee001040)
720 #include "insns/mulhw.h"
723 if((insn
.bits
& 0xfe007fe0) == 0xee001080)
725 #include "insns/divw.h"
728 #include "insns/unimp.h"
732 if((insn
.bits
& 0xfe007fe0) == 0xee007080)
734 #include "insns/srlw.h"
737 if((insn
.bits
& 0xfe007fe0) == 0xee0070c0)
739 #include "insns/sraw.h"
742 if((insn
.bits
& 0xfe007fe0) == 0xee007040)
744 #include "insns/sllw.h"
747 #include "insns/unimp.h"
751 #include "insns/unimp.h"
758 switch((insn
.bits
>> 0xc) & 0x7)
762 #include "insns/lb.h"
767 #include "insns/lh.h"
772 #include "insns/lw.h"
777 #include "insns/ld.h"
782 #include "insns/lbu.h"
787 #include "insns/lhu.h"
792 #include "insns/lwu.h"
797 if((insn
.bits
& 0xfff07000) == 0xf0007000)
799 #include "insns/synci.h"
802 #include "insns/unimp.h"
806 #include "insns/unimp.h"
813 switch((insn
.bits
>> 0xc) & 0x7)
817 #include "insns/sb.h"
822 #include "insns/sh.h"
827 #include "insns/sw.h"
832 #include "insns/sd.h"
837 #include "insns/unimp.h"
844 switch((insn
.bits
>> 0xc) & 0x7)
848 if((insn
.bits
& 0xfe007fe0) == 0xf4002040)
850 #include "insns/amow_and.h"
853 if((insn
.bits
& 0xfe007fe0) == 0xf4002080)
855 #include "insns/amow_min.h"
858 if((insn
.bits
& 0xfe007fe0) == 0xf4002060)
860 #include "insns/amow_or.h"
863 if((insn
.bits
& 0xfe007fe0) == 0xf40020a0)
865 #include "insns/amow_max.h"
868 if((insn
.bits
& 0xfe007fe0) == 0xf40020c0)
870 #include "insns/amow_minu.h"
873 if((insn
.bits
& 0xfe007fe0) == 0xf4002000)
875 #include "insns/amow_add.h"
878 if((insn
.bits
& 0xfe007fe0) == 0xf4002020)
880 #include "insns/amow_swap.h"
883 if((insn
.bits
& 0xfe007fe0) == 0xf40020e0)
885 #include "insns/amow_maxu.h"
888 #include "insns/unimp.h"
892 if((insn
.bits
& 0xfe007fe0) == 0xf4003000)
894 #include "insns/amo_add.h"
897 if((insn
.bits
& 0xfe007fe0) == 0xf4003020)
899 #include "insns/amo_swap.h"
902 if((insn
.bits
& 0xfe007fe0) == 0xf4003060)
904 #include "insns/amo_or.h"
907 if((insn
.bits
& 0xfe007fe0) == 0xf40030a0)
909 #include "insns/amo_max.h"
912 if((insn
.bits
& 0xfe007fe0) == 0xf4003080)
914 #include "insns/amo_min.h"
917 if((insn
.bits
& 0xfe007fe0) == 0xf40030c0)
919 #include "insns/amo_minu.h"
922 if((insn
.bits
& 0xfe007fe0) == 0xf4003040)
924 #include "insns/amo_and.h"
927 if((insn
.bits
& 0xfe007fe0) == 0xf40030e0)
929 #include "insns/amo_maxu.h"
932 #include "insns/unimp.h"
936 #include "insns/unimp.h"
943 switch((insn
.bits
>> 0xc) & 0x7)
947 if((insn
.bits
& 0xfff07fe0) == 0xf6000000)
949 #include "insns/jalr_c.h"
952 if((insn
.bits
& 0xfff07fe0) == 0xf6000040)
954 #include "insns/jalr_j.h"
957 if((insn
.bits
& 0xfff07fe0) == 0xf6000020)
959 #include "insns/jalr_r.h"
962 #include "insns/unimp.h"
966 if((insn
.bits
& 0xffffffe0) == 0xf6001000)
968 #include "insns/rdnpc.h"
971 #include "insns/unimp.h"
975 if((insn
.bits
& 0xfe0fffe0) == 0xf6002000)
977 #include "insns/mfcr.h"
980 #include "insns/unimp.h"
984 if((insn
.bits
& 0xfe007fff) == 0xf6003000)
986 #include "insns/mtcr.h"
989 #include "insns/unimp.h"
993 if((insn
.bits
& 0xffffffff) == 0xf6004000)
995 #include "insns/sync.h"
998 #include "insns/unimp.h"
1002 if((insn
.bits
& 0xfffff000) == 0xf6005000)
1004 #include "insns/syscall.h"
1007 #include "insns/unimp.h"
1011 if((insn
.bits
& 0xfffff000) == 0xf6006000)
1013 #include "insns/break.h"
1016 #include "insns/unimp.h"
1020 #include "insns/unimp.h"
1027 switch((insn
.bits
>> 0xc) & 0x7)
1031 if((insn
.bits
& 0xffffffe0) == 0xfc000000)
1033 #include "insns/ei.h"
1036 #include "insns/unimp.h"
1040 if((insn
.bits
& 0xffffffe0) == 0xfc001000)
1042 #include "insns/di.h"
1045 #include "insns/unimp.h"
1049 if((insn
.bits
& 0xffffffff) == 0xfc002000)
1051 #include "insns/eret.h"
1054 #include "insns/unimp.h"
1058 if((insn
.bits
& 0xfe0fffe0) == 0xfc004000)
1060 #include "insns/mfpcr.h"
1063 #include "insns/unimp.h"
1067 if((insn
.bits
& 0xfe007fff) == 0xfc005000)
1069 #include "insns/mtpcr.h"
1072 #include "insns/unimp.h"
1076 #include "insns/unimp.h"
1083 #include "insns/unimp.h"