1 #include "insn_includes.h"
3 reg_t
processor_t::opcode_func_002(insn_t insn
, reg_t pc
)
5 if((insn
.bits
& 0x801f) == 0x2)
7 reg_t npc
= pc
+ insn_length(0x00000002);
8 #include "insns/c_move.h"
11 if((insn
.bits
& 0x801f) == 0x8002)
13 reg_t npc
= pc
+ insn_length(0x00008002);
14 #include "insns/c_j.h"
17 throw trap_illegal_instruction
;
20 reg_t
processor_t::opcode_func_00c(insn_t insn
, reg_t pc
)
22 reg_t npc
= pc
+ insn_length(0x0000000c);
23 #include "insns/c_sd.h"
27 reg_t
processor_t::opcode_func_016(insn_t insn
, reg_t pc
)
29 reg_t npc
= pc
+ insn_length(0x00000016);
30 #include "insns/c_fsw.h"
34 reg_t
processor_t::opcode_func_020(insn_t insn
, reg_t pc
)
36 reg_t npc
= pc
+ insn_length(0x00000000);
37 #include "insns/c_li.h"
41 reg_t
processor_t::opcode_func_02a(insn_t insn
, reg_t pc
)
43 reg_t npc
= pc
+ insn_length(0x0000000a);
44 #include "insns/c_lw.h"
48 reg_t
processor_t::opcode_func_034(insn_t insn
, reg_t pc
)
50 reg_t npc
= pc
+ insn_length(0x00000014);
51 #include "insns/c_flw.h"
55 reg_t
processor_t::opcode_func_03e(insn_t insn
, reg_t pc
)
57 throw trap_illegal_instruction
;
60 reg_t
processor_t::opcode_func_048(insn_t insn
, reg_t pc
)
62 reg_t npc
= pc
+ insn_length(0x00000008);
63 #include "insns/c_swsp.h"
67 reg_t
processor_t::opcode_func_052(insn_t insn
, reg_t pc
)
69 if((insn
.bits
& 0x801f) == 0x12)
71 reg_t npc
= pc
+ insn_length(0x00000012);
72 #include "insns/c_lw0.h"
75 if((insn
.bits
& 0x801f) == 0x8012)
77 reg_t npc
= pc
+ insn_length(0x00008012);
78 #include "insns/c_ld0.h"
81 throw trap_illegal_instruction
;
84 reg_t
processor_t::opcode_func_05c(insn_t insn
, reg_t pc
)
86 reg_t npc
= pc
+ insn_length(0x0000001c);
87 #include "insns/c_add3.h"
91 reg_t
processor_t::opcode_func_066(insn_t insn
, reg_t pc
)
93 reg_t npc
= pc
+ insn_length(0x00000006);
94 #include "insns/c_sdsp.h"
98 reg_t
processor_t::opcode_func_070(insn_t insn
, reg_t pc
)
100 reg_t npc
= pc
+ insn_length(0x00000010);
101 #include "insns/c_beq.h"
105 reg_t
processor_t::opcode_func_07a(insn_t insn
, reg_t pc
)
107 if((insn
.bits
& 0x801f) == 0x801a)
109 reg_t npc
= pc
+ insn_length(0x0000801a);
110 #include "insns/c_sub.h"
113 if((insn
.bits
& 0x801f) == 0x1a)
115 reg_t npc
= pc
+ insn_length(0x0000001a);
116 #include "insns/c_add.h"
119 throw trap_illegal_instruction
;
122 reg_t
processor_t::opcode_func_084(insn_t insn
, reg_t pc
)
124 reg_t npc
= pc
+ insn_length(0x00000004);
125 #include "insns/c_ldsp.h"
129 reg_t
processor_t::opcode_func_08e(insn_t insn
, reg_t pc
)
131 throw trap_illegal_instruction
;
134 reg_t
processor_t::opcode_func_098(insn_t insn
, reg_t pc
)
136 reg_t npc
= pc
+ insn_length(0x00000018);
137 #include "insns/c_fsd.h"
141 reg_t
processor_t::opcode_func_0a2(insn_t insn
, reg_t pc
)
143 if((insn
.bits
& 0x801f) == 0x2)
145 reg_t npc
= pc
+ insn_length(0x00000002);
146 #include "insns/c_move.h"
149 if((insn
.bits
& 0x801f) == 0x8002)
151 reg_t npc
= pc
+ insn_length(0x00008002);
152 #include "insns/c_j.h"
155 throw trap_illegal_instruction
;
158 reg_t
processor_t::opcode_func_0ac(insn_t insn
, reg_t pc
)
160 reg_t npc
= pc
+ insn_length(0x0000000c);
161 #include "insns/c_sd.h"
165 reg_t
processor_t::opcode_func_0b6(insn_t insn
, reg_t pc
)
167 reg_t npc
= pc
+ insn_length(0x00000016);
168 #include "insns/c_fsw.h"
172 reg_t
processor_t::opcode_func_0c0(insn_t insn
, reg_t pc
)
174 reg_t npc
= pc
+ insn_length(0x00000000);
175 #include "insns/c_li.h"
179 reg_t
processor_t::opcode_func_0ca(insn_t insn
, reg_t pc
)
181 reg_t npc
= pc
+ insn_length(0x0000000a);
182 #include "insns/c_lw.h"
186 reg_t
processor_t::opcode_func_0d4(insn_t insn
, reg_t pc
)
188 reg_t npc
= pc
+ insn_length(0x00000014);
189 #include "insns/c_flw.h"
193 reg_t
processor_t::opcode_func_0de(insn_t insn
, reg_t pc
)
195 throw trap_illegal_instruction
;
198 reg_t
processor_t::opcode_func_0e8(insn_t insn
, reg_t pc
)
200 reg_t npc
= pc
+ insn_length(0x00000008);
201 #include "insns/c_swsp.h"
205 reg_t
processor_t::opcode_func_0f2(insn_t insn
, reg_t pc
)
207 if((insn
.bits
& 0x801f) == 0x12)
209 reg_t npc
= pc
+ insn_length(0x00000012);
210 #include "insns/c_lw0.h"
213 if((insn
.bits
& 0x801f) == 0x8012)
215 reg_t npc
= pc
+ insn_length(0x00008012);
216 #include "insns/c_ld0.h"
219 throw trap_illegal_instruction
;
222 reg_t
processor_t::opcode_func_0fc(insn_t insn
, reg_t pc
)
224 reg_t npc
= pc
+ insn_length(0x0000001c);
225 #include "insns/c_add3.h"
229 reg_t
processor_t::opcode_func_106(insn_t insn
, reg_t pc
)
231 reg_t npc
= pc
+ insn_length(0x00000006);
232 #include "insns/c_sdsp.h"
236 reg_t
processor_t::opcode_func_110(insn_t insn
, reg_t pc
)
238 reg_t npc
= pc
+ insn_length(0x00000010);
239 #include "insns/c_beq.h"
243 reg_t
processor_t::opcode_func_11a(insn_t insn
, reg_t pc
)
245 if((insn
.bits
& 0x801f) == 0x801a)
247 reg_t npc
= pc
+ insn_length(0x0000801a);
248 #include "insns/c_sub.h"
251 if((insn
.bits
& 0x801f) == 0x1a)
253 reg_t npc
= pc
+ insn_length(0x0000001a);
254 #include "insns/c_add.h"
257 throw trap_illegal_instruction
;
260 reg_t
processor_t::opcode_func_124(insn_t insn
, reg_t pc
)
262 reg_t npc
= pc
+ insn_length(0x00000004);
263 #include "insns/c_ldsp.h"
267 reg_t
processor_t::opcode_func_12e(insn_t insn
, reg_t pc
)
269 throw trap_illegal_instruction
;
272 reg_t
processor_t::opcode_func_138(insn_t insn
, reg_t pc
)
274 reg_t npc
= pc
+ insn_length(0x00000018);
275 #include "insns/c_fsd.h"
279 reg_t
processor_t::opcode_func_142(insn_t insn
, reg_t pc
)
281 if((insn
.bits
& 0x801f) == 0x2)
283 reg_t npc
= pc
+ insn_length(0x00000002);
284 #include "insns/c_move.h"
287 if((insn
.bits
& 0x801f) == 0x8002)
289 reg_t npc
= pc
+ insn_length(0x00008002);
290 #include "insns/c_j.h"
293 throw trap_illegal_instruction
;
296 reg_t
processor_t::opcode_func_14c(insn_t insn
, reg_t pc
)
298 reg_t npc
= pc
+ insn_length(0x0000000c);
299 #include "insns/c_sd.h"
303 reg_t
processor_t::opcode_func_156(insn_t insn
, reg_t pc
)
305 reg_t npc
= pc
+ insn_length(0x00000016);
306 #include "insns/c_fsw.h"
310 reg_t
processor_t::opcode_func_160(insn_t insn
, reg_t pc
)
312 reg_t npc
= pc
+ insn_length(0x00000000);
313 #include "insns/c_li.h"
317 reg_t
processor_t::opcode_func_16a(insn_t insn
, reg_t pc
)
319 reg_t npc
= pc
+ insn_length(0x0000000a);
320 #include "insns/c_lw.h"
324 reg_t
processor_t::opcode_func_174(insn_t insn
, reg_t pc
)
326 reg_t npc
= pc
+ insn_length(0x00000014);
327 #include "insns/c_flw.h"
331 reg_t
processor_t::opcode_func_17e(insn_t insn
, reg_t pc
)
333 throw trap_illegal_instruction
;
336 reg_t
processor_t::opcode_func_188(insn_t insn
, reg_t pc
)
338 reg_t npc
= pc
+ insn_length(0x00000008);
339 #include "insns/c_swsp.h"
343 reg_t
processor_t::opcode_func_192(insn_t insn
, reg_t pc
)
345 if((insn
.bits
& 0x801f) == 0x12)
347 reg_t npc
= pc
+ insn_length(0x00000012);
348 #include "insns/c_lw0.h"
351 if((insn
.bits
& 0x801f) == 0x8012)
353 reg_t npc
= pc
+ insn_length(0x00008012);
354 #include "insns/c_ld0.h"
357 throw trap_illegal_instruction
;
360 reg_t
processor_t::opcode_func_19c(insn_t insn
, reg_t pc
)
362 reg_t npc
= pc
+ insn_length(0x0000011c);
363 #include "insns/c_sub3.h"
367 reg_t
processor_t::opcode_func_1a6(insn_t insn
, reg_t pc
)
369 reg_t npc
= pc
+ insn_length(0x00000006);
370 #include "insns/c_sdsp.h"
374 reg_t
processor_t::opcode_func_1b0(insn_t insn
, reg_t pc
)
376 reg_t npc
= pc
+ insn_length(0x00000010);
377 #include "insns/c_beq.h"
381 reg_t
processor_t::opcode_func_1ba(insn_t insn
, reg_t pc
)
383 if((insn
.bits
& 0x801f) == 0x801a)
385 reg_t npc
= pc
+ insn_length(0x0000801a);
386 #include "insns/c_sub.h"
389 if((insn
.bits
& 0x801f) == 0x1a)
391 reg_t npc
= pc
+ insn_length(0x0000001a);
392 #include "insns/c_add.h"
395 throw trap_illegal_instruction
;
398 reg_t
processor_t::opcode_func_1c4(insn_t insn
, reg_t pc
)
400 reg_t npc
= pc
+ insn_length(0x00000004);
401 #include "insns/c_ldsp.h"
405 reg_t
processor_t::opcode_func_1ce(insn_t insn
, reg_t pc
)
407 throw trap_illegal_instruction
;
410 reg_t
processor_t::opcode_func_1d8(insn_t insn
, reg_t pc
)
412 reg_t npc
= pc
+ insn_length(0x00000018);
413 #include "insns/c_fsd.h"
417 reg_t
processor_t::opcode_func_1e2(insn_t insn
, reg_t pc
)
419 if((insn
.bits
& 0x801f) == 0x2)
421 reg_t npc
= pc
+ insn_length(0x00000002);
422 #include "insns/c_move.h"
425 if((insn
.bits
& 0x801f) == 0x8002)
427 reg_t npc
= pc
+ insn_length(0x00008002);
428 #include "insns/c_j.h"
431 throw trap_illegal_instruction
;
434 reg_t
processor_t::opcode_func_1ec(insn_t insn
, reg_t pc
)
436 reg_t npc
= pc
+ insn_length(0x0000000c);
437 #include "insns/c_sd.h"
441 reg_t
processor_t::opcode_func_1f6(insn_t insn
, reg_t pc
)
443 reg_t npc
= pc
+ insn_length(0x00000016);
444 #include "insns/c_fsw.h"
448 reg_t
processor_t::opcode_func_200(insn_t insn
, reg_t pc
)
450 reg_t npc
= pc
+ insn_length(0x00000000);
451 #include "insns/c_li.h"
455 reg_t
processor_t::opcode_func_20a(insn_t insn
, reg_t pc
)
457 reg_t npc
= pc
+ insn_length(0x0000000a);
458 #include "insns/c_lw.h"
462 reg_t
processor_t::opcode_func_214(insn_t insn
, reg_t pc
)
464 reg_t npc
= pc
+ insn_length(0x00000014);
465 #include "insns/c_flw.h"
469 reg_t
processor_t::opcode_func_21e(insn_t insn
, reg_t pc
)
471 throw trap_illegal_instruction
;
474 reg_t
processor_t::opcode_func_228(insn_t insn
, reg_t pc
)
476 reg_t npc
= pc
+ insn_length(0x00000008);
477 #include "insns/c_swsp.h"
481 reg_t
processor_t::opcode_func_232(insn_t insn
, reg_t pc
)
483 if((insn
.bits
& 0x801f) == 0x12)
485 reg_t npc
= pc
+ insn_length(0x00000012);
486 #include "insns/c_lw0.h"
489 if((insn
.bits
& 0x801f) == 0x8012)
491 reg_t npc
= pc
+ insn_length(0x00008012);
492 #include "insns/c_ld0.h"
495 throw trap_illegal_instruction
;
498 reg_t
processor_t::opcode_func_23c(insn_t insn
, reg_t pc
)
500 reg_t npc
= pc
+ insn_length(0x0000021c);
501 #include "insns/c_or3.h"
505 reg_t
processor_t::opcode_func_246(insn_t insn
, reg_t pc
)
507 reg_t npc
= pc
+ insn_length(0x00000006);
508 #include "insns/c_sdsp.h"
512 reg_t
processor_t::opcode_func_250(insn_t insn
, reg_t pc
)
514 reg_t npc
= pc
+ insn_length(0x00000010);
515 #include "insns/c_beq.h"
519 reg_t
processor_t::opcode_func_25a(insn_t insn
, reg_t pc
)
521 if((insn
.bits
& 0x801f) == 0x801a)
523 reg_t npc
= pc
+ insn_length(0x0000801a);
524 #include "insns/c_sub.h"
527 if((insn
.bits
& 0x801f) == 0x1a)
529 reg_t npc
= pc
+ insn_length(0x0000001a);
530 #include "insns/c_add.h"
533 throw trap_illegal_instruction
;
536 reg_t
processor_t::opcode_func_264(insn_t insn
, reg_t pc
)
538 reg_t npc
= pc
+ insn_length(0x00000004);
539 #include "insns/c_ldsp.h"
543 reg_t
processor_t::opcode_func_26e(insn_t insn
, reg_t pc
)
545 throw trap_illegal_instruction
;
548 reg_t
processor_t::opcode_func_278(insn_t insn
, reg_t pc
)
550 reg_t npc
= pc
+ insn_length(0x00000018);
551 #include "insns/c_fsd.h"
555 reg_t
processor_t::opcode_func_282(insn_t insn
, reg_t pc
)
557 if((insn
.bits
& 0x801f) == 0x2)
559 reg_t npc
= pc
+ insn_length(0x00000002);
560 #include "insns/c_move.h"
563 if((insn
.bits
& 0x801f) == 0x8002)
565 reg_t npc
= pc
+ insn_length(0x00008002);
566 #include "insns/c_j.h"
569 throw trap_illegal_instruction
;
572 reg_t
processor_t::opcode_func_28c(insn_t insn
, reg_t pc
)
574 reg_t npc
= pc
+ insn_length(0x0000000c);
575 #include "insns/c_sd.h"
579 reg_t
processor_t::opcode_func_296(insn_t insn
, reg_t pc
)
581 reg_t npc
= pc
+ insn_length(0x00000016);
582 #include "insns/c_fsw.h"
586 reg_t
processor_t::opcode_func_2a0(insn_t insn
, reg_t pc
)
588 reg_t npc
= pc
+ insn_length(0x00000000);
589 #include "insns/c_li.h"
593 reg_t
processor_t::opcode_func_2aa(insn_t insn
, reg_t pc
)
595 reg_t npc
= pc
+ insn_length(0x0000000a);
596 #include "insns/c_lw.h"
600 reg_t
processor_t::opcode_func_2b4(insn_t insn
, reg_t pc
)
602 reg_t npc
= pc
+ insn_length(0x00000014);
603 #include "insns/c_flw.h"
607 reg_t
processor_t::opcode_func_2be(insn_t insn
, reg_t pc
)
609 throw trap_illegal_instruction
;
612 reg_t
processor_t::opcode_func_2c8(insn_t insn
, reg_t pc
)
614 reg_t npc
= pc
+ insn_length(0x00000008);
615 #include "insns/c_swsp.h"
619 reg_t
processor_t::opcode_func_2d2(insn_t insn
, reg_t pc
)
621 if((insn
.bits
& 0x801f) == 0x12)
623 reg_t npc
= pc
+ insn_length(0x00000012);
624 #include "insns/c_lw0.h"
627 if((insn
.bits
& 0x801f) == 0x8012)
629 reg_t npc
= pc
+ insn_length(0x00008012);
630 #include "insns/c_ld0.h"
633 throw trap_illegal_instruction
;
636 reg_t
processor_t::opcode_func_2dc(insn_t insn
, reg_t pc
)
638 reg_t npc
= pc
+ insn_length(0x0000021c);
639 #include "insns/c_or3.h"
643 reg_t
processor_t::opcode_func_2e6(insn_t insn
, reg_t pc
)
645 reg_t npc
= pc
+ insn_length(0x00000006);
646 #include "insns/c_sdsp.h"
650 reg_t
processor_t::opcode_func_2f0(insn_t insn
, reg_t pc
)
652 reg_t npc
= pc
+ insn_length(0x00000010);
653 #include "insns/c_beq.h"
657 reg_t
processor_t::opcode_func_2fa(insn_t insn
, reg_t pc
)
659 if((insn
.bits
& 0x801f) == 0x801a)
661 reg_t npc
= pc
+ insn_length(0x0000801a);
662 #include "insns/c_sub.h"
665 if((insn
.bits
& 0x801f) == 0x1a)
667 reg_t npc
= pc
+ insn_length(0x0000001a);
668 #include "insns/c_add.h"
671 throw trap_illegal_instruction
;
674 reg_t
processor_t::opcode_func_304(insn_t insn
, reg_t pc
)
676 reg_t npc
= pc
+ insn_length(0x00000004);
677 #include "insns/c_ldsp.h"
681 reg_t
processor_t::opcode_func_30e(insn_t insn
, reg_t pc
)
683 throw trap_illegal_instruction
;
686 reg_t
processor_t::opcode_func_318(insn_t insn
, reg_t pc
)
688 reg_t npc
= pc
+ insn_length(0x00000018);
689 #include "insns/c_fsd.h"
693 reg_t
processor_t::opcode_func_322(insn_t insn
, reg_t pc
)
695 if((insn
.bits
& 0x801f) == 0x2)
697 reg_t npc
= pc
+ insn_length(0x00000002);
698 #include "insns/c_move.h"
701 if((insn
.bits
& 0x801f) == 0x8002)
703 reg_t npc
= pc
+ insn_length(0x00008002);
704 #include "insns/c_j.h"
707 throw trap_illegal_instruction
;
710 reg_t
processor_t::opcode_func_32c(insn_t insn
, reg_t pc
)
712 reg_t npc
= pc
+ insn_length(0x0000000c);
713 #include "insns/c_sd.h"
717 reg_t
processor_t::opcode_func_336(insn_t insn
, reg_t pc
)
719 reg_t npc
= pc
+ insn_length(0x00000016);
720 #include "insns/c_fsw.h"
724 reg_t
processor_t::opcode_func_340(insn_t insn
, reg_t pc
)
726 reg_t npc
= pc
+ insn_length(0x00000000);
727 #include "insns/c_li.h"
731 reg_t
processor_t::opcode_func_34a(insn_t insn
, reg_t pc
)
733 reg_t npc
= pc
+ insn_length(0x0000000a);
734 #include "insns/c_lw.h"
738 reg_t
processor_t::opcode_func_354(insn_t insn
, reg_t pc
)
740 reg_t npc
= pc
+ insn_length(0x00000014);
741 #include "insns/c_flw.h"
745 reg_t
processor_t::opcode_func_35e(insn_t insn
, reg_t pc
)
747 throw trap_illegal_instruction
;
750 reg_t
processor_t::opcode_func_368(insn_t insn
, reg_t pc
)
752 reg_t npc
= pc
+ insn_length(0x00000008);
753 #include "insns/c_swsp.h"
757 reg_t
processor_t::opcode_func_372(insn_t insn
, reg_t pc
)
759 if((insn
.bits
& 0x801f) == 0x12)
761 reg_t npc
= pc
+ insn_length(0x00000012);
762 #include "insns/c_lw0.h"
765 if((insn
.bits
& 0x801f) == 0x8012)
767 reg_t npc
= pc
+ insn_length(0x00008012);
768 #include "insns/c_ld0.h"
771 throw trap_illegal_instruction
;
774 reg_t
processor_t::opcode_func_37c(insn_t insn
, reg_t pc
)
776 reg_t npc
= pc
+ insn_length(0x0000031c);
777 #include "insns/c_and3.h"
781 reg_t
processor_t::opcode_func_386(insn_t insn
, reg_t pc
)
783 reg_t npc
= pc
+ insn_length(0x00000006);
784 #include "insns/c_sdsp.h"
788 reg_t
processor_t::opcode_func_390(insn_t insn
, reg_t pc
)
790 reg_t npc
= pc
+ insn_length(0x00000010);
791 #include "insns/c_beq.h"
795 reg_t
processor_t::opcode_func_39a(insn_t insn
, reg_t pc
)
797 if((insn
.bits
& 0x801f) == 0x801a)
799 reg_t npc
= pc
+ insn_length(0x0000801a);
800 #include "insns/c_sub.h"
803 if((insn
.bits
& 0x801f) == 0x1a)
805 reg_t npc
= pc
+ insn_length(0x0000001a);
806 #include "insns/c_add.h"
809 throw trap_illegal_instruction
;
812 reg_t
processor_t::opcode_func_3a4(insn_t insn
, reg_t pc
)
814 reg_t npc
= pc
+ insn_length(0x00000004);
815 #include "insns/c_ldsp.h"
819 reg_t
processor_t::opcode_func_3ae(insn_t insn
, reg_t pc
)
821 throw trap_illegal_instruction
;
824 reg_t
processor_t::opcode_func_3b8(insn_t insn
, reg_t pc
)
826 reg_t npc
= pc
+ insn_length(0x00000018);
827 #include "insns/c_fsd.h"
831 reg_t
processor_t::opcode_func_3c2(insn_t insn
, reg_t pc
)
833 if((insn
.bits
& 0x801f) == 0x2)
835 reg_t npc
= pc
+ insn_length(0x00000002);
836 #include "insns/c_move.h"
839 if((insn
.bits
& 0x801f) == 0x8002)
841 reg_t npc
= pc
+ insn_length(0x00008002);
842 #include "insns/c_j.h"
845 throw trap_illegal_instruction
;
848 reg_t
processor_t::opcode_func_3cc(insn_t insn
, reg_t pc
)
850 reg_t npc
= pc
+ insn_length(0x0000000c);
851 #include "insns/c_sd.h"
855 reg_t
processor_t::opcode_func_3d6(insn_t insn
, reg_t pc
)
857 reg_t npc
= pc
+ insn_length(0x00000016);
858 #include "insns/c_fsw.h"
862 reg_t
processor_t::opcode_func_3e0(insn_t insn
, reg_t pc
)
864 reg_t npc
= pc
+ insn_length(0x00000000);
865 #include "insns/c_li.h"
869 reg_t
processor_t::opcode_func_3ea(insn_t insn
, reg_t pc
)
871 reg_t npc
= pc
+ insn_length(0x0000000a);
872 #include "insns/c_lw.h"
876 reg_t
processor_t::opcode_func_3f4(insn_t insn
, reg_t pc
)
878 reg_t npc
= pc
+ insn_length(0x00000014);
879 #include "insns/c_flw.h"
883 reg_t
processor_t::opcode_func_3fe(insn_t insn
, reg_t pc
)
885 throw trap_illegal_instruction
;