1 #include "insn_includes.h"
3 reg_t
processor_t::opcode_func_005(insn_t insn
, reg_t pc
)
5 reg_t npc
= pc
+ insn_length(0x00000005);
6 #include "insns/c_lwsp.h"
10 reg_t
processor_t::opcode_func_00f(insn_t insn
, reg_t pc
)
12 if((insn
.bits
& 0xfff) == 0x80f)
14 reg_t npc
= pc
+ insn_length(0x0000080f);
15 #include "insns/vssegstb.h"
18 if((insn
.bits
& 0x3fffff) == 0xf)
20 reg_t npc
= pc
+ insn_length(0x0000000f);
21 #include "insns/vsb.h"
24 if((insn
.bits
& 0x1ffff) == 0x100f)
26 reg_t npc
= pc
+ insn_length(0x0000100f);
27 #include "insns/vsstb.h"
30 if((insn
.bits
& 0x1ffff) == 0x200f)
32 reg_t npc
= pc
+ insn_length(0x0000200f);
33 #include "insns/vssegb.h"
36 throw trap_illegal_instruction
;
39 reg_t
processor_t::opcode_func_019(insn_t insn
, reg_t pc
)
41 if((insn
.bits
& 0x1c1f) == 0x19)
43 reg_t npc
= pc
+ insn_length(0x00000019);
44 #include "insns/c_slli.h"
47 if((insn
.bits
& 0x1c1f) == 0x819)
49 reg_t npc
= pc
+ insn_length(0x00000819);
50 #include "insns/c_srli.h"
53 if((insn
.bits
& 0x1c1f) == 0x1419)
55 reg_t npc
= pc
+ insn_length(0x00001419);
56 #include "insns/c_srai32.h"
59 if((insn
.bits
& 0x1c1f) == 0x1819)
61 reg_t npc
= pc
+ insn_length(0x00001819);
62 #include "insns/c_slliw.h"
65 if((insn
.bits
& 0x1c1f) == 0xc19)
67 reg_t npc
= pc
+ insn_length(0x00000c19);
68 #include "insns/c_srli32.h"
71 if((insn
.bits
& 0x1c1f) == 0x1019)
73 reg_t npc
= pc
+ insn_length(0x00001019);
74 #include "insns/c_srai.h"
77 if((insn
.bits
& 0x1c1f) == 0x419)
79 reg_t npc
= pc
+ insn_length(0x00000419);
80 #include "insns/c_slli32.h"
83 throw trap_illegal_instruction
;
86 reg_t
processor_t::opcode_func_023(insn_t insn
, reg_t pc
)
88 reg_t npc
= pc
+ insn_length(0x00000023);
93 reg_t
processor_t::opcode_func_02d(insn_t insn
, reg_t pc
)
95 reg_t npc
= pc
+ insn_length(0x0000000d);
96 #include "insns/c_sw.h"
100 reg_t
processor_t::opcode_func_037(insn_t insn
, reg_t pc
)
102 reg_t npc
= pc
+ insn_length(0x00000037);
103 #include "insns/lui.h"
107 reg_t
processor_t::opcode_func_041(insn_t insn
, reg_t pc
)
109 reg_t npc
= pc
+ insn_length(0x00000001);
110 #include "insns/c_addi.h"
114 reg_t
processor_t::opcode_func_04b(insn_t insn
, reg_t pc
)
116 reg_t npc
= pc
+ insn_length(0x0000004b);
117 #include "insns/fnmsub_s.h"
121 reg_t
processor_t::opcode_func_055(insn_t insn
, reg_t pc
)
123 reg_t npc
= pc
+ insn_length(0x00000015);
124 #include "insns/c_fld.h"
128 reg_t
processor_t::opcode_func_05f(insn_t insn
, reg_t pc
)
130 throw trap_illegal_instruction
;
133 reg_t
processor_t::opcode_func_069(insn_t insn
, reg_t pc
)
135 reg_t npc
= pc
+ insn_length(0x00000009);
136 #include "insns/c_ld.h"
140 reg_t
processor_t::opcode_func_073(insn_t insn
, reg_t pc
)
142 if((insn
.bits
& 0x1ffff) == 0x1873)
144 reg_t npc
= pc
+ insn_length(0x00001873);
145 #include "insns/vmts.h"
148 if((insn
.bits
& 0x3fffff) == 0x73)
150 reg_t npc
= pc
+ insn_length(0x00000073);
151 #include "insns/vmvv.h"
154 if((insn
.bits
& 0x3fffff) == 0x873)
156 reg_t npc
= pc
+ insn_length(0x00000873);
157 #include "insns/vmsv.h"
160 if((insn
.bits
& 0x1ffff) == 0x1073)
162 reg_t npc
= pc
+ insn_length(0x00001073);
163 #include "insns/vmst.h"
166 throw trap_illegal_instruction
;
169 reg_t
processor_t::opcode_func_07d(insn_t insn
, reg_t pc
)
171 reg_t npc
= pc
+ insn_length(0x0000001d);
172 #include "insns/c_addiw.h"
176 reg_t
processor_t::opcode_func_087(insn_t insn
, reg_t pc
)
178 throw trap_illegal_instruction
;
181 reg_t
processor_t::opcode_func_091(insn_t insn
, reg_t pc
)
183 reg_t npc
= pc
+ insn_length(0x00000011);
184 #include "insns/c_bne.h"
188 reg_t
processor_t::opcode_func_09b(insn_t insn
, reg_t pc
)
190 if((insn
.bits
& 0x3f83ff) == 0x9b)
192 reg_t npc
= pc
+ insn_length(0x0000009b);
193 #include "insns/slliw.h"
196 throw trap_illegal_instruction
;
199 reg_t
processor_t::opcode_func_0a5(insn_t insn
, reg_t pc
)
201 reg_t npc
= pc
+ insn_length(0x00000005);
202 #include "insns/c_lwsp.h"
206 reg_t
processor_t::opcode_func_0af(insn_t insn
, reg_t pc
)
208 reg_t npc
= pc
+ insn_length(0x000000af);
209 #include "insns/fence_i.h"
213 reg_t
processor_t::opcode_func_0b9(insn_t insn
, reg_t pc
)
215 if((insn
.bits
& 0x1c1f) == 0x19)
217 reg_t npc
= pc
+ insn_length(0x00000019);
218 #include "insns/c_slli.h"
221 if((insn
.bits
& 0x1c1f) == 0x819)
223 reg_t npc
= pc
+ insn_length(0x00000819);
224 #include "insns/c_srli.h"
227 if((insn
.bits
& 0x1c1f) == 0x1419)
229 reg_t npc
= pc
+ insn_length(0x00001419);
230 #include "insns/c_srai32.h"
233 if((insn
.bits
& 0x1c1f) == 0x1819)
235 reg_t npc
= pc
+ insn_length(0x00001819);
236 #include "insns/c_slliw.h"
239 if((insn
.bits
& 0x1c1f) == 0xc19)
241 reg_t npc
= pc
+ insn_length(0x00000c19);
242 #include "insns/c_srli32.h"
245 if((insn
.bits
& 0x1c1f) == 0x1019)
247 reg_t npc
= pc
+ insn_length(0x00001019);
248 #include "insns/c_srai.h"
251 if((insn
.bits
& 0x1c1f) == 0x419)
253 reg_t npc
= pc
+ insn_length(0x00000419);
254 #include "insns/c_slli32.h"
257 throw trap_illegal_instruction
;
260 reg_t
processor_t::opcode_func_0c3(insn_t insn
, reg_t pc
)
262 reg_t npc
= pc
+ insn_length(0x000000c3);
263 #include "insns/fmadd_d.h"
267 reg_t
processor_t::opcode_func_0cd(insn_t insn
, reg_t pc
)
269 reg_t npc
= pc
+ insn_length(0x0000000d);
270 #include "insns/c_sw.h"
274 reg_t
processor_t::opcode_func_0d7(insn_t insn
, reg_t pc
)
276 throw trap_illegal_instruction
;
279 reg_t
processor_t::opcode_func_0e1(insn_t insn
, reg_t pc
)
281 reg_t npc
= pc
+ insn_length(0x00000001);
282 #include "insns/c_addi.h"
286 reg_t
processor_t::opcode_func_0eb(insn_t insn
, reg_t pc
)
288 reg_t npc
= pc
+ insn_length(0x000000eb);
289 #include "insns/jalr_r.h"
293 reg_t
processor_t::opcode_func_0f5(insn_t insn
, reg_t pc
)
295 reg_t npc
= pc
+ insn_length(0x00000015);
296 #include "insns/c_fld.h"
300 reg_t
processor_t::opcode_func_0ff(insn_t insn
, reg_t pc
)
302 throw trap_illegal_instruction
;
305 reg_t
processor_t::opcode_func_109(insn_t insn
, reg_t pc
)
307 reg_t npc
= pc
+ insn_length(0x00000009);
308 #include "insns/c_ld.h"
312 reg_t
processor_t::opcode_func_113(insn_t insn
, reg_t pc
)
314 reg_t npc
= pc
+ insn_length(0x00000113);
315 #include "insns/slti.h"
319 reg_t
processor_t::opcode_func_11d(insn_t insn
, reg_t pc
)
321 reg_t npc
= pc
+ insn_length(0x0000001d);
322 #include "insns/c_addiw.h"
326 reg_t
processor_t::opcode_func_127(insn_t insn
, reg_t pc
)
328 reg_t npc
= pc
+ insn_length(0x00000127);
329 #include "insns/fsw.h"
333 reg_t
processor_t::opcode_func_131(insn_t insn
, reg_t pc
)
335 reg_t npc
= pc
+ insn_length(0x00000011);
336 #include "insns/c_bne.h"
340 reg_t
processor_t::opcode_func_13b(insn_t insn
, reg_t pc
)
342 throw trap_illegal_instruction
;
345 reg_t
processor_t::opcode_func_145(insn_t insn
, reg_t pc
)
347 reg_t npc
= pc
+ insn_length(0x00000005);
348 #include "insns/c_lwsp.h"
352 reg_t
processor_t::opcode_func_14f(insn_t insn
, reg_t pc
)
354 throw trap_illegal_instruction
;
357 reg_t
processor_t::opcode_func_159(insn_t insn
, reg_t pc
)
359 if((insn
.bits
& 0x1c1f) == 0x19)
361 reg_t npc
= pc
+ insn_length(0x00000019);
362 #include "insns/c_slli.h"
365 if((insn
.bits
& 0x1c1f) == 0x819)
367 reg_t npc
= pc
+ insn_length(0x00000819);
368 #include "insns/c_srli.h"
371 if((insn
.bits
& 0x1c1f) == 0x1419)
373 reg_t npc
= pc
+ insn_length(0x00001419);
374 #include "insns/c_srai32.h"
377 if((insn
.bits
& 0x1c1f) == 0x1819)
379 reg_t npc
= pc
+ insn_length(0x00001819);
380 #include "insns/c_slliw.h"
383 if((insn
.bits
& 0x1c1f) == 0xc19)
385 reg_t npc
= pc
+ insn_length(0x00000c19);
386 #include "insns/c_srli32.h"
389 if((insn
.bits
& 0x1c1f) == 0x1019)
391 reg_t npc
= pc
+ insn_length(0x00001019);
392 #include "insns/c_srai.h"
395 if((insn
.bits
& 0x1c1f) == 0x419)
397 reg_t npc
= pc
+ insn_length(0x00000419);
398 #include "insns/c_slli32.h"
401 throw trap_illegal_instruction
;
404 reg_t
processor_t::opcode_func_163(insn_t insn
, reg_t pc
)
406 throw trap_illegal_instruction
;
409 reg_t
processor_t::opcode_func_16d(insn_t insn
, reg_t pc
)
411 reg_t npc
= pc
+ insn_length(0x0000000d);
412 #include "insns/c_sw.h"
416 reg_t
processor_t::opcode_func_177(insn_t insn
, reg_t pc
)
418 if((insn
.bits
& 0xffffffff) == 0x177)
420 reg_t npc
= pc
+ insn_length(0x00000177);
421 #include "insns/stop.h"
424 throw trap_illegal_instruction
;
427 reg_t
processor_t::opcode_func_181(insn_t insn
, reg_t pc
)
429 reg_t npc
= pc
+ insn_length(0x00000001);
430 #include "insns/c_addi.h"
434 reg_t
processor_t::opcode_func_18b(insn_t insn
, reg_t pc
)
436 if((insn
.bits
& 0x1ffff) == 0x158b)
438 reg_t npc
= pc
+ insn_length(0x0000158b);
439 #include "insns/vflstd.h"
442 if((insn
.bits
& 0x3fffff) == 0x18b)
444 reg_t npc
= pc
+ insn_length(0x0000018b);
445 #include "insns/vld.h"
448 if((insn
.bits
& 0x1ffff) == 0x118b)
450 reg_t npc
= pc
+ insn_length(0x0000118b);
451 #include "insns/vlstd.h"
454 if((insn
.bits
& 0xfff) == 0x98b)
456 reg_t npc
= pc
+ insn_length(0x0000098b);
457 #include "insns/vlsegstd.h"
460 if((insn
.bits
& 0x1ffff) == 0x258b)
462 reg_t npc
= pc
+ insn_length(0x0000258b);
463 #include "insns/vflsegd.h"
466 if((insn
.bits
& 0xfff) == 0xd8b)
468 reg_t npc
= pc
+ insn_length(0x00000d8b);
469 #include "insns/vflsegstd.h"
472 if((insn
.bits
& 0x3fffff) == 0x58b)
474 reg_t npc
= pc
+ insn_length(0x0000058b);
475 #include "insns/vfld.h"
478 if((insn
.bits
& 0x1ffff) == 0x218b)
480 reg_t npc
= pc
+ insn_length(0x0000218b);
481 #include "insns/vlsegd.h"
484 throw trap_illegal_instruction
;
487 reg_t
processor_t::opcode_func_195(insn_t insn
, reg_t pc
)
489 reg_t npc
= pc
+ insn_length(0x00000015);
490 #include "insns/c_fld.h"
494 reg_t
processor_t::opcode_func_19f(insn_t insn
, reg_t pc
)
496 throw trap_illegal_instruction
;
499 reg_t
processor_t::opcode_func_1a9(insn_t insn
, reg_t pc
)
501 reg_t npc
= pc
+ insn_length(0x00000009);
502 #include "insns/c_ld.h"
506 reg_t
processor_t::opcode_func_1b3(insn_t insn
, reg_t pc
)
508 if((insn
.bits
& 0x1ffff) == 0x1b3)
510 reg_t npc
= pc
+ insn_length(0x000001b3);
511 #include "insns/sltu.h"
514 if((insn
.bits
& 0x1ffff) == 0x5b3)
516 reg_t npc
= pc
+ insn_length(0x000005b3);
517 #include "insns/mulhu.h"
520 throw trap_illegal_instruction
;
523 reg_t
processor_t::opcode_func_1bd(insn_t insn
, reg_t pc
)
525 reg_t npc
= pc
+ insn_length(0x0000001d);
526 #include "insns/c_addiw.h"
530 reg_t
processor_t::opcode_func_1c7(insn_t insn
, reg_t pc
)
532 throw trap_illegal_instruction
;
535 reg_t
processor_t::opcode_func_1d1(insn_t insn
, reg_t pc
)
537 reg_t npc
= pc
+ insn_length(0x00000011);
538 #include "insns/c_bne.h"
542 reg_t
processor_t::opcode_func_1db(insn_t insn
, reg_t pc
)
544 throw trap_illegal_instruction
;
547 reg_t
processor_t::opcode_func_1e5(insn_t insn
, reg_t pc
)
549 reg_t npc
= pc
+ insn_length(0x00000005);
550 #include "insns/c_lwsp.h"
554 reg_t
processor_t::opcode_func_1ef(insn_t insn
, reg_t pc
)
556 reg_t npc
= pc
+ insn_length(0x0000006f);
557 #include "insns/jal.h"
561 reg_t
processor_t::opcode_func_1f9(insn_t insn
, reg_t pc
)
563 if((insn
.bits
& 0x1c1f) == 0x19)
565 reg_t npc
= pc
+ insn_length(0x00000019);
566 #include "insns/c_slli.h"
569 if((insn
.bits
& 0x1c1f) == 0x819)
571 reg_t npc
= pc
+ insn_length(0x00000819);
572 #include "insns/c_srli.h"
575 if((insn
.bits
& 0x1c1f) == 0x1419)
577 reg_t npc
= pc
+ insn_length(0x00001419);
578 #include "insns/c_srai32.h"
581 if((insn
.bits
& 0x1c1f) == 0x1819)
583 reg_t npc
= pc
+ insn_length(0x00001819);
584 #include "insns/c_slliw.h"
587 if((insn
.bits
& 0x1c1f) == 0xc19)
589 reg_t npc
= pc
+ insn_length(0x00000c19);
590 #include "insns/c_srli32.h"
593 if((insn
.bits
& 0x1c1f) == 0x1019)
595 reg_t npc
= pc
+ insn_length(0x00001019);
596 #include "insns/c_srai.h"
599 if((insn
.bits
& 0x1c1f) == 0x419)
601 reg_t npc
= pc
+ insn_length(0x00000419);
602 #include "insns/c_slli32.h"
605 throw trap_illegal_instruction
;
608 reg_t
processor_t::opcode_func_203(insn_t insn
, reg_t pc
)
610 reg_t npc
= pc
+ insn_length(0x00000203);
611 #include "insns/lbu.h"
615 reg_t
processor_t::opcode_func_20d(insn_t insn
, reg_t pc
)
617 reg_t npc
= pc
+ insn_length(0x0000000d);
618 #include "insns/c_sw.h"
622 reg_t
processor_t::opcode_func_217(insn_t insn
, reg_t pc
)
624 throw trap_illegal_instruction
;
627 reg_t
processor_t::opcode_func_221(insn_t insn
, reg_t pc
)
629 reg_t npc
= pc
+ insn_length(0x00000001);
630 #include "insns/c_addi.h"
634 reg_t
processor_t::opcode_func_22b(insn_t insn
, reg_t pc
)
636 throw trap_illegal_instruction
;
639 reg_t
processor_t::opcode_func_235(insn_t insn
, reg_t pc
)
641 reg_t npc
= pc
+ insn_length(0x00000015);
642 #include "insns/c_fld.h"
646 reg_t
processor_t::opcode_func_23f(insn_t insn
, reg_t pc
)
648 throw trap_illegal_instruction
;
651 reg_t
processor_t::opcode_func_249(insn_t insn
, reg_t pc
)
653 reg_t npc
= pc
+ insn_length(0x00000009);
654 #include "insns/c_ld.h"
658 reg_t
processor_t::opcode_func_253(insn_t insn
, reg_t pc
)
660 if((insn
.bits
& 0x3ff1ff) == 0x9053)
662 reg_t npc
= pc
+ insn_length(0x00009053);
663 #include "insns/fcvt_lu_s.h"
666 if((insn
.bits
& 0x3ff1ff) == 0x11053)
668 reg_t npc
= pc
+ insn_length(0x00011053);
669 #include "insns/fcvt_s_d.h"
672 if((insn
.bits
& 0x3ff1ff) == 0xe053)
674 reg_t npc
= pc
+ insn_length(0x0000e053);
675 #include "insns/fcvt_s_w.h"
678 if((insn
.bits
& 0x3ff1ff) == 0x8053)
680 reg_t npc
= pc
+ insn_length(0x00008053);
681 #include "insns/fcvt_l_s.h"
684 if((insn
.bits
& 0x1f1ff) == 0x3053)
686 reg_t npc
= pc
+ insn_length(0x00003053);
687 #include "insns/fdiv_s.h"
690 if((insn
.bits
& 0x3ff1ff) == 0xd053)
692 reg_t npc
= pc
+ insn_length(0x0000d053);
693 #include "insns/fcvt_s_lu.h"
696 if((insn
.bits
& 0x1f1ff) == 0x2053)
698 reg_t npc
= pc
+ insn_length(0x00002053);
699 #include "insns/fmul_s.h"
702 if((insn
.bits
& 0x3ff1ff) == 0xb053)
704 reg_t npc
= pc
+ insn_length(0x0000b053);
705 #include "insns/fcvt_wu_s.h"
708 if((insn
.bits
& 0x1f1ff) == 0x1053)
710 reg_t npc
= pc
+ insn_length(0x00001053);
711 #include "insns/fsub_s.h"
714 if((insn
.bits
& 0x3ff1ff) == 0xf053)
716 reg_t npc
= pc
+ insn_length(0x0000f053);
717 #include "insns/fcvt_s_wu.h"
720 if((insn
.bits
& 0x3ff1ff) == 0xc053)
722 reg_t npc
= pc
+ insn_length(0x0000c053);
723 #include "insns/fcvt_s_l.h"
726 if((insn
.bits
& 0x3ff1ff) == 0xa053)
728 reg_t npc
= pc
+ insn_length(0x0000a053);
729 #include "insns/fcvt_w_s.h"
732 if((insn
.bits
& 0x3ff1ff) == 0x4053)
734 reg_t npc
= pc
+ insn_length(0x00004053);
735 #include "insns/fsqrt_s.h"
738 if((insn
.bits
& 0x1f1ff) == 0x53)
740 reg_t npc
= pc
+ insn_length(0x00000053);
741 #include "insns/fadd_s.h"
744 throw trap_illegal_instruction
;
747 reg_t
processor_t::opcode_func_25d(insn_t insn
, reg_t pc
)
749 reg_t npc
= pc
+ insn_length(0x0000001d);
750 #include "insns/c_addiw.h"
754 reg_t
processor_t::opcode_func_267(insn_t insn
, reg_t pc
)
756 reg_t npc
= pc
+ insn_length(0x00000067);
761 reg_t
processor_t::opcode_func_271(insn_t insn
, reg_t pc
)
763 reg_t npc
= pc
+ insn_length(0x00000011);
764 #include "insns/c_bne.h"
768 reg_t
processor_t::opcode_func_27b(insn_t insn
, reg_t pc
)
770 if((insn
.bits
& 0xffffffff) == 0x27b)
772 reg_t npc
= pc
+ insn_length(0x0000027b);
773 #include "insns/eret.h"
776 throw trap_illegal_instruction
;
779 reg_t
processor_t::opcode_func_285(insn_t insn
, reg_t pc
)
781 reg_t npc
= pc
+ insn_length(0x00000005);
782 #include "insns/c_lwsp.h"
786 reg_t
processor_t::opcode_func_28f(insn_t insn
, reg_t pc
)
788 throw trap_illegal_instruction
;
791 reg_t
processor_t::opcode_func_299(insn_t insn
, reg_t pc
)
793 if((insn
.bits
& 0x1c1f) == 0x19)
795 reg_t npc
= pc
+ insn_length(0x00000019);
796 #include "insns/c_slli.h"
799 if((insn
.bits
& 0x1c1f) == 0x819)
801 reg_t npc
= pc
+ insn_length(0x00000819);
802 #include "insns/c_srli.h"
805 if((insn
.bits
& 0x1c1f) == 0x1419)
807 reg_t npc
= pc
+ insn_length(0x00001419);
808 #include "insns/c_srai32.h"
811 if((insn
.bits
& 0x1c1f) == 0x1819)
813 reg_t npc
= pc
+ insn_length(0x00001819);
814 #include "insns/c_slliw.h"
817 if((insn
.bits
& 0x1c1f) == 0xc19)
819 reg_t npc
= pc
+ insn_length(0x00000c19);
820 #include "insns/c_srli32.h"
823 if((insn
.bits
& 0x1c1f) == 0x1019)
825 reg_t npc
= pc
+ insn_length(0x00001019);
826 #include "insns/c_srai.h"
829 if((insn
.bits
& 0x1c1f) == 0x419)
831 reg_t npc
= pc
+ insn_length(0x00000419);
832 #include "insns/c_slli32.h"
835 throw trap_illegal_instruction
;
838 reg_t
processor_t::opcode_func_2a3(insn_t insn
, reg_t pc
)
840 throw trap_illegal_instruction
;
843 reg_t
processor_t::opcode_func_2ad(insn_t insn
, reg_t pc
)
845 reg_t npc
= pc
+ insn_length(0x0000000d);
846 #include "insns/c_sw.h"
850 reg_t
processor_t::opcode_func_2b7(insn_t insn
, reg_t pc
)
852 reg_t npc
= pc
+ insn_length(0x00000037);
853 #include "insns/lui.h"
857 reg_t
processor_t::opcode_func_2c1(insn_t insn
, reg_t pc
)
859 reg_t npc
= pc
+ insn_length(0x00000001);
860 #include "insns/c_addi.h"
864 reg_t
processor_t::opcode_func_2cb(insn_t insn
, reg_t pc
)
866 reg_t npc
= pc
+ insn_length(0x000000cb);
867 #include "insns/fnmsub_d.h"
871 reg_t
processor_t::opcode_func_2d5(insn_t insn
, reg_t pc
)
873 reg_t npc
= pc
+ insn_length(0x00000015);
874 #include "insns/c_fld.h"
878 reg_t
processor_t::opcode_func_2df(insn_t insn
, reg_t pc
)
880 throw trap_illegal_instruction
;
883 reg_t
processor_t::opcode_func_2e9(insn_t insn
, reg_t pc
)
885 reg_t npc
= pc
+ insn_length(0x00000009);
886 #include "insns/c_ld.h"
890 reg_t
processor_t::opcode_func_2f3(insn_t insn
, reg_t pc
)
892 if((insn
.bits
& 0x3fffff) == 0x2f3)
894 reg_t npc
= pc
+ insn_length(0x000002f3);
895 #include "insns/vsetvl.h"
898 throw trap_illegal_instruction
;
901 reg_t
processor_t::opcode_func_2fd(insn_t insn
, reg_t pc
)
903 reg_t npc
= pc
+ insn_length(0x0000001d);
904 #include "insns/c_addiw.h"
908 reg_t
processor_t::opcode_func_307(insn_t insn
, reg_t pc
)
910 throw trap_illegal_instruction
;
913 reg_t
processor_t::opcode_func_311(insn_t insn
, reg_t pc
)
915 reg_t npc
= pc
+ insn_length(0x00000011);
916 #include "insns/c_bne.h"
920 reg_t
processor_t::opcode_func_31b(insn_t insn
, reg_t pc
)
922 throw trap_illegal_instruction
;
925 reg_t
processor_t::opcode_func_325(insn_t insn
, reg_t pc
)
927 reg_t npc
= pc
+ insn_length(0x00000005);
928 #include "insns/c_lwsp.h"
932 reg_t
processor_t::opcode_func_32f(insn_t insn
, reg_t pc
)
934 reg_t npc
= pc
+ insn_length(0x0000032f);
935 #include "insns/fence_l_cv.h"
939 reg_t
processor_t::opcode_func_339(insn_t insn
, reg_t pc
)
941 if((insn
.bits
& 0x1c1f) == 0x19)
943 reg_t npc
= pc
+ insn_length(0x00000019);
944 #include "insns/c_slli.h"
947 if((insn
.bits
& 0x1c1f) == 0x819)
949 reg_t npc
= pc
+ insn_length(0x00000819);
950 #include "insns/c_srli.h"
953 if((insn
.bits
& 0x1c1f) == 0x1419)
955 reg_t npc
= pc
+ insn_length(0x00001419);
956 #include "insns/c_srai32.h"
959 if((insn
.bits
& 0x1c1f) == 0x1819)
961 reg_t npc
= pc
+ insn_length(0x00001819);
962 #include "insns/c_slliw.h"
965 if((insn
.bits
& 0x1c1f) == 0xc19)
967 reg_t npc
= pc
+ insn_length(0x00000c19);
968 #include "insns/c_srli32.h"
971 if((insn
.bits
& 0x1c1f) == 0x1019)
973 reg_t npc
= pc
+ insn_length(0x00001019);
974 #include "insns/c_srai.h"
977 if((insn
.bits
& 0x1c1f) == 0x419)
979 reg_t npc
= pc
+ insn_length(0x00000419);
980 #include "insns/c_slli32.h"
983 throw trap_illegal_instruction
;
986 reg_t
processor_t::opcode_func_343(insn_t insn
, reg_t pc
)
988 throw trap_illegal_instruction
;
991 reg_t
processor_t::opcode_func_34d(insn_t insn
, reg_t pc
)
993 reg_t npc
= pc
+ insn_length(0x0000000d);
994 #include "insns/c_sw.h"
998 reg_t
processor_t::opcode_func_357(insn_t insn
, reg_t pc
)
1000 throw trap_illegal_instruction
;
1003 reg_t
processor_t::opcode_func_361(insn_t insn
, reg_t pc
)
1005 reg_t npc
= pc
+ insn_length(0x00000001);
1006 #include "insns/c_addi.h"
1010 reg_t
processor_t::opcode_func_36b(insn_t insn
, reg_t pc
)
1012 throw trap_illegal_instruction
;
1015 reg_t
processor_t::opcode_func_375(insn_t insn
, reg_t pc
)
1017 reg_t npc
= pc
+ insn_length(0x00000015);
1018 #include "insns/c_fld.h"
1022 reg_t
processor_t::opcode_func_37f(insn_t insn
, reg_t pc
)
1024 throw trap_illegal_instruction
;
1027 reg_t
processor_t::opcode_func_389(insn_t insn
, reg_t pc
)
1029 reg_t npc
= pc
+ insn_length(0x00000009);
1030 #include "insns/c_ld.h"
1034 reg_t
processor_t::opcode_func_393(insn_t insn
, reg_t pc
)
1036 reg_t npc
= pc
+ insn_length(0x00000393);
1037 #include "insns/andi.h"
1041 reg_t
processor_t::opcode_func_39d(insn_t insn
, reg_t pc
)
1043 reg_t npc
= pc
+ insn_length(0x0000001d);
1044 #include "insns/c_addiw.h"
1048 reg_t
processor_t::opcode_func_3a7(insn_t insn
, reg_t pc
)
1050 throw trap_illegal_instruction
;
1053 reg_t
processor_t::opcode_func_3b1(insn_t insn
, reg_t pc
)
1055 reg_t npc
= pc
+ insn_length(0x00000011);
1056 #include "insns/c_bne.h"
1060 reg_t
processor_t::opcode_func_3bb(insn_t insn
, reg_t pc
)
1062 if((insn
.bits
& 0x1ffff) == 0x7bb)
1064 reg_t npc
= pc
+ insn_length(0x000007bb);
1065 #include "insns/remuw.h"
1068 throw trap_illegal_instruction
;
1071 reg_t
processor_t::opcode_func_3c5(insn_t insn
, reg_t pc
)
1073 reg_t npc
= pc
+ insn_length(0x00000005);
1074 #include "insns/c_lwsp.h"
1078 reg_t
processor_t::opcode_func_3cf(insn_t insn
, reg_t pc
)
1080 throw trap_illegal_instruction
;
1083 reg_t
processor_t::opcode_func_3d9(insn_t insn
, reg_t pc
)
1085 if((insn
.bits
& 0x1c1f) == 0x19)
1087 reg_t npc
= pc
+ insn_length(0x00000019);
1088 #include "insns/c_slli.h"
1091 if((insn
.bits
& 0x1c1f) == 0x819)
1093 reg_t npc
= pc
+ insn_length(0x00000819);
1094 #include "insns/c_srli.h"
1097 if((insn
.bits
& 0x1c1f) == 0x1419)
1099 reg_t npc
= pc
+ insn_length(0x00001419);
1100 #include "insns/c_srai32.h"
1103 if((insn
.bits
& 0x1c1f) == 0x1819)
1105 reg_t npc
= pc
+ insn_length(0x00001819);
1106 #include "insns/c_slliw.h"
1109 if((insn
.bits
& 0x1c1f) == 0xc19)
1111 reg_t npc
= pc
+ insn_length(0x00000c19);
1112 #include "insns/c_srli32.h"
1115 if((insn
.bits
& 0x1c1f) == 0x1019)
1117 reg_t npc
= pc
+ insn_length(0x00001019);
1118 #include "insns/c_srai.h"
1121 if((insn
.bits
& 0x1c1f) == 0x419)
1123 reg_t npc
= pc
+ insn_length(0x00000419);
1124 #include "insns/c_slli32.h"
1127 throw trap_illegal_instruction
;
1130 reg_t
processor_t::opcode_func_3e3(insn_t insn
, reg_t pc
)
1132 reg_t npc
= pc
+ insn_length(0x000003e3);
1133 #include "insns/bgeu.h"
1137 reg_t
processor_t::opcode_func_3ed(insn_t insn
, reg_t pc
)
1139 reg_t npc
= pc
+ insn_length(0x0000000d);
1140 #include "insns/c_sw.h"
1144 reg_t
processor_t::opcode_func_3f7(insn_t insn
, reg_t pc
)
1146 throw trap_illegal_instruction
;