diff options
Diffstat (limited to 'riscv/dispatch_2.cc')
-rw-r--r-- | riscv/dispatch_2.cc | 887 |
1 files changed, 0 insertions, 887 deletions
diff --git a/riscv/dispatch_2.cc b/riscv/dispatch_2.cc deleted file mode 100644 index 3f9871f..0000000 --- a/riscv/dispatch_2.cc +++ /dev/null @@ -1,887 +0,0 @@ -#include "insn_includes.h" - -reg_t processor_t::opcode_func_002(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x2) - { - reg_t npc = pc + insn_length(0x00000002); - #include "insns/c_move.h" - return npc; - } - if((insn.bits & 0x801f) == 0x8002) - { - reg_t npc = pc + insn_length(0x00008002); - #include "insns/c_j.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_00c(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000c); - #include "insns/c_sd.h" - return npc; -} - -reg_t processor_t::opcode_func_016(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000016); - #include "insns/c_fsw.h" - return npc; -} - -reg_t processor_t::opcode_func_020(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000000); - #include "insns/c_li.h" - return npc; -} - -reg_t processor_t::opcode_func_02a(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000a); - #include "insns/c_lw.h" - return npc; -} - -reg_t processor_t::opcode_func_034(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000014); - #include "insns/c_flw.h" - return npc; -} - -reg_t processor_t::opcode_func_03e(insn_t insn, reg_t pc) -{ - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_048(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000008); - #include "insns/c_swsp.h" - return npc; -} - -reg_t processor_t::opcode_func_052(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x12) - { - reg_t npc = pc + insn_length(0x00000012); - #include "insns/c_lw0.h" - return npc; - } - if((insn.bits & 0x801f) == 0x8012) - { - reg_t npc = pc + insn_length(0x00008012); - #include "insns/c_ld0.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_05c(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000001c); - #include "insns/c_add3.h" - return npc; -} - -reg_t processor_t::opcode_func_066(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000006); - #include "insns/c_sdsp.h" - return npc; -} - -reg_t processor_t::opcode_func_070(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000010); - #include "insns/c_beq.h" - return npc; -} - -reg_t processor_t::opcode_func_07a(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x801a) - { - reg_t npc = pc + insn_length(0x0000801a); - #include "insns/c_sub.h" - return npc; - } - if((insn.bits & 0x801f) == 0x1a) - { - reg_t npc = pc + insn_length(0x0000001a); - #include "insns/c_add.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_084(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000004); - #include "insns/c_ldsp.h" - return npc; -} - -reg_t processor_t::opcode_func_08e(insn_t insn, reg_t pc) -{ - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_098(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000018); - #include "insns/c_fsd.h" - return npc; -} - -reg_t processor_t::opcode_func_0a2(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x2) - { - reg_t npc = pc + insn_length(0x00000002); - #include "insns/c_move.h" - return npc; - } - if((insn.bits & 0x801f) == 0x8002) - { - reg_t npc = pc + insn_length(0x00008002); - #include "insns/c_j.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_0ac(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000c); - #include "insns/c_sd.h" - return npc; -} - -reg_t processor_t::opcode_func_0b6(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000016); - #include "insns/c_fsw.h" - return npc; -} - -reg_t processor_t::opcode_func_0c0(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000000); - #include "insns/c_li.h" - return npc; -} - -reg_t processor_t::opcode_func_0ca(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000a); - #include "insns/c_lw.h" - return npc; -} - -reg_t processor_t::opcode_func_0d4(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000014); - #include "insns/c_flw.h" - return npc; -} - -reg_t processor_t::opcode_func_0de(insn_t insn, reg_t pc) -{ - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_0e8(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000008); - #include "insns/c_swsp.h" - return npc; -} - -reg_t processor_t::opcode_func_0f2(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x12) - { - reg_t npc = pc + insn_length(0x00000012); - #include "insns/c_lw0.h" - return npc; - } - if((insn.bits & 0x801f) == 0x8012) - { - reg_t npc = pc + insn_length(0x00008012); - #include "insns/c_ld0.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_0fc(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000001c); - #include "insns/c_add3.h" - return npc; -} - -reg_t processor_t::opcode_func_106(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000006); - #include "insns/c_sdsp.h" - return npc; -} - -reg_t processor_t::opcode_func_110(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000010); - #include "insns/c_beq.h" - return npc; -} - -reg_t processor_t::opcode_func_11a(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x801a) - { - reg_t npc = pc + insn_length(0x0000801a); - #include "insns/c_sub.h" - return npc; - } - if((insn.bits & 0x801f) == 0x1a) - { - reg_t npc = pc + insn_length(0x0000001a); - #include "insns/c_add.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_124(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000004); - #include "insns/c_ldsp.h" - return npc; -} - -reg_t processor_t::opcode_func_12e(insn_t insn, reg_t pc) -{ - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_138(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000018); - #include "insns/c_fsd.h" - return npc; -} - -reg_t processor_t::opcode_func_142(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x2) - { - reg_t npc = pc + insn_length(0x00000002); - #include "insns/c_move.h" - return npc; - } - if((insn.bits & 0x801f) == 0x8002) - { - reg_t npc = pc + insn_length(0x00008002); - #include "insns/c_j.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_14c(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000c); - #include "insns/c_sd.h" - return npc; -} - -reg_t processor_t::opcode_func_156(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000016); - #include "insns/c_fsw.h" - return npc; -} - -reg_t processor_t::opcode_func_160(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000000); - #include "insns/c_li.h" - return npc; -} - -reg_t processor_t::opcode_func_16a(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000a); - #include "insns/c_lw.h" - return npc; -} - -reg_t processor_t::opcode_func_174(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000014); - #include "insns/c_flw.h" - return npc; -} - -reg_t processor_t::opcode_func_17e(insn_t insn, reg_t pc) -{ - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_188(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000008); - #include "insns/c_swsp.h" - return npc; -} - -reg_t processor_t::opcode_func_192(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x12) - { - reg_t npc = pc + insn_length(0x00000012); - #include "insns/c_lw0.h" - return npc; - } - if((insn.bits & 0x801f) == 0x8012) - { - reg_t npc = pc + insn_length(0x00008012); - #include "insns/c_ld0.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_19c(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000011c); - #include "insns/c_sub3.h" - return npc; -} - -reg_t processor_t::opcode_func_1a6(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000006); - #include "insns/c_sdsp.h" - return npc; -} - -reg_t processor_t::opcode_func_1b0(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000010); - #include "insns/c_beq.h" - return npc; -} - -reg_t processor_t::opcode_func_1ba(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x801a) - { - reg_t npc = pc + insn_length(0x0000801a); - #include "insns/c_sub.h" - return npc; - } - if((insn.bits & 0x801f) == 0x1a) - { - reg_t npc = pc + insn_length(0x0000001a); - #include "insns/c_add.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_1c4(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000004); - #include "insns/c_ldsp.h" - return npc; -} - -reg_t processor_t::opcode_func_1ce(insn_t insn, reg_t pc) -{ - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_1d8(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000018); - #include "insns/c_fsd.h" - return npc; -} - -reg_t processor_t::opcode_func_1e2(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x2) - { - reg_t npc = pc + insn_length(0x00000002); - #include "insns/c_move.h" - return npc; - } - if((insn.bits & 0x801f) == 0x8002) - { - reg_t npc = pc + insn_length(0x00008002); - #include "insns/c_j.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_1ec(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000c); - #include "insns/c_sd.h" - return npc; -} - -reg_t processor_t::opcode_func_1f6(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000016); - #include "insns/c_fsw.h" - return npc; -} - -reg_t processor_t::opcode_func_200(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000000); - #include "insns/c_li.h" - return npc; -} - -reg_t processor_t::opcode_func_20a(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000a); - #include "insns/c_lw.h" - return npc; -} - -reg_t processor_t::opcode_func_214(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000014); - #include "insns/c_flw.h" - return npc; -} - -reg_t processor_t::opcode_func_21e(insn_t insn, reg_t pc) -{ - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_228(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000008); - #include "insns/c_swsp.h" - return npc; -} - -reg_t processor_t::opcode_func_232(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x12) - { - reg_t npc = pc + insn_length(0x00000012); - #include "insns/c_lw0.h" - return npc; - } - if((insn.bits & 0x801f) == 0x8012) - { - reg_t npc = pc + insn_length(0x00008012); - #include "insns/c_ld0.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_23c(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000021c); - #include "insns/c_or3.h" - return npc; -} - -reg_t processor_t::opcode_func_246(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000006); - #include "insns/c_sdsp.h" - return npc; -} - -reg_t processor_t::opcode_func_250(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000010); - #include "insns/c_beq.h" - return npc; -} - -reg_t processor_t::opcode_func_25a(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x801a) - { - reg_t npc = pc + insn_length(0x0000801a); - #include "insns/c_sub.h" - return npc; - } - if((insn.bits & 0x801f) == 0x1a) - { - reg_t npc = pc + insn_length(0x0000001a); - #include "insns/c_add.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_264(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000004); - #include "insns/c_ldsp.h" - return npc; -} - -reg_t processor_t::opcode_func_26e(insn_t insn, reg_t pc) -{ - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_278(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000018); - #include "insns/c_fsd.h" - return npc; -} - -reg_t processor_t::opcode_func_282(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x2) - { - reg_t npc = pc + insn_length(0x00000002); - #include "insns/c_move.h" - return npc; - } - if((insn.bits & 0x801f) == 0x8002) - { - reg_t npc = pc + insn_length(0x00008002); - #include "insns/c_j.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_28c(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000c); - #include "insns/c_sd.h" - return npc; -} - -reg_t processor_t::opcode_func_296(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000016); - #include "insns/c_fsw.h" - return npc; -} - -reg_t processor_t::opcode_func_2a0(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000000); - #include "insns/c_li.h" - return npc; -} - -reg_t processor_t::opcode_func_2aa(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000a); - #include "insns/c_lw.h" - return npc; -} - -reg_t processor_t::opcode_func_2b4(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000014); - #include "insns/c_flw.h" - return npc; -} - -reg_t processor_t::opcode_func_2be(insn_t insn, reg_t pc) -{ - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_2c8(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000008); - #include "insns/c_swsp.h" - return npc; -} - -reg_t processor_t::opcode_func_2d2(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x12) - { - reg_t npc = pc + insn_length(0x00000012); - #include "insns/c_lw0.h" - return npc; - } - if((insn.bits & 0x801f) == 0x8012) - { - reg_t npc = pc + insn_length(0x00008012); - #include "insns/c_ld0.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_2dc(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000021c); - #include "insns/c_or3.h" - return npc; -} - -reg_t processor_t::opcode_func_2e6(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000006); - #include "insns/c_sdsp.h" - return npc; -} - -reg_t processor_t::opcode_func_2f0(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000010); - #include "insns/c_beq.h" - return npc; -} - -reg_t processor_t::opcode_func_2fa(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x801a) - { - reg_t npc = pc + insn_length(0x0000801a); - #include "insns/c_sub.h" - return npc; - } - if((insn.bits & 0x801f) == 0x1a) - { - reg_t npc = pc + insn_length(0x0000001a); - #include "insns/c_add.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_304(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000004); - #include "insns/c_ldsp.h" - return npc; -} - -reg_t processor_t::opcode_func_30e(insn_t insn, reg_t pc) -{ - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_318(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000018); - #include "insns/c_fsd.h" - return npc; -} - -reg_t processor_t::opcode_func_322(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x2) - { - reg_t npc = pc + insn_length(0x00000002); - #include "insns/c_move.h" - return npc; - } - if((insn.bits & 0x801f) == 0x8002) - { - reg_t npc = pc + insn_length(0x00008002); - #include "insns/c_j.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_32c(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000c); - #include "insns/c_sd.h" - return npc; -} - -reg_t processor_t::opcode_func_336(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000016); - #include "insns/c_fsw.h" - return npc; -} - -reg_t processor_t::opcode_func_340(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000000); - #include "insns/c_li.h" - return npc; -} - -reg_t processor_t::opcode_func_34a(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000a); - #include "insns/c_lw.h" - return npc; -} - -reg_t processor_t::opcode_func_354(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000014); - #include "insns/c_flw.h" - return npc; -} - -reg_t processor_t::opcode_func_35e(insn_t insn, reg_t pc) -{ - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_368(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000008); - #include "insns/c_swsp.h" - return npc; -} - -reg_t processor_t::opcode_func_372(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x12) - { - reg_t npc = pc + insn_length(0x00000012); - #include "insns/c_lw0.h" - return npc; - } - if((insn.bits & 0x801f) == 0x8012) - { - reg_t npc = pc + insn_length(0x00008012); - #include "insns/c_ld0.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_37c(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000031c); - #include "insns/c_and3.h" - return npc; -} - -reg_t processor_t::opcode_func_386(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000006); - #include "insns/c_sdsp.h" - return npc; -} - -reg_t processor_t::opcode_func_390(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000010); - #include "insns/c_beq.h" - return npc; -} - -reg_t processor_t::opcode_func_39a(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x801a) - { - reg_t npc = pc + insn_length(0x0000801a); - #include "insns/c_sub.h" - return npc; - } - if((insn.bits & 0x801f) == 0x1a) - { - reg_t npc = pc + insn_length(0x0000001a); - #include "insns/c_add.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_3a4(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000004); - #include "insns/c_ldsp.h" - return npc; -} - -reg_t processor_t::opcode_func_3ae(insn_t insn, reg_t pc) -{ - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_3b8(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000018); - #include "insns/c_fsd.h" - return npc; -} - -reg_t processor_t::opcode_func_3c2(insn_t insn, reg_t pc) -{ - if((insn.bits & 0x801f) == 0x2) - { - reg_t npc = pc + insn_length(0x00000002); - #include "insns/c_move.h" - return npc; - } - if((insn.bits & 0x801f) == 0x8002) - { - reg_t npc = pc + insn_length(0x00008002); - #include "insns/c_j.h" - return npc; - } - throw trap_illegal_instruction; -} - -reg_t processor_t::opcode_func_3cc(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000c); - #include "insns/c_sd.h" - return npc; -} - -reg_t processor_t::opcode_func_3d6(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000016); - #include "insns/c_fsw.h" - return npc; -} - -reg_t processor_t::opcode_func_3e0(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000000); - #include "insns/c_li.h" - return npc; -} - -reg_t processor_t::opcode_func_3ea(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x0000000a); - #include "insns/c_lw.h" - return npc; -} - -reg_t processor_t::opcode_func_3f4(insn_t insn, reg_t pc) -{ - reg_t npc = pc + insn_length(0x00000014); - #include "insns/c_flw.h" - return npc; -} - -reg_t processor_t::opcode_func_3fe(insn_t insn, reg_t pc) -{ - throw trap_illegal_instruction; -} - |