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) == 0xd0000ca0)
72 #include "insns/sgninj_d.h"
75 if((insn
.bits
& 0xfe007fe0) == 0xd00000a0)
77 #include "insns/sgninj_s.h"
80 if((insn
.bits
& 0xfe007fe0) == 0xd0000000)
82 #include "insns/add_s.h"
85 if((insn
.bits
& 0xfe007fe0) == 0xd0000c00)
87 #include "insns/add_d.h"
90 if((insn
.bits
& 0xfe007fe0) == 0xd0000ce0)
92 #include "insns/sgnmul_d.h"
95 if((insn
.bits
& 0xfe007fe0) == 0xd0000cc0)
97 #include "insns/sgninjn_d.h"
100 if((insn
.bits
& 0xfe007fe0) == 0xd00000c0)
102 #include "insns/sgninjn_s.h"
105 if((insn
.bits
& 0xfe007fe0) == 0xd0000c40)
107 #include "insns/mul_d.h"
110 if((insn
.bits
& 0xfe007fe0) == 0xd0000020)
112 #include "insns/sub_s.h"
115 if((insn
.bits
& 0xfe007fe0) == 0xd0000c20)
117 #include "insns/sub_d.h"
120 if((insn
.bits
& 0xfe0fffe0) == 0xd0000080)
122 #include "insns/sqrt_s.h"
125 if((insn
.bits
& 0xfe0fffe0) == 0xd0000c80)
127 #include "insns/sqrt_d.h"
130 if((insn
.bits
& 0xfe007fe0) == 0xd00000e0)
132 #include "insns/sgnmul_s.h"
135 if((insn
.bits
& 0xfe007fe0) == 0xd0000c60)
137 #include "insns/div_d.h"
140 if((insn
.bits
& 0xfe007fe0) == 0xd0000060)
142 #include "insns/div_s.h"
145 if((insn
.bits
& 0xfe007fe0) == 0xd0000040)
147 #include "insns/mul_s.h"
150 #include "insns/unimp.h"
154 if((insn
.bits
& 0xfe0fffe0) == 0xd00010c0)
156 #include "insns/cvt_s_w.h"
159 if((insn
.bits
& 0xfe0fffe0) == 0xd0001ca0)
161 #include "insns/cvtu_d_l.h"
164 if((insn
.bits
& 0xfe0fffe0) == 0xd0001c40)
166 #include "insns/trunc_w_d.h"
169 if((insn
.bits
& 0xfe0fffe0) == 0xd0001040)
171 #include "insns/trunc_w_s.h"
174 if((insn
.bits
& 0xfe0fffe0) == 0xd0001ce0)
176 #include "insns/cvtu_d_w.h"
179 if((insn
.bits
& 0xfe0fffe0) == 0xd0001e00)
181 #include "insns/cvt_d_s.h"
184 if((insn
.bits
& 0xfe0fffe0) == 0xd0001000)
186 #include "insns/trunc_l_s.h"
189 if((insn
.bits
& 0xfe0fffe0) == 0xd0001c00)
191 #include "insns/trunc_l_d.h"
194 if((insn
.bits
& 0xfe0fffe0) == 0xd00010e0)
196 #include "insns/cvtu_s_w.h"
199 if((insn
.bits
& 0xfe0fffe0) == 0xd0001020)
201 #include "insns/truncu_l_s.h"
204 if((insn
.bits
& 0xfe0fffe0) == 0xd0001c20)
206 #include "insns/truncu_l_d.h"
209 if((insn
.bits
& 0xfe0fffe0) == 0xd00010a0)
211 #include "insns/cvtu_s_l.h"
214 if((insn
.bits
& 0xfe0fffe0) == 0xd0001080)
216 #include "insns/cvt_s_l.h"
219 if((insn
.bits
& 0xfe0fffe0) == 0xd0001260)
221 #include "insns/cvt_s_d.h"
224 if((insn
.bits
& 0xfe0fffe0) == 0xd0001060)
226 #include "insns/truncu_w_s.h"
229 if((insn
.bits
& 0xfe0fffe0) == 0xd0001cc0)
231 #include "insns/cvt_d_w.h"
234 if((insn
.bits
& 0xfe0fffe0) == 0xd0001c80)
236 #include "insns/cvt_d_l.h"
239 if((insn
.bits
& 0xfe0fffe0) == 0xd0001c60)
241 #include "insns/truncu_w_d.h"
244 #include "insns/unimp.h"
248 if((insn
.bits
& 0xfe007fe0) == 0xd0002020)
250 #include "insns/c_eq_s.h"
253 if((insn
.bits
& 0xfe007fe0) == 0xd0002c20)
255 #include "insns/c_eq_d.h"
258 if((insn
.bits
& 0xfe007fe0) == 0xd0002c60)
260 #include "insns/c_le_d.h"
263 if((insn
.bits
& 0xfe007fe0) == 0xd0002040)
265 #include "insns/c_lt_s.h"
268 if((insn
.bits
& 0xfe007fe0) == 0xd0002060)
270 #include "insns/c_le_s.h"
273 if((insn
.bits
& 0xfe007fe0) == 0xd0002c40)
275 #include "insns/c_lt_d.h"
278 #include "insns/unimp.h"
282 if((insn
.bits
& 0xfe007c00) == 0xd0004000)
284 #include "insns/madd_s.h"
287 if((insn
.bits
& 0xfe007c00) == 0xd0004c00)
289 #include "insns/madd_d.h"
292 #include "insns/unimp.h"
296 if((insn
.bits
& 0xfe007c00) == 0xd0005000)
298 #include "insns/msub_s.h"
301 if((insn
.bits
& 0xfe007c00) == 0xd0005c00)
303 #include "insns/msub_d.h"
306 #include "insns/unimp.h"
310 if((insn
.bits
& 0xfe007c00) == 0xd0006000)
312 #include "insns/nmadd_s.h"
315 if((insn
.bits
& 0xfe007c00) == 0xd0006c00)
317 #include "insns/nmadd_d.h"
320 #include "insns/unimp.h"
324 if((insn
.bits
& 0xfe007c00) == 0xd0007c00)
326 #include "insns/nmsub_d.h"
329 if((insn
.bits
& 0xfe007c00) == 0xd0007000)
331 #include "insns/nmsub_s.h"
334 #include "insns/unimp.h"
338 #include "insns/unimp.h"
345 switch((insn
.bits
>> 0xc) & 0x7)
349 #include "insns/l_s.h"
354 #include "insns/l_d.h"
359 #include "insns/s_s.h"
364 #include "insns/s_d.h"
369 #include "insns/unimp.h"
376 switch((insn
.bits
>> 0xc) & 0x7)
380 if((insn
.bits
& 0xfe007fff) == 0xd4000000)
382 #include "insns/mff_s.h"
385 #include "insns/unimp.h"
389 if((insn
.bits
& 0xfe007fff) == 0xd4001000)
391 #include "insns/mff_d.h"
394 #include "insns/unimp.h"
398 if((insn
.bits
& 0xfe007fff) == 0xd4004000)
400 #include "insns/mtf_s.h"
403 #include "insns/unimp.h"
407 if((insn
.bits
& 0xfe007fff) == 0xd4005000)
409 #include "insns/mtf_d.h"
412 #include "insns/unimp.h"
416 #include "insns/unimp.h"
423 #include "insns/lui.h"
428 switch((insn
.bits
>> 0xc) & 0x7)
432 #include "insns/beq.h"
437 #include "insns/bne.h"
442 #include "insns/blt.h"
447 #include "insns/bltu.h"
452 #include "insns/ble.h"
457 #include "insns/bleu.h"
462 #include "insns/unimp.h"
469 switch((insn
.bits
>> 0xc) & 0x7)
473 #include "insns/addi.h"
478 #include "insns/addiw.h"
483 #include "insns/slti.h"
488 #include "insns/sltiu.h"
493 #include "insns/andi.h"
498 #include "insns/ori.h"
503 #include "insns/xori.h"
508 #include "insns/unimp.h"
515 switch((insn
.bits
>> 0xc) & 0x7)
519 if((insn
.bits
& 0xfe007fe0) == 0xea0000e0)
521 #include "insns/nor.h"
524 if((insn
.bits
& 0xfe007fe0) == 0xea000060)
526 #include "insns/sltu.h"
529 if((insn
.bits
& 0xfe007fe0) == 0xea0000c0)
531 #include "insns/xor.h"
534 if((insn
.bits
& 0xfe007fe0) == 0xea000020)
536 #include "insns/sub.h"
539 if((insn
.bits
& 0xfe007fe0) == 0xea0000a0)
541 #include "insns/or.h"
544 if((insn
.bits
& 0xfe007fe0) == 0xea000000)
546 #include "insns/add.h"
549 if((insn
.bits
& 0xfe007fe0) == 0xea000040)
551 #include "insns/slt.h"
554 if((insn
.bits
& 0xfe007fe0) == 0xea000080)
556 #include "insns/and.h"
559 #include "insns/unimp.h"
563 if((insn
.bits
& 0xfe007fe0) == 0xea001000)
565 #include "insns/mul.h"
568 if((insn
.bits
& 0xfe007fe0) == 0xea001080)
570 #include "insns/div.h"
573 if((insn
.bits
& 0xfe007fe0) == 0xea0010c0)
575 #include "insns/rem.h"
578 if((insn
.bits
& 0xfe007fe0) == 0xea001040)
580 #include "insns/mulh.h"
583 if((insn
.bits
& 0xfe007fe0) == 0xea0010e0)
585 #include "insns/remu.h"
588 if((insn
.bits
& 0xfe007fe0) == 0xea001060)
590 #include "insns/mulhu.h"
593 if((insn
.bits
& 0xfe007fe0) == 0xea0010a0)
595 #include "insns/divu.h"
598 #include "insns/unimp.h"
602 if((insn
.bits
& 0xfe007fe0) == 0xea004040)
604 #include "insns/srlv.h"
607 if((insn
.bits
& 0xfe007fe0) == 0xea004060)
609 #include "insns/srav.h"
612 if((insn
.bits
& 0xfe007fe0) == 0xea004020)
614 #include "insns/sllv.h"
617 #include "insns/unimp.h"
621 if((insn
.bits
& 0xfff07800) == 0xea005000)
623 #include "insns/sll.h"
626 #include "insns/unimp.h"
630 if((insn
.bits
& 0xfff07800) == 0xea006000)
632 #include "insns/srl.h"
635 #include "insns/unimp.h"
639 if((insn
.bits
& 0xfff07800) == 0xea007000)
641 #include "insns/sra.h"
644 #include "insns/unimp.h"
648 #include "insns/unimp.h"
655 switch((insn
.bits
>> 0xc) & 0x7)
659 if((insn
.bits
& 0xfe007fe0) == 0xec000000)
661 #include "insns/addw.h"
664 if((insn
.bits
& 0xfe007fe0) == 0xec000020)
666 #include "insns/subw.h"
669 #include "insns/unimp.h"
673 if((insn
.bits
& 0xfe007fe0) == 0xec0010e0)
675 #include "insns/remuw.h"
678 if((insn
.bits
& 0xfe007fe0) == 0xec0010a0)
680 #include "insns/divuw.h"
683 if((insn
.bits
& 0xfe007fe0) == 0xec001060)
685 #include "insns/mulhuw.h"
688 if((insn
.bits
& 0xfe007fe0) == 0xec001000)
690 #include "insns/mulw.h"
693 if((insn
.bits
& 0xfe007fe0) == 0xec0010c0)
695 #include "insns/remw.h"
698 if((insn
.bits
& 0xfe007fe0) == 0xec001040)
700 #include "insns/mulhw.h"
703 if((insn
.bits
& 0xfe007fe0) == 0xec001080)
705 #include "insns/divw.h"
708 #include "insns/unimp.h"
712 if((insn
.bits
& 0xfe007fe0) == 0xec004060)
714 #include "insns/sravw.h"
717 if((insn
.bits
& 0xfe007fe0) == 0xec004020)
719 #include "insns/sllvw.h"
722 if((insn
.bits
& 0xfe007fe0) == 0xec004040)
724 #include "insns/srlvw.h"
727 #include "insns/unimp.h"
731 if((insn
.bits
& 0xfff07c00) == 0xec005000)
733 #include "insns/sllw.h"
736 #include "insns/unimp.h"
740 if((insn
.bits
& 0xfff07c00) == 0xec006000)
742 #include "insns/srlw.h"
745 #include "insns/unimp.h"
749 if((insn
.bits
& 0xfff07c00) == 0xec007000)
751 #include "insns/sraw.h"
754 #include "insns/unimp.h"
758 #include "insns/unimp.h"
765 switch((insn
.bits
>> 0xc) & 0x7)
769 #include "insns/lb.h"
774 #include "insns/lh.h"
779 #include "insns/lw.h"
784 #include "insns/ld.h"
789 #include "insns/lbu.h"
794 #include "insns/lhu.h"
799 #include "insns/lwu.h"
804 if((insn
.bits
& 0xfff07000) == 0xf0007000)
806 #include "insns/synci.h"
809 #include "insns/unimp.h"
813 #include "insns/unimp.h"
820 switch((insn
.bits
>> 0xc) & 0x7)
824 #include "insns/sb.h"
829 #include "insns/sh.h"
834 #include "insns/sw.h"
839 #include "insns/sd.h"
844 #include "insns/unimp.h"
851 switch((insn
.bits
>> 0xc) & 0x7)
855 if((insn
.bits
& 0xfe007fe0) == 0xf4002040)
857 #include "insns/amow_and.h"
860 if((insn
.bits
& 0xfe007fe0) == 0xf4002080)
862 #include "insns/amow_min.h"
865 if((insn
.bits
& 0xfe007fe0) == 0xf4002060)
867 #include "insns/amow_or.h"
870 if((insn
.bits
& 0xfe007fe0) == 0xf40020a0)
872 #include "insns/amow_max.h"
875 if((insn
.bits
& 0xfe007fe0) == 0xf40020c0)
877 #include "insns/amow_minu.h"
880 if((insn
.bits
& 0xfe007fe0) == 0xf4002000)
882 #include "insns/amow_add.h"
885 if((insn
.bits
& 0xfe007fe0) == 0xf4002020)
887 #include "insns/amow_swap.h"
890 if((insn
.bits
& 0xfe007fe0) == 0xf40020e0)
892 #include "insns/amow_maxu.h"
895 #include "insns/unimp.h"
899 if((insn
.bits
& 0xfe007fe0) == 0xf4003000)
901 #include "insns/amo_add.h"
904 if((insn
.bits
& 0xfe007fe0) == 0xf4003020)
906 #include "insns/amo_swap.h"
909 if((insn
.bits
& 0xfe007fe0) == 0xf4003060)
911 #include "insns/amo_or.h"
914 if((insn
.bits
& 0xfe007fe0) == 0xf40030a0)
916 #include "insns/amo_max.h"
919 if((insn
.bits
& 0xfe007fe0) == 0xf4003080)
921 #include "insns/amo_min.h"
924 if((insn
.bits
& 0xfe007fe0) == 0xf40030c0)
926 #include "insns/amo_minu.h"
929 if((insn
.bits
& 0xfe007fe0) == 0xf4003040)
931 #include "insns/amo_and.h"
934 if((insn
.bits
& 0xfe007fe0) == 0xf40030e0)
936 #include "insns/amo_maxu.h"
939 #include "insns/unimp.h"
943 #include "insns/unimp.h"
950 switch((insn
.bits
>> 0xc) & 0x7)
954 if((insn
.bits
& 0xfe0fffe0) == 0xf6000000)
956 #include "insns/jalr_c.h"
959 if((insn
.bits
& 0xfe0fffe0) == 0xf6000040)
961 #include "insns/jalr_j.h"
964 if((insn
.bits
& 0xfe0fffe0) == 0xf6000020)
966 #include "insns/jalr_r.h"
969 #include "insns/unimp.h"
973 if((insn
.bits
& 0xffffffe0) == 0xf6001000)
975 #include "insns/rdpc.h"
978 #include "insns/unimp.h"
982 if((insn
.bits
& 0xfe0fffe0) == 0xf6002000)
984 #include "insns/rdhwr.h"
987 #include "insns/unimp.h"
991 if((insn
.bits
& 0xffffffff) == 0xf6003000)
993 #include "insns/sync.h"
996 #include "insns/unimp.h"
1000 if((insn
.bits
& 0xffffffff) == 0xf6004000)
1002 #include "insns/syscall.h"
1005 #include "insns/unimp.h"
1009 if((insn
.bits
& 0xffffffff) == 0xf6005000)
1011 #include "insns/break.h"
1014 #include "insns/unimp.h"
1018 #include "insns/unimp.h"
1025 switch((insn
.bits
>> 0xc) & 0x7)
1029 if((insn
.bits
& 0xfe0fffff) == 0xfc000000)
1031 #include "insns/ei.h"
1034 #include "insns/unimp.h"
1038 if((insn
.bits
& 0xfe0fffff) == 0xfc001000)
1040 #include "insns/di.h"
1043 #include "insns/unimp.h"
1047 if((insn
.bits
& 0xffffffff) == 0xfc002000)
1049 #include "insns/eret.h"
1052 #include "insns/unimp.h"
1056 if((insn
.bits
& 0xfe007fff) == 0xfc004000)
1058 #include "insns/mfpcr.h"
1061 #include "insns/unimp.h"
1065 if((insn
.bits
& 0xfe007fff) == 0xfc005000)
1067 #include "insns/mwfpcr.h"
1070 #include "insns/unimp.h"
1074 if((insn
.bits
& 0xfe007fff) == 0xfc006000)
1076 #include "insns/mtpcr.h"
1079 #include "insns/unimp.h"
1083 if((insn
.bits
& 0xfe007fff) == 0xfc007000)
1085 #include "insns/mwtpcr.h"
1088 #include "insns/unimp.h"
1092 #include "insns/unimp.h"
1099 #include "insns/unimp.h"