1 /* Automatically generated by parse-opcodes */
2 switch((insn
.bits
>> 0x19) & 0x7f)
6 switch((insn
.bits
>> 0x16) & 0x7)
10 if((insn
.bits
& 0xffffffff) == 0x0)
12 #include "insns/unimp.h"
15 #include "insns/unimp.h"
19 #include "insns/unimp.h"
31 #include "insns/jal.h"
36 switch((insn
.bits
>> 0x16) & 0x7)
40 #include "insns/jalr_c.h"
45 #include "insns/jalr_r.h"
50 #include "insns/jalr_j.h"
55 #include "insns/unimp.h"
62 switch((insn
.bits
>> 0x16) & 0x7)
66 #include "insns/beq.h"
71 #include "insns/bne.h"
76 #include "insns/blt.h"
81 #include "insns/bge.h"
86 #include "insns/bltu.h"
91 #include "insns/bgeu.h"
96 #include "insns/unimp.h"
103 switch((insn
.bits
>> 0x16) & 0x7)
107 #include "insns/l_s.h"
112 #include "insns/l_d.h"
117 #include "insns/unimp.h"
124 switch((insn
.bits
>> 0x16) & 0x7)
128 #include "insns/s_s.h"
133 #include "insns/s_d.h"
138 #include "insns/unimp.h"
145 switch((insn
.bits
>> 0x16) & 0x7)
149 if((insn
.bits
& 0xffff8000) == 0xd40a8000)
151 #include "insns/c_eq_s.h"
154 if((insn
.bits
& 0xffff8000) == 0xd4028000)
156 #include "insns/sgninj_s.h"
159 if((insn
.bits
& 0xff8ffc00) == 0xd4050000)
161 #include "insns/cvt_w_s.h"
164 if((insn
.bits
& 0xff8ffc00) == 0xd4070000)
166 #include "insns/cvt_s_w.h"
169 if((insn
.bits
& 0xff8f8000) == 0xd4000000)
171 #include "insns/add_s.h"
174 if((insn
.bits
& 0xff8ffc00) == 0xd4048000)
176 #include "insns/cvtu_l_s.h"
179 if((insn
.bits
& 0xffff83e0) == 0xd42c0000)
181 #include "insns/mff_s.h"
184 if((insn
.bits
& 0xfffffc00) == 0xd42e0000)
186 #include "insns/mtf_s.h"
189 if((insn
.bits
& 0xffff8000) == 0xd4030000)
191 #include "insns/sgninjn_s.h"
194 if((insn
.bits
& 0xff8ffc00) == 0xd4040000)
196 #include "insns/cvt_l_s.h"
199 if((insn
.bits
& 0xff8ffc00) == 0xd4078000)
201 #include "insns/cvtu_s_w.h"
204 if((insn
.bits
& 0xff8ffc00) == 0xd4068000)
206 #include "insns/cvtu_s_l.h"
209 if((insn
.bits
& 0xff8f8000) == 0xd4008000)
211 #include "insns/sub_s.h"
214 if((insn
.bits
& 0xff8ffc00) == 0xd4020000)
216 #include "insns/sqrt_s.h"
219 if((insn
.bits
& 0xffff8000) == 0xd40b0000)
221 #include "insns/c_lt_s.h"
224 if((insn
.bits
& 0xffff8000) == 0xd4038000)
226 #include "insns/sgnmul_s.h"
229 if((insn
.bits
& 0xff8ffc00) == 0xd4060000)
231 #include "insns/cvt_s_l.h"
234 if((insn
.bits
& 0xff8f8000) == 0xd4018000)
236 #include "insns/div_s.h"
239 if((insn
.bits
& 0xff8ffc00) == 0xd4098000)
241 #include "insns/cvt_s_d.h"
244 if((insn
.bits
& 0xffff8000) == 0xd40b8000)
246 #include "insns/c_le_s.h"
249 if((insn
.bits
& 0xff8f8000) == 0xd4010000)
251 #include "insns/mul_s.h"
254 if((insn
.bits
& 0xff8ffc00) == 0xd4058000)
256 #include "insns/cvtu_w_s.h"
259 #include "insns/unimp.h"
263 if((insn
.bits
& 0xff8ffc00) == 0xd5850000)
265 #include "insns/cvt_w_d.h"
268 if((insn
.bits
& 0xffff83e0) == 0xd5ac0000)
270 #include "insns/mff_d.h"
273 if((insn
.bits
& 0xffff8000) == 0xd5828000)
275 #include "insns/sgninj_d.h"
278 if((insn
.bits
& 0xff8f8000) == 0xd5818000)
280 #include "insns/div_d.h"
283 if((insn
.bits
& 0xffff8000) == 0xd58a8000)
285 #include "insns/c_eq_d.h"
288 if((insn
.bits
& 0xff8ffc00) == 0xd5868000)
290 #include "insns/cvtu_d_l.h"
293 if((insn
.bits
& 0xfffffc00) == 0xd5878000)
295 #include "insns/cvtu_d_w.h"
298 if((insn
.bits
& 0xff8ffc00) == 0xd5848000)
300 #include "insns/cvtu_l_d.h"
303 if((insn
.bits
& 0xffff83e0) == 0xd5ac8000)
305 #include "insns/mffl_d.h"
308 if((insn
.bits
& 0xffff8000) == 0xd5838000)
310 #include "insns/sgnmul_d.h"
313 if((insn
.bits
& 0xff8f8000) == 0xd5800000)
315 #include "insns/add_d.h"
318 if((insn
.bits
& 0xffff83e0) == 0xd5ad0000)
320 #include "insns/mffh_d.h"
323 if((insn
.bits
& 0xffff8000) == 0xd58b8000)
325 #include "insns/c_le_d.h"
328 if((insn
.bits
& 0xffff8000) == 0xd5830000)
330 #include "insns/sgninjn_d.h"
333 if((insn
.bits
& 0xffff8000) == 0xd5be0000)
335 #include "insns/mtflh_d.h"
338 if((insn
.bits
& 0xff8ffc00) == 0xd5840000)
340 #include "insns/cvt_l_d.h"
343 if((insn
.bits
& 0xff8f8000) == 0xd5808000)
345 #include "insns/sub_d.h"
348 if((insn
.bits
& 0xfffffc00) == 0xd5ae0000)
350 #include "insns/mtf_d.h"
353 if((insn
.bits
& 0xff8ffc00) == 0xd5820000)
355 #include "insns/sqrt_d.h"
358 if((insn
.bits
& 0xfffffc00) == 0xd5880000)
360 #include "insns/cvt_d_s.h"
363 if((insn
.bits
& 0xfffffc00) == 0xd5870000)
365 #include "insns/cvt_d_w.h"
368 if((insn
.bits
& 0xff8ffc00) == 0xd5860000)
370 #include "insns/cvt_d_l.h"
373 if((insn
.bits
& 0xff8f8000) == 0xd5810000)
375 #include "insns/mul_d.h"
378 if((insn
.bits
& 0xff8ffc00) == 0xd5858000)
380 #include "insns/cvtu_w_d.h"
383 if((insn
.bits
& 0xffff8000) == 0xd58b0000)
385 #include "insns/c_lt_d.h"
388 #include "insns/unimp.h"
392 #include "insns/unimp.h"
399 switch((insn
.bits
>> 0x16) & 0x7)
403 if((insn
.bits
& 0xffffffe0) == 0xd6008000)
405 #include "insns/di.h"
408 if((insn
.bits
& 0xffffffe0) == 0xd6000000)
410 #include "insns/ei.h"
413 #include "insns/unimp.h"
417 if((insn
.bits
& 0xffff83e0) == 0xd6400000)
419 #include "insns/mfpcr.h"
422 if((insn
.bits
& 0xffff801f) == 0xd6408000)
424 #include "insns/mtpcr.h"
427 #include "insns/unimp.h"
431 if((insn
.bits
& 0xffffffff) == 0xd6800000)
433 #include "insns/eret.h"
436 #include "insns/unimp.h"
440 #include "insns/unimp.h"
447 switch((insn
.bits
>> 0x16) & 0x7)
451 #include "insns/madd_s.h"
456 #include "insns/madd_d.h"
461 #include "insns/unimp.h"
468 switch((insn
.bits
>> 0x16) & 0x7)
472 #include "insns/msub_s.h"
477 #include "insns/msub_d.h"
482 #include "insns/unimp.h"
489 switch((insn
.bits
>> 0x16) & 0x7)
493 #include "insns/nmsub_s.h"
498 #include "insns/nmsub_d.h"
503 #include "insns/unimp.h"
510 switch((insn
.bits
>> 0x16) & 0x7)
514 #include "insns/nmadd_s.h"
519 #include "insns/nmadd_d.h"
524 #include "insns/unimp.h"
531 #include "insns/lui.h"
536 switch((insn
.bits
>> 0x16) & 0x7)
540 #include "insns/addi.h"
545 #include "insns/slti.h"
550 #include "insns/sltiu.h"
555 #include "insns/andi.h"
560 #include "insns/ori.h"
565 #include "insns/xori.h"
570 if((insn
.bits
& 0xffff0000) == 0xe9c20000)
572 #include "insns/srli.h"
575 if((insn
.bits
& 0xffff0000) == 0xe9c30000)
577 #include "insns/srai.h"
580 if((insn
.bits
& 0xffff0000) == 0xe9c10000)
582 #include "insns/slli.h"
585 #include "insns/unimp.h"
589 #include "insns/unimp.h"
596 switch((insn
.bits
>> 0x16) & 0x7)
600 if((insn
.bits
& 0xffff8000) == 0xea000000)
602 #include "insns/add.h"
605 if((insn
.bits
& 0xffff8000) == 0xea038000)
607 #include "insns/nor.h"
610 if((insn
.bits
& 0xffff8000) == 0xea018000)
612 #include "insns/sltu.h"
615 if((insn
.bits
& 0xffff8000) == 0xea030000)
617 #include "insns/xor.h"
620 if((insn
.bits
& 0xffff8000) == 0xea008000)
622 #include "insns/sub.h"
625 if((insn
.bits
& 0xffff8000) == 0xea028000)
627 #include "insns/or.h"
630 if((insn
.bits
& 0xffff8000) == 0xea010000)
632 #include "insns/slt.h"
635 if((insn
.bits
& 0xffff8000) == 0xea020000)
637 #include "insns/and.h"
640 #include "insns/unimp.h"
644 if((insn
.bits
& 0xffff8000) == 0xea400000)
646 #include "insns/mul.h"
649 if((insn
.bits
& 0xffff8000) == 0xea420000)
651 #include "insns/div.h"
654 if((insn
.bits
& 0xffff8000) == 0xea430000)
656 #include "insns/rem.h"
659 if((insn
.bits
& 0xffff8000) == 0xea410000)
661 #include "insns/mulh.h"
664 if((insn
.bits
& 0xffff8000) == 0xea438000)
666 #include "insns/remu.h"
669 if((insn
.bits
& 0xffff8000) == 0xea418000)
671 #include "insns/mulhu.h"
674 if((insn
.bits
& 0xffff8000) == 0xea428000)
676 #include "insns/divu.h"
679 #include "insns/unimp.h"
683 if((insn
.bits
& 0xffff8000) == 0xebc30000)
685 #include "insns/sra.h"
688 if((insn
.bits
& 0xffff8000) == 0xebc20000)
690 #include "insns/srl.h"
693 if((insn
.bits
& 0xffff8000) == 0xebc10000)
695 #include "insns/sll.h"
698 #include "insns/unimp.h"
702 #include "insns/unimp.h"
709 switch((insn
.bits
>> 0x16) & 0x7)
713 #include "insns/addiw.h"
718 if((insn
.bits
& 0xffff8000) == 0xedc10000)
720 #include "insns/slliw.h"
723 if((insn
.bits
& 0xffff8000) == 0xedc20000)
725 #include "insns/srliw.h"
728 if((insn
.bits
& 0xffff8000) == 0xedc30000)
730 #include "insns/sraiw.h"
733 #include "insns/unimp.h"
737 #include "insns/unimp.h"
744 switch((insn
.bits
>> 0x16) & 0x7)
748 if((insn
.bits
& 0xffff8000) == 0xee000000)
750 #include "insns/addw.h"
753 if((insn
.bits
& 0xffff8000) == 0xee008000)
755 #include "insns/subw.h"
758 #include "insns/unimp.h"
762 if((insn
.bits
& 0xffff8000) == 0xee438000)
764 #include "insns/remuw.h"
767 if((insn
.bits
& 0xffff8000) == 0xee428000)
769 #include "insns/divuw.h"
772 if((insn
.bits
& 0xffff8000) == 0xee418000)
774 #include "insns/mulhuw.h"
777 if((insn
.bits
& 0xffff8000) == 0xee400000)
779 #include "insns/mulw.h"
782 if((insn
.bits
& 0xffff8000) == 0xee430000)
784 #include "insns/remw.h"
787 if((insn
.bits
& 0xffff8000) == 0xee410000)
789 #include "insns/mulhw.h"
792 if((insn
.bits
& 0xffff8000) == 0xee420000)
794 #include "insns/divw.h"
797 #include "insns/unimp.h"
801 if((insn
.bits
& 0xffff8000) == 0xefc20000)
803 #include "insns/srlw.h"
806 if((insn
.bits
& 0xffff8000) == 0xefc30000)
808 #include "insns/sraw.h"
811 if((insn
.bits
& 0xffff8000) == 0xefc10000)
813 #include "insns/sllw.h"
816 #include "insns/unimp.h"
820 #include "insns/unimp.h"
827 switch((insn
.bits
>> 0x16) & 0x7)
831 #include "insns/lb.h"
836 #include "insns/lh.h"
841 #include "insns/lw.h"
846 #include "insns/ld.h"
851 #include "insns/lbu.h"
856 #include "insns/lhu.h"
861 #include "insns/lwu.h"
866 if((insn
.bits
& 0xffc0001f) == 0xf1c00000)
868 #include "insns/synci.h"
871 #include "insns/unimp.h"
875 #include "insns/unimp.h"
882 switch((insn
.bits
>> 0x16) & 0x7)
886 #include "insns/sb.h"
891 #include "insns/sh.h"
896 #include "insns/sw.h"
901 #include "insns/sd.h"
906 #include "insns/unimp.h"
913 switch((insn
.bits
>> 0x16) & 0x7)
917 if((insn
.bits
& 0xffff8000) == 0xf4828000)
919 #include "insns/amow_max.h"
922 if((insn
.bits
& 0xffff8000) == 0xf4810000)
924 #include "insns/amow_and.h"
927 if((insn
.bits
& 0xffff8000) == 0xf4820000)
929 #include "insns/amow_min.h"
932 if((insn
.bits
& 0xffff8000) == 0xf4818000)
934 #include "insns/amow_or.h"
937 if((insn
.bits
& 0xffff8000) == 0xf4830000)
939 #include "insns/amow_minu.h"
942 if((insn
.bits
& 0xffff8000) == 0xf4800000)
944 #include "insns/amow_add.h"
947 if((insn
.bits
& 0xffff8000) == 0xf4808000)
949 #include "insns/amow_swap.h"
952 if((insn
.bits
& 0xffff8000) == 0xf4838000)
954 #include "insns/amow_maxu.h"
957 #include "insns/unimp.h"
961 if((insn
.bits
& 0xffff8000) == 0xf4c00000)
963 #include "insns/amo_add.h"
966 if((insn
.bits
& 0xffff8000) == 0xf4c08000)
968 #include "insns/amo_swap.h"
971 if((insn
.bits
& 0xffff8000) == 0xf4c18000)
973 #include "insns/amo_or.h"
976 if((insn
.bits
& 0xffff8000) == 0xf4c28000)
978 #include "insns/amo_max.h"
981 if((insn
.bits
& 0xffff8000) == 0xf4c20000)
983 #include "insns/amo_min.h"
986 if((insn
.bits
& 0xffff8000) == 0xf4c30000)
988 #include "insns/amo_minu.h"
991 if((insn
.bits
& 0xffff8000) == 0xf4c10000)
993 #include "insns/amo_and.h"
996 if((insn
.bits
& 0xffff8000) == 0xf4c38000)
998 #include "insns/amo_maxu.h"
1001 #include "insns/unimp.h"
1005 #include "insns/unimp.h"
1012 switch((insn
.bits
>> 0x16) & 0x7)
1016 if((insn
.bits
& 0xffffffe0) == 0xf6000000)
1018 #include "insns/rdnpc.h"
1021 #include "insns/unimp.h"
1025 if((insn
.bits
& 0xffff83e0) == 0xf6400000)
1027 #include "insns/mfcr.h"
1030 if((insn
.bits
& 0xffff801f) == 0xf6408000)
1032 #include "insns/mtcr.h"
1035 #include "insns/unimp.h"
1039 if((insn
.bits
& 0xffffffff) == 0xf6800000)
1041 #include "insns/sync.h"
1044 #include "insns/unimp.h"
1048 if((insn
.bits
& 0xffc003ff) == 0xf6c00000)
1050 #include "insns/syscall.h"
1053 #include "insns/unimp.h"
1057 #include "insns/unimp.h"
1064 #include "insns/unimp.h"