1 #include "insn_includes.h"
3 reg_t
processor_t::opcode_func_007(insn_t insn
, reg_t pc
)
5 throw trap_illegal_instruction
;
8 reg_t
processor_t::opcode_func_011(insn_t insn
, reg_t pc
)
10 reg_t npc
= pc
+ insn_length(0x00000011);
11 #include "insns/c_bne.h"
15 reg_t
processor_t::opcode_func_01b(insn_t insn
, reg_t pc
)
17 reg_t npc
= pc
+ insn_length(0x0000001b);
18 #include "insns/addiw.h"
22 reg_t
processor_t::opcode_func_025(insn_t insn
, reg_t pc
)
24 reg_t npc
= pc
+ insn_length(0x00000005);
25 #include "insns/c_lwsp.h"
29 reg_t
processor_t::opcode_func_02f(insn_t insn
, reg_t pc
)
31 throw trap_illegal_instruction
;
34 reg_t
processor_t::opcode_func_039(insn_t insn
, reg_t pc
)
36 if((insn
.bits
& 0x1c1f) == 0x19)
38 reg_t npc
= pc
+ insn_length(0x00000019);
39 #include "insns/c_slli.h"
42 if((insn
.bits
& 0x1c1f) == 0x819)
44 reg_t npc
= pc
+ insn_length(0x00000819);
45 #include "insns/c_srli.h"
48 if((insn
.bits
& 0x1c1f) == 0x1419)
50 reg_t npc
= pc
+ insn_length(0x00001419);
51 #include "insns/c_srai32.h"
54 if((insn
.bits
& 0x1c1f) == 0x1819)
56 reg_t npc
= pc
+ insn_length(0x00001819);
57 #include "insns/c_slliw.h"
60 if((insn
.bits
& 0x1c1f) == 0xc19)
62 reg_t npc
= pc
+ insn_length(0x00000c19);
63 #include "insns/c_srli32.h"
66 if((insn
.bits
& 0x1c1f) == 0x1019)
68 reg_t npc
= pc
+ insn_length(0x00001019);
69 #include "insns/c_srai.h"
72 if((insn
.bits
& 0x1c1f) == 0x419)
74 reg_t npc
= pc
+ insn_length(0x00000419);
75 #include "insns/c_slli32.h"
78 throw trap_illegal_instruction
;
81 reg_t
processor_t::opcode_func_043(insn_t insn
, reg_t pc
)
83 reg_t npc
= pc
+ insn_length(0x00000043);
84 #include "insns/fmadd_s.h"
88 reg_t
processor_t::opcode_func_04d(insn_t insn
, reg_t pc
)
90 reg_t npc
= pc
+ insn_length(0x0000000d);
91 #include "insns/c_sw.h"
95 reg_t
processor_t::opcode_func_057(insn_t insn
, reg_t pc
)
97 throw trap_illegal_instruction
;
100 reg_t
processor_t::opcode_func_061(insn_t insn
, reg_t pc
)
102 reg_t npc
= pc
+ insn_length(0x00000001);
103 #include "insns/c_addi.h"
107 reg_t
processor_t::opcode_func_06b(insn_t insn
, reg_t pc
)
109 reg_t npc
= pc
+ insn_length(0x0000006b);
110 #include "insns/jalr_c.h"
114 reg_t
processor_t::opcode_func_075(insn_t insn
, reg_t pc
)
116 reg_t npc
= pc
+ insn_length(0x00000015);
117 #include "insns/c_fld.h"
121 reg_t
processor_t::opcode_func_07f(insn_t insn
, reg_t pc
)
123 throw trap_illegal_instruction
;
126 reg_t
processor_t::opcode_func_089(insn_t insn
, reg_t pc
)
128 reg_t npc
= pc
+ insn_length(0x00000009);
129 #include "insns/c_ld.h"
133 reg_t
processor_t::opcode_func_093(insn_t insn
, reg_t pc
)
135 if((insn
.bits
& 0x3f03ff) == 0x93)
137 reg_t npc
= pc
+ insn_length(0x00000093);
138 #include "insns/slli.h"
141 throw trap_illegal_instruction
;
144 reg_t
processor_t::opcode_func_09d(insn_t insn
, reg_t pc
)
146 reg_t npc
= pc
+ insn_length(0x0000001d);
147 #include "insns/c_addiw.h"
151 reg_t
processor_t::opcode_func_0a7(insn_t insn
, reg_t pc
)
153 throw trap_illegal_instruction
;
156 reg_t
processor_t::opcode_func_0b1(insn_t insn
, reg_t pc
)
158 reg_t npc
= pc
+ insn_length(0x00000011);
159 #include "insns/c_bne.h"
163 reg_t
processor_t::opcode_func_0bb(insn_t insn
, reg_t pc
)
165 if((insn
.bits
& 0x1ffff) == 0xbb)
167 reg_t npc
= pc
+ insn_length(0x000000bb);
168 #include "insns/sllw.h"
171 throw trap_illegal_instruction
;
174 reg_t
processor_t::opcode_func_0c5(insn_t insn
, reg_t pc
)
176 reg_t npc
= pc
+ insn_length(0x00000005);
177 #include "insns/c_lwsp.h"
181 reg_t
processor_t::opcode_func_0cf(insn_t insn
, reg_t pc
)
183 reg_t npc
= pc
+ insn_length(0x000000cf);
184 #include "insns/fnmadd_d.h"
188 reg_t
processor_t::opcode_func_0d9(insn_t insn
, reg_t pc
)
190 if((insn
.bits
& 0x1c1f) == 0x19)
192 reg_t npc
= pc
+ insn_length(0x00000019);
193 #include "insns/c_slli.h"
196 if((insn
.bits
& 0x1c1f) == 0x819)
198 reg_t npc
= pc
+ insn_length(0x00000819);
199 #include "insns/c_srli.h"
202 if((insn
.bits
& 0x1c1f) == 0x1419)
204 reg_t npc
= pc
+ insn_length(0x00001419);
205 #include "insns/c_srai32.h"
208 if((insn
.bits
& 0x1c1f) == 0x1819)
210 reg_t npc
= pc
+ insn_length(0x00001819);
211 #include "insns/c_slliw.h"
214 if((insn
.bits
& 0x1c1f) == 0xc19)
216 reg_t npc
= pc
+ insn_length(0x00000c19);
217 #include "insns/c_srli32.h"
220 if((insn
.bits
& 0x1c1f) == 0x1019)
222 reg_t npc
= pc
+ insn_length(0x00001019);
223 #include "insns/c_srai.h"
226 if((insn
.bits
& 0x1c1f) == 0x419)
228 reg_t npc
= pc
+ insn_length(0x00000419);
229 #include "insns/c_slli32.h"
232 throw trap_illegal_instruction
;
235 reg_t
processor_t::opcode_func_0e3(insn_t insn
, reg_t pc
)
237 reg_t npc
= pc
+ insn_length(0x000000e3);
238 #include "insns/bne.h"
242 reg_t
processor_t::opcode_func_0ed(insn_t insn
, reg_t pc
)
244 reg_t npc
= pc
+ insn_length(0x0000000d);
245 #include "insns/c_sw.h"
249 reg_t
processor_t::opcode_func_0f7(insn_t insn
, reg_t pc
)
251 if((insn
.bits
& 0xffffffff) == 0xf7)
253 reg_t npc
= pc
+ insn_length(0x000000f7);
254 #include "insns/break.h"
257 throw trap_illegal_instruction
;
260 reg_t
processor_t::opcode_func_101(insn_t insn
, reg_t pc
)
262 reg_t npc
= pc
+ insn_length(0x00000001);
263 #include "insns/c_addi.h"
267 reg_t
processor_t::opcode_func_10b(insn_t insn
, reg_t pc
)
269 if((insn
.bits
& 0x1ffff) == 0x150b)
271 reg_t npc
= pc
+ insn_length(0x0000150b);
272 #include "insns/vflstw.h"
275 if((insn
.bits
& 0x3fffff) == 0x10b)
277 reg_t npc
= pc
+ insn_length(0x0000010b);
278 #include "insns/vlw.h"
281 if((insn
.bits
& 0x1ffff) == 0x110b)
283 reg_t npc
= pc
+ insn_length(0x0000110b);
284 #include "insns/vlstw.h"
287 if((insn
.bits
& 0xfff) == 0x90b)
289 reg_t npc
= pc
+ insn_length(0x0000090b);
290 #include "insns/vlsegstw.h"
293 if((insn
.bits
& 0x1ffff) == 0x250b)
295 reg_t npc
= pc
+ insn_length(0x0000250b);
296 #include "insns/vflsegw.h"
299 if((insn
.bits
& 0xfff) == 0xd0b)
301 reg_t npc
= pc
+ insn_length(0x00000d0b);
302 #include "insns/vflsegstw.h"
305 if((insn
.bits
& 0x3fffff) == 0x50b)
307 reg_t npc
= pc
+ insn_length(0x0000050b);
308 #include "insns/vflw.h"
311 if((insn
.bits
& 0x1ffff) == 0x210b)
313 reg_t npc
= pc
+ insn_length(0x0000210b);
314 #include "insns/vlsegw.h"
317 throw trap_illegal_instruction
;
320 reg_t
processor_t::opcode_func_115(insn_t insn
, reg_t pc
)
322 reg_t npc
= pc
+ insn_length(0x00000015);
323 #include "insns/c_fld.h"
327 reg_t
processor_t::opcode_func_11f(insn_t insn
, reg_t pc
)
329 throw trap_illegal_instruction
;
332 reg_t
processor_t::opcode_func_129(insn_t insn
, reg_t pc
)
334 reg_t npc
= pc
+ insn_length(0x00000009);
335 #include "insns/c_ld.h"
339 reg_t
processor_t::opcode_func_133(insn_t insn
, reg_t pc
)
341 if((insn
.bits
& 0x1ffff) == 0x533)
343 reg_t npc
= pc
+ insn_length(0x00000533);
344 #include "insns/mulhsu.h"
347 if((insn
.bits
& 0x1ffff) == 0x133)
349 reg_t npc
= pc
+ insn_length(0x00000133);
350 #include "insns/slt.h"
353 throw trap_illegal_instruction
;
356 reg_t
processor_t::opcode_func_13d(insn_t insn
, reg_t pc
)
358 reg_t npc
= pc
+ insn_length(0x0000001d);
359 #include "insns/c_addiw.h"
363 reg_t
processor_t::opcode_func_147(insn_t insn
, reg_t pc
)
365 throw trap_illegal_instruction
;
368 reg_t
processor_t::opcode_func_151(insn_t insn
, reg_t pc
)
370 reg_t npc
= pc
+ insn_length(0x00000011);
371 #include "insns/c_bne.h"
375 reg_t
processor_t::opcode_func_15b(insn_t insn
, reg_t pc
)
377 throw trap_illegal_instruction
;
380 reg_t
processor_t::opcode_func_165(insn_t insn
, reg_t pc
)
382 reg_t npc
= pc
+ insn_length(0x00000005);
383 #include "insns/c_lwsp.h"
387 reg_t
processor_t::opcode_func_16f(insn_t insn
, reg_t pc
)
389 reg_t npc
= pc
+ insn_length(0x0000006f);
390 #include "insns/jal.h"
394 reg_t
processor_t::opcode_func_179(insn_t insn
, reg_t pc
)
396 if((insn
.bits
& 0x1c1f) == 0x19)
398 reg_t npc
= pc
+ insn_length(0x00000019);
399 #include "insns/c_slli.h"
402 if((insn
.bits
& 0x1c1f) == 0x819)
404 reg_t npc
= pc
+ insn_length(0x00000819);
405 #include "insns/c_srli.h"
408 if((insn
.bits
& 0x1c1f) == 0x1419)
410 reg_t npc
= pc
+ insn_length(0x00001419);
411 #include "insns/c_srai32.h"
414 if((insn
.bits
& 0x1c1f) == 0x1819)
416 reg_t npc
= pc
+ insn_length(0x00001819);
417 #include "insns/c_slliw.h"
420 if((insn
.bits
& 0x1c1f) == 0xc19)
422 reg_t npc
= pc
+ insn_length(0x00000c19);
423 #include "insns/c_srli32.h"
426 if((insn
.bits
& 0x1c1f) == 0x1019)
428 reg_t npc
= pc
+ insn_length(0x00001019);
429 #include "insns/c_srai.h"
432 if((insn
.bits
& 0x1c1f) == 0x419)
434 reg_t npc
= pc
+ insn_length(0x00000419);
435 #include "insns/c_slli32.h"
438 throw trap_illegal_instruction
;
441 reg_t
processor_t::opcode_func_183(insn_t insn
, reg_t pc
)
443 reg_t npc
= pc
+ insn_length(0x00000183);
444 #include "insns/ld.h"
448 reg_t
processor_t::opcode_func_18d(insn_t insn
, reg_t pc
)
450 reg_t npc
= pc
+ insn_length(0x0000000d);
451 #include "insns/c_sw.h"
455 reg_t
processor_t::opcode_func_197(insn_t insn
, reg_t pc
)
457 throw trap_illegal_instruction
;
460 reg_t
processor_t::opcode_func_1a1(insn_t insn
, reg_t pc
)
462 reg_t npc
= pc
+ insn_length(0x00000001);
463 #include "insns/c_addi.h"
467 reg_t
processor_t::opcode_func_1ab(insn_t insn
, reg_t pc
)
469 if((insn
.bits
& 0x1ffff) == 0x19ab)
471 reg_t npc
= pc
+ insn_length(0x000019ab);
472 #include "insns/amominu_d.h"
475 if((insn
.bits
& 0x1ffff) == 0x9ab)
477 reg_t npc
= pc
+ insn_length(0x000009ab);
478 #include "insns/amoand_d.h"
481 if((insn
.bits
& 0x1ffff) == 0x1dab)
483 reg_t npc
= pc
+ insn_length(0x00001dab);
484 #include "insns/amomaxu_d.h"
487 if((insn
.bits
& 0x1ffff) == 0x1ab)
489 reg_t npc
= pc
+ insn_length(0x000001ab);
490 #include "insns/amoadd_d.h"
493 if((insn
.bits
& 0x1ffff) == 0x15ab)
495 reg_t npc
= pc
+ insn_length(0x000015ab);
496 #include "insns/amomax_d.h"
499 if((insn
.bits
& 0x1ffff) == 0xdab)
501 reg_t npc
= pc
+ insn_length(0x00000dab);
502 #include "insns/amoor_d.h"
505 if((insn
.bits
& 0x1ffff) == 0x5ab)
507 reg_t npc
= pc
+ insn_length(0x000005ab);
508 #include "insns/amoswap_d.h"
511 if((insn
.bits
& 0x1ffff) == 0x11ab)
513 reg_t npc
= pc
+ insn_length(0x000011ab);
514 #include "insns/amomin_d.h"
517 throw trap_illegal_instruction
;
520 reg_t
processor_t::opcode_func_1b5(insn_t insn
, reg_t pc
)
522 reg_t npc
= pc
+ insn_length(0x00000015);
523 #include "insns/c_fld.h"
527 reg_t
processor_t::opcode_func_1bf(insn_t insn
, reg_t pc
)
529 throw trap_illegal_instruction
;
532 reg_t
processor_t::opcode_func_1c9(insn_t insn
, reg_t pc
)
534 reg_t npc
= pc
+ insn_length(0x00000009);
535 #include "insns/c_ld.h"
539 reg_t
processor_t::opcode_func_1d3(insn_t insn
, reg_t pc
)
541 throw trap_illegal_instruction
;
544 reg_t
processor_t::opcode_func_1dd(insn_t insn
, reg_t pc
)
546 reg_t npc
= pc
+ insn_length(0x0000001d);
547 #include "insns/c_addiw.h"
551 reg_t
processor_t::opcode_func_1e7(insn_t insn
, reg_t pc
)
553 reg_t npc
= pc
+ insn_length(0x00000067);
558 reg_t
processor_t::opcode_func_1f1(insn_t insn
, reg_t pc
)
560 reg_t npc
= pc
+ insn_length(0x00000011);
561 #include "insns/c_bne.h"
565 reg_t
processor_t::opcode_func_1fb(insn_t insn
, reg_t pc
)
567 if((insn
.bits
& 0xf801ffff) == 0x1fb)
569 reg_t npc
= pc
+ insn_length(0x000001fb);
570 #include "insns/mtpcr.h"
573 throw trap_illegal_instruction
;
576 reg_t
processor_t::opcode_func_205(insn_t insn
, reg_t pc
)
578 reg_t npc
= pc
+ insn_length(0x00000005);
579 #include "insns/c_lwsp.h"
583 reg_t
processor_t::opcode_func_20f(insn_t insn
, reg_t pc
)
585 throw trap_illegal_instruction
;
588 reg_t
processor_t::opcode_func_219(insn_t insn
, reg_t pc
)
590 if((insn
.bits
& 0x1c1f) == 0x19)
592 reg_t npc
= pc
+ insn_length(0x00000019);
593 #include "insns/c_slli.h"
596 if((insn
.bits
& 0x1c1f) == 0x819)
598 reg_t npc
= pc
+ insn_length(0x00000819);
599 #include "insns/c_srli.h"
602 if((insn
.bits
& 0x1c1f) == 0x1419)
604 reg_t npc
= pc
+ insn_length(0x00001419);
605 #include "insns/c_srai32.h"
608 if((insn
.bits
& 0x1c1f) == 0x1819)
610 reg_t npc
= pc
+ insn_length(0x00001819);
611 #include "insns/c_slliw.h"
614 if((insn
.bits
& 0x1c1f) == 0xc19)
616 reg_t npc
= pc
+ insn_length(0x00000c19);
617 #include "insns/c_srli32.h"
620 if((insn
.bits
& 0x1c1f) == 0x1019)
622 reg_t npc
= pc
+ insn_length(0x00001019);
623 #include "insns/c_srai.h"
626 if((insn
.bits
& 0x1c1f) == 0x419)
628 reg_t npc
= pc
+ insn_length(0x00000419);
629 #include "insns/c_slli32.h"
632 throw trap_illegal_instruction
;
635 reg_t
processor_t::opcode_func_223(insn_t insn
, reg_t pc
)
637 throw trap_illegal_instruction
;
640 reg_t
processor_t::opcode_func_22d(insn_t insn
, reg_t pc
)
642 reg_t npc
= pc
+ insn_length(0x0000000d);
643 #include "insns/c_sw.h"
647 reg_t
processor_t::opcode_func_237(insn_t insn
, reg_t pc
)
649 reg_t npc
= pc
+ insn_length(0x00000037);
650 #include "insns/lui.h"
654 reg_t
processor_t::opcode_func_241(insn_t insn
, reg_t pc
)
656 reg_t npc
= pc
+ insn_length(0x00000001);
657 #include "insns/c_addi.h"
661 reg_t
processor_t::opcode_func_24b(insn_t insn
, reg_t pc
)
663 reg_t npc
= pc
+ insn_length(0x0000004b);
664 #include "insns/fnmsub_s.h"
668 reg_t
processor_t::opcode_func_255(insn_t insn
, reg_t pc
)
670 reg_t npc
= pc
+ insn_length(0x00000015);
671 #include "insns/c_fld.h"
675 reg_t
processor_t::opcode_func_25f(insn_t insn
, reg_t pc
)
677 throw trap_illegal_instruction
;
680 reg_t
processor_t::opcode_func_269(insn_t insn
, reg_t pc
)
682 reg_t npc
= pc
+ insn_length(0x00000009);
683 #include "insns/c_ld.h"
687 reg_t
processor_t::opcode_func_273(insn_t insn
, reg_t pc
)
689 throw trap_illegal_instruction
;
692 reg_t
processor_t::opcode_func_27d(insn_t insn
, reg_t pc
)
694 reg_t npc
= pc
+ insn_length(0x0000001d);
695 #include "insns/c_addiw.h"
699 reg_t
processor_t::opcode_func_287(insn_t insn
, reg_t pc
)
701 throw trap_illegal_instruction
;
704 reg_t
processor_t::opcode_func_291(insn_t insn
, reg_t pc
)
706 reg_t npc
= pc
+ insn_length(0x00000011);
707 #include "insns/c_bne.h"
711 reg_t
processor_t::opcode_func_29b(insn_t insn
, reg_t pc
)
713 if((insn
.bits
& 0x3f83ff) == 0x29b)
715 reg_t npc
= pc
+ insn_length(0x0000029b);
716 #include "insns/srliw.h"
719 if((insn
.bits
& 0x3f83ff) == 0x1029b)
721 reg_t npc
= pc
+ insn_length(0x0001029b);
722 #include "insns/sraiw.h"
725 throw trap_illegal_instruction
;
728 reg_t
processor_t::opcode_func_2a5(insn_t insn
, reg_t pc
)
730 reg_t npc
= pc
+ insn_length(0x00000005);
731 #include "insns/c_lwsp.h"
735 reg_t
processor_t::opcode_func_2af(insn_t insn
, reg_t pc
)
737 reg_t npc
= pc
+ insn_length(0x000002af);
738 #include "insns/fence_g_v.h"
742 reg_t
processor_t::opcode_func_2b9(insn_t insn
, reg_t pc
)
744 if((insn
.bits
& 0x1c1f) == 0x19)
746 reg_t npc
= pc
+ insn_length(0x00000019);
747 #include "insns/c_slli.h"
750 if((insn
.bits
& 0x1c1f) == 0x819)
752 reg_t npc
= pc
+ insn_length(0x00000819);
753 #include "insns/c_srli.h"
756 if((insn
.bits
& 0x1c1f) == 0x1419)
758 reg_t npc
= pc
+ insn_length(0x00001419);
759 #include "insns/c_srai32.h"
762 if((insn
.bits
& 0x1c1f) == 0x1819)
764 reg_t npc
= pc
+ insn_length(0x00001819);
765 #include "insns/c_slliw.h"
768 if((insn
.bits
& 0x1c1f) == 0xc19)
770 reg_t npc
= pc
+ insn_length(0x00000c19);
771 #include "insns/c_srli32.h"
774 if((insn
.bits
& 0x1c1f) == 0x1019)
776 reg_t npc
= pc
+ insn_length(0x00001019);
777 #include "insns/c_srai.h"
780 if((insn
.bits
& 0x1c1f) == 0x419)
782 reg_t npc
= pc
+ insn_length(0x00000419);
783 #include "insns/c_slli32.h"
786 throw trap_illegal_instruction
;
789 reg_t
processor_t::opcode_func_2c3(insn_t insn
, reg_t pc
)
791 reg_t npc
= pc
+ insn_length(0x000000c3);
792 #include "insns/fmadd_d.h"
796 reg_t
processor_t::opcode_func_2cd(insn_t insn
, reg_t pc
)
798 reg_t npc
= pc
+ insn_length(0x0000000d);
799 #include "insns/c_sw.h"
803 reg_t
processor_t::opcode_func_2d7(insn_t insn
, reg_t pc
)
805 throw trap_illegal_instruction
;
808 reg_t
processor_t::opcode_func_2e1(insn_t insn
, reg_t pc
)
810 reg_t npc
= pc
+ insn_length(0x00000001);
811 #include "insns/c_addi.h"
815 reg_t
processor_t::opcode_func_2eb(insn_t insn
, reg_t pc
)
817 throw trap_illegal_instruction
;
820 reg_t
processor_t::opcode_func_2f5(insn_t insn
, reg_t pc
)
822 reg_t npc
= pc
+ insn_length(0x00000015);
823 #include "insns/c_fld.h"
827 reg_t
processor_t::opcode_func_2ff(insn_t insn
, reg_t pc
)
829 throw trap_illegal_instruction
;
832 reg_t
processor_t::opcode_func_309(insn_t insn
, reg_t pc
)
834 reg_t npc
= pc
+ insn_length(0x00000009);
835 #include "insns/c_ld.h"
839 reg_t
processor_t::opcode_func_313(insn_t insn
, reg_t pc
)
841 reg_t npc
= pc
+ insn_length(0x00000313);
842 #include "insns/ori.h"
846 reg_t
processor_t::opcode_func_31d(insn_t insn
, reg_t pc
)
848 reg_t npc
= pc
+ insn_length(0x0000001d);
849 #include "insns/c_addiw.h"
853 reg_t
processor_t::opcode_func_327(insn_t insn
, reg_t pc
)
855 throw trap_illegal_instruction
;
858 reg_t
processor_t::opcode_func_331(insn_t insn
, reg_t pc
)
860 reg_t npc
= pc
+ insn_length(0x00000011);
861 #include "insns/c_bne.h"
865 reg_t
processor_t::opcode_func_33b(insn_t insn
, reg_t pc
)
867 if((insn
.bits
& 0x1ffff) == 0x73b)
869 reg_t npc
= pc
+ insn_length(0x0000073b);
870 #include "insns/remw.h"
873 throw trap_illegal_instruction
;
876 reg_t
processor_t::opcode_func_345(insn_t insn
, reg_t pc
)
878 reg_t npc
= pc
+ insn_length(0x00000005);
879 #include "insns/c_lwsp.h"
883 reg_t
processor_t::opcode_func_34f(insn_t insn
, reg_t pc
)
885 throw trap_illegal_instruction
;
888 reg_t
processor_t::opcode_func_359(insn_t insn
, reg_t pc
)
890 if((insn
.bits
& 0x1c1f) == 0x19)
892 reg_t npc
= pc
+ insn_length(0x00000019);
893 #include "insns/c_slli.h"
896 if((insn
.bits
& 0x1c1f) == 0x819)
898 reg_t npc
= pc
+ insn_length(0x00000819);
899 #include "insns/c_srli.h"
902 if((insn
.bits
& 0x1c1f) == 0x1419)
904 reg_t npc
= pc
+ insn_length(0x00001419);
905 #include "insns/c_srai32.h"
908 if((insn
.bits
& 0x1c1f) == 0x1819)
910 reg_t npc
= pc
+ insn_length(0x00001819);
911 #include "insns/c_slliw.h"
914 if((insn
.bits
& 0x1c1f) == 0xc19)
916 reg_t npc
= pc
+ insn_length(0x00000c19);
917 #include "insns/c_srli32.h"
920 if((insn
.bits
& 0x1c1f) == 0x1019)
922 reg_t npc
= pc
+ insn_length(0x00001019);
923 #include "insns/c_srai.h"
926 if((insn
.bits
& 0x1c1f) == 0x419)
928 reg_t npc
= pc
+ insn_length(0x00000419);
929 #include "insns/c_slli32.h"
932 throw trap_illegal_instruction
;
935 reg_t
processor_t::opcode_func_363(insn_t insn
, reg_t pc
)
937 reg_t npc
= pc
+ insn_length(0x00000363);
938 #include "insns/bltu.h"
942 reg_t
processor_t::opcode_func_36d(insn_t insn
, reg_t pc
)
944 reg_t npc
= pc
+ insn_length(0x0000000d);
945 #include "insns/c_sw.h"
949 reg_t
processor_t::opcode_func_377(insn_t insn
, reg_t pc
)
951 throw trap_illegal_instruction
;
954 reg_t
processor_t::opcode_func_381(insn_t insn
, reg_t pc
)
956 reg_t npc
= pc
+ insn_length(0x00000001);
957 #include "insns/c_addi.h"
961 reg_t
processor_t::opcode_func_38b(insn_t insn
, reg_t pc
)
963 throw trap_illegal_instruction
;
966 reg_t
processor_t::opcode_func_395(insn_t insn
, reg_t pc
)
968 reg_t npc
= pc
+ insn_length(0x00000015);
969 #include "insns/c_fld.h"
973 reg_t
processor_t::opcode_func_39f(insn_t insn
, reg_t pc
)
975 throw trap_illegal_instruction
;
978 reg_t
processor_t::opcode_func_3a9(insn_t insn
, reg_t pc
)
980 reg_t npc
= pc
+ insn_length(0x00000009);
981 #include "insns/c_ld.h"
985 reg_t
processor_t::opcode_func_3b3(insn_t insn
, reg_t pc
)
987 if((insn
.bits
& 0x1ffff) == 0x7b3)
989 reg_t npc
= pc
+ insn_length(0x000007b3);
990 #include "insns/remu.h"
993 if((insn
.bits
& 0x1ffff) == 0x3b3)
995 reg_t npc
= pc
+ insn_length(0x000003b3);
996 #include "insns/and.h"
999 throw trap_illegal_instruction
;
1002 reg_t
processor_t::opcode_func_3bd(insn_t insn
, reg_t pc
)
1004 reg_t npc
= pc
+ insn_length(0x0000001d);
1005 #include "insns/c_addiw.h"
1009 reg_t
processor_t::opcode_func_3c7(insn_t insn
, reg_t pc
)
1011 throw trap_illegal_instruction
;
1014 reg_t
processor_t::opcode_func_3d1(insn_t insn
, reg_t pc
)
1016 reg_t npc
= pc
+ insn_length(0x00000011);
1017 #include "insns/c_bne.h"
1021 reg_t
processor_t::opcode_func_3db(insn_t insn
, reg_t pc
)
1023 throw trap_illegal_instruction
;
1026 reg_t
processor_t::opcode_func_3e5(insn_t insn
, reg_t pc
)
1028 reg_t npc
= pc
+ insn_length(0x00000005);
1029 #include "insns/c_lwsp.h"
1033 reg_t
processor_t::opcode_func_3ef(insn_t insn
, reg_t pc
)
1035 reg_t npc
= pc
+ insn_length(0x0000006f);
1036 #include "insns/jal.h"
1040 reg_t
processor_t::opcode_func_3f9(insn_t insn
, reg_t pc
)
1042 if((insn
.bits
& 0x1c1f) == 0x19)
1044 reg_t npc
= pc
+ insn_length(0x00000019);
1045 #include "insns/c_slli.h"
1048 if((insn
.bits
& 0x1c1f) == 0x819)
1050 reg_t npc
= pc
+ insn_length(0x00000819);
1051 #include "insns/c_srli.h"
1054 if((insn
.bits
& 0x1c1f) == 0x1419)
1056 reg_t npc
= pc
+ insn_length(0x00001419);
1057 #include "insns/c_srai32.h"
1060 if((insn
.bits
& 0x1c1f) == 0x1819)
1062 reg_t npc
= pc
+ insn_length(0x00001819);
1063 #include "insns/c_slliw.h"
1066 if((insn
.bits
& 0x1c1f) == 0xc19)
1068 reg_t npc
= pc
+ insn_length(0x00000c19);
1069 #include "insns/c_srli32.h"
1072 if((insn
.bits
& 0x1c1f) == 0x1019)
1074 reg_t npc
= pc
+ insn_length(0x00001019);
1075 #include "insns/c_srai.h"
1078 if((insn
.bits
& 0x1c1f) == 0x419)
1080 reg_t npc
= pc
+ insn_length(0x00000419);
1081 #include "insns/c_slli32.h"
1084 throw trap_illegal_instruction
;