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) == 0xd0002c20)
250 #include "insns/c_eq_d.h"
253 if((insn
.bits
& 0xfe007fe0) == 0xd0002020)
255 #include "insns/c_eq_s.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 #include "insns/unimp.h"
289 switch((insn
.bits
>> 0xc) & 0x7)
293 if((insn
.bits
& 0xfe007fff) == 0xd4000000)
295 #include "insns/mff_s.h"
298 #include "insns/unimp.h"
302 if((insn
.bits
& 0xfe007fff) == 0xd4001000)
304 #include "insns/mff_d.h"
307 #include "insns/unimp.h"
311 if((insn
.bits
& 0xfe007fff) == 0xd4004000)
313 #include "insns/mtf_s.h"
316 #include "insns/unimp.h"
320 if((insn
.bits
& 0xfe007fff) == 0xd4005000)
322 #include "insns/mtf_d.h"
325 #include "insns/unimp.h"
329 #include "insns/unimp.h"
336 #include "insns/lui.h"
341 #include "insns/slori.h"
346 switch((insn
.bits
>> 0xc) & 0x7)
350 #include "insns/beq.h"
355 #include "insns/bne.h"
360 #include "insns/blt.h"
365 #include "insns/bltu.h"
370 #include "insns/ble.h"
375 #include "insns/bleu.h"
380 #include "insns/unimp.h"
387 switch((insn
.bits
>> 0xc) & 0x7)
391 #include "insns/addi.h"
396 #include "insns/addiw.h"
401 #include "insns/slti.h"
406 #include "insns/sltiu.h"
411 #include "insns/andi.h"
416 #include "insns/ori.h"
421 #include "insns/xori.h"
426 #include "insns/unimp.h"
433 switch((insn
.bits
>> 0xc) & 0x7)
437 if((insn
.bits
& 0xfe007fe0) == 0xea0000e0)
439 #include "insns/nor.h"
442 if((insn
.bits
& 0xfe007fe0) == 0xea000060)
444 #include "insns/sltu.h"
447 if((insn
.bits
& 0xfe007fe0) == 0xea0000c0)
449 #include "insns/xor.h"
452 if((insn
.bits
& 0xfe007fe0) == 0xea000020)
454 #include "insns/sub.h"
457 if((insn
.bits
& 0xfe007fe0) == 0xea0000a0)
459 #include "insns/or.h"
462 if((insn
.bits
& 0xfe007fe0) == 0xea000000)
464 #include "insns/add.h"
467 if((insn
.bits
& 0xfe007fe0) == 0xea000040)
469 #include "insns/slt.h"
472 if((insn
.bits
& 0xfe007fe0) == 0xea000080)
474 #include "insns/and.h"
477 #include "insns/unimp.h"
481 if((insn
.bits
& 0xfe007fe0) == 0xea001000)
483 #include "insns/mul.h"
486 if((insn
.bits
& 0xfe007fe0) == 0xea001080)
488 #include "insns/div.h"
491 if((insn
.bits
& 0xfe007fe0) == 0xea0010c0)
493 #include "insns/rem.h"
496 if((insn
.bits
& 0xfe007fe0) == 0xea001040)
498 #include "insns/mulh.h"
501 if((insn
.bits
& 0xfe007fe0) == 0xea0010e0)
503 #include "insns/remu.h"
506 if((insn
.bits
& 0xfe007fe0) == 0xea001060)
508 #include "insns/mulhu.h"
511 if((insn
.bits
& 0xfe007fe0) == 0xea0010a0)
513 #include "insns/divu.h"
516 #include "insns/unimp.h"
520 if((insn
.bits
& 0xfe007fe0) == 0xea004040)
522 #include "insns/srlv.h"
525 if((insn
.bits
& 0xfe007fe0) == 0xea004060)
527 #include "insns/srav.h"
530 if((insn
.bits
& 0xfe007fe0) == 0xea004020)
532 #include "insns/sllv.h"
535 #include "insns/unimp.h"
539 if((insn
.bits
& 0xfff07800) == 0xea005000)
541 #include "insns/sll.h"
544 #include "insns/unimp.h"
548 if((insn
.bits
& 0xfff07800) == 0xea006000)
550 #include "insns/srl.h"
553 #include "insns/unimp.h"
557 if((insn
.bits
& 0xfff07800) == 0xea007000)
559 #include "insns/sra.h"
562 #include "insns/unimp.h"
566 #include "insns/unimp.h"
573 switch((insn
.bits
>> 0xc) & 0x7)
577 if((insn
.bits
& 0xfe007fe0) == 0xec000000)
579 #include "insns/addw.h"
582 if((insn
.bits
& 0xfe007fe0) == 0xec000020)
584 #include "insns/subw.h"
587 #include "insns/unimp.h"
591 if((insn
.bits
& 0xfe007fe0) == 0xec0010e0)
593 #include "insns/remuw.h"
596 if((insn
.bits
& 0xfe007fe0) == 0xec0010a0)
598 #include "insns/divuw.h"
601 if((insn
.bits
& 0xfe007fe0) == 0xec001060)
603 #include "insns/mulhuw.h"
606 if((insn
.bits
& 0xfe007fe0) == 0xec001000)
608 #include "insns/mulw.h"
611 if((insn
.bits
& 0xfe007fe0) == 0xec0010c0)
613 #include "insns/remw.h"
616 if((insn
.bits
& 0xfe007fe0) == 0xec001040)
618 #include "insns/mulhw.h"
621 if((insn
.bits
& 0xfe007fe0) == 0xec001080)
623 #include "insns/divw.h"
626 #include "insns/unimp.h"
630 if((insn
.bits
& 0xfe007fe0) == 0xec004060)
632 #include "insns/sravw.h"
635 if((insn
.bits
& 0xfe007fe0) == 0xec004020)
637 #include "insns/sllvw.h"
640 if((insn
.bits
& 0xfe007fe0) == 0xec004040)
642 #include "insns/srlvw.h"
645 #include "insns/unimp.h"
649 if((insn
.bits
& 0xfff07c00) == 0xec005000)
651 #include "insns/sllw.h"
654 #include "insns/unimp.h"
658 if((insn
.bits
& 0xfff07c00) == 0xec006000)
660 #include "insns/srlw.h"
663 #include "insns/unimp.h"
667 if((insn
.bits
& 0xfff07c00) == 0xec007000)
669 #include "insns/sraw.h"
672 #include "insns/unimp.h"
676 #include "insns/unimp.h"
683 switch((insn
.bits
>> 0xc) & 0x7)
687 #include "insns/lb.h"
692 #include "insns/lh.h"
697 #include "insns/lw.h"
702 #include "insns/ld.h"
707 #include "insns/lbu.h"
712 #include "insns/lhu.h"
717 #include "insns/lwu.h"
722 if((insn
.bits
& 0xfff07000) == 0xf0007000)
724 #include "insns/synci.h"
727 #include "insns/unimp.h"
731 #include "insns/unimp.h"
738 switch((insn
.bits
>> 0xc) & 0x7)
742 #include "insns/sb.h"
747 #include "insns/sh.h"
752 #include "insns/sw.h"
757 #include "insns/sd.h"
762 #include "insns/l_s.h"
767 #include "insns/l_d.h"
772 #include "insns/s_s.h"
777 #include "insns/s_d.h"
782 #include "insns/unimp.h"
789 switch((insn
.bits
>> 0xc) & 0x7)
793 if((insn
.bits
& 0xfe0fffe0) == 0xf6000000)
795 #include "insns/jalr_c.h"
798 if((insn
.bits
& 0xfe0fffe0) == 0xf6000040)
800 #include "insns/jalr_j.h"
803 if((insn
.bits
& 0xfe0fffe0) == 0xf6000020)
805 #include "insns/jalr_r.h"
808 #include "insns/unimp.h"
812 if((insn
.bits
& 0xffffffe0) == 0xf6001000)
814 #include "insns/rdpc.h"
817 #include "insns/unimp.h"
821 if((insn
.bits
& 0xfe0fffe0) == 0xf6002000)
823 #include "insns/rdhwr.h"
826 #include "insns/unimp.h"
830 if((insn
.bits
& 0xffffffff) == 0xf6003000)
832 #include "insns/sync.h"
835 #include "insns/unimp.h"
839 if((insn
.bits
& 0xffffffff) == 0xf6004000)
841 #include "insns/syscall.h"
844 #include "insns/unimp.h"
848 if((insn
.bits
& 0xffffffff) == 0xf6005000)
850 #include "insns/break.h"
853 #include "insns/unimp.h"
857 #include "insns/unimp.h"
864 switch((insn
.bits
>> 0xc) & 0x7)
868 if((insn
.bits
& 0xfe0fffff) == 0xfc000000)
870 #include "insns/ei.h"
873 #include "insns/unimp.h"
877 if((insn
.bits
& 0xfe0fffff) == 0xfc001000)
879 #include "insns/di.h"
882 #include "insns/unimp.h"
886 if((insn
.bits
& 0xffffffff) == 0xfc002000)
888 #include "insns/eret.h"
891 #include "insns/unimp.h"
895 if((insn
.bits
& 0xfe007fff) == 0xfc004000)
897 #include "insns/mfpcr.h"
900 #include "insns/unimp.h"
904 if((insn
.bits
& 0xfe007fff) == 0xfc005000)
906 #include "insns/mwfpcr.h"
909 #include "insns/unimp.h"
913 if((insn
.bits
& 0xfe007fff) == 0xfc006000)
915 #include "insns/mtpcr.h"
918 #include "insns/unimp.h"
922 if((insn
.bits
& 0xfe007fff) == 0xfc007000)
924 #include "insns/mwtpcr.h"
927 #include "insns/unimp.h"
931 #include "insns/unimp.h"
938 #include "insns/unimp.h"