[sim, opcodes] made sim more decoupled from opcodes
authorAndrew Waterman <waterman@s141.Millennium.Berkeley.EDU>
Sat, 11 Jun 2011 02:54:02 +0000 (19:54 -0700)
committerAndrew Waterman <waterman@s141.Millennium.Berkeley.EDU>
Sat, 11 Jun 2011 02:54:02 +0000 (19:54 -0700)
21 files changed:
riscv/dispatch.h [deleted file]
riscv/dispatch_0.cc [deleted file]
riscv/dispatch_1.cc [deleted file]
riscv/dispatch_2.cc [deleted file]
riscv/dispatch_3.cc [deleted file]
riscv/dispatch_4.cc [deleted file]
riscv/dispatch_5.cc [deleted file]
riscv/dispatch_6.cc [deleted file]
riscv/dispatch_7.cc [deleted file]
riscv/dispatch_8.cc [deleted file]
riscv/dispatch_9.cc [deleted file]
riscv/dispatch_decl.h [deleted file]
riscv/insn_footer.h [new file with mode: 0644]
riscv/insn_header.h [new file with mode: 0644]
riscv/insn_includes.h [deleted file]
riscv/insns/jalr_j.h
riscv/insns/jalr_r.h
riscv/opcodes.h [new file with mode: 0644]
riscv/processor.cc
riscv/processor.h
riscv/riscv.mk.in

diff --git a/riscv/dispatch.h b/riscv/dispatch.h
deleted file mode 100644 (file)
index fdc92d3..0000000
+++ /dev/null
@@ -1,1028 +0,0 @@
-/* Automatically generated by parse-opcodes */
-typedef reg_t (*insn_func_t)(processor_t*, insn_t, reg_t);
-const static insn_func_t dispatch_table[] = {
-  (insn_func_t)&processor_t::opcode_func_000,
-  (insn_func_t)&processor_t::opcode_func_001,
-  (insn_func_t)&processor_t::opcode_func_002,
-  (insn_func_t)&processor_t::opcode_func_003,
-  (insn_func_t)&processor_t::opcode_func_004,
-  (insn_func_t)&processor_t::opcode_func_005,
-  (insn_func_t)&processor_t::opcode_func_006,
-  (insn_func_t)&processor_t::opcode_func_007,
-  (insn_func_t)&processor_t::opcode_func_008,
-  (insn_func_t)&processor_t::opcode_func_009,
-  (insn_func_t)&processor_t::opcode_func_00a,
-  (insn_func_t)&processor_t::opcode_func_00b,
-  (insn_func_t)&processor_t::opcode_func_00c,
-  (insn_func_t)&processor_t::opcode_func_00d,
-  (insn_func_t)&processor_t::opcode_func_00e,
-  (insn_func_t)&processor_t::opcode_func_00f,
-  (insn_func_t)&processor_t::opcode_func_010,
-  (insn_func_t)&processor_t::opcode_func_011,
-  (insn_func_t)&processor_t::opcode_func_012,
-  (insn_func_t)&processor_t::opcode_func_013,
-  (insn_func_t)&processor_t::opcode_func_014,
-  (insn_func_t)&processor_t::opcode_func_015,
-  (insn_func_t)&processor_t::opcode_func_016,
-  (insn_func_t)&processor_t::opcode_func_017,
-  (insn_func_t)&processor_t::opcode_func_018,
-  (insn_func_t)&processor_t::opcode_func_019,
-  (insn_func_t)&processor_t::opcode_func_01a,
-  (insn_func_t)&processor_t::opcode_func_01b,
-  (insn_func_t)&processor_t::opcode_func_01c,
-  (insn_func_t)&processor_t::opcode_func_01d,
-  (insn_func_t)&processor_t::opcode_func_01e,
-  (insn_func_t)&processor_t::opcode_func_01f,
-  (insn_func_t)&processor_t::opcode_func_020,
-  (insn_func_t)&processor_t::opcode_func_021,
-  (insn_func_t)&processor_t::opcode_func_022,
-  (insn_func_t)&processor_t::opcode_func_023,
-  (insn_func_t)&processor_t::opcode_func_024,
-  (insn_func_t)&processor_t::opcode_func_025,
-  (insn_func_t)&processor_t::opcode_func_026,
-  (insn_func_t)&processor_t::opcode_func_027,
-  (insn_func_t)&processor_t::opcode_func_028,
-  (insn_func_t)&processor_t::opcode_func_029,
-  (insn_func_t)&processor_t::opcode_func_02a,
-  (insn_func_t)&processor_t::opcode_func_02b,
-  (insn_func_t)&processor_t::opcode_func_02c,
-  (insn_func_t)&processor_t::opcode_func_02d,
-  (insn_func_t)&processor_t::opcode_func_02e,
-  (insn_func_t)&processor_t::opcode_func_02f,
-  (insn_func_t)&processor_t::opcode_func_030,
-  (insn_func_t)&processor_t::opcode_func_031,
-  (insn_func_t)&processor_t::opcode_func_032,
-  (insn_func_t)&processor_t::opcode_func_033,
-  (insn_func_t)&processor_t::opcode_func_034,
-  (insn_func_t)&processor_t::opcode_func_035,
-  (insn_func_t)&processor_t::opcode_func_036,
-  (insn_func_t)&processor_t::opcode_func_037,
-  (insn_func_t)&processor_t::opcode_func_038,
-  (insn_func_t)&processor_t::opcode_func_039,
-  (insn_func_t)&processor_t::opcode_func_03a,
-  (insn_func_t)&processor_t::opcode_func_03b,
-  (insn_func_t)&processor_t::opcode_func_03c,
-  (insn_func_t)&processor_t::opcode_func_03d,
-  (insn_func_t)&processor_t::opcode_func_03e,
-  (insn_func_t)&processor_t::opcode_func_03f,
-  (insn_func_t)&processor_t::opcode_func_040,
-  (insn_func_t)&processor_t::opcode_func_041,
-  (insn_func_t)&processor_t::opcode_func_042,
-  (insn_func_t)&processor_t::opcode_func_043,
-  (insn_func_t)&processor_t::opcode_func_044,
-  (insn_func_t)&processor_t::opcode_func_045,
-  (insn_func_t)&processor_t::opcode_func_046,
-  (insn_func_t)&processor_t::opcode_func_047,
-  (insn_func_t)&processor_t::opcode_func_048,
-  (insn_func_t)&processor_t::opcode_func_049,
-  (insn_func_t)&processor_t::opcode_func_04a,
-  (insn_func_t)&processor_t::opcode_func_04b,
-  (insn_func_t)&processor_t::opcode_func_04c,
-  (insn_func_t)&processor_t::opcode_func_04d,
-  (insn_func_t)&processor_t::opcode_func_04e,
-  (insn_func_t)&processor_t::opcode_func_04f,
-  (insn_func_t)&processor_t::opcode_func_050,
-  (insn_func_t)&processor_t::opcode_func_051,
-  (insn_func_t)&processor_t::opcode_func_052,
-  (insn_func_t)&processor_t::opcode_func_053,
-  (insn_func_t)&processor_t::opcode_func_054,
-  (insn_func_t)&processor_t::opcode_func_055,
-  (insn_func_t)&processor_t::opcode_func_056,
-  (insn_func_t)&processor_t::opcode_func_057,
-  (insn_func_t)&processor_t::opcode_func_058,
-  (insn_func_t)&processor_t::opcode_func_059,
-  (insn_func_t)&processor_t::opcode_func_05a,
-  (insn_func_t)&processor_t::opcode_func_05b,
-  (insn_func_t)&processor_t::opcode_func_05c,
-  (insn_func_t)&processor_t::opcode_func_05d,
-  (insn_func_t)&processor_t::opcode_func_05e,
-  (insn_func_t)&processor_t::opcode_func_05f,
-  (insn_func_t)&processor_t::opcode_func_060,
-  (insn_func_t)&processor_t::opcode_func_061,
-  (insn_func_t)&processor_t::opcode_func_062,
-  (insn_func_t)&processor_t::opcode_func_063,
-  (insn_func_t)&processor_t::opcode_func_064,
-  (insn_func_t)&processor_t::opcode_func_065,
-  (insn_func_t)&processor_t::opcode_func_066,
-  (insn_func_t)&processor_t::opcode_func_067,
-  (insn_func_t)&processor_t::opcode_func_068,
-  (insn_func_t)&processor_t::opcode_func_069,
-  (insn_func_t)&processor_t::opcode_func_06a,
-  (insn_func_t)&processor_t::opcode_func_06b,
-  (insn_func_t)&processor_t::opcode_func_06c,
-  (insn_func_t)&processor_t::opcode_func_06d,
-  (insn_func_t)&processor_t::opcode_func_06e,
-  (insn_func_t)&processor_t::opcode_func_06f,
-  (insn_func_t)&processor_t::opcode_func_070,
-  (insn_func_t)&processor_t::opcode_func_071,
-  (insn_func_t)&processor_t::opcode_func_072,
-  (insn_func_t)&processor_t::opcode_func_073,
-  (insn_func_t)&processor_t::opcode_func_074,
-  (insn_func_t)&processor_t::opcode_func_075,
-  (insn_func_t)&processor_t::opcode_func_076,
-  (insn_func_t)&processor_t::opcode_func_077,
-  (insn_func_t)&processor_t::opcode_func_078,
-  (insn_func_t)&processor_t::opcode_func_079,
-  (insn_func_t)&processor_t::opcode_func_07a,
-  (insn_func_t)&processor_t::opcode_func_07b,
-  (insn_func_t)&processor_t::opcode_func_07c,
-  (insn_func_t)&processor_t::opcode_func_07d,
-  (insn_func_t)&processor_t::opcode_func_07e,
-  (insn_func_t)&processor_t::opcode_func_07f,
-  (insn_func_t)&processor_t::opcode_func_080,
-  (insn_func_t)&processor_t::opcode_func_081,
-  (insn_func_t)&processor_t::opcode_func_082,
-  (insn_func_t)&processor_t::opcode_func_083,
-  (insn_func_t)&processor_t::opcode_func_084,
-  (insn_func_t)&processor_t::opcode_func_085,
-  (insn_func_t)&processor_t::opcode_func_086,
-  (insn_func_t)&processor_t::opcode_func_087,
-  (insn_func_t)&processor_t::opcode_func_088,
-  (insn_func_t)&processor_t::opcode_func_089,
-  (insn_func_t)&processor_t::opcode_func_08a,
-  (insn_func_t)&processor_t::opcode_func_08b,
-  (insn_func_t)&processor_t::opcode_func_08c,
-  (insn_func_t)&processor_t::opcode_func_08d,
-  (insn_func_t)&processor_t::opcode_func_08e,
-  (insn_func_t)&processor_t::opcode_func_08f,
-  (insn_func_t)&processor_t::opcode_func_090,
-  (insn_func_t)&processor_t::opcode_func_091,
-  (insn_func_t)&processor_t::opcode_func_092,
-  (insn_func_t)&processor_t::opcode_func_093,
-  (insn_func_t)&processor_t::opcode_func_094,
-  (insn_func_t)&processor_t::opcode_func_095,
-  (insn_func_t)&processor_t::opcode_func_096,
-  (insn_func_t)&processor_t::opcode_func_097,
-  (insn_func_t)&processor_t::opcode_func_098,
-  (insn_func_t)&processor_t::opcode_func_099,
-  (insn_func_t)&processor_t::opcode_func_09a,
-  (insn_func_t)&processor_t::opcode_func_09b,
-  (insn_func_t)&processor_t::opcode_func_09c,
-  (insn_func_t)&processor_t::opcode_func_09d,
-  (insn_func_t)&processor_t::opcode_func_09e,
-  (insn_func_t)&processor_t::opcode_func_09f,
-  (insn_func_t)&processor_t::opcode_func_0a0,
-  (insn_func_t)&processor_t::opcode_func_0a1,
-  (insn_func_t)&processor_t::opcode_func_0a2,
-  (insn_func_t)&processor_t::opcode_func_0a3,
-  (insn_func_t)&processor_t::opcode_func_0a4,
-  (insn_func_t)&processor_t::opcode_func_0a5,
-  (insn_func_t)&processor_t::opcode_func_0a6,
-  (insn_func_t)&processor_t::opcode_func_0a7,
-  (insn_func_t)&processor_t::opcode_func_0a8,
-  (insn_func_t)&processor_t::opcode_func_0a9,
-  (insn_func_t)&processor_t::opcode_func_0aa,
-  (insn_func_t)&processor_t::opcode_func_0ab,
-  (insn_func_t)&processor_t::opcode_func_0ac,
-  (insn_func_t)&processor_t::opcode_func_0ad,
-  (insn_func_t)&processor_t::opcode_func_0ae,
-  (insn_func_t)&processor_t::opcode_func_0af,
-  (insn_func_t)&processor_t::opcode_func_0b0,
-  (insn_func_t)&processor_t::opcode_func_0b1,
-  (insn_func_t)&processor_t::opcode_func_0b2,
-  (insn_func_t)&processor_t::opcode_func_0b3,
-  (insn_func_t)&processor_t::opcode_func_0b4,
-  (insn_func_t)&processor_t::opcode_func_0b5,
-  (insn_func_t)&processor_t::opcode_func_0b6,
-  (insn_func_t)&processor_t::opcode_func_0b7,
-  (insn_func_t)&processor_t::opcode_func_0b8,
-  (insn_func_t)&processor_t::opcode_func_0b9,
-  (insn_func_t)&processor_t::opcode_func_0ba,
-  (insn_func_t)&processor_t::opcode_func_0bb,
-  (insn_func_t)&processor_t::opcode_func_0bc,
-  (insn_func_t)&processor_t::opcode_func_0bd,
-  (insn_func_t)&processor_t::opcode_func_0be,
-  (insn_func_t)&processor_t::opcode_func_0bf,
-  (insn_func_t)&processor_t::opcode_func_0c0,
-  (insn_func_t)&processor_t::opcode_func_0c1,
-  (insn_func_t)&processor_t::opcode_func_0c2,
-  (insn_func_t)&processor_t::opcode_func_0c3,
-  (insn_func_t)&processor_t::opcode_func_0c4,
-  (insn_func_t)&processor_t::opcode_func_0c5,
-  (insn_func_t)&processor_t::opcode_func_0c6,
-  (insn_func_t)&processor_t::opcode_func_0c7,
-  (insn_func_t)&processor_t::opcode_func_0c8,
-  (insn_func_t)&processor_t::opcode_func_0c9,
-  (insn_func_t)&processor_t::opcode_func_0ca,
-  (insn_func_t)&processor_t::opcode_func_0cb,
-  (insn_func_t)&processor_t::opcode_func_0cc,
-  (insn_func_t)&processor_t::opcode_func_0cd,
-  (insn_func_t)&processor_t::opcode_func_0ce,
-  (insn_func_t)&processor_t::opcode_func_0cf,
-  (insn_func_t)&processor_t::opcode_func_0d0,
-  (insn_func_t)&processor_t::opcode_func_0d1,
-  (insn_func_t)&processor_t::opcode_func_0d2,
-  (insn_func_t)&processor_t::opcode_func_0d3,
-  (insn_func_t)&processor_t::opcode_func_0d4,
-  (insn_func_t)&processor_t::opcode_func_0d5,
-  (insn_func_t)&processor_t::opcode_func_0d6,
-  (insn_func_t)&processor_t::opcode_func_0d7,
-  (insn_func_t)&processor_t::opcode_func_0d8,
-  (insn_func_t)&processor_t::opcode_func_0d9,
-  (insn_func_t)&processor_t::opcode_func_0da,
-  (insn_func_t)&processor_t::opcode_func_0db,
-  (insn_func_t)&processor_t::opcode_func_0dc,
-  (insn_func_t)&processor_t::opcode_func_0dd,
-  (insn_func_t)&processor_t::opcode_func_0de,
-  (insn_func_t)&processor_t::opcode_func_0df,
-  (insn_func_t)&processor_t::opcode_func_0e0,
-  (insn_func_t)&processor_t::opcode_func_0e1,
-  (insn_func_t)&processor_t::opcode_func_0e2,
-  (insn_func_t)&processor_t::opcode_func_0e3,
-  (insn_func_t)&processor_t::opcode_func_0e4,
-  (insn_func_t)&processor_t::opcode_func_0e5,
-  (insn_func_t)&processor_t::opcode_func_0e6,
-  (insn_func_t)&processor_t::opcode_func_0e7,
-  (insn_func_t)&processor_t::opcode_func_0e8,
-  (insn_func_t)&processor_t::opcode_func_0e9,
-  (insn_func_t)&processor_t::opcode_func_0ea,
-  (insn_func_t)&processor_t::opcode_func_0eb,
-  (insn_func_t)&processor_t::opcode_func_0ec,
-  (insn_func_t)&processor_t::opcode_func_0ed,
-  (insn_func_t)&processor_t::opcode_func_0ee,
-  (insn_func_t)&processor_t::opcode_func_0ef,
-  (insn_func_t)&processor_t::opcode_func_0f0,
-  (insn_func_t)&processor_t::opcode_func_0f1,
-  (insn_func_t)&processor_t::opcode_func_0f2,
-  (insn_func_t)&processor_t::opcode_func_0f3,
-  (insn_func_t)&processor_t::opcode_func_0f4,
-  (insn_func_t)&processor_t::opcode_func_0f5,
-  (insn_func_t)&processor_t::opcode_func_0f6,
-  (insn_func_t)&processor_t::opcode_func_0f7,
-  (insn_func_t)&processor_t::opcode_func_0f8,
-  (insn_func_t)&processor_t::opcode_func_0f9,
-  (insn_func_t)&processor_t::opcode_func_0fa,
-  (insn_func_t)&processor_t::opcode_func_0fb,
-  (insn_func_t)&processor_t::opcode_func_0fc,
-  (insn_func_t)&processor_t::opcode_func_0fd,
-  (insn_func_t)&processor_t::opcode_func_0fe,
-  (insn_func_t)&processor_t::opcode_func_0ff,
-  (insn_func_t)&processor_t::opcode_func_100,
-  (insn_func_t)&processor_t::opcode_func_101,
-  (insn_func_t)&processor_t::opcode_func_102,
-  (insn_func_t)&processor_t::opcode_func_103,
-  (insn_func_t)&processor_t::opcode_func_104,
-  (insn_func_t)&processor_t::opcode_func_105,
-  (insn_func_t)&processor_t::opcode_func_106,
-  (insn_func_t)&processor_t::opcode_func_107,
-  (insn_func_t)&processor_t::opcode_func_108,
-  (insn_func_t)&processor_t::opcode_func_109,
-  (insn_func_t)&processor_t::opcode_func_10a,
-  (insn_func_t)&processor_t::opcode_func_10b,
-  (insn_func_t)&processor_t::opcode_func_10c,
-  (insn_func_t)&processor_t::opcode_func_10d,
-  (insn_func_t)&processor_t::opcode_func_10e,
-  (insn_func_t)&processor_t::opcode_func_10f,
-  (insn_func_t)&processor_t::opcode_func_110,
-  (insn_func_t)&processor_t::opcode_func_111,
-  (insn_func_t)&processor_t::opcode_func_112,
-  (insn_func_t)&processor_t::opcode_func_113,
-  (insn_func_t)&processor_t::opcode_func_114,
-  (insn_func_t)&processor_t::opcode_func_115,
-  (insn_func_t)&processor_t::opcode_func_116,
-  (insn_func_t)&processor_t::opcode_func_117,
-  (insn_func_t)&processor_t::opcode_func_118,
-  (insn_func_t)&processor_t::opcode_func_119,
-  (insn_func_t)&processor_t::opcode_func_11a,
-  (insn_func_t)&processor_t::opcode_func_11b,
-  (insn_func_t)&processor_t::opcode_func_11c,
-  (insn_func_t)&processor_t::opcode_func_11d,
-  (insn_func_t)&processor_t::opcode_func_11e,
-  (insn_func_t)&processor_t::opcode_func_11f,
-  (insn_func_t)&processor_t::opcode_func_120,
-  (insn_func_t)&processor_t::opcode_func_121,
-  (insn_func_t)&processor_t::opcode_func_122,
-  (insn_func_t)&processor_t::opcode_func_123,
-  (insn_func_t)&processor_t::opcode_func_124,
-  (insn_func_t)&processor_t::opcode_func_125,
-  (insn_func_t)&processor_t::opcode_func_126,
-  (insn_func_t)&processor_t::opcode_func_127,
-  (insn_func_t)&processor_t::opcode_func_128,
-  (insn_func_t)&processor_t::opcode_func_129,
-  (insn_func_t)&processor_t::opcode_func_12a,
-  (insn_func_t)&processor_t::opcode_func_12b,
-  (insn_func_t)&processor_t::opcode_func_12c,
-  (insn_func_t)&processor_t::opcode_func_12d,
-  (insn_func_t)&processor_t::opcode_func_12e,
-  (insn_func_t)&processor_t::opcode_func_12f,
-  (insn_func_t)&processor_t::opcode_func_130,
-  (insn_func_t)&processor_t::opcode_func_131,
-  (insn_func_t)&processor_t::opcode_func_132,
-  (insn_func_t)&processor_t::opcode_func_133,
-  (insn_func_t)&processor_t::opcode_func_134,
-  (insn_func_t)&processor_t::opcode_func_135,
-  (insn_func_t)&processor_t::opcode_func_136,
-  (insn_func_t)&processor_t::opcode_func_137,
-  (insn_func_t)&processor_t::opcode_func_138,
-  (insn_func_t)&processor_t::opcode_func_139,
-  (insn_func_t)&processor_t::opcode_func_13a,
-  (insn_func_t)&processor_t::opcode_func_13b,
-  (insn_func_t)&processor_t::opcode_func_13c,
-  (insn_func_t)&processor_t::opcode_func_13d,
-  (insn_func_t)&processor_t::opcode_func_13e,
-  (insn_func_t)&processor_t::opcode_func_13f,
-  (insn_func_t)&processor_t::opcode_func_140,
-  (insn_func_t)&processor_t::opcode_func_141,
-  (insn_func_t)&processor_t::opcode_func_142,
-  (insn_func_t)&processor_t::opcode_func_143,
-  (insn_func_t)&processor_t::opcode_func_144,
-  (insn_func_t)&processor_t::opcode_func_145,
-  (insn_func_t)&processor_t::opcode_func_146,
-  (insn_func_t)&processor_t::opcode_func_147,
-  (insn_func_t)&processor_t::opcode_func_148,
-  (insn_func_t)&processor_t::opcode_func_149,
-  (insn_func_t)&processor_t::opcode_func_14a,
-  (insn_func_t)&processor_t::opcode_func_14b,
-  (insn_func_t)&processor_t::opcode_func_14c,
-  (insn_func_t)&processor_t::opcode_func_14d,
-  (insn_func_t)&processor_t::opcode_func_14e,
-  (insn_func_t)&processor_t::opcode_func_14f,
-  (insn_func_t)&processor_t::opcode_func_150,
-  (insn_func_t)&processor_t::opcode_func_151,
-  (insn_func_t)&processor_t::opcode_func_152,
-  (insn_func_t)&processor_t::opcode_func_153,
-  (insn_func_t)&processor_t::opcode_func_154,
-  (insn_func_t)&processor_t::opcode_func_155,
-  (insn_func_t)&processor_t::opcode_func_156,
-  (insn_func_t)&processor_t::opcode_func_157,
-  (insn_func_t)&processor_t::opcode_func_158,
-  (insn_func_t)&processor_t::opcode_func_159,
-  (insn_func_t)&processor_t::opcode_func_15a,
-  (insn_func_t)&processor_t::opcode_func_15b,
-  (insn_func_t)&processor_t::opcode_func_15c,
-  (insn_func_t)&processor_t::opcode_func_15d,
-  (insn_func_t)&processor_t::opcode_func_15e,
-  (insn_func_t)&processor_t::opcode_func_15f,
-  (insn_func_t)&processor_t::opcode_func_160,
-  (insn_func_t)&processor_t::opcode_func_161,
-  (insn_func_t)&processor_t::opcode_func_162,
-  (insn_func_t)&processor_t::opcode_func_163,
-  (insn_func_t)&processor_t::opcode_func_164,
-  (insn_func_t)&processor_t::opcode_func_165,
-  (insn_func_t)&processor_t::opcode_func_166,
-  (insn_func_t)&processor_t::opcode_func_167,
-  (insn_func_t)&processor_t::opcode_func_168,
-  (insn_func_t)&processor_t::opcode_func_169,
-  (insn_func_t)&processor_t::opcode_func_16a,
-  (insn_func_t)&processor_t::opcode_func_16b,
-  (insn_func_t)&processor_t::opcode_func_16c,
-  (insn_func_t)&processor_t::opcode_func_16d,
-  (insn_func_t)&processor_t::opcode_func_16e,
-  (insn_func_t)&processor_t::opcode_func_16f,
-  (insn_func_t)&processor_t::opcode_func_170,
-  (insn_func_t)&processor_t::opcode_func_171,
-  (insn_func_t)&processor_t::opcode_func_172,
-  (insn_func_t)&processor_t::opcode_func_173,
-  (insn_func_t)&processor_t::opcode_func_174,
-  (insn_func_t)&processor_t::opcode_func_175,
-  (insn_func_t)&processor_t::opcode_func_176,
-  (insn_func_t)&processor_t::opcode_func_177,
-  (insn_func_t)&processor_t::opcode_func_178,
-  (insn_func_t)&processor_t::opcode_func_179,
-  (insn_func_t)&processor_t::opcode_func_17a,
-  (insn_func_t)&processor_t::opcode_func_17b,
-  (insn_func_t)&processor_t::opcode_func_17c,
-  (insn_func_t)&processor_t::opcode_func_17d,
-  (insn_func_t)&processor_t::opcode_func_17e,
-  (insn_func_t)&processor_t::opcode_func_17f,
-  (insn_func_t)&processor_t::opcode_func_180,
-  (insn_func_t)&processor_t::opcode_func_181,
-  (insn_func_t)&processor_t::opcode_func_182,
-  (insn_func_t)&processor_t::opcode_func_183,
-  (insn_func_t)&processor_t::opcode_func_184,
-  (insn_func_t)&processor_t::opcode_func_185,
-  (insn_func_t)&processor_t::opcode_func_186,
-  (insn_func_t)&processor_t::opcode_func_187,
-  (insn_func_t)&processor_t::opcode_func_188,
-  (insn_func_t)&processor_t::opcode_func_189,
-  (insn_func_t)&processor_t::opcode_func_18a,
-  (insn_func_t)&processor_t::opcode_func_18b,
-  (insn_func_t)&processor_t::opcode_func_18c,
-  (insn_func_t)&processor_t::opcode_func_18d,
-  (insn_func_t)&processor_t::opcode_func_18e,
-  (insn_func_t)&processor_t::opcode_func_18f,
-  (insn_func_t)&processor_t::opcode_func_190,
-  (insn_func_t)&processor_t::opcode_func_191,
-  (insn_func_t)&processor_t::opcode_func_192,
-  (insn_func_t)&processor_t::opcode_func_193,
-  (insn_func_t)&processor_t::opcode_func_194,
-  (insn_func_t)&processor_t::opcode_func_195,
-  (insn_func_t)&processor_t::opcode_func_196,
-  (insn_func_t)&processor_t::opcode_func_197,
-  (insn_func_t)&processor_t::opcode_func_198,
-  (insn_func_t)&processor_t::opcode_func_199,
-  (insn_func_t)&processor_t::opcode_func_19a,
-  (insn_func_t)&processor_t::opcode_func_19b,
-  (insn_func_t)&processor_t::opcode_func_19c,
-  (insn_func_t)&processor_t::opcode_func_19d,
-  (insn_func_t)&processor_t::opcode_func_19e,
-  (insn_func_t)&processor_t::opcode_func_19f,
-  (insn_func_t)&processor_t::opcode_func_1a0,
-  (insn_func_t)&processor_t::opcode_func_1a1,
-  (insn_func_t)&processor_t::opcode_func_1a2,
-  (insn_func_t)&processor_t::opcode_func_1a3,
-  (insn_func_t)&processor_t::opcode_func_1a4,
-  (insn_func_t)&processor_t::opcode_func_1a5,
-  (insn_func_t)&processor_t::opcode_func_1a6,
-  (insn_func_t)&processor_t::opcode_func_1a7,
-  (insn_func_t)&processor_t::opcode_func_1a8,
-  (insn_func_t)&processor_t::opcode_func_1a9,
-  (insn_func_t)&processor_t::opcode_func_1aa,
-  (insn_func_t)&processor_t::opcode_func_1ab,
-  (insn_func_t)&processor_t::opcode_func_1ac,
-  (insn_func_t)&processor_t::opcode_func_1ad,
-  (insn_func_t)&processor_t::opcode_func_1ae,
-  (insn_func_t)&processor_t::opcode_func_1af,
-  (insn_func_t)&processor_t::opcode_func_1b0,
-  (insn_func_t)&processor_t::opcode_func_1b1,
-  (insn_func_t)&processor_t::opcode_func_1b2,
-  (insn_func_t)&processor_t::opcode_func_1b3,
-  (insn_func_t)&processor_t::opcode_func_1b4,
-  (insn_func_t)&processor_t::opcode_func_1b5,
-  (insn_func_t)&processor_t::opcode_func_1b6,
-  (insn_func_t)&processor_t::opcode_func_1b7,
-  (insn_func_t)&processor_t::opcode_func_1b8,
-  (insn_func_t)&processor_t::opcode_func_1b9,
-  (insn_func_t)&processor_t::opcode_func_1ba,
-  (insn_func_t)&processor_t::opcode_func_1bb,
-  (insn_func_t)&processor_t::opcode_func_1bc,
-  (insn_func_t)&processor_t::opcode_func_1bd,
-  (insn_func_t)&processor_t::opcode_func_1be,
-  (insn_func_t)&processor_t::opcode_func_1bf,
-  (insn_func_t)&processor_t::opcode_func_1c0,
-  (insn_func_t)&processor_t::opcode_func_1c1,
-  (insn_func_t)&processor_t::opcode_func_1c2,
-  (insn_func_t)&processor_t::opcode_func_1c3,
-  (insn_func_t)&processor_t::opcode_func_1c4,
-  (insn_func_t)&processor_t::opcode_func_1c5,
-  (insn_func_t)&processor_t::opcode_func_1c6,
-  (insn_func_t)&processor_t::opcode_func_1c7,
-  (insn_func_t)&processor_t::opcode_func_1c8,
-  (insn_func_t)&processor_t::opcode_func_1c9,
-  (insn_func_t)&processor_t::opcode_func_1ca,
-  (insn_func_t)&processor_t::opcode_func_1cb,
-  (insn_func_t)&processor_t::opcode_func_1cc,
-  (insn_func_t)&processor_t::opcode_func_1cd,
-  (insn_func_t)&processor_t::opcode_func_1ce,
-  (insn_func_t)&processor_t::opcode_func_1cf,
-  (insn_func_t)&processor_t::opcode_func_1d0,
-  (insn_func_t)&processor_t::opcode_func_1d1,
-  (insn_func_t)&processor_t::opcode_func_1d2,
-  (insn_func_t)&processor_t::opcode_func_1d3,
-  (insn_func_t)&processor_t::opcode_func_1d4,
-  (insn_func_t)&processor_t::opcode_func_1d5,
-  (insn_func_t)&processor_t::opcode_func_1d6,
-  (insn_func_t)&processor_t::opcode_func_1d7,
-  (insn_func_t)&processor_t::opcode_func_1d8,
-  (insn_func_t)&processor_t::opcode_func_1d9,
-  (insn_func_t)&processor_t::opcode_func_1da,
-  (insn_func_t)&processor_t::opcode_func_1db,
-  (insn_func_t)&processor_t::opcode_func_1dc,
-  (insn_func_t)&processor_t::opcode_func_1dd,
-  (insn_func_t)&processor_t::opcode_func_1de,
-  (insn_func_t)&processor_t::opcode_func_1df,
-  (insn_func_t)&processor_t::opcode_func_1e0,
-  (insn_func_t)&processor_t::opcode_func_1e1,
-  (insn_func_t)&processor_t::opcode_func_1e2,
-  (insn_func_t)&processor_t::opcode_func_1e3,
-  (insn_func_t)&processor_t::opcode_func_1e4,
-  (insn_func_t)&processor_t::opcode_func_1e5,
-  (insn_func_t)&processor_t::opcode_func_1e6,
-  (insn_func_t)&processor_t::opcode_func_1e7,
-  (insn_func_t)&processor_t::opcode_func_1e8,
-  (insn_func_t)&processor_t::opcode_func_1e9,
-  (insn_func_t)&processor_t::opcode_func_1ea,
-  (insn_func_t)&processor_t::opcode_func_1eb,
-  (insn_func_t)&processor_t::opcode_func_1ec,
-  (insn_func_t)&processor_t::opcode_func_1ed,
-  (insn_func_t)&processor_t::opcode_func_1ee,
-  (insn_func_t)&processor_t::opcode_func_1ef,
-  (insn_func_t)&processor_t::opcode_func_1f0,
-  (insn_func_t)&processor_t::opcode_func_1f1,
-  (insn_func_t)&processor_t::opcode_func_1f2,
-  (insn_func_t)&processor_t::opcode_func_1f3,
-  (insn_func_t)&processor_t::opcode_func_1f4,
-  (insn_func_t)&processor_t::opcode_func_1f5,
-  (insn_func_t)&processor_t::opcode_func_1f6,
-  (insn_func_t)&processor_t::opcode_func_1f7,
-  (insn_func_t)&processor_t::opcode_func_1f8,
-  (insn_func_t)&processor_t::opcode_func_1f9,
-  (insn_func_t)&processor_t::opcode_func_1fa,
-  (insn_func_t)&processor_t::opcode_func_1fb,
-  (insn_func_t)&processor_t::opcode_func_1fc,
-  (insn_func_t)&processor_t::opcode_func_1fd,
-  (insn_func_t)&processor_t::opcode_func_1fe,
-  (insn_func_t)&processor_t::opcode_func_1ff,
-  (insn_func_t)&processor_t::opcode_func_200,
-  (insn_func_t)&processor_t::opcode_func_201,
-  (insn_func_t)&processor_t::opcode_func_202,
-  (insn_func_t)&processor_t::opcode_func_203,
-  (insn_func_t)&processor_t::opcode_func_204,
-  (insn_func_t)&processor_t::opcode_func_205,
-  (insn_func_t)&processor_t::opcode_func_206,
-  (insn_func_t)&processor_t::opcode_func_207,
-  (insn_func_t)&processor_t::opcode_func_208,
-  (insn_func_t)&processor_t::opcode_func_209,
-  (insn_func_t)&processor_t::opcode_func_20a,
-  (insn_func_t)&processor_t::opcode_func_20b,
-  (insn_func_t)&processor_t::opcode_func_20c,
-  (insn_func_t)&processor_t::opcode_func_20d,
-  (insn_func_t)&processor_t::opcode_func_20e,
-  (insn_func_t)&processor_t::opcode_func_20f,
-  (insn_func_t)&processor_t::opcode_func_210,
-  (insn_func_t)&processor_t::opcode_func_211,
-  (insn_func_t)&processor_t::opcode_func_212,
-  (insn_func_t)&processor_t::opcode_func_213,
-  (insn_func_t)&processor_t::opcode_func_214,
-  (insn_func_t)&processor_t::opcode_func_215,
-  (insn_func_t)&processor_t::opcode_func_216,
-  (insn_func_t)&processor_t::opcode_func_217,
-  (insn_func_t)&processor_t::opcode_func_218,
-  (insn_func_t)&processor_t::opcode_func_219,
-  (insn_func_t)&processor_t::opcode_func_21a,
-  (insn_func_t)&processor_t::opcode_func_21b,
-  (insn_func_t)&processor_t::opcode_func_21c,
-  (insn_func_t)&processor_t::opcode_func_21d,
-  (insn_func_t)&processor_t::opcode_func_21e,
-  (insn_func_t)&processor_t::opcode_func_21f,
-  (insn_func_t)&processor_t::opcode_func_220,
-  (insn_func_t)&processor_t::opcode_func_221,
-  (insn_func_t)&processor_t::opcode_func_222,
-  (insn_func_t)&processor_t::opcode_func_223,
-  (insn_func_t)&processor_t::opcode_func_224,
-  (insn_func_t)&processor_t::opcode_func_225,
-  (insn_func_t)&processor_t::opcode_func_226,
-  (insn_func_t)&processor_t::opcode_func_227,
-  (insn_func_t)&processor_t::opcode_func_228,
-  (insn_func_t)&processor_t::opcode_func_229,
-  (insn_func_t)&processor_t::opcode_func_22a,
-  (insn_func_t)&processor_t::opcode_func_22b,
-  (insn_func_t)&processor_t::opcode_func_22c,
-  (insn_func_t)&processor_t::opcode_func_22d,
-  (insn_func_t)&processor_t::opcode_func_22e,
-  (insn_func_t)&processor_t::opcode_func_22f,
-  (insn_func_t)&processor_t::opcode_func_230,
-  (insn_func_t)&processor_t::opcode_func_231,
-  (insn_func_t)&processor_t::opcode_func_232,
-  (insn_func_t)&processor_t::opcode_func_233,
-  (insn_func_t)&processor_t::opcode_func_234,
-  (insn_func_t)&processor_t::opcode_func_235,
-  (insn_func_t)&processor_t::opcode_func_236,
-  (insn_func_t)&processor_t::opcode_func_237,
-  (insn_func_t)&processor_t::opcode_func_238,
-  (insn_func_t)&processor_t::opcode_func_239,
-  (insn_func_t)&processor_t::opcode_func_23a,
-  (insn_func_t)&processor_t::opcode_func_23b,
-  (insn_func_t)&processor_t::opcode_func_23c,
-  (insn_func_t)&processor_t::opcode_func_23d,
-  (insn_func_t)&processor_t::opcode_func_23e,
-  (insn_func_t)&processor_t::opcode_func_23f,
-  (insn_func_t)&processor_t::opcode_func_240,
-  (insn_func_t)&processor_t::opcode_func_241,
-  (insn_func_t)&processor_t::opcode_func_242,
-  (insn_func_t)&processor_t::opcode_func_243,
-  (insn_func_t)&processor_t::opcode_func_244,
-  (insn_func_t)&processor_t::opcode_func_245,
-  (insn_func_t)&processor_t::opcode_func_246,
-  (insn_func_t)&processor_t::opcode_func_247,
-  (insn_func_t)&processor_t::opcode_func_248,
-  (insn_func_t)&processor_t::opcode_func_249,
-  (insn_func_t)&processor_t::opcode_func_24a,
-  (insn_func_t)&processor_t::opcode_func_24b,
-  (insn_func_t)&processor_t::opcode_func_24c,
-  (insn_func_t)&processor_t::opcode_func_24d,
-  (insn_func_t)&processor_t::opcode_func_24e,
-  (insn_func_t)&processor_t::opcode_func_24f,
-  (insn_func_t)&processor_t::opcode_func_250,
-  (insn_func_t)&processor_t::opcode_func_251,
-  (insn_func_t)&processor_t::opcode_func_252,
-  (insn_func_t)&processor_t::opcode_func_253,
-  (insn_func_t)&processor_t::opcode_func_254,
-  (insn_func_t)&processor_t::opcode_func_255,
-  (insn_func_t)&processor_t::opcode_func_256,
-  (insn_func_t)&processor_t::opcode_func_257,
-  (insn_func_t)&processor_t::opcode_func_258,
-  (insn_func_t)&processor_t::opcode_func_259,
-  (insn_func_t)&processor_t::opcode_func_25a,
-  (insn_func_t)&processor_t::opcode_func_25b,
-  (insn_func_t)&processor_t::opcode_func_25c,
-  (insn_func_t)&processor_t::opcode_func_25d,
-  (insn_func_t)&processor_t::opcode_func_25e,
-  (insn_func_t)&processor_t::opcode_func_25f,
-  (insn_func_t)&processor_t::opcode_func_260,
-  (insn_func_t)&processor_t::opcode_func_261,
-  (insn_func_t)&processor_t::opcode_func_262,
-  (insn_func_t)&processor_t::opcode_func_263,
-  (insn_func_t)&processor_t::opcode_func_264,
-  (insn_func_t)&processor_t::opcode_func_265,
-  (insn_func_t)&processor_t::opcode_func_266,
-  (insn_func_t)&processor_t::opcode_func_267,
-  (insn_func_t)&processor_t::opcode_func_268,
-  (insn_func_t)&processor_t::opcode_func_269,
-  (insn_func_t)&processor_t::opcode_func_26a,
-  (insn_func_t)&processor_t::opcode_func_26b,
-  (insn_func_t)&processor_t::opcode_func_26c,
-  (insn_func_t)&processor_t::opcode_func_26d,
-  (insn_func_t)&processor_t::opcode_func_26e,
-  (insn_func_t)&processor_t::opcode_func_26f,
-  (insn_func_t)&processor_t::opcode_func_270,
-  (insn_func_t)&processor_t::opcode_func_271,
-  (insn_func_t)&processor_t::opcode_func_272,
-  (insn_func_t)&processor_t::opcode_func_273,
-  (insn_func_t)&processor_t::opcode_func_274,
-  (insn_func_t)&processor_t::opcode_func_275,
-  (insn_func_t)&processor_t::opcode_func_276,
-  (insn_func_t)&processor_t::opcode_func_277,
-  (insn_func_t)&processor_t::opcode_func_278,
-  (insn_func_t)&processor_t::opcode_func_279,
-  (insn_func_t)&processor_t::opcode_func_27a,
-  (insn_func_t)&processor_t::opcode_func_27b,
-  (insn_func_t)&processor_t::opcode_func_27c,
-  (insn_func_t)&processor_t::opcode_func_27d,
-  (insn_func_t)&processor_t::opcode_func_27e,
-  (insn_func_t)&processor_t::opcode_func_27f,
-  (insn_func_t)&processor_t::opcode_func_280,
-  (insn_func_t)&processor_t::opcode_func_281,
-  (insn_func_t)&processor_t::opcode_func_282,
-  (insn_func_t)&processor_t::opcode_func_283,
-  (insn_func_t)&processor_t::opcode_func_284,
-  (insn_func_t)&processor_t::opcode_func_285,
-  (insn_func_t)&processor_t::opcode_func_286,
-  (insn_func_t)&processor_t::opcode_func_287,
-  (insn_func_t)&processor_t::opcode_func_288,
-  (insn_func_t)&processor_t::opcode_func_289,
-  (insn_func_t)&processor_t::opcode_func_28a,
-  (insn_func_t)&processor_t::opcode_func_28b,
-  (insn_func_t)&processor_t::opcode_func_28c,
-  (insn_func_t)&processor_t::opcode_func_28d,
-  (insn_func_t)&processor_t::opcode_func_28e,
-  (insn_func_t)&processor_t::opcode_func_28f,
-  (insn_func_t)&processor_t::opcode_func_290,
-  (insn_func_t)&processor_t::opcode_func_291,
-  (insn_func_t)&processor_t::opcode_func_292,
-  (insn_func_t)&processor_t::opcode_func_293,
-  (insn_func_t)&processor_t::opcode_func_294,
-  (insn_func_t)&processor_t::opcode_func_295,
-  (insn_func_t)&processor_t::opcode_func_296,
-  (insn_func_t)&processor_t::opcode_func_297,
-  (insn_func_t)&processor_t::opcode_func_298,
-  (insn_func_t)&processor_t::opcode_func_299,
-  (insn_func_t)&processor_t::opcode_func_29a,
-  (insn_func_t)&processor_t::opcode_func_29b,
-  (insn_func_t)&processor_t::opcode_func_29c,
-  (insn_func_t)&processor_t::opcode_func_29d,
-  (insn_func_t)&processor_t::opcode_func_29e,
-  (insn_func_t)&processor_t::opcode_func_29f,
-  (insn_func_t)&processor_t::opcode_func_2a0,
-  (insn_func_t)&processor_t::opcode_func_2a1,
-  (insn_func_t)&processor_t::opcode_func_2a2,
-  (insn_func_t)&processor_t::opcode_func_2a3,
-  (insn_func_t)&processor_t::opcode_func_2a4,
-  (insn_func_t)&processor_t::opcode_func_2a5,
-  (insn_func_t)&processor_t::opcode_func_2a6,
-  (insn_func_t)&processor_t::opcode_func_2a7,
-  (insn_func_t)&processor_t::opcode_func_2a8,
-  (insn_func_t)&processor_t::opcode_func_2a9,
-  (insn_func_t)&processor_t::opcode_func_2aa,
-  (insn_func_t)&processor_t::opcode_func_2ab,
-  (insn_func_t)&processor_t::opcode_func_2ac,
-  (insn_func_t)&processor_t::opcode_func_2ad,
-  (insn_func_t)&processor_t::opcode_func_2ae,
-  (insn_func_t)&processor_t::opcode_func_2af,
-  (insn_func_t)&processor_t::opcode_func_2b0,
-  (insn_func_t)&processor_t::opcode_func_2b1,
-  (insn_func_t)&processor_t::opcode_func_2b2,
-  (insn_func_t)&processor_t::opcode_func_2b3,
-  (insn_func_t)&processor_t::opcode_func_2b4,
-  (insn_func_t)&processor_t::opcode_func_2b5,
-  (insn_func_t)&processor_t::opcode_func_2b6,
-  (insn_func_t)&processor_t::opcode_func_2b7,
-  (insn_func_t)&processor_t::opcode_func_2b8,
-  (insn_func_t)&processor_t::opcode_func_2b9,
-  (insn_func_t)&processor_t::opcode_func_2ba,
-  (insn_func_t)&processor_t::opcode_func_2bb,
-  (insn_func_t)&processor_t::opcode_func_2bc,
-  (insn_func_t)&processor_t::opcode_func_2bd,
-  (insn_func_t)&processor_t::opcode_func_2be,
-  (insn_func_t)&processor_t::opcode_func_2bf,
-  (insn_func_t)&processor_t::opcode_func_2c0,
-  (insn_func_t)&processor_t::opcode_func_2c1,
-  (insn_func_t)&processor_t::opcode_func_2c2,
-  (insn_func_t)&processor_t::opcode_func_2c3,
-  (insn_func_t)&processor_t::opcode_func_2c4,
-  (insn_func_t)&processor_t::opcode_func_2c5,
-  (insn_func_t)&processor_t::opcode_func_2c6,
-  (insn_func_t)&processor_t::opcode_func_2c7,
-  (insn_func_t)&processor_t::opcode_func_2c8,
-  (insn_func_t)&processor_t::opcode_func_2c9,
-  (insn_func_t)&processor_t::opcode_func_2ca,
-  (insn_func_t)&processor_t::opcode_func_2cb,
-  (insn_func_t)&processor_t::opcode_func_2cc,
-  (insn_func_t)&processor_t::opcode_func_2cd,
-  (insn_func_t)&processor_t::opcode_func_2ce,
-  (insn_func_t)&processor_t::opcode_func_2cf,
-  (insn_func_t)&processor_t::opcode_func_2d0,
-  (insn_func_t)&processor_t::opcode_func_2d1,
-  (insn_func_t)&processor_t::opcode_func_2d2,
-  (insn_func_t)&processor_t::opcode_func_2d3,
-  (insn_func_t)&processor_t::opcode_func_2d4,
-  (insn_func_t)&processor_t::opcode_func_2d5,
-  (insn_func_t)&processor_t::opcode_func_2d6,
-  (insn_func_t)&processor_t::opcode_func_2d7,
-  (insn_func_t)&processor_t::opcode_func_2d8,
-  (insn_func_t)&processor_t::opcode_func_2d9,
-  (insn_func_t)&processor_t::opcode_func_2da,
-  (insn_func_t)&processor_t::opcode_func_2db,
-  (insn_func_t)&processor_t::opcode_func_2dc,
-  (insn_func_t)&processor_t::opcode_func_2dd,
-  (insn_func_t)&processor_t::opcode_func_2de,
-  (insn_func_t)&processor_t::opcode_func_2df,
-  (insn_func_t)&processor_t::opcode_func_2e0,
-  (insn_func_t)&processor_t::opcode_func_2e1,
-  (insn_func_t)&processor_t::opcode_func_2e2,
-  (insn_func_t)&processor_t::opcode_func_2e3,
-  (insn_func_t)&processor_t::opcode_func_2e4,
-  (insn_func_t)&processor_t::opcode_func_2e5,
-  (insn_func_t)&processor_t::opcode_func_2e6,
-  (insn_func_t)&processor_t::opcode_func_2e7,
-  (insn_func_t)&processor_t::opcode_func_2e8,
-  (insn_func_t)&processor_t::opcode_func_2e9,
-  (insn_func_t)&processor_t::opcode_func_2ea,
-  (insn_func_t)&processor_t::opcode_func_2eb,
-  (insn_func_t)&processor_t::opcode_func_2ec,
-  (insn_func_t)&processor_t::opcode_func_2ed,
-  (insn_func_t)&processor_t::opcode_func_2ee,
-  (insn_func_t)&processor_t::opcode_func_2ef,
-  (insn_func_t)&processor_t::opcode_func_2f0,
-  (insn_func_t)&processor_t::opcode_func_2f1,
-  (insn_func_t)&processor_t::opcode_func_2f2,
-  (insn_func_t)&processor_t::opcode_func_2f3,
-  (insn_func_t)&processor_t::opcode_func_2f4,
-  (insn_func_t)&processor_t::opcode_func_2f5,
-  (insn_func_t)&processor_t::opcode_func_2f6,
-  (insn_func_t)&processor_t::opcode_func_2f7,
-  (insn_func_t)&processor_t::opcode_func_2f8,
-  (insn_func_t)&processor_t::opcode_func_2f9,
-  (insn_func_t)&processor_t::opcode_func_2fa,
-  (insn_func_t)&processor_t::opcode_func_2fb,
-  (insn_func_t)&processor_t::opcode_func_2fc,
-  (insn_func_t)&processor_t::opcode_func_2fd,
-  (insn_func_t)&processor_t::opcode_func_2fe,
-  (insn_func_t)&processor_t::opcode_func_2ff,
-  (insn_func_t)&processor_t::opcode_func_300,
-  (insn_func_t)&processor_t::opcode_func_301,
-  (insn_func_t)&processor_t::opcode_func_302,
-  (insn_func_t)&processor_t::opcode_func_303,
-  (insn_func_t)&processor_t::opcode_func_304,
-  (insn_func_t)&processor_t::opcode_func_305,
-  (insn_func_t)&processor_t::opcode_func_306,
-  (insn_func_t)&processor_t::opcode_func_307,
-  (insn_func_t)&processor_t::opcode_func_308,
-  (insn_func_t)&processor_t::opcode_func_309,
-  (insn_func_t)&processor_t::opcode_func_30a,
-  (insn_func_t)&processor_t::opcode_func_30b,
-  (insn_func_t)&processor_t::opcode_func_30c,
-  (insn_func_t)&processor_t::opcode_func_30d,
-  (insn_func_t)&processor_t::opcode_func_30e,
-  (insn_func_t)&processor_t::opcode_func_30f,
-  (insn_func_t)&processor_t::opcode_func_310,
-  (insn_func_t)&processor_t::opcode_func_311,
-  (insn_func_t)&processor_t::opcode_func_312,
-  (insn_func_t)&processor_t::opcode_func_313,
-  (insn_func_t)&processor_t::opcode_func_314,
-  (insn_func_t)&processor_t::opcode_func_315,
-  (insn_func_t)&processor_t::opcode_func_316,
-  (insn_func_t)&processor_t::opcode_func_317,
-  (insn_func_t)&processor_t::opcode_func_318,
-  (insn_func_t)&processor_t::opcode_func_319,
-  (insn_func_t)&processor_t::opcode_func_31a,
-  (insn_func_t)&processor_t::opcode_func_31b,
-  (insn_func_t)&processor_t::opcode_func_31c,
-  (insn_func_t)&processor_t::opcode_func_31d,
-  (insn_func_t)&processor_t::opcode_func_31e,
-  (insn_func_t)&processor_t::opcode_func_31f,
-  (insn_func_t)&processor_t::opcode_func_320,
-  (insn_func_t)&processor_t::opcode_func_321,
-  (insn_func_t)&processor_t::opcode_func_322,
-  (insn_func_t)&processor_t::opcode_func_323,
-  (insn_func_t)&processor_t::opcode_func_324,
-  (insn_func_t)&processor_t::opcode_func_325,
-  (insn_func_t)&processor_t::opcode_func_326,
-  (insn_func_t)&processor_t::opcode_func_327,
-  (insn_func_t)&processor_t::opcode_func_328,
-  (insn_func_t)&processor_t::opcode_func_329,
-  (insn_func_t)&processor_t::opcode_func_32a,
-  (insn_func_t)&processor_t::opcode_func_32b,
-  (insn_func_t)&processor_t::opcode_func_32c,
-  (insn_func_t)&processor_t::opcode_func_32d,
-  (insn_func_t)&processor_t::opcode_func_32e,
-  (insn_func_t)&processor_t::opcode_func_32f,
-  (insn_func_t)&processor_t::opcode_func_330,
-  (insn_func_t)&processor_t::opcode_func_331,
-  (insn_func_t)&processor_t::opcode_func_332,
-  (insn_func_t)&processor_t::opcode_func_333,
-  (insn_func_t)&processor_t::opcode_func_334,
-  (insn_func_t)&processor_t::opcode_func_335,
-  (insn_func_t)&processor_t::opcode_func_336,
-  (insn_func_t)&processor_t::opcode_func_337,
-  (insn_func_t)&processor_t::opcode_func_338,
-  (insn_func_t)&processor_t::opcode_func_339,
-  (insn_func_t)&processor_t::opcode_func_33a,
-  (insn_func_t)&processor_t::opcode_func_33b,
-  (insn_func_t)&processor_t::opcode_func_33c,
-  (insn_func_t)&processor_t::opcode_func_33d,
-  (insn_func_t)&processor_t::opcode_func_33e,
-  (insn_func_t)&processor_t::opcode_func_33f,
-  (insn_func_t)&processor_t::opcode_func_340,
-  (insn_func_t)&processor_t::opcode_func_341,
-  (insn_func_t)&processor_t::opcode_func_342,
-  (insn_func_t)&processor_t::opcode_func_343,
-  (insn_func_t)&processor_t::opcode_func_344,
-  (insn_func_t)&processor_t::opcode_func_345,
-  (insn_func_t)&processor_t::opcode_func_346,
-  (insn_func_t)&processor_t::opcode_func_347,
-  (insn_func_t)&processor_t::opcode_func_348,
-  (insn_func_t)&processor_t::opcode_func_349,
-  (insn_func_t)&processor_t::opcode_func_34a,
-  (insn_func_t)&processor_t::opcode_func_34b,
-  (insn_func_t)&processor_t::opcode_func_34c,
-  (insn_func_t)&processor_t::opcode_func_34d,
-  (insn_func_t)&processor_t::opcode_func_34e,
-  (insn_func_t)&processor_t::opcode_func_34f,
-  (insn_func_t)&processor_t::opcode_func_350,
-  (insn_func_t)&processor_t::opcode_func_351,
-  (insn_func_t)&processor_t::opcode_func_352,
-  (insn_func_t)&processor_t::opcode_func_353,
-  (insn_func_t)&processor_t::opcode_func_354,
-  (insn_func_t)&processor_t::opcode_func_355,
-  (insn_func_t)&processor_t::opcode_func_356,
-  (insn_func_t)&processor_t::opcode_func_357,
-  (insn_func_t)&processor_t::opcode_func_358,
-  (insn_func_t)&processor_t::opcode_func_359,
-  (insn_func_t)&processor_t::opcode_func_35a,
-  (insn_func_t)&processor_t::opcode_func_35b,
-  (insn_func_t)&processor_t::opcode_func_35c,
-  (insn_func_t)&processor_t::opcode_func_35d,
-  (insn_func_t)&processor_t::opcode_func_35e,
-  (insn_func_t)&processor_t::opcode_func_35f,
-  (insn_func_t)&processor_t::opcode_func_360,
-  (insn_func_t)&processor_t::opcode_func_361,
-  (insn_func_t)&processor_t::opcode_func_362,
-  (insn_func_t)&processor_t::opcode_func_363,
-  (insn_func_t)&processor_t::opcode_func_364,
-  (insn_func_t)&processor_t::opcode_func_365,
-  (insn_func_t)&processor_t::opcode_func_366,
-  (insn_func_t)&processor_t::opcode_func_367,
-  (insn_func_t)&processor_t::opcode_func_368,
-  (insn_func_t)&processor_t::opcode_func_369,
-  (insn_func_t)&processor_t::opcode_func_36a,
-  (insn_func_t)&processor_t::opcode_func_36b,
-  (insn_func_t)&processor_t::opcode_func_36c,
-  (insn_func_t)&processor_t::opcode_func_36d,
-  (insn_func_t)&processor_t::opcode_func_36e,
-  (insn_func_t)&processor_t::opcode_func_36f,
-  (insn_func_t)&processor_t::opcode_func_370,
-  (insn_func_t)&processor_t::opcode_func_371,
-  (insn_func_t)&processor_t::opcode_func_372,
-  (insn_func_t)&processor_t::opcode_func_373,
-  (insn_func_t)&processor_t::opcode_func_374,
-  (insn_func_t)&processor_t::opcode_func_375,
-  (insn_func_t)&processor_t::opcode_func_376,
-  (insn_func_t)&processor_t::opcode_func_377,
-  (insn_func_t)&processor_t::opcode_func_378,
-  (insn_func_t)&processor_t::opcode_func_379,
-  (insn_func_t)&processor_t::opcode_func_37a,
-  (insn_func_t)&processor_t::opcode_func_37b,
-  (insn_func_t)&processor_t::opcode_func_37c,
-  (insn_func_t)&processor_t::opcode_func_37d,
-  (insn_func_t)&processor_t::opcode_func_37e,
-  (insn_func_t)&processor_t::opcode_func_37f,
-  (insn_func_t)&processor_t::opcode_func_380,
-  (insn_func_t)&processor_t::opcode_func_381,
-  (insn_func_t)&processor_t::opcode_func_382,
-  (insn_func_t)&processor_t::opcode_func_383,
-  (insn_func_t)&processor_t::opcode_func_384,
-  (insn_func_t)&processor_t::opcode_func_385,
-  (insn_func_t)&processor_t::opcode_func_386,
-  (insn_func_t)&processor_t::opcode_func_387,
-  (insn_func_t)&processor_t::opcode_func_388,
-  (insn_func_t)&processor_t::opcode_func_389,
-  (insn_func_t)&processor_t::opcode_func_38a,
-  (insn_func_t)&processor_t::opcode_func_38b,
-  (insn_func_t)&processor_t::opcode_func_38c,
-  (insn_func_t)&processor_t::opcode_func_38d,
-  (insn_func_t)&processor_t::opcode_func_38e,
-  (insn_func_t)&processor_t::opcode_func_38f,
-  (insn_func_t)&processor_t::opcode_func_390,
-  (insn_func_t)&processor_t::opcode_func_391,
-  (insn_func_t)&processor_t::opcode_func_392,
-  (insn_func_t)&processor_t::opcode_func_393,
-  (insn_func_t)&processor_t::opcode_func_394,
-  (insn_func_t)&processor_t::opcode_func_395,
-  (insn_func_t)&processor_t::opcode_func_396,
-  (insn_func_t)&processor_t::opcode_func_397,
-  (insn_func_t)&processor_t::opcode_func_398,
-  (insn_func_t)&processor_t::opcode_func_399,
-  (insn_func_t)&processor_t::opcode_func_39a,
-  (insn_func_t)&processor_t::opcode_func_39b,
-  (insn_func_t)&processor_t::opcode_func_39c,
-  (insn_func_t)&processor_t::opcode_func_39d,
-  (insn_func_t)&processor_t::opcode_func_39e,
-  (insn_func_t)&processor_t::opcode_func_39f,
-  (insn_func_t)&processor_t::opcode_func_3a0,
-  (insn_func_t)&processor_t::opcode_func_3a1,
-  (insn_func_t)&processor_t::opcode_func_3a2,
-  (insn_func_t)&processor_t::opcode_func_3a3,
-  (insn_func_t)&processor_t::opcode_func_3a4,
-  (insn_func_t)&processor_t::opcode_func_3a5,
-  (insn_func_t)&processor_t::opcode_func_3a6,
-  (insn_func_t)&processor_t::opcode_func_3a7,
-  (insn_func_t)&processor_t::opcode_func_3a8,
-  (insn_func_t)&processor_t::opcode_func_3a9,
-  (insn_func_t)&processor_t::opcode_func_3aa,
-  (insn_func_t)&processor_t::opcode_func_3ab,
-  (insn_func_t)&processor_t::opcode_func_3ac,
-  (insn_func_t)&processor_t::opcode_func_3ad,
-  (insn_func_t)&processor_t::opcode_func_3ae,
-  (insn_func_t)&processor_t::opcode_func_3af,
-  (insn_func_t)&processor_t::opcode_func_3b0,
-  (insn_func_t)&processor_t::opcode_func_3b1,
-  (insn_func_t)&processor_t::opcode_func_3b2,
-  (insn_func_t)&processor_t::opcode_func_3b3,
-  (insn_func_t)&processor_t::opcode_func_3b4,
-  (insn_func_t)&processor_t::opcode_func_3b5,
-  (insn_func_t)&processor_t::opcode_func_3b6,
-  (insn_func_t)&processor_t::opcode_func_3b7,
-  (insn_func_t)&processor_t::opcode_func_3b8,
-  (insn_func_t)&processor_t::opcode_func_3b9,
-  (insn_func_t)&processor_t::opcode_func_3ba,
-  (insn_func_t)&processor_t::opcode_func_3bb,
-  (insn_func_t)&processor_t::opcode_func_3bc,
-  (insn_func_t)&processor_t::opcode_func_3bd,
-  (insn_func_t)&processor_t::opcode_func_3be,
-  (insn_func_t)&processor_t::opcode_func_3bf,
-  (insn_func_t)&processor_t::opcode_func_3c0,
-  (insn_func_t)&processor_t::opcode_func_3c1,
-  (insn_func_t)&processor_t::opcode_func_3c2,
-  (insn_func_t)&processor_t::opcode_func_3c3,
-  (insn_func_t)&processor_t::opcode_func_3c4,
-  (insn_func_t)&processor_t::opcode_func_3c5,
-  (insn_func_t)&processor_t::opcode_func_3c6,
-  (insn_func_t)&processor_t::opcode_func_3c7,
-  (insn_func_t)&processor_t::opcode_func_3c8,
-  (insn_func_t)&processor_t::opcode_func_3c9,
-  (insn_func_t)&processor_t::opcode_func_3ca,
-  (insn_func_t)&processor_t::opcode_func_3cb,
-  (insn_func_t)&processor_t::opcode_func_3cc,
-  (insn_func_t)&processor_t::opcode_func_3cd,
-  (insn_func_t)&processor_t::opcode_func_3ce,
-  (insn_func_t)&processor_t::opcode_func_3cf,
-  (insn_func_t)&processor_t::opcode_func_3d0,
-  (insn_func_t)&processor_t::opcode_func_3d1,
-  (insn_func_t)&processor_t::opcode_func_3d2,
-  (insn_func_t)&processor_t::opcode_func_3d3,
-  (insn_func_t)&processor_t::opcode_func_3d4,
-  (insn_func_t)&processor_t::opcode_func_3d5,
-  (insn_func_t)&processor_t::opcode_func_3d6,
-  (insn_func_t)&processor_t::opcode_func_3d7,
-  (insn_func_t)&processor_t::opcode_func_3d8,
-  (insn_func_t)&processor_t::opcode_func_3d9,
-  (insn_func_t)&processor_t::opcode_func_3da,
-  (insn_func_t)&processor_t::opcode_func_3db,
-  (insn_func_t)&processor_t::opcode_func_3dc,
-  (insn_func_t)&processor_t::opcode_func_3dd,
-  (insn_func_t)&processor_t::opcode_func_3de,
-  (insn_func_t)&processor_t::opcode_func_3df,
-  (insn_func_t)&processor_t::opcode_func_3e0,
-  (insn_func_t)&processor_t::opcode_func_3e1,
-  (insn_func_t)&processor_t::opcode_func_3e2,
-  (insn_func_t)&processor_t::opcode_func_3e3,
-  (insn_func_t)&processor_t::opcode_func_3e4,
-  (insn_func_t)&processor_t::opcode_func_3e5,
-  (insn_func_t)&processor_t::opcode_func_3e6,
-  (insn_func_t)&processor_t::opcode_func_3e7,
-  (insn_func_t)&processor_t::opcode_func_3e8,
-  (insn_func_t)&processor_t::opcode_func_3e9,
-  (insn_func_t)&processor_t::opcode_func_3ea,
-  (insn_func_t)&processor_t::opcode_func_3eb,
-  (insn_func_t)&processor_t::opcode_func_3ec,
-  (insn_func_t)&processor_t::opcode_func_3ed,
-  (insn_func_t)&processor_t::opcode_func_3ee,
-  (insn_func_t)&processor_t::opcode_func_3ef,
-  (insn_func_t)&processor_t::opcode_func_3f0,
-  (insn_func_t)&processor_t::opcode_func_3f1,
-  (insn_func_t)&processor_t::opcode_func_3f2,
-  (insn_func_t)&processor_t::opcode_func_3f3,
-  (insn_func_t)&processor_t::opcode_func_3f4,
-  (insn_func_t)&processor_t::opcode_func_3f5,
-  (insn_func_t)&processor_t::opcode_func_3f6,
-  (insn_func_t)&processor_t::opcode_func_3f7,
-  (insn_func_t)&processor_t::opcode_func_3f8,
-  (insn_func_t)&processor_t::opcode_func_3f9,
-  (insn_func_t)&processor_t::opcode_func_3fa,
-  (insn_func_t)&processor_t::opcode_func_3fb,
-  (insn_func_t)&processor_t::opcode_func_3fc,
-  (insn_func_t)&processor_t::opcode_func_3fd,
-  (insn_func_t)&processor_t::opcode_func_3fe,
-  (insn_func_t)&processor_t::opcode_func_3ff,
-};
diff --git a/riscv/dispatch_0.cc b/riscv/dispatch_0.cc
deleted file mode 100644 (file)
index a22acd2..0000000
+++ /dev/null
@@ -1,887 +0,0 @@
-#include "insn_includes.h"
-
-reg_t processor_t::opcode_func_000(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_00a(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_014(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_01e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_028(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_032(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_03c(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_046(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_050(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_05a(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_064(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_06e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_078(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_082(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_08c(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_096(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_0a0(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_0aa(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_0b4(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_0be(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0c8(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_0d2(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_0dc(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_0e6(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_0f0(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_0fa(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_104(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_10e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_118(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_122(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_12c(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_136(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_140(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_14a(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_154(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_15e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_168(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_172(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_17c(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_186(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_190(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_19a(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_1a4(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_1ae(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1b8(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_1c2(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_1cc(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_1d6(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_1e0(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_1ea(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_1f4(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_1fe(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_208(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_212(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_21c(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_226(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_230(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_23a(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_244(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_24e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_258(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_262(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_26c(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_276(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_280(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_28a(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_294(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_29e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2a8(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_2b2(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_2bc(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_2c6(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_2d0(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_2da(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_2e4(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_2ee(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2f8(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_302(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_30c(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_316(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_320(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_32a(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_334(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_33e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_348(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_352(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_35c(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_366(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_370(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_37a(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_384(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_38e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_398(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_3a2(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_3ac(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_3b6(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_3c0(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_3ca(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_3d4(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_3de(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3e8(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_3f2(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_3fc(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000031c);
-    #include "insns/c_and3.h"
-    return npc;
-}
-
diff --git a/riscv/dispatch_1.cc b/riscv/dispatch_1.cc
deleted file mode 100644 (file)
index 2ec169a..0000000
+++ /dev/null
@@ -1,1227 +0,0 @@
-#include "insn_includes.h"
-
-reg_t processor_t::opcode_func_001(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_00b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x3fffff) == 0xb)
-  {
-    reg_t npc = pc + insn_length(0x0000000b);
-    #include "insns/vlb.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x100b)
-  {
-    reg_t npc = pc + insn_length(0x0000100b);
-    #include "insns/vlstb.h"
-    return npc;
-  }
-  if((insn.bits & 0xfff) == 0x80b)
-  {
-    reg_t npc = pc + insn_length(0x0000080b);
-    #include "insns/vlsegstb.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x200b)
-  {
-    reg_t npc = pc + insn_length(0x0000200b);
-    #include "insns/vlsegb.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_015(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_01f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_029(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_033(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x33)
-  {
-    reg_t npc = pc + insn_length(0x00000033);
-    #include "insns/add.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x433)
-  {
-    reg_t npc = pc + insn_length(0x00000433);
-    #include "insns/mul.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x10033)
-  {
-    reg_t npc = pc + insn_length(0x00010033);
-    #include "insns/sub.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_03d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_047(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000047);
-    #include "insns/fmsub_s.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_051(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_05b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_065(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_06f(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000006f);
-    #include "insns/jal.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_079(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_083(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000083);
-    #include "insns/lh.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_08d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_097(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0a1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0ab(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0b5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0bf(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0c9(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0d3(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x180d3)
-  {
-    reg_t npc = pc + insn_length(0x000180d3);
-    #include "insns/fmin_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xc0d3)
-  {
-    reg_t npc = pc + insn_length(0x0000c0d3);
-    #include "insns/fcvt_d_l.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xe0d3)
-  {
-    reg_t npc = pc + insn_length(0x0000e0d3);
-    #include "insns/fcvt_d_w.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x100d3)
-  {
-    reg_t npc = pc + insn_length(0x000100d3);
-    #include "insns/fcvt_d_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x190d3)
-  {
-    reg_t npc = pc + insn_length(0x000190d3);
-    #include "insns/fmax_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x7c1ffff) == 0x1c0d3)
-  {
-    reg_t npc = pc + insn_length(0x0001c0d3);
-    #include "insns/mftx_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x170d3)
-  {
-    reg_t npc = pc + insn_length(0x000170d3);
-    #include "insns/fle_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x160d3)
-  {
-    reg_t npc = pc + insn_length(0x000160d3);
-    #include "insns/flt_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x20d3)
-  {
-    reg_t npc = pc + insn_length(0x000020d3);
-    #include "insns/fmul_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x70d3)
-  {
-    reg_t npc = pc + insn_length(0x000070d3);
-    #include "insns/fsgnjx_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x150d3)
-  {
-    reg_t npc = pc + insn_length(0x000150d3);
-    #include "insns/feq_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xf0d3)
-  {
-    reg_t npc = pc + insn_length(0x0000f0d3);
-    #include "insns/fcvt_d_wu.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xb0d3)
-  {
-    reg_t npc = pc + insn_length(0x0000b0d3);
-    #include "insns/fcvt_wu_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x60d3)
-  {
-    reg_t npc = pc + insn_length(0x000060d3);
-    #include "insns/fsgnjn_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xd0d3)
-  {
-    reg_t npc = pc + insn_length(0x0000d0d3);
-    #include "insns/fcvt_d_lu.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xa0d3)
-  {
-    reg_t npc = pc + insn_length(0x0000a0d3);
-    #include "insns/fcvt_w_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x1e0d3)
-  {
-    reg_t npc = pc + insn_length(0x0001e0d3);
-    #include "insns/mxtf_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x50d3)
-  {
-    reg_t npc = pc + insn_length(0x000050d3);
-    #include "insns/fsgnj_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x80d3)
-  {
-    reg_t npc = pc + insn_length(0x000080d3);
-    #include "insns/fcvt_l_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0xd3)
-  {
-    reg_t npc = pc + insn_length(0x000000d3);
-    #include "insns/fadd_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x90d3)
-  {
-    reg_t npc = pc + insn_length(0x000090d3);
-    #include "insns/fcvt_lu_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x10d3)
-  {
-    reg_t npc = pc + insn_length(0x000010d3);
-    #include "insns/fsub_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x40d3)
-  {
-    reg_t npc = pc + insn_length(0x000040d3);
-    #include "insns/fsqrt_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x30d3)
-  {
-    reg_t npc = pc + insn_length(0x000030d3);
-    #include "insns/fdiv_d.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0dd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0e7(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000067);
-    #include "insns/j.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0f1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0fb(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x7ffffff) == 0xfb)
-  {
-    reg_t npc = pc + insn_length(0x000000fb);
-    #include "insns/di.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_105(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_10f(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x150f)
-  {
-    reg_t npc = pc + insn_length(0x0000150f);
-    #include "insns/vfsstw.h"
-    return npc;
-  }
-  if((insn.bits & 0xfff) == 0x90f)
-  {
-    reg_t npc = pc + insn_length(0x0000090f);
-    #include "insns/vssegstw.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x10f)
-  {
-    reg_t npc = pc + insn_length(0x0000010f);
-    #include "insns/vsw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x110f)
-  {
-    reg_t npc = pc + insn_length(0x0000110f);
-    #include "insns/vsstw.h"
-    return npc;
-  }
-  if((insn.bits & 0xfff) == 0xd0f)
-  {
-    reg_t npc = pc + insn_length(0x00000d0f);
-    #include "insns/vfssegstw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x210f)
-  {
-    reg_t npc = pc + insn_length(0x0000210f);
-    #include "insns/vssegw.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x50f)
-  {
-    reg_t npc = pc + insn_length(0x0000050f);
-    #include "insns/vfsw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x250f)
-  {
-    reg_t npc = pc + insn_length(0x0000250f);
-    #include "insns/vfssegw.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_119(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_123(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000123);
-    #include "insns/sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_12d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_137(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000037);
-    #include "insns/lui.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_141(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_14b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_155(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_15f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_169(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_173(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x1173)
-  {
-    reg_t npc = pc + insn_length(0x00001173);
-    #include "insns/vfmst.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x1973)
-  {
-    reg_t npc = pc + insn_length(0x00001973);
-    #include "insns/vfmts.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x973)
-  {
-    reg_t npc = pc + insn_length(0x00000973);
-    #include "insns/vfmsv.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x173)
-  {
-    reg_t npc = pc + insn_length(0x00000173);
-    #include "insns/vfmvv.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_17d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_187(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000187);
-    #include "insns/fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_191(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_19b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1a5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1af(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1b9(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1c3(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1cd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1d7(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1e1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1eb(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1f5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1ff(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_209(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_213(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000213);
-    #include "insns/xori.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_21d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_227(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_231(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_23b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x63b)
-  {
-    reg_t npc = pc + insn_length(0x0000063b);
-    #include "insns/divw.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_245(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_24f(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000004f);
-    #include "insns/fnmadd_s.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_259(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_263(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000263);
-    #include "insns/blt.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_26d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_277(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x7ffffff) == 0x277)
-  {
-    reg_t npc = pc + insn_length(0x00000277);
-    #include "insns/rdcycle.h"
-    return npc;
-  }
-  if((insn.bits & 0x7ffffff) == 0xa77)
-  {
-    reg_t npc = pc + insn_length(0x00000a77);
-    #include "insns/rdinstret.h"
-    return npc;
-  }
-  if((insn.bits & 0x7ffffff) == 0x677)
-  {
-    reg_t npc = pc + insn_length(0x00000677);
-    #include "insns/rdtime.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_281(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_28b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x128b)
-  {
-    reg_t npc = pc + insn_length(0x0000128b);
-    #include "insns/vlsthu.h"
-    return npc;
-  }
-  if((insn.bits & 0xfff) == 0xa8b)
-  {
-    reg_t npc = pc + insn_length(0x00000a8b);
-    #include "insns/vlsegsthu.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x28b)
-  {
-    reg_t npc = pc + insn_length(0x0000028b);
-    #include "insns/vlhu.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x228b)
-  {
-    reg_t npc = pc + insn_length(0x0000228b);
-    #include "insns/vlseghu.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_295(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_29f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2a9(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2b3(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x102b3)
-  {
-    reg_t npc = pc + insn_length(0x000102b3);
-    #include "insns/sra.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x2b3)
-  {
-    reg_t npc = pc + insn_length(0x000002b3);
-    #include "insns/srl.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x6b3)
-  {
-    reg_t npc = pc + insn_length(0x000006b3);
-    #include "insns/divu.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2bd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2c7(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000000c7);
-    #include "insns/fmsub_d.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2d1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2db(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2e5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2ef(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000006f);
-    #include "insns/jal.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2f9(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_303(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000303);
-    #include "insns/lwu.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_30d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_317(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_321(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_32b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_335(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_33f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_349(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_353(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_35d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_367(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000067);
-    #include "insns/j.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_371(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_37b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_385(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_38f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_399(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3a3(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3ad(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3b7(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000037);
-    #include "insns/lui.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3c1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3cb(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3d5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3df(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3e9(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3f3(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0xf80003ff) == 0x3f3)
-  {
-    reg_t npc = pc + insn_length(0x000003f3);
-    #include "insns/vf.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3fd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
diff --git a/riscv/dispatch_2.cc b/riscv/dispatch_2.cc
deleted file mode 100644 (file)
index 3f9871f..0000000
+++ /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;
-}
-
diff --git a/riscv/dispatch_3.cc b/riscv/dispatch_3.cc
deleted file mode 100644 (file)
index a3e7a8f..0000000
+++ /dev/null
@@ -1,1211 +0,0 @@
-#include "insn_includes.h"
-
-reg_t processor_t::opcode_func_003(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000003);
-    #include "insns/lb.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_00d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_017(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_021(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_02b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_035(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_03f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_049(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_053(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x3ff1ff) == 0x9053)
-  {
-    reg_t npc = pc + insn_length(0x00009053);
-    #include "insns/fcvt_lu_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x18053)
-  {
-    reg_t npc = pc + insn_length(0x00018053);
-    #include "insns/fmin_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x11053)
-  {
-    reg_t npc = pc + insn_length(0x00011053);
-    #include "insns/fcvt_s_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xe053)
-  {
-    reg_t npc = pc + insn_length(0x0000e053);
-    #include "insns/fcvt_s_w.h"
-    return npc;
-  }
-  if((insn.bits & 0x7c1ffff) == 0x1c053)
-  {
-    reg_t npc = pc + insn_length(0x0001c053);
-    #include "insns/mftx_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x8053)
-  {
-    reg_t npc = pc + insn_length(0x00008053);
-    #include "insns/fcvt_l_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x17053)
-  {
-    reg_t npc = pc + insn_length(0x00017053);
-    #include "insns/fle_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x7ffffff) == 0x1d053)
-  {
-    reg_t npc = pc + insn_length(0x0001d053);
-    #include "insns/mffsr.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x3053)
-  {
-    reg_t npc = pc + insn_length(0x00003053);
-    #include "insns/fdiv_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x1f053)
-  {
-    reg_t npc = pc + insn_length(0x0001f053);
-    #include "insns/mtfsr.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xd053)
-  {
-    reg_t npc = pc + insn_length(0x0000d053);
-    #include "insns/fcvt_s_lu.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x2053)
-  {
-    reg_t npc = pc + insn_length(0x00002053);
-    #include "insns/fmul_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x16053)
-  {
-    reg_t npc = pc + insn_length(0x00016053);
-    #include "insns/flt_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x15053)
-  {
-    reg_t npc = pc + insn_length(0x00015053);
-    #include "insns/feq_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x7053)
-  {
-    reg_t npc = pc + insn_length(0x00007053);
-    #include "insns/fsgnjx_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x19053)
-  {
-    reg_t npc = pc + insn_length(0x00019053);
-    #include "insns/fmax_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xb053)
-  {
-    reg_t npc = pc + insn_length(0x0000b053);
-    #include "insns/fcvt_wu_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x1e053)
-  {
-    reg_t npc = pc + insn_length(0x0001e053);
-    #include "insns/mxtf_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x1053)
-  {
-    reg_t npc = pc + insn_length(0x00001053);
-    #include "insns/fsub_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x5053)
-  {
-    reg_t npc = pc + insn_length(0x00005053);
-    #include "insns/fsgnj_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xf053)
-  {
-    reg_t npc = pc + insn_length(0x0000f053);
-    #include "insns/fcvt_s_wu.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xc053)
-  {
-    reg_t npc = pc + insn_length(0x0000c053);
-    #include "insns/fcvt_s_l.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xa053)
-  {
-    reg_t npc = pc + insn_length(0x0000a053);
-    #include "insns/fcvt_w_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x4053)
-  {
-    reg_t npc = pc + insn_length(0x00004053);
-    #include "insns/fsqrt_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x6053)
-  {
-    reg_t npc = pc + insn_length(0x00006053);
-    #include "insns/fsgnjn_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x53)
-  {
-    reg_t npc = pc + insn_length(0x00000053);
-    #include "insns/fadd_s.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_05d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_067(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000067);
-    #include "insns/j.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_071(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_07b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x7ffffff) == 0x7b)
-  {
-    reg_t npc = pc + insn_length(0x0000007b);
-    #include "insns/ei.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_085(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_08f(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0xfff) == 0x88f)
-  {
-    reg_t npc = pc + insn_length(0x0000088f);
-    #include "insns/vssegsth.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x108f)
-  {
-    reg_t npc = pc + insn_length(0x0000108f);
-    #include "insns/vssth.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x8f)
-  {
-    reg_t npc = pc + insn_length(0x0000008f);
-    #include "insns/vsh.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x208f)
-  {
-    reg_t npc = pc + insn_length(0x0000208f);
-    #include "insns/vssegh.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_099(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0a3(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000000a3);
-    #include "insns/sh.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0ad(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0b7(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000037);
-    #include "insns/lui.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0c1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0cb(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000000cb);
-    #include "insns/fnmsub_d.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0d5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0df(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0e9(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0f3(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000000f3);
-    #include "insns/vvcfgivl.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0fd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_107(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000107);
-    #include "insns/flw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_111(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_11b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_125(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_12f(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000012f);
-    #include "insns/fence.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_139(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_143(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_14d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_157(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_161(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_16b(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000016b);
-    #include "insns/jalr_j.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_175(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_17f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_189(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_193(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000193);
-    #include "insns/sltiu.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_19d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1a7(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000001a7);
-    #include "insns/fsd.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1b1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1bb(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1c5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1cf(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1d9(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1e3(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1ed(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1f7(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x7ffffff) == 0x1f7)
-  {
-    reg_t npc = pc + insn_length(0x000001f7);
-    #include "insns/utidx.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_201(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_20b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x120b)
-  {
-    reg_t npc = pc + insn_length(0x0000120b);
-    #include "insns/vlstbu.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x220b)
-  {
-    reg_t npc = pc + insn_length(0x0000220b);
-    #include "insns/vlsegbu.h"
-    return npc;
-  }
-  if((insn.bits & 0xfff) == 0xa0b)
-  {
-    reg_t npc = pc + insn_length(0x00000a0b);
-    #include "insns/vlsegstbu.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x20b)
-  {
-    reg_t npc = pc + insn_length(0x0000020b);
-    #include "insns/vlbu.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_215(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_21f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_229(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_233(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x633)
-  {
-    reg_t npc = pc + insn_length(0x00000633);
-    #include "insns/div.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x233)
-  {
-    reg_t npc = pc + insn_length(0x00000233);
-    #include "insns/xor.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_23d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_247(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000047);
-    #include "insns/fmsub_s.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_251(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_25b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_265(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_26f(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000006f);
-    #include "insns/jal.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_279(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_283(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000283);
-    #include "insns/lhu.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_28d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_297(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2a1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2ab(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2b5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2bf(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2c9(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2d3(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x3ff1ff) == 0xc0d3)
-  {
-    reg_t npc = pc + insn_length(0x0000c0d3);
-    #include "insns/fcvt_d_l.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xe0d3)
-  {
-    reg_t npc = pc + insn_length(0x0000e0d3);
-    #include "insns/fcvt_d_w.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x100d3)
-  {
-    reg_t npc = pc + insn_length(0x000100d3);
-    #include "insns/fcvt_d_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x20d3)
-  {
-    reg_t npc = pc + insn_length(0x000020d3);
-    #include "insns/fmul_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xf0d3)
-  {
-    reg_t npc = pc + insn_length(0x0000f0d3);
-    #include "insns/fcvt_d_wu.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xb0d3)
-  {
-    reg_t npc = pc + insn_length(0x0000b0d3);
-    #include "insns/fcvt_wu_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xd0d3)
-  {
-    reg_t npc = pc + insn_length(0x0000d0d3);
-    #include "insns/fcvt_d_lu.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xa0d3)
-  {
-    reg_t npc = pc + insn_length(0x0000a0d3);
-    #include "insns/fcvt_w_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x80d3)
-  {
-    reg_t npc = pc + insn_length(0x000080d3);
-    #include "insns/fcvt_l_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0xd3)
-  {
-    reg_t npc = pc + insn_length(0x000000d3);
-    #include "insns/fadd_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x90d3)
-  {
-    reg_t npc = pc + insn_length(0x000090d3);
-    #include "insns/fcvt_lu_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x10d3)
-  {
-    reg_t npc = pc + insn_length(0x000010d3);
-    #include "insns/fsub_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x40d3)
-  {
-    reg_t npc = pc + insn_length(0x000040d3);
-    #include "insns/fsqrt_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x30d3)
-  {
-    reg_t npc = pc + insn_length(0x000030d3);
-    #include "insns/fdiv_d.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2dd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2e7(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000067);
-    #include "insns/j.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2f1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2fb(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0xffffffff) == 0x2fb)
-  {
-    reg_t npc = pc + insn_length(0x000002fb);
-    #include "insns/cflush.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_305(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_30f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_319(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_323(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_32d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_337(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000037);
-    #include "insns/lui.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_341(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_34b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_355(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_35f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_369(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_373(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_37d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_387(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_391(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_39b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3a5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3af(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000003af);
-    #include "insns/fence_g_cv.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3b9(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3c3(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3cd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3d7(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3e1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3eb(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3f5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3ff(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
diff --git a/riscv/dispatch_4.cc b/riscv/dispatch_4.cc
deleted file mode 100644 (file)
index 294ff1a..0000000
+++ /dev/null
@@ -1,880 +0,0 @@
-#include "insn_includes.h"
-
-reg_t processor_t::opcode_func_004(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_00e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_018(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_022(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_02c(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_036(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_040(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_04a(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_054(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_05e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_068(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_072(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_07c(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_086(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_090(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_09a(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_0a4(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_0ae(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0b8(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_0c2(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_0cc(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_0d6(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_0e0(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_0ea(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_0f4(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_0fe(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_108(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_112(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_11c(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_126(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_130(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_13a(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_144(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_14e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_158(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_162(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_16c(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_176(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_180(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_18a(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_194(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_19e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1a8(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_1b2(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_1bc(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_1c6(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_1d0(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_1da(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_1e4(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_1ee(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1f8(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_202(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_20c(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_216(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_220(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_22a(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_234(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_23e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_248(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_252(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_25c(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_266(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_270(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_27a(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_284(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_28e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_298(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_2a2(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_2ac(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_2b6(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_2c0(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_2ca(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_2d4(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_2de(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2e8(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_2f2(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_2fc(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_306(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_310(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_31a(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_324(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_32e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_338(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_342(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_34c(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_356(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_360(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_36a(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_374(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_37e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_388(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_392(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_39c(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_3a6(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_3b0(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_3ba(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_3c4(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_3ce(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3d8(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_3e2(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_3ec(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_3f6(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000016);
-    #include "insns/c_fsw.h"
-    return npc;
-}
-
diff --git a/riscv/dispatch_5.cc b/riscv/dispatch_5.cc
deleted file mode 100644 (file)
index 37dc146..0000000
+++ /dev/null
@@ -1,1148 +0,0 @@
-#include "insn_includes.h"
-
-reg_t processor_t::opcode_func_005(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_00f(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0xfff) == 0x80f)
-  {
-    reg_t npc = pc + insn_length(0x0000080f);
-    #include "insns/vssegstb.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0xf)
-  {
-    reg_t npc = pc + insn_length(0x0000000f);
-    #include "insns/vsb.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x100f)
-  {
-    reg_t npc = pc + insn_length(0x0000100f);
-    #include "insns/vsstb.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x200f)
-  {
-    reg_t npc = pc + insn_length(0x0000200f);
-    #include "insns/vssegb.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_019(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_023(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000023);
-    #include "insns/sb.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_02d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_037(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000037);
-    #include "insns/lui.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_041(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_04b(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000004b);
-    #include "insns/fnmsub_s.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_055(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_05f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_069(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_073(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x1873)
-  {
-    reg_t npc = pc + insn_length(0x00001873);
-    #include "insns/vmts.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x73)
-  {
-    reg_t npc = pc + insn_length(0x00000073);
-    #include "insns/vmvv.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x873)
-  {
-    reg_t npc = pc + insn_length(0x00000873);
-    #include "insns/vmsv.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x1073)
-  {
-    reg_t npc = pc + insn_length(0x00001073);
-    #include "insns/vmst.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_07d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_087(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_091(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_09b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x3f83ff) == 0x9b)
-  {
-    reg_t npc = pc + insn_length(0x0000009b);
-    #include "insns/slliw.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0a5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0af(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000000af);
-    #include "insns/fence_i.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0b9(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0c3(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000000c3);
-    #include "insns/fmadd_d.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0cd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0d7(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0e1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0eb(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000000eb);
-    #include "insns/jalr_r.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0f5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0ff(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_109(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_113(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000113);
-    #include "insns/slti.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_11d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_127(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000127);
-    #include "insns/fsw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_131(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_13b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_145(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_14f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_159(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_163(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_16d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_177(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0xffffffff) == 0x177)
-  {
-    reg_t npc = pc + insn_length(0x00000177);
-    #include "insns/stop.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_181(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_18b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x158b)
-  {
-    reg_t npc = pc + insn_length(0x0000158b);
-    #include "insns/vflstd.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x18b)
-  {
-    reg_t npc = pc + insn_length(0x0000018b);
-    #include "insns/vld.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x118b)
-  {
-    reg_t npc = pc + insn_length(0x0000118b);
-    #include "insns/vlstd.h"
-    return npc;
-  }
-  if((insn.bits & 0xfff) == 0x98b)
-  {
-    reg_t npc = pc + insn_length(0x0000098b);
-    #include "insns/vlsegstd.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x258b)
-  {
-    reg_t npc = pc + insn_length(0x0000258b);
-    #include "insns/vflsegd.h"
-    return npc;
-  }
-  if((insn.bits & 0xfff) == 0xd8b)
-  {
-    reg_t npc = pc + insn_length(0x00000d8b);
-    #include "insns/vflsegstd.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x58b)
-  {
-    reg_t npc = pc + insn_length(0x0000058b);
-    #include "insns/vfld.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x218b)
-  {
-    reg_t npc = pc + insn_length(0x0000218b);
-    #include "insns/vlsegd.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_195(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_19f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1a9(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1b3(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x1b3)
-  {
-    reg_t npc = pc + insn_length(0x000001b3);
-    #include "insns/sltu.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x5b3)
-  {
-    reg_t npc = pc + insn_length(0x000005b3);
-    #include "insns/mulhu.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1bd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1c7(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1d1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1db(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1e5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1ef(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000006f);
-    #include "insns/jal.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1f9(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_203(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000203);
-    #include "insns/lbu.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_20d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_217(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_221(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_22b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_235(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_23f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_249(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_253(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x3ff1ff) == 0x9053)
-  {
-    reg_t npc = pc + insn_length(0x00009053);
-    #include "insns/fcvt_lu_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x11053)
-  {
-    reg_t npc = pc + insn_length(0x00011053);
-    #include "insns/fcvt_s_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xe053)
-  {
-    reg_t npc = pc + insn_length(0x0000e053);
-    #include "insns/fcvt_s_w.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x8053)
-  {
-    reg_t npc = pc + insn_length(0x00008053);
-    #include "insns/fcvt_l_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x3053)
-  {
-    reg_t npc = pc + insn_length(0x00003053);
-    #include "insns/fdiv_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xd053)
-  {
-    reg_t npc = pc + insn_length(0x0000d053);
-    #include "insns/fcvt_s_lu.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x2053)
-  {
-    reg_t npc = pc + insn_length(0x00002053);
-    #include "insns/fmul_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xb053)
-  {
-    reg_t npc = pc + insn_length(0x0000b053);
-    #include "insns/fcvt_wu_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x1053)
-  {
-    reg_t npc = pc + insn_length(0x00001053);
-    #include "insns/fsub_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xf053)
-  {
-    reg_t npc = pc + insn_length(0x0000f053);
-    #include "insns/fcvt_s_wu.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xc053)
-  {
-    reg_t npc = pc + insn_length(0x0000c053);
-    #include "insns/fcvt_s_l.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0xa053)
-  {
-    reg_t npc = pc + insn_length(0x0000a053);
-    #include "insns/fcvt_w_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x3ff1ff) == 0x4053)
-  {
-    reg_t npc = pc + insn_length(0x00004053);
-    #include "insns/fsqrt_s.h"
-    return npc;
-  }
-  if((insn.bits & 0x1f1ff) == 0x53)
-  {
-    reg_t npc = pc + insn_length(0x00000053);
-    #include "insns/fadd_s.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_25d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_267(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000067);
-    #include "insns/j.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_271(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_27b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0xffffffff) == 0x27b)
-  {
-    reg_t npc = pc + insn_length(0x0000027b);
-    #include "insns/eret.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_285(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_28f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_299(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2a3(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2ad(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2b7(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000037);
-    #include "insns/lui.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2c1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2cb(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000000cb);
-    #include "insns/fnmsub_d.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2d5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2df(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2e9(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2f3(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x3fffff) == 0x2f3)
-  {
-    reg_t npc = pc + insn_length(0x000002f3);
-    #include "insns/vsetvl.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2fd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_307(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_311(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_31b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_325(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_32f(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000032f);
-    #include "insns/fence_l_cv.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_339(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_343(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_34d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_357(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_361(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_36b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_375(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_37f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_389(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_393(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000393);
-    #include "insns/andi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_39d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3a7(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3b1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3bb(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x7bb)
-  {
-    reg_t npc = pc + insn_length(0x000007bb);
-    #include "insns/remuw.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3c5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3cf(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3d9(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3e3(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000003e3);
-    #include "insns/bgeu.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3ed(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3f7(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
diff --git a/riscv/dispatch_6.cc b/riscv/dispatch_6.cc
deleted file mode 100644 (file)
index 11a3c04..0000000
+++ /dev/null
@@ -1,880 +0,0 @@
-#include "insn_includes.h"
-
-reg_t processor_t::opcode_func_006(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_010(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_01a(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_024(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_02e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_038(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_042(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_04c(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_056(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_060(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_06a(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_074(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_07e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_088(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_092(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_09c(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_0a6(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_0b0(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_0ba(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_0c4(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_0ce(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0d8(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_0e2(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_0ec(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_0f6(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_100(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_10a(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_114(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_11e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_128(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_132(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_13c(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_146(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_150(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_15a(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_164(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_16e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_178(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_182(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_18c(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_196(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_1a0(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_1aa(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_1b4(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_1be(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1c8(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_1d2(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_1dc(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_1e6(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_1f0(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_1fa(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_204(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_20e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_218(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_222(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_22c(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_236(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_240(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_24a(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_254(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_25e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_268(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_272(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_27c(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_286(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_290(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_29a(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_2a4(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_2ae(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2b8(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_2c2(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_2cc(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_2d6(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_2e0(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_2ea(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_2f4(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_2fe(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_308(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_312(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_31c(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_326(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_330(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_33a(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_344(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_34e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_358(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_362(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_36c(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_376(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_380(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_38a(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_394(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_39e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3a8(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_3b2(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_3bc(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_3c6(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_3d0(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_3da(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_3e4(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_3ee(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3f8(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000018);
-    #include "insns/c_fsd.h"
-    return npc;
-}
-
diff --git a/riscv/dispatch_7.cc b/riscv/dispatch_7.cc
deleted file mode 100644 (file)
index 7e8dbd8..0000000
+++ /dev/null
@@ -1,1086 +0,0 @@
-#include "insn_includes.h"
-
-reg_t processor_t::opcode_func_007(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_011(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_01b(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001b);
-    #include "insns/addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_025(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_02f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_039(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_043(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000043);
-    #include "insns/fmadd_s.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_04d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_057(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_061(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_06b(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000006b);
-    #include "insns/jalr_c.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_075(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_07f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_089(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_093(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x3f03ff) == 0x93)
-  {
-    reg_t npc = pc + insn_length(0x00000093);
-    #include "insns/slli.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_09d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0a7(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0b1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0bb(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0xbb)
-  {
-    reg_t npc = pc + insn_length(0x000000bb);
-    #include "insns/sllw.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0c5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0cf(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000000cf);
-    #include "insns/fnmadd_d.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0d9(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0e3(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000000e3);
-    #include "insns/bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0ed(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0f7(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0xffffffff) == 0xf7)
-  {
-    reg_t npc = pc + insn_length(0x000000f7);
-    #include "insns/break.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_101(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_10b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x150b)
-  {
-    reg_t npc = pc + insn_length(0x0000150b);
-    #include "insns/vflstw.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x10b)
-  {
-    reg_t npc = pc + insn_length(0x0000010b);
-    #include "insns/vlw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x110b)
-  {
-    reg_t npc = pc + insn_length(0x0000110b);
-    #include "insns/vlstw.h"
-    return npc;
-  }
-  if((insn.bits & 0xfff) == 0x90b)
-  {
-    reg_t npc = pc + insn_length(0x0000090b);
-    #include "insns/vlsegstw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x250b)
-  {
-    reg_t npc = pc + insn_length(0x0000250b);
-    #include "insns/vflsegw.h"
-    return npc;
-  }
-  if((insn.bits & 0xfff) == 0xd0b)
-  {
-    reg_t npc = pc + insn_length(0x00000d0b);
-    #include "insns/vflsegstw.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x50b)
-  {
-    reg_t npc = pc + insn_length(0x0000050b);
-    #include "insns/vflw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x210b)
-  {
-    reg_t npc = pc + insn_length(0x0000210b);
-    #include "insns/vlsegw.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_115(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_11f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_129(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_133(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x533)
-  {
-    reg_t npc = pc + insn_length(0x00000533);
-    #include "insns/mulhsu.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x133)
-  {
-    reg_t npc = pc + insn_length(0x00000133);
-    #include "insns/slt.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_13d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_147(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_151(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_15b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_165(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_16f(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000006f);
-    #include "insns/jal.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_179(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_183(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000183);
-    #include "insns/ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_18d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_197(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1a1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1ab(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x19ab)
-  {
-    reg_t npc = pc + insn_length(0x000019ab);
-    #include "insns/amominu_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x9ab)
-  {
-    reg_t npc = pc + insn_length(0x000009ab);
-    #include "insns/amoand_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x1dab)
-  {
-    reg_t npc = pc + insn_length(0x00001dab);
-    #include "insns/amomaxu_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x1ab)
-  {
-    reg_t npc = pc + insn_length(0x000001ab);
-    #include "insns/amoadd_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x15ab)
-  {
-    reg_t npc = pc + insn_length(0x000015ab);
-    #include "insns/amomax_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0xdab)
-  {
-    reg_t npc = pc + insn_length(0x00000dab);
-    #include "insns/amoor_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x5ab)
-  {
-    reg_t npc = pc + insn_length(0x000005ab);
-    #include "insns/amoswap_d.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x11ab)
-  {
-    reg_t npc = pc + insn_length(0x000011ab);
-    #include "insns/amomin_d.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1b5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1bf(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1c9(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1d3(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1dd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1e7(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000067);
-    #include "insns/j.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1f1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1fb(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0xf801ffff) == 0x1fb)
-  {
-    reg_t npc = pc + insn_length(0x000001fb);
-    #include "insns/mtpcr.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_205(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_20f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_219(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_223(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_22d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_237(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000037);
-    #include "insns/lui.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_241(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_24b(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000004b);
-    #include "insns/fnmsub_s.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_255(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_25f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_269(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_273(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_27d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_287(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_291(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_29b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x3f83ff) == 0x29b)
-  {
-    reg_t npc = pc + insn_length(0x0000029b);
-    #include "insns/srliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x3f83ff) == 0x1029b)
-  {
-    reg_t npc = pc + insn_length(0x0001029b);
-    #include "insns/sraiw.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2a5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2af(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000002af);
-    #include "insns/fence_g_v.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2b9(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2c3(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000000c3);
-    #include "insns/fmadd_d.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2cd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2d7(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2e1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2eb(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2f5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2ff(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_309(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_313(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000313);
-    #include "insns/ori.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_31d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_327(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_331(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_33b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x73b)
-  {
-    reg_t npc = pc + insn_length(0x0000073b);
-    #include "insns/remw.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_345(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_34f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_359(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_363(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000363);
-    #include "insns/bltu.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_36d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_377(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_381(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_38b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_395(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_39f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3a9(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3b3(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x7b3)
-  {
-    reg_t npc = pc + insn_length(0x000007b3);
-    #include "insns/remu.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x3b3)
-  {
-    reg_t npc = pc + insn_length(0x000003b3);
-    #include "insns/and.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3bd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3c7(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3d1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3db(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3e5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3ef(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000006f);
-    #include "insns/jal.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3f9(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
diff --git a/riscv/dispatch_8.cc b/riscv/dispatch_8.cc
deleted file mode 100644 (file)
index 3dd44dd..0000000
+++ /dev/null
@@ -1,892 +0,0 @@
-#include "insn_includes.h"
-
-reg_t processor_t::opcode_func_008(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_012(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_01c(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_026(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_030(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_03a(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_044(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_04e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_058(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_062(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_06c(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_076(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_080(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_08a(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_094(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_09e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0a8(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_0b2(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_0bc(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_0c6(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_0d0(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_0da(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_0e4(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_0ee(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0f8(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_102(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_10c(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_116(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_120(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_12a(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_134(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_13e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_148(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_152(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_15c(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_166(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_170(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_17a(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_184(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_18e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_198(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_1a2(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_1ac(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_1b6(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_1c0(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_1ca(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_1d4(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_1de(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1e8(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_1f2(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_1fc(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_206(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_210(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_21a(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_224(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_22e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_238(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_242(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_24c(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_256(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_260(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_26a(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_274(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_27e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_288(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_292(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_29c(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_2a6(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_2b0(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_2ba(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_2c4(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_2ce(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2d8(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_2e2(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_2ec(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_2f6(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_300(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_30a(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_314(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_31e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_328(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_332(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_33c(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_346(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_350(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_35a(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_364(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_36e(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_378(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_382(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_38c(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_396(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_3a0(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_3aa(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_3b4(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_3be(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3c8(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_3d2(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_3dc(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_3e6(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_3f0(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_3fa(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;
-}
-
diff --git a/riscv/dispatch_9.cc b/riscv/dispatch_9.cc
deleted file mode 100644 (file)
index eb5d76c..0000000
+++ /dev/null
@@ -1,1144 +0,0 @@
-#include "insn_includes.h"
-
-reg_t processor_t::opcode_func_009(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_013(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000013);
-    #include "insns/addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_01d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_027(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_031(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_03b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x43b)
-  {
-    reg_t npc = pc + insn_length(0x0000043b);
-    #include "insns/mulw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x3b)
-  {
-    reg_t npc = pc + insn_length(0x0000003b);
-    #include "insns/addw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x1003b)
-  {
-    reg_t npc = pc + insn_length(0x0001003b);
-    #include "insns/subw.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_045(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_04f(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000004f);
-    #include "insns/fnmadd_s.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_059(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_063(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000063);
-    #include "insns/beq.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_06d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_077(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0xffffffff) == 0x77)
-  {
-    reg_t npc = pc + insn_length(0x00000077);
-    #include "insns/syscall.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_081(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_08b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x3fffff) == 0x8b)
-  {
-    reg_t npc = pc + insn_length(0x0000008b);
-    #include "insns/vlh.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x108b)
-  {
-    reg_t npc = pc + insn_length(0x0000108b);
-    #include "insns/vlsth.h"
-    return npc;
-  }
-  if((insn.bits & 0xfff) == 0x88b)
-  {
-    reg_t npc = pc + insn_length(0x0000088b);
-    #include "insns/vlsegsth.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x208b)
-  {
-    reg_t npc = pc + insn_length(0x0000208b);
-    #include "insns/vlsegh.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_095(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_09f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0a9(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0b3(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0xb3)
-  {
-    reg_t npc = pc + insn_length(0x000000b3);
-    #include "insns/sll.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x4b3)
-  {
-    reg_t npc = pc + insn_length(0x000004b3);
-    #include "insns/mulh.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0bd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0c7(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000000c7);
-    #include "insns/fmsub_d.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0d1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0db(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_0e5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0ef(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000006f);
-    #include "insns/jal.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_0f9(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_103(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000103);
-    #include "insns/lw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_10d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_117(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_121(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_12b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x192b)
-  {
-    reg_t npc = pc + insn_length(0x0000192b);
-    #include "insns/amominu_w.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x92b)
-  {
-    reg_t npc = pc + insn_length(0x0000092b);
-    #include "insns/amoand_w.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x1d2b)
-  {
-    reg_t npc = pc + insn_length(0x00001d2b);
-    #include "insns/amomaxu_w.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x152b)
-  {
-    reg_t npc = pc + insn_length(0x0000152b);
-    #include "insns/amomax_w.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x12b)
-  {
-    reg_t npc = pc + insn_length(0x0000012b);
-    #include "insns/amoadd_w.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0xd2b)
-  {
-    reg_t npc = pc + insn_length(0x00000d2b);
-    #include "insns/amoor_w.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x112b)
-  {
-    reg_t npc = pc + insn_length(0x0000112b);
-    #include "insns/amomin_w.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x52b)
-  {
-    reg_t npc = pc + insn_length(0x0000052b);
-    #include "insns/amoswap_w.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_135(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_13f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_149(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_153(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_15d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_167(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000067);
-    #include "insns/j.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_171(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_17b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x7c1ffff) == 0x17b)
-  {
-    reg_t npc = pc + insn_length(0x0000017b);
-    #include "insns/mfpcr.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_185(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_18f(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0xfff) == 0x98f)
-  {
-    reg_t npc = pc + insn_length(0x0000098f);
-    #include "insns/vssegstd.h"
-    return npc;
-  }
-  if((insn.bits & 0xfff) == 0xd8f)
-  {
-    reg_t npc = pc + insn_length(0x00000d8f);
-    #include "insns/vfssegstd.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x118f)
-  {
-    reg_t npc = pc + insn_length(0x0000118f);
-    #include "insns/vsstd.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x218f)
-  {
-    reg_t npc = pc + insn_length(0x0000218f);
-    #include "insns/vssegd.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x158f)
-  {
-    reg_t npc = pc + insn_length(0x0000158f);
-    #include "insns/vfsstd.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x18f)
-  {
-    reg_t npc = pc + insn_length(0x0000018f);
-    #include "insns/vsd.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x58f)
-  {
-    reg_t npc = pc + insn_length(0x0000058f);
-    #include "insns/vfsd.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x258f)
-  {
-    reg_t npc = pc + insn_length(0x0000258f);
-    #include "insns/vfssegd.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_199(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1a3(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000001a3);
-    #include "insns/sd.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1ad(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1b7(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000037);
-    #include "insns/lui.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1c1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1cb(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1d5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1df(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_1e9(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1f3(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000001f3);
-    #include "insns/vtcfgivl.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_1fd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_207(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_211(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_21b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_225(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_22f(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000022f);
-    #include "insns/fence_l_v.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_239(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_243(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000043);
-    #include "insns/fmadd_s.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_24d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_257(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_261(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_26b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x7ffffff) == 0x26b)
-  {
-    reg_t npc = pc + insn_length(0x0000026b);
-    #include "insns/rdnpc.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_275(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_27f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_289(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_293(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x3f03ff) == 0x293)
-  {
-    reg_t npc = pc + insn_length(0x00000293);
-    #include "insns/srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x3f03ff) == 0x10293)
-  {
-    reg_t npc = pc + insn_length(0x00010293);
-    #include "insns/srai.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_29d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2a7(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2b1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2bb(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x6bb)
-  {
-    reg_t npc = pc + insn_length(0x000006bb);
-    #include "insns/divuw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x2bb)
-  {
-    reg_t npc = pc + insn_length(0x000002bb);
-    #include "insns/srlw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x102bb)
-  {
-    reg_t npc = pc + insn_length(0x000102bb);
-    #include "insns/sraw.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2c5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2cf(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000000cf);
-    #include "insns/fnmadd_d.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2d9(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_2e3(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x000002e3);
-    #include "insns/bge.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2ed(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_2f7(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x6f7)
-  {
-    reg_t npc = pc + insn_length(0x000006f7);
-    #include "insns/movn.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x2f7)
-  {
-    reg_t npc = pc + insn_length(0x000002f7);
-    #include "insns/movz.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0xef7)
-  {
-    reg_t npc = pc + insn_length(0x00000ef7);
-    #include "insns/fmovn.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0xaf7)
-  {
-    reg_t npc = pc + insn_length(0x00000af7);
-    #include "insns/fmovz.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_301(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_30b(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0xfff) == 0xb0b)
-  {
-    reg_t npc = pc + insn_length(0x00000b0b);
-    #include "insns/vlsegstwu.h"
-    return npc;
-  }
-  if((insn.bits & 0x3fffff) == 0x30b)
-  {
-    reg_t npc = pc + insn_length(0x0000030b);
-    #include "insns/vlwu.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x130b)
-  {
-    reg_t npc = pc + insn_length(0x0000130b);
-    #include "insns/vlstwu.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x230b)
-  {
-    reg_t npc = pc + insn_length(0x0000230b);
-    #include "insns/vlsegwu.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_315(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_31f(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_329(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_333(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1ffff) == 0x733)
-  {
-    reg_t npc = pc + insn_length(0x00000733);
-    #include "insns/rem.h"
-    return npc;
-  }
-  if((insn.bits & 0x1ffff) == 0x333)
-  {
-    reg_t npc = pc + insn_length(0x00000333);
-    #include "insns/or.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_33d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_347(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_351(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_35b(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_365(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000005);
-    #include "insns/c_lwsp.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_36f(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000006f);
-    #include "insns/jal.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_379(insn_t insn, reg_t pc)
-{
-  if((insn.bits & 0x1c1f) == 0x19)
-  {
-    reg_t npc = pc + insn_length(0x00000019);
-    #include "insns/c_slli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x819)
-  {
-    reg_t npc = pc + insn_length(0x00000819);
-    #include "insns/c_srli.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1419)
-  {
-    reg_t npc = pc + insn_length(0x00001419);
-    #include "insns/c_srai32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1819)
-  {
-    reg_t npc = pc + insn_length(0x00001819);
-    #include "insns/c_slliw.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0xc19)
-  {
-    reg_t npc = pc + insn_length(0x00000c19);
-    #include "insns/c_srli32.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x1019)
-  {
-    reg_t npc = pc + insn_length(0x00001019);
-    #include "insns/c_srai.h"
-    return npc;
-  }
-  if((insn.bits & 0x1c1f) == 0x419)
-  {
-    reg_t npc = pc + insn_length(0x00000419);
-    #include "insns/c_slli32.h"
-    return npc;
-  }
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_383(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_38d(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000000d);
-    #include "insns/c_sw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_397(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3a1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000001);
-    #include "insns/c_addi.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3ab(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3b5(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000015);
-    #include "insns/c_fld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3bf(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3c9(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000009);
-    #include "insns/c_ld.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3d3(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
-reg_t processor_t::opcode_func_3dd(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x0000001d);
-    #include "insns/c_addiw.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3e7(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000067);
-    #include "insns/j.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3f1(insn_t insn, reg_t pc)
-{
-    reg_t npc = pc + insn_length(0x00000011);
-    #include "insns/c_bne.h"
-    return npc;
-}
-
-reg_t processor_t::opcode_func_3fb(insn_t insn, reg_t pc)
-{
-  throw trap_illegal_instruction;
-}
-
diff --git a/riscv/dispatch_decl.h b/riscv/dispatch_decl.h
deleted file mode 100644 (file)
index efd4f99..0000000
+++ /dev/null
@@ -1,1026 +0,0 @@
-/* Automatically generated by parse-opcodes */
-#define dispatch_index(insn) (((insn).bits >> 0) & 1023)
-reg_t opcode_func_000(insn_t insn, reg_t pc);
-reg_t opcode_func_001(insn_t insn, reg_t pc);
-reg_t opcode_func_002(insn_t insn, reg_t pc);
-reg_t opcode_func_003(insn_t insn, reg_t pc);
-reg_t opcode_func_004(insn_t insn, reg_t pc);
-reg_t opcode_func_005(insn_t insn, reg_t pc);
-reg_t opcode_func_006(insn_t insn, reg_t pc);
-reg_t opcode_func_007(insn_t insn, reg_t pc);
-reg_t opcode_func_008(insn_t insn, reg_t pc);
-reg_t opcode_func_009(insn_t insn, reg_t pc);
-reg_t opcode_func_00a(insn_t insn, reg_t pc);
-reg_t opcode_func_00b(insn_t insn, reg_t pc);
-reg_t opcode_func_00c(insn_t insn, reg_t pc);
-reg_t opcode_func_00d(insn_t insn, reg_t pc);
-reg_t opcode_func_00e(insn_t insn, reg_t pc);
-reg_t opcode_func_00f(insn_t insn, reg_t pc);
-reg_t opcode_func_010(insn_t insn, reg_t pc);
-reg_t opcode_func_011(insn_t insn, reg_t pc);
-reg_t opcode_func_012(insn_t insn, reg_t pc);
-reg_t opcode_func_013(insn_t insn, reg_t pc);
-reg_t opcode_func_014(insn_t insn, reg_t pc);
-reg_t opcode_func_015(insn_t insn, reg_t pc);
-reg_t opcode_func_016(insn_t insn, reg_t pc);
-reg_t opcode_func_017(insn_t insn, reg_t pc);
-reg_t opcode_func_018(insn_t insn, reg_t pc);
-reg_t opcode_func_019(insn_t insn, reg_t pc);
-reg_t opcode_func_01a(insn_t insn, reg_t pc);
-reg_t opcode_func_01b(insn_t insn, reg_t pc);
-reg_t opcode_func_01c(insn_t insn, reg_t pc);
-reg_t opcode_func_01d(insn_t insn, reg_t pc);
-reg_t opcode_func_01e(insn_t insn, reg_t pc);
-reg_t opcode_func_01f(insn_t insn, reg_t pc);
-reg_t opcode_func_020(insn_t insn, reg_t pc);
-reg_t opcode_func_021(insn_t insn, reg_t pc);
-reg_t opcode_func_022(insn_t insn, reg_t pc);
-reg_t opcode_func_023(insn_t insn, reg_t pc);
-reg_t opcode_func_024(insn_t insn, reg_t pc);
-reg_t opcode_func_025(insn_t insn, reg_t pc);
-reg_t opcode_func_026(insn_t insn, reg_t pc);
-reg_t opcode_func_027(insn_t insn, reg_t pc);
-reg_t opcode_func_028(insn_t insn, reg_t pc);
-reg_t opcode_func_029(insn_t insn, reg_t pc);
-reg_t opcode_func_02a(insn_t insn, reg_t pc);
-reg_t opcode_func_02b(insn_t insn, reg_t pc);
-reg_t opcode_func_02c(insn_t insn, reg_t pc);
-reg_t opcode_func_02d(insn_t insn, reg_t pc);
-reg_t opcode_func_02e(insn_t insn, reg_t pc);
-reg_t opcode_func_02f(insn_t insn, reg_t pc);
-reg_t opcode_func_030(insn_t insn, reg_t pc);
-reg_t opcode_func_031(insn_t insn, reg_t pc);
-reg_t opcode_func_032(insn_t insn, reg_t pc);
-reg_t opcode_func_033(insn_t insn, reg_t pc);
-reg_t opcode_func_034(insn_t insn, reg_t pc);
-reg_t opcode_func_035(insn_t insn, reg_t pc);
-reg_t opcode_func_036(insn_t insn, reg_t pc);
-reg_t opcode_func_037(insn_t insn, reg_t pc);
-reg_t opcode_func_038(insn_t insn, reg_t pc);
-reg_t opcode_func_039(insn_t insn, reg_t pc);
-reg_t opcode_func_03a(insn_t insn, reg_t pc);
-reg_t opcode_func_03b(insn_t insn, reg_t pc);
-reg_t opcode_func_03c(insn_t insn, reg_t pc);
-reg_t opcode_func_03d(insn_t insn, reg_t pc);
-reg_t opcode_func_03e(insn_t insn, reg_t pc);
-reg_t opcode_func_03f(insn_t insn, reg_t pc);
-reg_t opcode_func_040(insn_t insn, reg_t pc);
-reg_t opcode_func_041(insn_t insn, reg_t pc);
-reg_t opcode_func_042(insn_t insn, reg_t pc);
-reg_t opcode_func_043(insn_t insn, reg_t pc);
-reg_t opcode_func_044(insn_t insn, reg_t pc);
-reg_t opcode_func_045(insn_t insn, reg_t pc);
-reg_t opcode_func_046(insn_t insn, reg_t pc);
-reg_t opcode_func_047(insn_t insn, reg_t pc);
-reg_t opcode_func_048(insn_t insn, reg_t pc);
-reg_t opcode_func_049(insn_t insn, reg_t pc);
-reg_t opcode_func_04a(insn_t insn, reg_t pc);
-reg_t opcode_func_04b(insn_t insn, reg_t pc);
-reg_t opcode_func_04c(insn_t insn, reg_t pc);
-reg_t opcode_func_04d(insn_t insn, reg_t pc);
-reg_t opcode_func_04e(insn_t insn, reg_t pc);
-reg_t opcode_func_04f(insn_t insn, reg_t pc);
-reg_t opcode_func_050(insn_t insn, reg_t pc);
-reg_t opcode_func_051(insn_t insn, reg_t pc);
-reg_t opcode_func_052(insn_t insn, reg_t pc);
-reg_t opcode_func_053(insn_t insn, reg_t pc);
-reg_t opcode_func_054(insn_t insn, reg_t pc);
-reg_t opcode_func_055(insn_t insn, reg_t pc);
-reg_t opcode_func_056(insn_t insn, reg_t pc);
-reg_t opcode_func_057(insn_t insn, reg_t pc);
-reg_t opcode_func_058(insn_t insn, reg_t pc);
-reg_t opcode_func_059(insn_t insn, reg_t pc);
-reg_t opcode_func_05a(insn_t insn, reg_t pc);
-reg_t opcode_func_05b(insn_t insn, reg_t pc);
-reg_t opcode_func_05c(insn_t insn, reg_t pc);
-reg_t opcode_func_05d(insn_t insn, reg_t pc);
-reg_t opcode_func_05e(insn_t insn, reg_t pc);
-reg_t opcode_func_05f(insn_t insn, reg_t pc);
-reg_t opcode_func_060(insn_t insn, reg_t pc);
-reg_t opcode_func_061(insn_t insn, reg_t pc);
-reg_t opcode_func_062(insn_t insn, reg_t pc);
-reg_t opcode_func_063(insn_t insn, reg_t pc);
-reg_t opcode_func_064(insn_t insn, reg_t pc);
-reg_t opcode_func_065(insn_t insn, reg_t pc);
-reg_t opcode_func_066(insn_t insn, reg_t pc);
-reg_t opcode_func_067(insn_t insn, reg_t pc);
-reg_t opcode_func_068(insn_t insn, reg_t pc);
-reg_t opcode_func_069(insn_t insn, reg_t pc);
-reg_t opcode_func_06a(insn_t insn, reg_t pc);
-reg_t opcode_func_06b(insn_t insn, reg_t pc);
-reg_t opcode_func_06c(insn_t insn, reg_t pc);
-reg_t opcode_func_06d(insn_t insn, reg_t pc);
-reg_t opcode_func_06e(insn_t insn, reg_t pc);
-reg_t opcode_func_06f(insn_t insn, reg_t pc);
-reg_t opcode_func_070(insn_t insn, reg_t pc);
-reg_t opcode_func_071(insn_t insn, reg_t pc);
-reg_t opcode_func_072(insn_t insn, reg_t pc);
-reg_t opcode_func_073(insn_t insn, reg_t pc);
-reg_t opcode_func_074(insn_t insn, reg_t pc);
-reg_t opcode_func_075(insn_t insn, reg_t pc);
-reg_t opcode_func_076(insn_t insn, reg_t pc);
-reg_t opcode_func_077(insn_t insn, reg_t pc);
-reg_t opcode_func_078(insn_t insn, reg_t pc);
-reg_t opcode_func_079(insn_t insn, reg_t pc);
-reg_t opcode_func_07a(insn_t insn, reg_t pc);
-reg_t opcode_func_07b(insn_t insn, reg_t pc);
-reg_t opcode_func_07c(insn_t insn, reg_t pc);
-reg_t opcode_func_07d(insn_t insn, reg_t pc);
-reg_t opcode_func_07e(insn_t insn, reg_t pc);
-reg_t opcode_func_07f(insn_t insn, reg_t pc);
-reg_t opcode_func_080(insn_t insn, reg_t pc);
-reg_t opcode_func_081(insn_t insn, reg_t pc);
-reg_t opcode_func_082(insn_t insn, reg_t pc);
-reg_t opcode_func_083(insn_t insn, reg_t pc);
-reg_t opcode_func_084(insn_t insn, reg_t pc);
-reg_t opcode_func_085(insn_t insn, reg_t pc);
-reg_t opcode_func_086(insn_t insn, reg_t pc);
-reg_t opcode_func_087(insn_t insn, reg_t pc);
-reg_t opcode_func_088(insn_t insn, reg_t pc);
-reg_t opcode_func_089(insn_t insn, reg_t pc);
-reg_t opcode_func_08a(insn_t insn, reg_t pc);
-reg_t opcode_func_08b(insn_t insn, reg_t pc);
-reg_t opcode_func_08c(insn_t insn, reg_t pc);
-reg_t opcode_func_08d(insn_t insn, reg_t pc);
-reg_t opcode_func_08e(insn_t insn, reg_t pc);
-reg_t opcode_func_08f(insn_t insn, reg_t pc);
-reg_t opcode_func_090(insn_t insn, reg_t pc);
-reg_t opcode_func_091(insn_t insn, reg_t pc);
-reg_t opcode_func_092(insn_t insn, reg_t pc);
-reg_t opcode_func_093(insn_t insn, reg_t pc);
-reg_t opcode_func_094(insn_t insn, reg_t pc);
-reg_t opcode_func_095(insn_t insn, reg_t pc);
-reg_t opcode_func_096(insn_t insn, reg_t pc);
-reg_t opcode_func_097(insn_t insn, reg_t pc);
-reg_t opcode_func_098(insn_t insn, reg_t pc);
-reg_t opcode_func_099(insn_t insn, reg_t pc);
-reg_t opcode_func_09a(insn_t insn, reg_t pc);
-reg_t opcode_func_09b(insn_t insn, reg_t pc);
-reg_t opcode_func_09c(insn_t insn, reg_t pc);
-reg_t opcode_func_09d(insn_t insn, reg_t pc);
-reg_t opcode_func_09e(insn_t insn, reg_t pc);
-reg_t opcode_func_09f(insn_t insn, reg_t pc);
-reg_t opcode_func_0a0(insn_t insn, reg_t pc);
-reg_t opcode_func_0a1(insn_t insn, reg_t pc);
-reg_t opcode_func_0a2(insn_t insn, reg_t pc);
-reg_t opcode_func_0a3(insn_t insn, reg_t pc);
-reg_t opcode_func_0a4(insn_t insn, reg_t pc);
-reg_t opcode_func_0a5(insn_t insn, reg_t pc);
-reg_t opcode_func_0a6(insn_t insn, reg_t pc);
-reg_t opcode_func_0a7(insn_t insn, reg_t pc);
-reg_t opcode_func_0a8(insn_t insn, reg_t pc);
-reg_t opcode_func_0a9(insn_t insn, reg_t pc);
-reg_t opcode_func_0aa(insn_t insn, reg_t pc);
-reg_t opcode_func_0ab(insn_t insn, reg_t pc);
-reg_t opcode_func_0ac(insn_t insn, reg_t pc);
-reg_t opcode_func_0ad(insn_t insn, reg_t pc);
-reg_t opcode_func_0ae(insn_t insn, reg_t pc);
-reg_t opcode_func_0af(insn_t insn, reg_t pc);
-reg_t opcode_func_0b0(insn_t insn, reg_t pc);
-reg_t opcode_func_0b1(insn_t insn, reg_t pc);
-reg_t opcode_func_0b2(insn_t insn, reg_t pc);
-reg_t opcode_func_0b3(insn_t insn, reg_t pc);
-reg_t opcode_func_0b4(insn_t insn, reg_t pc);
-reg_t opcode_func_0b5(insn_t insn, reg_t pc);
-reg_t opcode_func_0b6(insn_t insn, reg_t pc);
-reg_t opcode_func_0b7(insn_t insn, reg_t pc);
-reg_t opcode_func_0b8(insn_t insn, reg_t pc);
-reg_t opcode_func_0b9(insn_t insn, reg_t pc);
-reg_t opcode_func_0ba(insn_t insn, reg_t pc);
-reg_t opcode_func_0bb(insn_t insn, reg_t pc);
-reg_t opcode_func_0bc(insn_t insn, reg_t pc);
-reg_t opcode_func_0bd(insn_t insn, reg_t pc);
-reg_t opcode_func_0be(insn_t insn, reg_t pc);
-reg_t opcode_func_0bf(insn_t insn, reg_t pc);
-reg_t opcode_func_0c0(insn_t insn, reg_t pc);
-reg_t opcode_func_0c1(insn_t insn, reg_t pc);
-reg_t opcode_func_0c2(insn_t insn, reg_t pc);
-reg_t opcode_func_0c3(insn_t insn, reg_t pc);
-reg_t opcode_func_0c4(insn_t insn, reg_t pc);
-reg_t opcode_func_0c5(insn_t insn, reg_t pc);
-reg_t opcode_func_0c6(insn_t insn, reg_t pc);
-reg_t opcode_func_0c7(insn_t insn, reg_t pc);
-reg_t opcode_func_0c8(insn_t insn, reg_t pc);
-reg_t opcode_func_0c9(insn_t insn, reg_t pc);
-reg_t opcode_func_0ca(insn_t insn, reg_t pc);
-reg_t opcode_func_0cb(insn_t insn, reg_t pc);
-reg_t opcode_func_0cc(insn_t insn, reg_t pc);
-reg_t opcode_func_0cd(insn_t insn, reg_t pc);
-reg_t opcode_func_0ce(insn_t insn, reg_t pc);
-reg_t opcode_func_0cf(insn_t insn, reg_t pc);
-reg_t opcode_func_0d0(insn_t insn, reg_t pc);
-reg_t opcode_func_0d1(insn_t insn, reg_t pc);
-reg_t opcode_func_0d2(insn_t insn, reg_t pc);
-reg_t opcode_func_0d3(insn_t insn, reg_t pc);
-reg_t opcode_func_0d4(insn_t insn, reg_t pc);
-reg_t opcode_func_0d5(insn_t insn, reg_t pc);
-reg_t opcode_func_0d6(insn_t insn, reg_t pc);
-reg_t opcode_func_0d7(insn_t insn, reg_t pc);
-reg_t opcode_func_0d8(insn_t insn, reg_t pc);
-reg_t opcode_func_0d9(insn_t insn, reg_t pc);
-reg_t opcode_func_0da(insn_t insn, reg_t pc);
-reg_t opcode_func_0db(insn_t insn, reg_t pc);
-reg_t opcode_func_0dc(insn_t insn, reg_t pc);
-reg_t opcode_func_0dd(insn_t insn, reg_t pc);
-reg_t opcode_func_0de(insn_t insn, reg_t pc);
-reg_t opcode_func_0df(insn_t insn, reg_t pc);
-reg_t opcode_func_0e0(insn_t insn, reg_t pc);
-reg_t opcode_func_0e1(insn_t insn, reg_t pc);
-reg_t opcode_func_0e2(insn_t insn, reg_t pc);
-reg_t opcode_func_0e3(insn_t insn, reg_t pc);
-reg_t opcode_func_0e4(insn_t insn, reg_t pc);
-reg_t opcode_func_0e5(insn_t insn, reg_t pc);
-reg_t opcode_func_0e6(insn_t insn, reg_t pc);
-reg_t opcode_func_0e7(insn_t insn, reg_t pc);
-reg_t opcode_func_0e8(insn_t insn, reg_t pc);
-reg_t opcode_func_0e9(insn_t insn, reg_t pc);
-reg_t opcode_func_0ea(insn_t insn, reg_t pc);
-reg_t opcode_func_0eb(insn_t insn, reg_t pc);
-reg_t opcode_func_0ec(insn_t insn, reg_t pc);
-reg_t opcode_func_0ed(insn_t insn, reg_t pc);
-reg_t opcode_func_0ee(insn_t insn, reg_t pc);
-reg_t opcode_func_0ef(insn_t insn, reg_t pc);
-reg_t opcode_func_0f0(insn_t insn, reg_t pc);
-reg_t opcode_func_0f1(insn_t insn, reg_t pc);
-reg_t opcode_func_0f2(insn_t insn, reg_t pc);
-reg_t opcode_func_0f3(insn_t insn, reg_t pc);
-reg_t opcode_func_0f4(insn_t insn, reg_t pc);
-reg_t opcode_func_0f5(insn_t insn, reg_t pc);
-reg_t opcode_func_0f6(insn_t insn, reg_t pc);
-reg_t opcode_func_0f7(insn_t insn, reg_t pc);
-reg_t opcode_func_0f8(insn_t insn, reg_t pc);
-reg_t opcode_func_0f9(insn_t insn, reg_t pc);
-reg_t opcode_func_0fa(insn_t insn, reg_t pc);
-reg_t opcode_func_0fb(insn_t insn, reg_t pc);
-reg_t opcode_func_0fc(insn_t insn, reg_t pc);
-reg_t opcode_func_0fd(insn_t insn, reg_t pc);
-reg_t opcode_func_0fe(insn_t insn, reg_t pc);
-reg_t opcode_func_0ff(insn_t insn, reg_t pc);
-reg_t opcode_func_100(insn_t insn, reg_t pc);
-reg_t opcode_func_101(insn_t insn, reg_t pc);
-reg_t opcode_func_102(insn_t insn, reg_t pc);
-reg_t opcode_func_103(insn_t insn, reg_t pc);
-reg_t opcode_func_104(insn_t insn, reg_t pc);
-reg_t opcode_func_105(insn_t insn, reg_t pc);
-reg_t opcode_func_106(insn_t insn, reg_t pc);
-reg_t opcode_func_107(insn_t insn, reg_t pc);
-reg_t opcode_func_108(insn_t insn, reg_t pc);
-reg_t opcode_func_109(insn_t insn, reg_t pc);
-reg_t opcode_func_10a(insn_t insn, reg_t pc);
-reg_t opcode_func_10b(insn_t insn, reg_t pc);
-reg_t opcode_func_10c(insn_t insn, reg_t pc);
-reg_t opcode_func_10d(insn_t insn, reg_t pc);
-reg_t opcode_func_10e(insn_t insn, reg_t pc);
-reg_t opcode_func_10f(insn_t insn, reg_t pc);
-reg_t opcode_func_110(insn_t insn, reg_t pc);
-reg_t opcode_func_111(insn_t insn, reg_t pc);
-reg_t opcode_func_112(insn_t insn, reg_t pc);
-reg_t opcode_func_113(insn_t insn, reg_t pc);
-reg_t opcode_func_114(insn_t insn, reg_t pc);
-reg_t opcode_func_115(insn_t insn, reg_t pc);
-reg_t opcode_func_116(insn_t insn, reg_t pc);
-reg_t opcode_func_117(insn_t insn, reg_t pc);
-reg_t opcode_func_118(insn_t insn, reg_t pc);
-reg_t opcode_func_119(insn_t insn, reg_t pc);
-reg_t opcode_func_11a(insn_t insn, reg_t pc);
-reg_t opcode_func_11b(insn_t insn, reg_t pc);
-reg_t opcode_func_11c(insn_t insn, reg_t pc);
-reg_t opcode_func_11d(insn_t insn, reg_t pc);
-reg_t opcode_func_11e(insn_t insn, reg_t pc);
-reg_t opcode_func_11f(insn_t insn, reg_t pc);
-reg_t opcode_func_120(insn_t insn, reg_t pc);
-reg_t opcode_func_121(insn_t insn, reg_t pc);
-reg_t opcode_func_122(insn_t insn, reg_t pc);
-reg_t opcode_func_123(insn_t insn, reg_t pc);
-reg_t opcode_func_124(insn_t insn, reg_t pc);
-reg_t opcode_func_125(insn_t insn, reg_t pc);
-reg_t opcode_func_126(insn_t insn, reg_t pc);
-reg_t opcode_func_127(insn_t insn, reg_t pc);
-reg_t opcode_func_128(insn_t insn, reg_t pc);
-reg_t opcode_func_129(insn_t insn, reg_t pc);
-reg_t opcode_func_12a(insn_t insn, reg_t pc);
-reg_t opcode_func_12b(insn_t insn, reg_t pc);
-reg_t opcode_func_12c(insn_t insn, reg_t pc);
-reg_t opcode_func_12d(insn_t insn, reg_t pc);
-reg_t opcode_func_12e(insn_t insn, reg_t pc);
-reg_t opcode_func_12f(insn_t insn, reg_t pc);
-reg_t opcode_func_130(insn_t insn, reg_t pc);
-reg_t opcode_func_131(insn_t insn, reg_t pc);
-reg_t opcode_func_132(insn_t insn, reg_t pc);
-reg_t opcode_func_133(insn_t insn, reg_t pc);
-reg_t opcode_func_134(insn_t insn, reg_t pc);
-reg_t opcode_func_135(insn_t insn, reg_t pc);
-reg_t opcode_func_136(insn_t insn, reg_t pc);
-reg_t opcode_func_137(insn_t insn, reg_t pc);
-reg_t opcode_func_138(insn_t insn, reg_t pc);
-reg_t opcode_func_139(insn_t insn, reg_t pc);
-reg_t opcode_func_13a(insn_t insn, reg_t pc);
-reg_t opcode_func_13b(insn_t insn, reg_t pc);
-reg_t opcode_func_13c(insn_t insn, reg_t pc);
-reg_t opcode_func_13d(insn_t insn, reg_t pc);
-reg_t opcode_func_13e(insn_t insn, reg_t pc);
-reg_t opcode_func_13f(insn_t insn, reg_t pc);
-reg_t opcode_func_140(insn_t insn, reg_t pc);
-reg_t opcode_func_141(insn_t insn, reg_t pc);
-reg_t opcode_func_142(insn_t insn, reg_t pc);
-reg_t opcode_func_143(insn_t insn, reg_t pc);
-reg_t opcode_func_144(insn_t insn, reg_t pc);
-reg_t opcode_func_145(insn_t insn, reg_t pc);
-reg_t opcode_func_146(insn_t insn, reg_t pc);
-reg_t opcode_func_147(insn_t insn, reg_t pc);
-reg_t opcode_func_148(insn_t insn, reg_t pc);
-reg_t opcode_func_149(insn_t insn, reg_t pc);
-reg_t opcode_func_14a(insn_t insn, reg_t pc);
-reg_t opcode_func_14b(insn_t insn, reg_t pc);
-reg_t opcode_func_14c(insn_t insn, reg_t pc);
-reg_t opcode_func_14d(insn_t insn, reg_t pc);
-reg_t opcode_func_14e(insn_t insn, reg_t pc);
-reg_t opcode_func_14f(insn_t insn, reg_t pc);
-reg_t opcode_func_150(insn_t insn, reg_t pc);
-reg_t opcode_func_151(insn_t insn, reg_t pc);
-reg_t opcode_func_152(insn_t insn, reg_t pc);
-reg_t opcode_func_153(insn_t insn, reg_t pc);
-reg_t opcode_func_154(insn_t insn, reg_t pc);
-reg_t opcode_func_155(insn_t insn, reg_t pc);
-reg_t opcode_func_156(insn_t insn, reg_t pc);
-reg_t opcode_func_157(insn_t insn, reg_t pc);
-reg_t opcode_func_158(insn_t insn, reg_t pc);
-reg_t opcode_func_159(insn_t insn, reg_t pc);
-reg_t opcode_func_15a(insn_t insn, reg_t pc);
-reg_t opcode_func_15b(insn_t insn, reg_t pc);
-reg_t opcode_func_15c(insn_t insn, reg_t pc);
-reg_t opcode_func_15d(insn_t insn, reg_t pc);
-reg_t opcode_func_15e(insn_t insn, reg_t pc);
-reg_t opcode_func_15f(insn_t insn, reg_t pc);
-reg_t opcode_func_160(insn_t insn, reg_t pc);
-reg_t opcode_func_161(insn_t insn, reg_t pc);
-reg_t opcode_func_162(insn_t insn, reg_t pc);
-reg_t opcode_func_163(insn_t insn, reg_t pc);
-reg_t opcode_func_164(insn_t insn, reg_t pc);
-reg_t opcode_func_165(insn_t insn, reg_t pc);
-reg_t opcode_func_166(insn_t insn, reg_t pc);
-reg_t opcode_func_167(insn_t insn, reg_t pc);
-reg_t opcode_func_168(insn_t insn, reg_t pc);
-reg_t opcode_func_169(insn_t insn, reg_t pc);
-reg_t opcode_func_16a(insn_t insn, reg_t pc);
-reg_t opcode_func_16b(insn_t insn, reg_t pc);
-reg_t opcode_func_16c(insn_t insn, reg_t pc);
-reg_t opcode_func_16d(insn_t insn, reg_t pc);
-reg_t opcode_func_16e(insn_t insn, reg_t pc);
-reg_t opcode_func_16f(insn_t insn, reg_t pc);
-reg_t opcode_func_170(insn_t insn, reg_t pc);
-reg_t opcode_func_171(insn_t insn, reg_t pc);
-reg_t opcode_func_172(insn_t insn, reg_t pc);
-reg_t opcode_func_173(insn_t insn, reg_t pc);
-reg_t opcode_func_174(insn_t insn, reg_t pc);
-reg_t opcode_func_175(insn_t insn, reg_t pc);
-reg_t opcode_func_176(insn_t insn, reg_t pc);
-reg_t opcode_func_177(insn_t insn, reg_t pc);
-reg_t opcode_func_178(insn_t insn, reg_t pc);
-reg_t opcode_func_179(insn_t insn, reg_t pc);
-reg_t opcode_func_17a(insn_t insn, reg_t pc);
-reg_t opcode_func_17b(insn_t insn, reg_t pc);
-reg_t opcode_func_17c(insn_t insn, reg_t pc);
-reg_t opcode_func_17d(insn_t insn, reg_t pc);
-reg_t opcode_func_17e(insn_t insn, reg_t pc);
-reg_t opcode_func_17f(insn_t insn, reg_t pc);
-reg_t opcode_func_180(insn_t insn, reg_t pc);
-reg_t opcode_func_181(insn_t insn, reg_t pc);
-reg_t opcode_func_182(insn_t insn, reg_t pc);
-reg_t opcode_func_183(insn_t insn, reg_t pc);
-reg_t opcode_func_184(insn_t insn, reg_t pc);
-reg_t opcode_func_185(insn_t insn, reg_t pc);
-reg_t opcode_func_186(insn_t insn, reg_t pc);
-reg_t opcode_func_187(insn_t insn, reg_t pc);
-reg_t opcode_func_188(insn_t insn, reg_t pc);
-reg_t opcode_func_189(insn_t insn, reg_t pc);
-reg_t opcode_func_18a(insn_t insn, reg_t pc);
-reg_t opcode_func_18b(insn_t insn, reg_t pc);
-reg_t opcode_func_18c(insn_t insn, reg_t pc);
-reg_t opcode_func_18d(insn_t insn, reg_t pc);
-reg_t opcode_func_18e(insn_t insn, reg_t pc);
-reg_t opcode_func_18f(insn_t insn, reg_t pc);
-reg_t opcode_func_190(insn_t insn, reg_t pc);
-reg_t opcode_func_191(insn_t insn, reg_t pc);
-reg_t opcode_func_192(insn_t insn, reg_t pc);
-reg_t opcode_func_193(insn_t insn, reg_t pc);
-reg_t opcode_func_194(insn_t insn, reg_t pc);
-reg_t opcode_func_195(insn_t insn, reg_t pc);
-reg_t opcode_func_196(insn_t insn, reg_t pc);
-reg_t opcode_func_197(insn_t insn, reg_t pc);
-reg_t opcode_func_198(insn_t insn, reg_t pc);
-reg_t opcode_func_199(insn_t insn, reg_t pc);
-reg_t opcode_func_19a(insn_t insn, reg_t pc);
-reg_t opcode_func_19b(insn_t insn, reg_t pc);
-reg_t opcode_func_19c(insn_t insn, reg_t pc);
-reg_t opcode_func_19d(insn_t insn, reg_t pc);
-reg_t opcode_func_19e(insn_t insn, reg_t pc);
-reg_t opcode_func_19f(insn_t insn, reg_t pc);
-reg_t opcode_func_1a0(insn_t insn, reg_t pc);
-reg_t opcode_func_1a1(insn_t insn, reg_t pc);
-reg_t opcode_func_1a2(insn_t insn, reg_t pc);
-reg_t opcode_func_1a3(insn_t insn, reg_t pc);
-reg_t opcode_func_1a4(insn_t insn, reg_t pc);
-reg_t opcode_func_1a5(insn_t insn, reg_t pc);
-reg_t opcode_func_1a6(insn_t insn, reg_t pc);
-reg_t opcode_func_1a7(insn_t insn, reg_t pc);
-reg_t opcode_func_1a8(insn_t insn, reg_t pc);
-reg_t opcode_func_1a9(insn_t insn, reg_t pc);
-reg_t opcode_func_1aa(insn_t insn, reg_t pc);
-reg_t opcode_func_1ab(insn_t insn, reg_t pc);
-reg_t opcode_func_1ac(insn_t insn, reg_t pc);
-reg_t opcode_func_1ad(insn_t insn, reg_t pc);
-reg_t opcode_func_1ae(insn_t insn, reg_t pc);
-reg_t opcode_func_1af(insn_t insn, reg_t pc);
-reg_t opcode_func_1b0(insn_t insn, reg_t pc);
-reg_t opcode_func_1b1(insn_t insn, reg_t pc);
-reg_t opcode_func_1b2(insn_t insn, reg_t pc);
-reg_t opcode_func_1b3(insn_t insn, reg_t pc);
-reg_t opcode_func_1b4(insn_t insn, reg_t pc);
-reg_t opcode_func_1b5(insn_t insn, reg_t pc);
-reg_t opcode_func_1b6(insn_t insn, reg_t pc);
-reg_t opcode_func_1b7(insn_t insn, reg_t pc);
-reg_t opcode_func_1b8(insn_t insn, reg_t pc);
-reg_t opcode_func_1b9(insn_t insn, reg_t pc);
-reg_t opcode_func_1ba(insn_t insn, reg_t pc);
-reg_t opcode_func_1bb(insn_t insn, reg_t pc);
-reg_t opcode_func_1bc(insn_t insn, reg_t pc);
-reg_t opcode_func_1bd(insn_t insn, reg_t pc);
-reg_t opcode_func_1be(insn_t insn, reg_t pc);
-reg_t opcode_func_1bf(insn_t insn, reg_t pc);
-reg_t opcode_func_1c0(insn_t insn, reg_t pc);
-reg_t opcode_func_1c1(insn_t insn, reg_t pc);
-reg_t opcode_func_1c2(insn_t insn, reg_t pc);
-reg_t opcode_func_1c3(insn_t insn, reg_t pc);
-reg_t opcode_func_1c4(insn_t insn, reg_t pc);
-reg_t opcode_func_1c5(insn_t insn, reg_t pc);
-reg_t opcode_func_1c6(insn_t insn, reg_t pc);
-reg_t opcode_func_1c7(insn_t insn, reg_t pc);
-reg_t opcode_func_1c8(insn_t insn, reg_t pc);
-reg_t opcode_func_1c9(insn_t insn, reg_t pc);
-reg_t opcode_func_1ca(insn_t insn, reg_t pc);
-reg_t opcode_func_1cb(insn_t insn, reg_t pc);
-reg_t opcode_func_1cc(insn_t insn, reg_t pc);
-reg_t opcode_func_1cd(insn_t insn, reg_t pc);
-reg_t opcode_func_1ce(insn_t insn, reg_t pc);
-reg_t opcode_func_1cf(insn_t insn, reg_t pc);
-reg_t opcode_func_1d0(insn_t insn, reg_t pc);
-reg_t opcode_func_1d1(insn_t insn, reg_t pc);
-reg_t opcode_func_1d2(insn_t insn, reg_t pc);
-reg_t opcode_func_1d3(insn_t insn, reg_t pc);
-reg_t opcode_func_1d4(insn_t insn, reg_t pc);
-reg_t opcode_func_1d5(insn_t insn, reg_t pc);
-reg_t opcode_func_1d6(insn_t insn, reg_t pc);
-reg_t opcode_func_1d7(insn_t insn, reg_t pc);
-reg_t opcode_func_1d8(insn_t insn, reg_t pc);
-reg_t opcode_func_1d9(insn_t insn, reg_t pc);
-reg_t opcode_func_1da(insn_t insn, reg_t pc);
-reg_t opcode_func_1db(insn_t insn, reg_t pc);
-reg_t opcode_func_1dc(insn_t insn, reg_t pc);
-reg_t opcode_func_1dd(insn_t insn, reg_t pc);
-reg_t opcode_func_1de(insn_t insn, reg_t pc);
-reg_t opcode_func_1df(insn_t insn, reg_t pc);
-reg_t opcode_func_1e0(insn_t insn, reg_t pc);
-reg_t opcode_func_1e1(insn_t insn, reg_t pc);
-reg_t opcode_func_1e2(insn_t insn, reg_t pc);
-reg_t opcode_func_1e3(insn_t insn, reg_t pc);
-reg_t opcode_func_1e4(insn_t insn, reg_t pc);
-reg_t opcode_func_1e5(insn_t insn, reg_t pc);
-reg_t opcode_func_1e6(insn_t insn, reg_t pc);
-reg_t opcode_func_1e7(insn_t insn, reg_t pc);
-reg_t opcode_func_1e8(insn_t insn, reg_t pc);
-reg_t opcode_func_1e9(insn_t insn, reg_t pc);
-reg_t opcode_func_1ea(insn_t insn, reg_t pc);
-reg_t opcode_func_1eb(insn_t insn, reg_t pc);
-reg_t opcode_func_1ec(insn_t insn, reg_t pc);
-reg_t opcode_func_1ed(insn_t insn, reg_t pc);
-reg_t opcode_func_1ee(insn_t insn, reg_t pc);
-reg_t opcode_func_1ef(insn_t insn, reg_t pc);
-reg_t opcode_func_1f0(insn_t insn, reg_t pc);
-reg_t opcode_func_1f1(insn_t insn, reg_t pc);
-reg_t opcode_func_1f2(insn_t insn, reg_t pc);
-reg_t opcode_func_1f3(insn_t insn, reg_t pc);
-reg_t opcode_func_1f4(insn_t insn, reg_t pc);
-reg_t opcode_func_1f5(insn_t insn, reg_t pc);
-reg_t opcode_func_1f6(insn_t insn, reg_t pc);
-reg_t opcode_func_1f7(insn_t insn, reg_t pc);
-reg_t opcode_func_1f8(insn_t insn, reg_t pc);
-reg_t opcode_func_1f9(insn_t insn, reg_t pc);
-reg_t opcode_func_1fa(insn_t insn, reg_t pc);
-reg_t opcode_func_1fb(insn_t insn, reg_t pc);
-reg_t opcode_func_1fc(insn_t insn, reg_t pc);
-reg_t opcode_func_1fd(insn_t insn, reg_t pc);
-reg_t opcode_func_1fe(insn_t insn, reg_t pc);
-reg_t opcode_func_1ff(insn_t insn, reg_t pc);
-reg_t opcode_func_200(insn_t insn, reg_t pc);
-reg_t opcode_func_201(insn_t insn, reg_t pc);
-reg_t opcode_func_202(insn_t insn, reg_t pc);
-reg_t opcode_func_203(insn_t insn, reg_t pc);
-reg_t opcode_func_204(insn_t insn, reg_t pc);
-reg_t opcode_func_205(insn_t insn, reg_t pc);
-reg_t opcode_func_206(insn_t insn, reg_t pc);
-reg_t opcode_func_207(insn_t insn, reg_t pc);
-reg_t opcode_func_208(insn_t insn, reg_t pc);
-reg_t opcode_func_209(insn_t insn, reg_t pc);
-reg_t opcode_func_20a(insn_t insn, reg_t pc);
-reg_t opcode_func_20b(insn_t insn, reg_t pc);
-reg_t opcode_func_20c(insn_t insn, reg_t pc);
-reg_t opcode_func_20d(insn_t insn, reg_t pc);
-reg_t opcode_func_20e(insn_t insn, reg_t pc);
-reg_t opcode_func_20f(insn_t insn, reg_t pc);
-reg_t opcode_func_210(insn_t insn, reg_t pc);
-reg_t opcode_func_211(insn_t insn, reg_t pc);
-reg_t opcode_func_212(insn_t insn, reg_t pc);
-reg_t opcode_func_213(insn_t insn, reg_t pc);
-reg_t opcode_func_214(insn_t insn, reg_t pc);
-reg_t opcode_func_215(insn_t insn, reg_t pc);
-reg_t opcode_func_216(insn_t insn, reg_t pc);
-reg_t opcode_func_217(insn_t insn, reg_t pc);
-reg_t opcode_func_218(insn_t insn, reg_t pc);
-reg_t opcode_func_219(insn_t insn, reg_t pc);
-reg_t opcode_func_21a(insn_t insn, reg_t pc);
-reg_t opcode_func_21b(insn_t insn, reg_t pc);
-reg_t opcode_func_21c(insn_t insn, reg_t pc);
-reg_t opcode_func_21d(insn_t insn, reg_t pc);
-reg_t opcode_func_21e(insn_t insn, reg_t pc);
-reg_t opcode_func_21f(insn_t insn, reg_t pc);
-reg_t opcode_func_220(insn_t insn, reg_t pc);
-reg_t opcode_func_221(insn_t insn, reg_t pc);
-reg_t opcode_func_222(insn_t insn, reg_t pc);
-reg_t opcode_func_223(insn_t insn, reg_t pc);
-reg_t opcode_func_224(insn_t insn, reg_t pc);
-reg_t opcode_func_225(insn_t insn, reg_t pc);
-reg_t opcode_func_226(insn_t insn, reg_t pc);
-reg_t opcode_func_227(insn_t insn, reg_t pc);
-reg_t opcode_func_228(insn_t insn, reg_t pc);
-reg_t opcode_func_229(insn_t insn, reg_t pc);
-reg_t opcode_func_22a(insn_t insn, reg_t pc);
-reg_t opcode_func_22b(insn_t insn, reg_t pc);
-reg_t opcode_func_22c(insn_t insn, reg_t pc);
-reg_t opcode_func_22d(insn_t insn, reg_t pc);
-reg_t opcode_func_22e(insn_t insn, reg_t pc);
-reg_t opcode_func_22f(insn_t insn, reg_t pc);
-reg_t opcode_func_230(insn_t insn, reg_t pc);
-reg_t opcode_func_231(insn_t insn, reg_t pc);
-reg_t opcode_func_232(insn_t insn, reg_t pc);
-reg_t opcode_func_233(insn_t insn, reg_t pc);
-reg_t opcode_func_234(insn_t insn, reg_t pc);
-reg_t opcode_func_235(insn_t insn, reg_t pc);
-reg_t opcode_func_236(insn_t insn, reg_t pc);
-reg_t opcode_func_237(insn_t insn, reg_t pc);
-reg_t opcode_func_238(insn_t insn, reg_t pc);
-reg_t opcode_func_239(insn_t insn, reg_t pc);
-reg_t opcode_func_23a(insn_t insn, reg_t pc);
-reg_t opcode_func_23b(insn_t insn, reg_t pc);
-reg_t opcode_func_23c(insn_t insn, reg_t pc);
-reg_t opcode_func_23d(insn_t insn, reg_t pc);
-reg_t opcode_func_23e(insn_t insn, reg_t pc);
-reg_t opcode_func_23f(insn_t insn, reg_t pc);
-reg_t opcode_func_240(insn_t insn, reg_t pc);
-reg_t opcode_func_241(insn_t insn, reg_t pc);
-reg_t opcode_func_242(insn_t insn, reg_t pc);
-reg_t opcode_func_243(insn_t insn, reg_t pc);
-reg_t opcode_func_244(insn_t insn, reg_t pc);
-reg_t opcode_func_245(insn_t insn, reg_t pc);
-reg_t opcode_func_246(insn_t insn, reg_t pc);
-reg_t opcode_func_247(insn_t insn, reg_t pc);
-reg_t opcode_func_248(insn_t insn, reg_t pc);
-reg_t opcode_func_249(insn_t insn, reg_t pc);
-reg_t opcode_func_24a(insn_t insn, reg_t pc);
-reg_t opcode_func_24b(insn_t insn, reg_t pc);
-reg_t opcode_func_24c(insn_t insn, reg_t pc);
-reg_t opcode_func_24d(insn_t insn, reg_t pc);
-reg_t opcode_func_24e(insn_t insn, reg_t pc);
-reg_t opcode_func_24f(insn_t insn, reg_t pc);
-reg_t opcode_func_250(insn_t insn, reg_t pc);
-reg_t opcode_func_251(insn_t insn, reg_t pc);
-reg_t opcode_func_252(insn_t insn, reg_t pc);
-reg_t opcode_func_253(insn_t insn, reg_t pc);
-reg_t opcode_func_254(insn_t insn, reg_t pc);
-reg_t opcode_func_255(insn_t insn, reg_t pc);
-reg_t opcode_func_256(insn_t insn, reg_t pc);
-reg_t opcode_func_257(insn_t insn, reg_t pc);
-reg_t opcode_func_258(insn_t insn, reg_t pc);
-reg_t opcode_func_259(insn_t insn, reg_t pc);
-reg_t opcode_func_25a(insn_t insn, reg_t pc);
-reg_t opcode_func_25b(insn_t insn, reg_t pc);
-reg_t opcode_func_25c(insn_t insn, reg_t pc);
-reg_t opcode_func_25d(insn_t insn, reg_t pc);
-reg_t opcode_func_25e(insn_t insn, reg_t pc);
-reg_t opcode_func_25f(insn_t insn, reg_t pc);
-reg_t opcode_func_260(insn_t insn, reg_t pc);
-reg_t opcode_func_261(insn_t insn, reg_t pc);
-reg_t opcode_func_262(insn_t insn, reg_t pc);
-reg_t opcode_func_263(insn_t insn, reg_t pc);
-reg_t opcode_func_264(insn_t insn, reg_t pc);
-reg_t opcode_func_265(insn_t insn, reg_t pc);
-reg_t opcode_func_266(insn_t insn, reg_t pc);
-reg_t opcode_func_267(insn_t insn, reg_t pc);
-reg_t opcode_func_268(insn_t insn, reg_t pc);
-reg_t opcode_func_269(insn_t insn, reg_t pc);
-reg_t opcode_func_26a(insn_t insn, reg_t pc);
-reg_t opcode_func_26b(insn_t insn, reg_t pc);
-reg_t opcode_func_26c(insn_t insn, reg_t pc);
-reg_t opcode_func_26d(insn_t insn, reg_t pc);
-reg_t opcode_func_26e(insn_t insn, reg_t pc);
-reg_t opcode_func_26f(insn_t insn, reg_t pc);
-reg_t opcode_func_270(insn_t insn, reg_t pc);
-reg_t opcode_func_271(insn_t insn, reg_t pc);
-reg_t opcode_func_272(insn_t insn, reg_t pc);
-reg_t opcode_func_273(insn_t insn, reg_t pc);
-reg_t opcode_func_274(insn_t insn, reg_t pc);
-reg_t opcode_func_275(insn_t insn, reg_t pc);
-reg_t opcode_func_276(insn_t insn, reg_t pc);
-reg_t opcode_func_277(insn_t insn, reg_t pc);
-reg_t opcode_func_278(insn_t insn, reg_t pc);
-reg_t opcode_func_279(insn_t insn, reg_t pc);
-reg_t opcode_func_27a(insn_t insn, reg_t pc);
-reg_t opcode_func_27b(insn_t insn, reg_t pc);
-reg_t opcode_func_27c(insn_t insn, reg_t pc);
-reg_t opcode_func_27d(insn_t insn, reg_t pc);
-reg_t opcode_func_27e(insn_t insn, reg_t pc);
-reg_t opcode_func_27f(insn_t insn, reg_t pc);
-reg_t opcode_func_280(insn_t insn, reg_t pc);
-reg_t opcode_func_281(insn_t insn, reg_t pc);
-reg_t opcode_func_282(insn_t insn, reg_t pc);
-reg_t opcode_func_283(insn_t insn, reg_t pc);
-reg_t opcode_func_284(insn_t insn, reg_t pc);
-reg_t opcode_func_285(insn_t insn, reg_t pc);
-reg_t opcode_func_286(insn_t insn, reg_t pc);
-reg_t opcode_func_287(insn_t insn, reg_t pc);
-reg_t opcode_func_288(insn_t insn, reg_t pc);
-reg_t opcode_func_289(insn_t insn, reg_t pc);
-reg_t opcode_func_28a(insn_t insn, reg_t pc);
-reg_t opcode_func_28b(insn_t insn, reg_t pc);
-reg_t opcode_func_28c(insn_t insn, reg_t pc);
-reg_t opcode_func_28d(insn_t insn, reg_t pc);
-reg_t opcode_func_28e(insn_t insn, reg_t pc);
-reg_t opcode_func_28f(insn_t insn, reg_t pc);
-reg_t opcode_func_290(insn_t insn, reg_t pc);
-reg_t opcode_func_291(insn_t insn, reg_t pc);
-reg_t opcode_func_292(insn_t insn, reg_t pc);
-reg_t opcode_func_293(insn_t insn, reg_t pc);
-reg_t opcode_func_294(insn_t insn, reg_t pc);
-reg_t opcode_func_295(insn_t insn, reg_t pc);
-reg_t opcode_func_296(insn_t insn, reg_t pc);
-reg_t opcode_func_297(insn_t insn, reg_t pc);
-reg_t opcode_func_298(insn_t insn, reg_t pc);
-reg_t opcode_func_299(insn_t insn, reg_t pc);
-reg_t opcode_func_29a(insn_t insn, reg_t pc);
-reg_t opcode_func_29b(insn_t insn, reg_t pc);
-reg_t opcode_func_29c(insn_t insn, reg_t pc);
-reg_t opcode_func_29d(insn_t insn, reg_t pc);
-reg_t opcode_func_29e(insn_t insn, reg_t pc);
-reg_t opcode_func_29f(insn_t insn, reg_t pc);
-reg_t opcode_func_2a0(insn_t insn, reg_t pc);
-reg_t opcode_func_2a1(insn_t insn, reg_t pc);
-reg_t opcode_func_2a2(insn_t insn, reg_t pc);
-reg_t opcode_func_2a3(insn_t insn, reg_t pc);
-reg_t opcode_func_2a4(insn_t insn, reg_t pc);
-reg_t opcode_func_2a5(insn_t insn, reg_t pc);
-reg_t opcode_func_2a6(insn_t insn, reg_t pc);
-reg_t opcode_func_2a7(insn_t insn, reg_t pc);
-reg_t opcode_func_2a8(insn_t insn, reg_t pc);
-reg_t opcode_func_2a9(insn_t insn, reg_t pc);
-reg_t opcode_func_2aa(insn_t insn, reg_t pc);
-reg_t opcode_func_2ab(insn_t insn, reg_t pc);
-reg_t opcode_func_2ac(insn_t insn, reg_t pc);
-reg_t opcode_func_2ad(insn_t insn, reg_t pc);
-reg_t opcode_func_2ae(insn_t insn, reg_t pc);
-reg_t opcode_func_2af(insn_t insn, reg_t pc);
-reg_t opcode_func_2b0(insn_t insn, reg_t pc);
-reg_t opcode_func_2b1(insn_t insn, reg_t pc);
-reg_t opcode_func_2b2(insn_t insn, reg_t pc);
-reg_t opcode_func_2b3(insn_t insn, reg_t pc);
-reg_t opcode_func_2b4(insn_t insn, reg_t pc);
-reg_t opcode_func_2b5(insn_t insn, reg_t pc);
-reg_t opcode_func_2b6(insn_t insn, reg_t pc);
-reg_t opcode_func_2b7(insn_t insn, reg_t pc);
-reg_t opcode_func_2b8(insn_t insn, reg_t pc);
-reg_t opcode_func_2b9(insn_t insn, reg_t pc);
-reg_t opcode_func_2ba(insn_t insn, reg_t pc);
-reg_t opcode_func_2bb(insn_t insn, reg_t pc);
-reg_t opcode_func_2bc(insn_t insn, reg_t pc);
-reg_t opcode_func_2bd(insn_t insn, reg_t pc);
-reg_t opcode_func_2be(insn_t insn, reg_t pc);
-reg_t opcode_func_2bf(insn_t insn, reg_t pc);
-reg_t opcode_func_2c0(insn_t insn, reg_t pc);
-reg_t opcode_func_2c1(insn_t insn, reg_t pc);
-reg_t opcode_func_2c2(insn_t insn, reg_t pc);
-reg_t opcode_func_2c3(insn_t insn, reg_t pc);
-reg_t opcode_func_2c4(insn_t insn, reg_t pc);
-reg_t opcode_func_2c5(insn_t insn, reg_t pc);
-reg_t opcode_func_2c6(insn_t insn, reg_t pc);
-reg_t opcode_func_2c7(insn_t insn, reg_t pc);
-reg_t opcode_func_2c8(insn_t insn, reg_t pc);
-reg_t opcode_func_2c9(insn_t insn, reg_t pc);
-reg_t opcode_func_2ca(insn_t insn, reg_t pc);
-reg_t opcode_func_2cb(insn_t insn, reg_t pc);
-reg_t opcode_func_2cc(insn_t insn, reg_t pc);
-reg_t opcode_func_2cd(insn_t insn, reg_t pc);
-reg_t opcode_func_2ce(insn_t insn, reg_t pc);
-reg_t opcode_func_2cf(insn_t insn, reg_t pc);
-reg_t opcode_func_2d0(insn_t insn, reg_t pc);
-reg_t opcode_func_2d1(insn_t insn, reg_t pc);
-reg_t opcode_func_2d2(insn_t insn, reg_t pc);
-reg_t opcode_func_2d3(insn_t insn, reg_t pc);
-reg_t opcode_func_2d4(insn_t insn, reg_t pc);
-reg_t opcode_func_2d5(insn_t insn, reg_t pc);
-reg_t opcode_func_2d6(insn_t insn, reg_t pc);
-reg_t opcode_func_2d7(insn_t insn, reg_t pc);
-reg_t opcode_func_2d8(insn_t insn, reg_t pc);
-reg_t opcode_func_2d9(insn_t insn, reg_t pc);
-reg_t opcode_func_2da(insn_t insn, reg_t pc);
-reg_t opcode_func_2db(insn_t insn, reg_t pc);
-reg_t opcode_func_2dc(insn_t insn, reg_t pc);
-reg_t opcode_func_2dd(insn_t insn, reg_t pc);
-reg_t opcode_func_2de(insn_t insn, reg_t pc);
-reg_t opcode_func_2df(insn_t insn, reg_t pc);
-reg_t opcode_func_2e0(insn_t insn, reg_t pc);
-reg_t opcode_func_2e1(insn_t insn, reg_t pc);
-reg_t opcode_func_2e2(insn_t insn, reg_t pc);
-reg_t opcode_func_2e3(insn_t insn, reg_t pc);
-reg_t opcode_func_2e4(insn_t insn, reg_t pc);
-reg_t opcode_func_2e5(insn_t insn, reg_t pc);
-reg_t opcode_func_2e6(insn_t insn, reg_t pc);
-reg_t opcode_func_2e7(insn_t insn, reg_t pc);
-reg_t opcode_func_2e8(insn_t insn, reg_t pc);
-reg_t opcode_func_2e9(insn_t insn, reg_t pc);
-reg_t opcode_func_2ea(insn_t insn, reg_t pc);
-reg_t opcode_func_2eb(insn_t insn, reg_t pc);
-reg_t opcode_func_2ec(insn_t insn, reg_t pc);
-reg_t opcode_func_2ed(insn_t insn, reg_t pc);
-reg_t opcode_func_2ee(insn_t insn, reg_t pc);
-reg_t opcode_func_2ef(insn_t insn, reg_t pc);
-reg_t opcode_func_2f0(insn_t insn, reg_t pc);
-reg_t opcode_func_2f1(insn_t insn, reg_t pc);
-reg_t opcode_func_2f2(insn_t insn, reg_t pc);
-reg_t opcode_func_2f3(insn_t insn, reg_t pc);
-reg_t opcode_func_2f4(insn_t insn, reg_t pc);
-reg_t opcode_func_2f5(insn_t insn, reg_t pc);
-reg_t opcode_func_2f6(insn_t insn, reg_t pc);
-reg_t opcode_func_2f7(insn_t insn, reg_t pc);
-reg_t opcode_func_2f8(insn_t insn, reg_t pc);
-reg_t opcode_func_2f9(insn_t insn, reg_t pc);
-reg_t opcode_func_2fa(insn_t insn, reg_t pc);
-reg_t opcode_func_2fb(insn_t insn, reg_t pc);
-reg_t opcode_func_2fc(insn_t insn, reg_t pc);
-reg_t opcode_func_2fd(insn_t insn, reg_t pc);
-reg_t opcode_func_2fe(insn_t insn, reg_t pc);
-reg_t opcode_func_2ff(insn_t insn, reg_t pc);
-reg_t opcode_func_300(insn_t insn, reg_t pc);
-reg_t opcode_func_301(insn_t insn, reg_t pc);
-reg_t opcode_func_302(insn_t insn, reg_t pc);
-reg_t opcode_func_303(insn_t insn, reg_t pc);
-reg_t opcode_func_304(insn_t insn, reg_t pc);
-reg_t opcode_func_305(insn_t insn, reg_t pc);
-reg_t opcode_func_306(insn_t insn, reg_t pc);
-reg_t opcode_func_307(insn_t insn, reg_t pc);
-reg_t opcode_func_308(insn_t insn, reg_t pc);
-reg_t opcode_func_309(insn_t insn, reg_t pc);
-reg_t opcode_func_30a(insn_t insn, reg_t pc);
-reg_t opcode_func_30b(insn_t insn, reg_t pc);
-reg_t opcode_func_30c(insn_t insn, reg_t pc);
-reg_t opcode_func_30d(insn_t insn, reg_t pc);
-reg_t opcode_func_30e(insn_t insn, reg_t pc);
-reg_t opcode_func_30f(insn_t insn, reg_t pc);
-reg_t opcode_func_310(insn_t insn, reg_t pc);
-reg_t opcode_func_311(insn_t insn, reg_t pc);
-reg_t opcode_func_312(insn_t insn, reg_t pc);
-reg_t opcode_func_313(insn_t insn, reg_t pc);
-reg_t opcode_func_314(insn_t insn, reg_t pc);
-reg_t opcode_func_315(insn_t insn, reg_t pc);
-reg_t opcode_func_316(insn_t insn, reg_t pc);
-reg_t opcode_func_317(insn_t insn, reg_t pc);
-reg_t opcode_func_318(insn_t insn, reg_t pc);
-reg_t opcode_func_319(insn_t insn, reg_t pc);
-reg_t opcode_func_31a(insn_t insn, reg_t pc);
-reg_t opcode_func_31b(insn_t insn, reg_t pc);
-reg_t opcode_func_31c(insn_t insn, reg_t pc);
-reg_t opcode_func_31d(insn_t insn, reg_t pc);
-reg_t opcode_func_31e(insn_t insn, reg_t pc);
-reg_t opcode_func_31f(insn_t insn, reg_t pc);
-reg_t opcode_func_320(insn_t insn, reg_t pc);
-reg_t opcode_func_321(insn_t insn, reg_t pc);
-reg_t opcode_func_322(insn_t insn, reg_t pc);
-reg_t opcode_func_323(insn_t insn, reg_t pc);
-reg_t opcode_func_324(insn_t insn, reg_t pc);
-reg_t opcode_func_325(insn_t insn, reg_t pc);
-reg_t opcode_func_326(insn_t insn, reg_t pc);
-reg_t opcode_func_327(insn_t insn, reg_t pc);
-reg_t opcode_func_328(insn_t insn, reg_t pc);
-reg_t opcode_func_329(insn_t insn, reg_t pc);
-reg_t opcode_func_32a(insn_t insn, reg_t pc);
-reg_t opcode_func_32b(insn_t insn, reg_t pc);
-reg_t opcode_func_32c(insn_t insn, reg_t pc);
-reg_t opcode_func_32d(insn_t insn, reg_t pc);
-reg_t opcode_func_32e(insn_t insn, reg_t pc);
-reg_t opcode_func_32f(insn_t insn, reg_t pc);
-reg_t opcode_func_330(insn_t insn, reg_t pc);
-reg_t opcode_func_331(insn_t insn, reg_t pc);
-reg_t opcode_func_332(insn_t insn, reg_t pc);
-reg_t opcode_func_333(insn_t insn, reg_t pc);
-reg_t opcode_func_334(insn_t insn, reg_t pc);
-reg_t opcode_func_335(insn_t insn, reg_t pc);
-reg_t opcode_func_336(insn_t insn, reg_t pc);
-reg_t opcode_func_337(insn_t insn, reg_t pc);
-reg_t opcode_func_338(insn_t insn, reg_t pc);
-reg_t opcode_func_339(insn_t insn, reg_t pc);
-reg_t opcode_func_33a(insn_t insn, reg_t pc);
-reg_t opcode_func_33b(insn_t insn, reg_t pc);
-reg_t opcode_func_33c(insn_t insn, reg_t pc);
-reg_t opcode_func_33d(insn_t insn, reg_t pc);
-reg_t opcode_func_33e(insn_t insn, reg_t pc);
-reg_t opcode_func_33f(insn_t insn, reg_t pc);
-reg_t opcode_func_340(insn_t insn, reg_t pc);
-reg_t opcode_func_341(insn_t insn, reg_t pc);
-reg_t opcode_func_342(insn_t insn, reg_t pc);
-reg_t opcode_func_343(insn_t insn, reg_t pc);
-reg_t opcode_func_344(insn_t insn, reg_t pc);
-reg_t opcode_func_345(insn_t insn, reg_t pc);
-reg_t opcode_func_346(insn_t insn, reg_t pc);
-reg_t opcode_func_347(insn_t insn, reg_t pc);
-reg_t opcode_func_348(insn_t insn, reg_t pc);
-reg_t opcode_func_349(insn_t insn, reg_t pc);
-reg_t opcode_func_34a(insn_t insn, reg_t pc);
-reg_t opcode_func_34b(insn_t insn, reg_t pc);
-reg_t opcode_func_34c(insn_t insn, reg_t pc);
-reg_t opcode_func_34d(insn_t insn, reg_t pc);
-reg_t opcode_func_34e(insn_t insn, reg_t pc);
-reg_t opcode_func_34f(insn_t insn, reg_t pc);
-reg_t opcode_func_350(insn_t insn, reg_t pc);
-reg_t opcode_func_351(insn_t insn, reg_t pc);
-reg_t opcode_func_352(insn_t insn, reg_t pc);
-reg_t opcode_func_353(insn_t insn, reg_t pc);
-reg_t opcode_func_354(insn_t insn, reg_t pc);
-reg_t opcode_func_355(insn_t insn, reg_t pc);
-reg_t opcode_func_356(insn_t insn, reg_t pc);
-reg_t opcode_func_357(insn_t insn, reg_t pc);
-reg_t opcode_func_358(insn_t insn, reg_t pc);
-reg_t opcode_func_359(insn_t insn, reg_t pc);
-reg_t opcode_func_35a(insn_t insn, reg_t pc);
-reg_t opcode_func_35b(insn_t insn, reg_t pc);
-reg_t opcode_func_35c(insn_t insn, reg_t pc);
-reg_t opcode_func_35d(insn_t insn, reg_t pc);
-reg_t opcode_func_35e(insn_t insn, reg_t pc);
-reg_t opcode_func_35f(insn_t insn, reg_t pc);
-reg_t opcode_func_360(insn_t insn, reg_t pc);
-reg_t opcode_func_361(insn_t insn, reg_t pc);
-reg_t opcode_func_362(insn_t insn, reg_t pc);
-reg_t opcode_func_363(insn_t insn, reg_t pc);
-reg_t opcode_func_364(insn_t insn, reg_t pc);
-reg_t opcode_func_365(insn_t insn, reg_t pc);
-reg_t opcode_func_366(insn_t insn, reg_t pc);
-reg_t opcode_func_367(insn_t insn, reg_t pc);
-reg_t opcode_func_368(insn_t insn, reg_t pc);
-reg_t opcode_func_369(insn_t insn, reg_t pc);
-reg_t opcode_func_36a(insn_t insn, reg_t pc);
-reg_t opcode_func_36b(insn_t insn, reg_t pc);
-reg_t opcode_func_36c(insn_t insn, reg_t pc);
-reg_t opcode_func_36d(insn_t insn, reg_t pc);
-reg_t opcode_func_36e(insn_t insn, reg_t pc);
-reg_t opcode_func_36f(insn_t insn, reg_t pc);
-reg_t opcode_func_370(insn_t insn, reg_t pc);
-reg_t opcode_func_371(insn_t insn, reg_t pc);
-reg_t opcode_func_372(insn_t insn, reg_t pc);
-reg_t opcode_func_373(insn_t insn, reg_t pc);
-reg_t opcode_func_374(insn_t insn, reg_t pc);
-reg_t opcode_func_375(insn_t insn, reg_t pc);
-reg_t opcode_func_376(insn_t insn, reg_t pc);
-reg_t opcode_func_377(insn_t insn, reg_t pc);
-reg_t opcode_func_378(insn_t insn, reg_t pc);
-reg_t opcode_func_379(insn_t insn, reg_t pc);
-reg_t opcode_func_37a(insn_t insn, reg_t pc);
-reg_t opcode_func_37b(insn_t insn, reg_t pc);
-reg_t opcode_func_37c(insn_t insn, reg_t pc);
-reg_t opcode_func_37d(insn_t insn, reg_t pc);
-reg_t opcode_func_37e(insn_t insn, reg_t pc);
-reg_t opcode_func_37f(insn_t insn, reg_t pc);
-reg_t opcode_func_380(insn_t insn, reg_t pc);
-reg_t opcode_func_381(insn_t insn, reg_t pc);
-reg_t opcode_func_382(insn_t insn, reg_t pc);
-reg_t opcode_func_383(insn_t insn, reg_t pc);
-reg_t opcode_func_384(insn_t insn, reg_t pc);
-reg_t opcode_func_385(insn_t insn, reg_t pc);
-reg_t opcode_func_386(insn_t insn, reg_t pc);
-reg_t opcode_func_387(insn_t insn, reg_t pc);
-reg_t opcode_func_388(insn_t insn, reg_t pc);
-reg_t opcode_func_389(insn_t insn, reg_t pc);
-reg_t opcode_func_38a(insn_t insn, reg_t pc);
-reg_t opcode_func_38b(insn_t insn, reg_t pc);
-reg_t opcode_func_38c(insn_t insn, reg_t pc);
-reg_t opcode_func_38d(insn_t insn, reg_t pc);
-reg_t opcode_func_38e(insn_t insn, reg_t pc);
-reg_t opcode_func_38f(insn_t insn, reg_t pc);
-reg_t opcode_func_390(insn_t insn, reg_t pc);
-reg_t opcode_func_391(insn_t insn, reg_t pc);
-reg_t opcode_func_392(insn_t insn, reg_t pc);
-reg_t opcode_func_393(insn_t insn, reg_t pc);
-reg_t opcode_func_394(insn_t insn, reg_t pc);
-reg_t opcode_func_395(insn_t insn, reg_t pc);
-reg_t opcode_func_396(insn_t insn, reg_t pc);
-reg_t opcode_func_397(insn_t insn, reg_t pc);
-reg_t opcode_func_398(insn_t insn, reg_t pc);
-reg_t opcode_func_399(insn_t insn, reg_t pc);
-reg_t opcode_func_39a(insn_t insn, reg_t pc);
-reg_t opcode_func_39b(insn_t insn, reg_t pc);
-reg_t opcode_func_39c(insn_t insn, reg_t pc);
-reg_t opcode_func_39d(insn_t insn, reg_t pc);
-reg_t opcode_func_39e(insn_t insn, reg_t pc);
-reg_t opcode_func_39f(insn_t insn, reg_t pc);
-reg_t opcode_func_3a0(insn_t insn, reg_t pc);
-reg_t opcode_func_3a1(insn_t insn, reg_t pc);
-reg_t opcode_func_3a2(insn_t insn, reg_t pc);
-reg_t opcode_func_3a3(insn_t insn, reg_t pc);
-reg_t opcode_func_3a4(insn_t insn, reg_t pc);
-reg_t opcode_func_3a5(insn_t insn, reg_t pc);
-reg_t opcode_func_3a6(insn_t insn, reg_t pc);
-reg_t opcode_func_3a7(insn_t insn, reg_t pc);
-reg_t opcode_func_3a8(insn_t insn, reg_t pc);
-reg_t opcode_func_3a9(insn_t insn, reg_t pc);
-reg_t opcode_func_3aa(insn_t insn, reg_t pc);
-reg_t opcode_func_3ab(insn_t insn, reg_t pc);
-reg_t opcode_func_3ac(insn_t insn, reg_t pc);
-reg_t opcode_func_3ad(insn_t insn, reg_t pc);
-reg_t opcode_func_3ae(insn_t insn, reg_t pc);
-reg_t opcode_func_3af(insn_t insn, reg_t pc);
-reg_t opcode_func_3b0(insn_t insn, reg_t pc);
-reg_t opcode_func_3b1(insn_t insn, reg_t pc);
-reg_t opcode_func_3b2(insn_t insn, reg_t pc);
-reg_t opcode_func_3b3(insn_t insn, reg_t pc);
-reg_t opcode_func_3b4(insn_t insn, reg_t pc);
-reg_t opcode_func_3b5(insn_t insn, reg_t pc);
-reg_t opcode_func_3b6(insn_t insn, reg_t pc);
-reg_t opcode_func_3b7(insn_t insn, reg_t pc);
-reg_t opcode_func_3b8(insn_t insn, reg_t pc);
-reg_t opcode_func_3b9(insn_t insn, reg_t pc);
-reg_t opcode_func_3ba(insn_t insn, reg_t pc);
-reg_t opcode_func_3bb(insn_t insn, reg_t pc);
-reg_t opcode_func_3bc(insn_t insn, reg_t pc);
-reg_t opcode_func_3bd(insn_t insn, reg_t pc);
-reg_t opcode_func_3be(insn_t insn, reg_t pc);
-reg_t opcode_func_3bf(insn_t insn, reg_t pc);
-reg_t opcode_func_3c0(insn_t insn, reg_t pc);
-reg_t opcode_func_3c1(insn_t insn, reg_t pc);
-reg_t opcode_func_3c2(insn_t insn, reg_t pc);
-reg_t opcode_func_3c3(insn_t insn, reg_t pc);
-reg_t opcode_func_3c4(insn_t insn, reg_t pc);
-reg_t opcode_func_3c5(insn_t insn, reg_t pc);
-reg_t opcode_func_3c6(insn_t insn, reg_t pc);
-reg_t opcode_func_3c7(insn_t insn, reg_t pc);
-reg_t opcode_func_3c8(insn_t insn, reg_t pc);
-reg_t opcode_func_3c9(insn_t insn, reg_t pc);
-reg_t opcode_func_3ca(insn_t insn, reg_t pc);
-reg_t opcode_func_3cb(insn_t insn, reg_t pc);
-reg_t opcode_func_3cc(insn_t insn, reg_t pc);
-reg_t opcode_func_3cd(insn_t insn, reg_t pc);
-reg_t opcode_func_3ce(insn_t insn, reg_t pc);
-reg_t opcode_func_3cf(insn_t insn, reg_t pc);
-reg_t opcode_func_3d0(insn_t insn, reg_t pc);
-reg_t opcode_func_3d1(insn_t insn, reg_t pc);
-reg_t opcode_func_3d2(insn_t insn, reg_t pc);
-reg_t opcode_func_3d3(insn_t insn, reg_t pc);
-reg_t opcode_func_3d4(insn_t insn, reg_t pc);
-reg_t opcode_func_3d5(insn_t insn, reg_t pc);
-reg_t opcode_func_3d6(insn_t insn, reg_t pc);
-reg_t opcode_func_3d7(insn_t insn, reg_t pc);
-reg_t opcode_func_3d8(insn_t insn, reg_t pc);
-reg_t opcode_func_3d9(insn_t insn, reg_t pc);
-reg_t opcode_func_3da(insn_t insn, reg_t pc);
-reg_t opcode_func_3db(insn_t insn, reg_t pc);
-reg_t opcode_func_3dc(insn_t insn, reg_t pc);
-reg_t opcode_func_3dd(insn_t insn, reg_t pc);
-reg_t opcode_func_3de(insn_t insn, reg_t pc);
-reg_t opcode_func_3df(insn_t insn, reg_t pc);
-reg_t opcode_func_3e0(insn_t insn, reg_t pc);
-reg_t opcode_func_3e1(insn_t insn, reg_t pc);
-reg_t opcode_func_3e2(insn_t insn, reg_t pc);
-reg_t opcode_func_3e3(insn_t insn, reg_t pc);
-reg_t opcode_func_3e4(insn_t insn, reg_t pc);
-reg_t opcode_func_3e5(insn_t insn, reg_t pc);
-reg_t opcode_func_3e6(insn_t insn, reg_t pc);
-reg_t opcode_func_3e7(insn_t insn, reg_t pc);
-reg_t opcode_func_3e8(insn_t insn, reg_t pc);
-reg_t opcode_func_3e9(insn_t insn, reg_t pc);
-reg_t opcode_func_3ea(insn_t insn, reg_t pc);
-reg_t opcode_func_3eb(insn_t insn, reg_t pc);
-reg_t opcode_func_3ec(insn_t insn, reg_t pc);
-reg_t opcode_func_3ed(insn_t insn, reg_t pc);
-reg_t opcode_func_3ee(insn_t insn, reg_t pc);
-reg_t opcode_func_3ef(insn_t insn, reg_t pc);
-reg_t opcode_func_3f0(insn_t insn, reg_t pc);
-reg_t opcode_func_3f1(insn_t insn, reg_t pc);
-reg_t opcode_func_3f2(insn_t insn, reg_t pc);
-reg_t opcode_func_3f3(insn_t insn, reg_t pc);
-reg_t opcode_func_3f4(insn_t insn, reg_t pc);
-reg_t opcode_func_3f5(insn_t insn, reg_t pc);
-reg_t opcode_func_3f6(insn_t insn, reg_t pc);
-reg_t opcode_func_3f7(insn_t insn, reg_t pc);
-reg_t opcode_func_3f8(insn_t insn, reg_t pc);
-reg_t opcode_func_3f9(insn_t insn, reg_t pc);
-reg_t opcode_func_3fa(insn_t insn, reg_t pc);
-reg_t opcode_func_3fb(insn_t insn, reg_t pc);
-reg_t opcode_func_3fc(insn_t insn, reg_t pc);
-reg_t opcode_func_3fd(insn_t insn, reg_t pc);
-reg_t opcode_func_3fe(insn_t insn, reg_t pc);
-reg_t opcode_func_3ff(insn_t insn, reg_t pc);
diff --git a/riscv/insn_footer.h b/riscv/insn_footer.h
new file mode 100644 (file)
index 0000000..0d53966
--- /dev/null
@@ -0,0 +1,2 @@
+  return npc;
+}
diff --git a/riscv/insn_header.h b/riscv/insn_header.h
new file mode 100644 (file)
index 0000000..6a8f818
--- /dev/null
@@ -0,0 +1,22 @@
+#include "processor.h"
+#include "common.h"
+#include "config.h"
+#include "sim.h"
+#include "softfloat.h"
+#include "platform.h" // softfloat isNaNF32UI, etc.
+#include "internals.h" // ditto
+
+#define DECLARE_INSN(name, opcode, mask) \
+  const uint32_t MATCH_ ## name = opcode; \
+  const uint32_t MASK_ ## name = mask;
+#include "opcodes.h"
+#undef DECLARE_INSN
+
+reg_t processor_t::FUNC (insn_t insn, reg_t pc)
+{
+  #define MASK (~(DISPATCH_TABLE_SIZE-1) & OPCODE_MASK)
+  #define MATCH (~(DISPATCH_TABLE_SIZE-1) & OPCODE_MATCH)
+  if(unlikely((insn.bits & MASK) != MATCH))
+    throw trap_illegal_instruction;
+
+  reg_t npc = pc + insn_length(OPCODE_MATCH);
diff --git a/riscv/insn_includes.h b/riscv/insn_includes.h
deleted file mode 100644 (file)
index 9496572..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "processor.h"
-#include "common.h"
-#include "config.h"
-#include "sim.h"
-#include "softfloat.h"
-#include "platform.h" // softfloat isNaNF32UI, etc.
-#include "internals.h" // ditto
index 5e9bb497fe7ea08c6eb21f5cb4d04eafdb685e8a..0d2ef1251adf6eebe4cfef001f12b7f6ba44fb52 100644 (file)
@@ -1 +1 @@
-#include "jalr_c.h"
+#include "insns/jalr_c.h"
index 5e9bb497fe7ea08c6eb21f5cb4d04eafdb685e8a..0d2ef1251adf6eebe4cfef001f12b7f6ba44fb52 100644 (file)
@@ -1 +1 @@
-#include "jalr_c.h"
+#include "insns/jalr_c.h"
diff --git a/riscv/opcodes.h b/riscv/opcodes.h
new file mode 100644 (file)
index 0000000..b37b833
--- /dev/null
@@ -0,0 +1,272 @@
+DECLARE_INSN(movn, 0x6f7, 0x1ffff)
+DECLARE_INSN(vfsstw, 0x150f, 0x1ffff)
+DECLARE_INSN(remuw, 0x7bb, 0x1ffff)
+DECLARE_INSN(fmin_d, 0x180d3, 0x1ffff)
+DECLARE_INSN(vlsthu, 0x128b, 0x1ffff)
+DECLARE_INSN(c_swsp, 0x8, 0x1f)
+DECLARE_INSN(bltu, 0x363, 0x3ff)
+DECLARE_INSN(vlsegstwu, 0xb0b, 0xfff)
+DECLARE_INSN(movz, 0x2f7, 0x1ffff)
+DECLARE_INSN(fcvt_lu_s, 0x9053, 0x3ff1ff)
+DECLARE_INSN(fence_l_cv, 0x32f, 0x3ff)
+DECLARE_INSN(fmin_s, 0x18053, 0x1ffff)
+DECLARE_INSN(c_lw0, 0x12, 0x801f)
+DECLARE_INSN(slliw, 0x9b, 0x3f83ff)
+DECLARE_INSN(lb, 0x3, 0x3ff)
+DECLARE_INSN(vlwu, 0x30b, 0x3fffff)
+DECLARE_INSN(fcvt_d_l, 0xc0d3, 0x3ff1ff)
+DECLARE_INSN(lh, 0x83, 0x3ff)
+DECLARE_INSN(fcvt_d_w, 0xe0d3, 0x3ff1ff)
+DECLARE_INSN(lw, 0x103, 0x3ff)
+DECLARE_INSN(add, 0x33, 0x1ffff)
+DECLARE_INSN(fcvt_d_s, 0x100d3, 0x3ff1ff)
+DECLARE_INSN(fence_g_v, 0x2af, 0x3ff)
+DECLARE_INSN(mfpcr, 0x17b, 0x7c1ffff)
+DECLARE_INSN(c_fsd, 0x18, 0x1f)
+DECLARE_INSN(fmax_d, 0x190d3, 0x1ffff)
+DECLARE_INSN(bne, 0xe3, 0x3ff)
+DECLARE_INSN(rdcycle, 0x277, 0x7ffffff)
+DECLARE_INSN(fcvt_s_d, 0x11053, 0x3ff1ff)
+DECLARE_INSN(vlh, 0x8b, 0x3fffff)
+DECLARE_INSN(bgeu, 0x3e3, 0x3ff)
+DECLARE_INSN(vflstd, 0x158b, 0x1ffff)
+DECLARE_INSN(c_li, 0x0, 0x1f)
+DECLARE_INSN(di, 0xfb, 0x7ffffff)
+DECLARE_INSN(sltiu, 0x193, 0x3ff)
+DECLARE_INSN(mtpcr, 0x1fb, 0xf801ffff)
+DECLARE_INSN(vlb, 0xb, 0x3fffff)
+DECLARE_INSN(stop, 0x177, 0xffffffff)
+DECLARE_INSN(vld, 0x18b, 0x3fffff)
+DECLARE_INSN(c_slli, 0x19, 0x1c1f)
+DECLARE_INSN(break, 0xf7, 0xffffffff)
+DECLARE_INSN(cflush, 0x2fb, 0xffffffff)
+DECLARE_INSN(fcvt_s_w, 0xe053, 0x3ff1ff)
+DECLARE_INSN(vflstw, 0x150b, 0x1ffff)
+DECLARE_INSN(mul, 0x433, 0x1ffff)
+DECLARE_INSN(c_lw, 0xa, 0x1f)
+DECLARE_INSN(vlw, 0x10b, 0x3fffff)
+DECLARE_INSN(vssegstw, 0x90f, 0xfff)
+DECLARE_INSN(amominu_d, 0x19ab, 0x1ffff)
+DECLARE_INSN(c_sdsp, 0x6, 0x1f)
+DECLARE_INSN(utidx, 0x1f7, 0x7ffffff)
+DECLARE_INSN(srli, 0x293, 0x3f03ff)
+DECLARE_INSN(c_srli, 0x819, 0x1c1f)
+DECLARE_INSN(c_ldsp, 0x4, 0x1f)
+DECLARE_INSN(c_flw, 0x14, 0x1f)
+DECLARE_INSN(c_srai32, 0x1419, 0x1c1f)
+DECLARE_INSN(amominu_w, 0x192b, 0x1ffff)
+DECLARE_INSN(divuw, 0x6bb, 0x1ffff)
+DECLARE_INSN(mulw, 0x43b, 0x1ffff)
+DECLARE_INSN(vssegstd, 0x98f, 0xfff)
+DECLARE_INSN(srlw, 0x2bb, 0x1ffff)
+DECLARE_INSN(vssegstb, 0x80f, 0xfff)
+DECLARE_INSN(mftx_d, 0x1c0d3, 0x7c1ffff)
+DECLARE_INSN(div, 0x633, 0x1ffff)
+DECLARE_INSN(c_ld, 0x9, 0x1f)
+DECLARE_INSN(mftx_s, 0x1c053, 0x7c1ffff)
+DECLARE_INSN(vssegsth, 0x88f, 0xfff)
+DECLARE_INSN(vvcfgivl, 0xf3, 0x3ff)
+DECLARE_INSN(j, 0x67, 0x7f)
+DECLARE_INSN(ei, 0x7b, 0x7ffffff)
+DECLARE_INSN(fence, 0x12f, 0x3ff)
+DECLARE_INSN(vsw, 0x10f, 0x3fffff)
+DECLARE_INSN(fnmsub_s, 0x4b, 0x1ff)
+DECLARE_INSN(vfssegstd, 0xd8f, 0xfff)
+DECLARE_INSN(fcvt_l_s, 0x8053, 0x3ff1ff)
+DECLARE_INSN(fle_s, 0x17053, 0x1ffff)
+DECLARE_INSN(vsb, 0xf, 0x3fffff)
+DECLARE_INSN(mffsr, 0x1d053, 0x7ffffff)
+DECLARE_INSN(fdiv_s, 0x3053, 0x1f1ff)
+DECLARE_INSN(vlstbu, 0x120b, 0x1ffff)
+DECLARE_INSN(vsetvl, 0x2f3, 0x3fffff)
+DECLARE_INSN(fle_d, 0x170d3, 0x1ffff)
+DECLARE_INSN(fence_i, 0xaf, 0x3ff)
+DECLARE_INSN(vlsegbu, 0x220b, 0x1ffff)
+DECLARE_INSN(fnmsub_d, 0xcb, 0x1ff)
+DECLARE_INSN(addw, 0x3b, 0x1ffff)
+DECLARE_INSN(sll, 0xb3, 0x1ffff)
+DECLARE_INSN(xor, 0x233, 0x1ffff)
+DECLARE_INSN(sub, 0x10033, 0x1ffff)
+DECLARE_INSN(eret, 0x27b, 0xffffffff)
+DECLARE_INSN(blt, 0x263, 0x3ff)
+DECLARE_INSN(vsstw, 0x110f, 0x1ffff)
+DECLARE_INSN(mtfsr, 0x1f053, 0x3fffff)
+DECLARE_INSN(vssth, 0x108f, 0x1ffff)
+DECLARE_INSN(rem, 0x733, 0x1ffff)
+DECLARE_INSN(srliw, 0x29b, 0x3f83ff)
+DECLARE_INSN(lui, 0x37, 0x7f)
+DECLARE_INSN(vsstb, 0x100f, 0x1ffff)
+DECLARE_INSN(fcvt_s_lu, 0xd053, 0x3ff1ff)
+DECLARE_INSN(vsstd, 0x118f, 0x1ffff)
+DECLARE_INSN(addi, 0x13, 0x3ff)
+DECLARE_INSN(vfmst, 0x1173, 0x1ffff)
+DECLARE_INSN(mulh, 0x4b3, 0x1ffff)
+DECLARE_INSN(fmul_s, 0x2053, 0x1f1ff)
+DECLARE_INSN(vlsegsthu, 0xa8b, 0xfff)
+DECLARE_INSN(srai, 0x10293, 0x3f03ff)
+DECLARE_INSN(amoand_d, 0x9ab, 0x1ffff)
+DECLARE_INSN(flt_d, 0x160d3, 0x1ffff)
+DECLARE_INSN(sraw, 0x102bb, 0x1ffff)
+DECLARE_INSN(fmul_d, 0x20d3, 0x1f1ff)
+DECLARE_INSN(ld, 0x183, 0x3ff)
+DECLARE_INSN(ori, 0x313, 0x3ff)
+DECLARE_INSN(flt_s, 0x16053, 0x1ffff)
+DECLARE_INSN(addiw, 0x1b, 0x3ff)
+DECLARE_INSN(amoand_w, 0x92b, 0x1ffff)
+DECLARE_INSN(feq_s, 0x15053, 0x1ffff)
+DECLARE_INSN(fsgnjx_d, 0x70d3, 0x1ffff)
+DECLARE_INSN(sra, 0x102b3, 0x1ffff)
+DECLARE_INSN(c_lwsp, 0x5, 0x1f)
+DECLARE_INSN(bge, 0x2e3, 0x3ff)
+DECLARE_INSN(c_add3, 0x1c, 0x31f)
+DECLARE_INSN(sraiw, 0x1029b, 0x3f83ff)
+DECLARE_INSN(vssegd, 0x218f, 0x1ffff)
+DECLARE_INSN(srl, 0x2b3, 0x1ffff)
+DECLARE_INSN(vfmts, 0x1973, 0x1ffff)
+DECLARE_INSN(fsgnjx_s, 0x7053, 0x1ffff)
+DECLARE_INSN(vfmsv, 0x973, 0x3fffff)
+DECLARE_INSN(feq_d, 0x150d3, 0x1ffff)
+DECLARE_INSN(fcvt_d_wu, 0xf0d3, 0x3ff1ff)
+DECLARE_INSN(vmts, 0x1873, 0x1ffff)
+DECLARE_INSN(or, 0x333, 0x1ffff)
+DECLARE_INSN(rdinstret, 0xa77, 0x7ffffff)
+DECLARE_INSN(fcvt_wu_d, 0xb0d3, 0x3ff1ff)
+DECLARE_INSN(subw, 0x1003b, 0x1ffff)
+DECLARE_INSN(jalr_c, 0x6b, 0x3ff)
+DECLARE_INSN(fmax_s, 0x19053, 0x1ffff)
+DECLARE_INSN(amomaxu_d, 0x1dab, 0x1ffff)
+DECLARE_INSN(c_slliw, 0x1819, 0x1c1f)
+DECLARE_INSN(jalr_j, 0x16b, 0x3ff)
+DECLARE_INSN(c_fld, 0x15, 0x1f)
+DECLARE_INSN(vlstw, 0x110b, 0x1ffff)
+DECLARE_INSN(vlsth, 0x108b, 0x1ffff)
+DECLARE_INSN(xori, 0x213, 0x3ff)
+DECLARE_INSN(jalr_r, 0xeb, 0x3ff)
+DECLARE_INSN(amomaxu_w, 0x1d2b, 0x1ffff)
+DECLARE_INSN(fcvt_wu_s, 0xb053, 0x3ff1ff)
+DECLARE_INSN(vlstb, 0x100b, 0x1ffff)
+DECLARE_INSN(vlstd, 0x118b, 0x1ffff)
+DECLARE_INSN(c_ld0, 0x8012, 0x801f)
+DECLARE_INSN(rdtime, 0x677, 0x7ffffff)
+DECLARE_INSN(andi, 0x393, 0x3ff)
+DECLARE_INSN(c_srli32, 0xc19, 0x1c1f)
+DECLARE_INSN(fsgnjn_d, 0x60d3, 0x1ffff)
+DECLARE_INSN(fnmadd_s, 0x4f, 0x1ff)
+DECLARE_INSN(jal, 0x6f, 0x7f)
+DECLARE_INSN(lwu, 0x303, 0x3ff)
+DECLARE_INSN(vlsegstbu, 0xa0b, 0xfff)
+DECLARE_INSN(c_beq, 0x10, 0x1f)
+DECLARE_INSN(vlhu, 0x28b, 0x3fffff)
+DECLARE_INSN(vfsstd, 0x158f, 0x1ffff)
+DECLARE_INSN(c_bne, 0x11, 0x1f)
+DECLARE_INSN(fnmadd_d, 0xcf, 0x1ff)
+DECLARE_INSN(fence_g_cv, 0x3af, 0x3ff)
+DECLARE_INSN(amoadd_d, 0x1ab, 0x1ffff)
+DECLARE_INSN(c_sw, 0xd, 0x1f)
+DECLARE_INSN(amomax_w, 0x152b, 0x1ffff)
+DECLARE_INSN(c_move, 0x2, 0x801f)
+DECLARE_INSN(fmovn, 0xef7, 0x1ffff)
+DECLARE_INSN(c_fsw, 0x16, 0x1f)
+DECLARE_INSN(c_j, 0x8002, 0x801f)
+DECLARE_INSN(mulhsu, 0x533, 0x1ffff)
+DECLARE_INSN(c_sd, 0xc, 0x1f)
+DECLARE_INSN(amoadd_w, 0x12b, 0x1ffff)
+DECLARE_INSN(fcvt_d_lu, 0xd0d3, 0x3ff1ff)
+DECLARE_INSN(amomax_d, 0x15ab, 0x1ffff)
+DECLARE_INSN(fcvt_w_d, 0xa0d3, 0x3ff1ff)
+DECLARE_INSN(fmovz, 0xaf7, 0x1ffff)
+DECLARE_INSN(c_or3, 0x21c, 0x31f)
+DECLARE_INSN(vmvv, 0x73, 0x3fffff)
+DECLARE_INSN(vfssegstw, 0xd0f, 0xfff)
+DECLARE_INSN(slt, 0x133, 0x1ffff)
+DECLARE_INSN(mxtf_d, 0x1e0d3, 0x3fffff)
+DECLARE_INSN(sllw, 0xbb, 0x1ffff)
+DECLARE_INSN(amoor_d, 0xdab, 0x1ffff)
+DECLARE_INSN(slti, 0x113, 0x3ff)
+DECLARE_INSN(remu, 0x7b3, 0x1ffff)
+DECLARE_INSN(flw, 0x107, 0x3ff)
+DECLARE_INSN(remw, 0x73b, 0x1ffff)
+DECLARE_INSN(sltu, 0x1b3, 0x1ffff)
+DECLARE_INSN(slli, 0x93, 0x3f03ff)
+DECLARE_INSN(c_and3, 0x31c, 0x31f)
+DECLARE_INSN(vssegw, 0x210f, 0x1ffff)
+DECLARE_INSN(amoor_w, 0xd2b, 0x1ffff)
+DECLARE_INSN(vsd, 0x18f, 0x3fffff)
+DECLARE_INSN(beq, 0x63, 0x3ff)
+DECLARE_INSN(fld, 0x187, 0x3ff)
+DECLARE_INSN(mxtf_s, 0x1e053, 0x3fffff)
+DECLARE_INSN(fsub_s, 0x1053, 0x1f1ff)
+DECLARE_INSN(and, 0x3b3, 0x1ffff)
+DECLARE_INSN(vtcfgivl, 0x1f3, 0x3ff)
+DECLARE_INSN(lbu, 0x203, 0x3ff)
+DECLARE_INSN(vf, 0x3f3, 0xf80003ff)
+DECLARE_INSN(vlsegstw, 0x90b, 0xfff)
+DECLARE_INSN(syscall, 0x77, 0xffffffff)
+DECLARE_INSN(fsgnj_s, 0x5053, 0x1ffff)
+DECLARE_INSN(c_addi, 0x1, 0x1f)
+DECLARE_INSN(vfmvv, 0x173, 0x3fffff)
+DECLARE_INSN(vlstwu, 0x130b, 0x1ffff)
+DECLARE_INSN(c_sub3, 0x11c, 0x31f)
+DECLARE_INSN(vsh, 0x8f, 0x3fffff)
+DECLARE_INSN(vlsegstb, 0x80b, 0xfff)
+DECLARE_INSN(vlsegstd, 0x98b, 0xfff)
+DECLARE_INSN(vflsegd, 0x258b, 0x1ffff)
+DECLARE_INSN(vflsegw, 0x250b, 0x1ffff)
+DECLARE_INSN(vlsegsth, 0x88b, 0xfff)
+DECLARE_INSN(fsgnj_d, 0x50d3, 0x1ffff)
+DECLARE_INSN(vflsegstw, 0xd0b, 0xfff)
+DECLARE_INSN(c_sub, 0x801a, 0x801f)
+DECLARE_INSN(mulhu, 0x5b3, 0x1ffff)
+DECLARE_INSN(fcvt_l_d, 0x80d3, 0x3ff1ff)
+DECLARE_INSN(vmsv, 0x873, 0x3fffff)
+DECLARE_INSN(vmst, 0x1073, 0x1ffff)
+DECLARE_INSN(fadd_d, 0xd3, 0x1f1ff)
+DECLARE_INSN(fcvt_s_wu, 0xf053, 0x3ff1ff)
+DECLARE_INSN(rdnpc, 0x26b, 0x7ffffff)
+DECLARE_INSN(fcvt_s_l, 0xc053, 0x3ff1ff)
+DECLARE_INSN(vflsegstd, 0xd8b, 0xfff)
+DECLARE_INSN(c_add, 0x1a, 0x801f)
+DECLARE_INSN(fcvt_lu_d, 0x90d3, 0x3ff1ff)
+DECLARE_INSN(vfld, 0x58b, 0x3fffff)
+DECLARE_INSN(fsub_d, 0x10d3, 0x1f1ff)
+DECLARE_INSN(fmadd_s, 0x43, 0x1ff)
+DECLARE_INSN(fcvt_w_s, 0xa053, 0x3ff1ff)
+DECLARE_INSN(vssegh, 0x208f, 0x1ffff)
+DECLARE_INSN(fsqrt_s, 0x4053, 0x3ff1ff)
+DECLARE_INSN(c_srai, 0x1019, 0x1c1f)
+DECLARE_INSN(amomin_w, 0x112b, 0x1ffff)
+DECLARE_INSN(fsgnjn_s, 0x6053, 0x1ffff)
+DECLARE_INSN(c_slli32, 0x419, 0x1c1f)
+DECLARE_INSN(vlsegwu, 0x230b, 0x1ffff)
+DECLARE_INSN(vfsw, 0x50f, 0x3fffff)
+DECLARE_INSN(amoswap_d, 0x5ab, 0x1ffff)
+DECLARE_INSN(fence_l_v, 0x22f, 0x3ff)
+DECLARE_INSN(fsqrt_d, 0x40d3, 0x3ff1ff)
+DECLARE_INSN(vflw, 0x50b, 0x3fffff)
+DECLARE_INSN(fdiv_d, 0x30d3, 0x1f1ff)
+DECLARE_INSN(fmadd_d, 0xc3, 0x1ff)
+DECLARE_INSN(divw, 0x63b, 0x1ffff)
+DECLARE_INSN(amomin_d, 0x11ab, 0x1ffff)
+DECLARE_INSN(divu, 0x6b3, 0x1ffff)
+DECLARE_INSN(amoswap_w, 0x52b, 0x1ffff)
+DECLARE_INSN(vfsd, 0x58f, 0x3fffff)
+DECLARE_INSN(fadd_s, 0x53, 0x1f1ff)
+DECLARE_INSN(vlsegb, 0x200b, 0x1ffff)
+DECLARE_INSN(fsd, 0x1a7, 0x3ff)
+DECLARE_INSN(vlsegd, 0x218b, 0x1ffff)
+DECLARE_INSN(vlsegh, 0x208b, 0x1ffff)
+DECLARE_INSN(sw, 0x123, 0x3ff)
+DECLARE_INSN(fmsub_s, 0x47, 0x1ff)
+DECLARE_INSN(vfssegw, 0x250f, 0x1ffff)
+DECLARE_INSN(c_addiw, 0x1d, 0x1f)
+DECLARE_INSN(lhu, 0x283, 0x3ff)
+DECLARE_INSN(sh, 0xa3, 0x3ff)
+DECLARE_INSN(vlsegw, 0x210b, 0x1ffff)
+DECLARE_INSN(fsw, 0x127, 0x3ff)
+DECLARE_INSN(vlbu, 0x20b, 0x3fffff)
+DECLARE_INSN(sb, 0x23, 0x3ff)
+DECLARE_INSN(fmsub_d, 0xc7, 0x1ff)
+DECLARE_INSN(vlseghu, 0x228b, 0x1ffff)
+DECLARE_INSN(vssegb, 0x200f, 0x1ffff)
+DECLARE_INSN(vfssegd, 0x258f, 0x1ffff)
+DECLARE_INSN(sd, 0x1a3, 0x3ff)
index eea2ce2078a24409ebf5475a4511216154a7fb04..cb2188b1c694a3614ce94e1056fc0cff240b3ce3 100644 (file)
@@ -12,6 +12,7 @@
 processor_t::processor_t(sim_t* _sim, char* _mem, size_t _memsz)
   : sim(_sim), mmu(_mem,_memsz)
 {
+  initialize_dispatch_table();
   // a few assumptions about endianness, including freg_t union
   static_assert(BYTE_ORDER == LITTLE_ENDIAN);
   static_assert(sizeof(freg_t) == 8);
@@ -172,12 +173,10 @@ void processor_t::step(size_t n, bool noisy)
   {
     take_interrupt();
 
-    #include "dispatch.h"
-
     #define execute_insn(noisy) \
       do { insn_t insn = mmu.load_insn(pc, sr & SR_EC); \
       if(noisy) disasm(insn,pc); \
-      pc = dispatch_table[dispatch_index(insn)](this, insn, pc); \
+      pc = dispatch_table[insn.bits % DISPATCH_TABLE_SIZE](this, insn, pc); \
       XPR[0] = 0; } while(0)
 
     if(noisy) for( ; i < n; i++)
@@ -267,3 +266,54 @@ void processor_t::disasm(insn_t insn, reg_t pc)
   #endif
   printf("\n");
 }
+
+// if the lower log2(DISPATCH_TABLE_SIZE) bits of an instruction
+// uniquely identify that instruction, the dispatch table points
+// directly to that insn_func.  otherwise, we search the short
+// list of instructions that match.
+
+insn_func_t processor_t::dispatch_table[DISPATCH_TABLE_SIZE];
+
+struct insn_chain_t
+{
+  insn_func_t func;
+  uint32_t opcode;
+  uint32_t mask;
+};
+static std::vector<insn_chain_t> dispatch_chain[DISPATCH_TABLE_SIZE];
+
+reg_t processor_t::dispatch(insn_t insn, reg_t pc)
+{
+  size_t idx = insn.bits % DISPATCH_TABLE_SIZE;
+  for(size_t i = 0; i < dispatch_chain[idx].size(); i++)
+  {
+    insn_chain_t& c = dispatch_chain[idx][i];
+    if((insn.bits & c.mask) == c.opcode)
+      return c.func(this, insn, pc);
+  }
+  throw trap_illegal_instruction;
+}
+
+void processor_t::initialize_dispatch_table()
+{
+  if(dispatch_table[0] != NULL)
+    return;
+
+  for(size_t i = 0; i < DISPATCH_TABLE_SIZE; i++)
+  {
+    #define DECLARE_INSN(name, opcode, mask) \
+      if((i & (mask)) == ((opcode) & (mask) & (DISPATCH_TABLE_SIZE-1))) \
+        dispatch_chain[i].push_back( \
+          (insn_chain_t){&processor_t::insn_func_ ## name, opcode, mask});
+    #include "opcodes.h"
+    #undef DECLARE_INSN
+  }
+
+  for(size_t i = 0; i < DISPATCH_TABLE_SIZE; i++)
+  {
+    if(dispatch_chain[i].size() == 1)
+      dispatch_table[i] = dispatch_chain[i][0].func;
+    else
+      dispatch_table[i] = &processor_t::dispatch;
+  }
+}
index 10abe1495a5decfc38e2b54c727c298a5665dad1..b72fa27dfc362b6cad008da2d2e954570764c852 100644 (file)
@@ -9,6 +9,10 @@
 
 #define MAX_UTS 2048
 
+#define DISPATCH_TABLE_SIZE 1024
+class processor_t;
+typedef reg_t (*insn_func_t)(processor_t*, insn_t, reg_t);
+
 class sim_t;
 
 class processor_t
@@ -87,8 +91,14 @@ private:
   icsim_t* dtlbsim;
 
   friend class sim_t;
-  
-  #include "dispatch_decl.h"
+
+  static insn_func_t dispatch_table[DISPATCH_TABLE_SIZE];
+  reg_t dispatch(insn_t insn, reg_t pc);
+  static void initialize_dispatch_table();
+
+  #define DECLARE_INSN(name, m, o) reg_t insn_func_ ## name (insn_t, reg_t);
+  #include "opcodes.h"
+  #undef DECLARE_INSN
 };
 
 #endif
index 202d437054f109f999e19596fad58e11c1b6b898..f6553c169a8cd60b011849dde769c6e8e6bf0f2b 100644 (file)
@@ -2,16 +2,27 @@ riscv_subproject_deps = \
        softfloat_riscv \
        softfloat \
 
+riscv_insn_hdrs := $(notdir $(wildcard $(src_dir)/riscv/insns/*.h))
+
 riscv_hdrs = \
        applink.h \
        common.h \
        decode.h \
-       dispatch.h \
        mmu.h \
        processor.h \
        sim.h \
        trap.h \
-       insns/*.h \
+       opcodes.h \
+       insn_header.h \
+       insn_footer.h \
+
+$(patsubst %.h, %.cc, $(riscv_insn_hdrs)): %.cc: insns/%.h $(riscv_hdrs)
+       @echo \#define FUNC insn_func_$(@:.cc=)      > $@
+       @echo \#define OPCODE_MASK MASK_$(@:.cc=)   >> $@
+       @echo \#define OPCODE_MATCH MATCH_$(@:.cc=) >> $@
+       @cat $(src_dir)/riscv/insn_header.h         >> $@
+       @cat $<                                     >> $@
+       @cat $(src_dir)/riscv/insn_footer.h         >> $@
 
 riscv_srcs = \
        applink.cc \
@@ -20,16 +31,7 @@ riscv_srcs = \
        trap.cc \
        icsim.cc \
        mmu.cc \
-       dispatch_0.cc \
-       dispatch_1.cc \
-       dispatch_2.cc \
-       dispatch_3.cc \
-       dispatch_4.cc \
-       dispatch_5.cc \
-       dispatch_6.cc \
-       dispatch_7.cc \
-       dispatch_8.cc \
-       dispatch_9.cc \
+       $(patsubst %.h, %.cc, $(riscv_insn_hdrs)) \
 
 riscv_test_srcs =