aboutsummaryrefslogtreecommitdiff
path: root/riscv/insn_template.cc
diff options
context:
space:
mode:
Diffstat (limited to 'riscv/insn_template.cc')
-rw-r--r--riscv/insn_template.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/riscv/insn_template.cc b/riscv/insn_template.cc
new file mode 100644
index 0000000..3aca669
--- /dev/null
+++ b/riscv/insn_template.cc
@@ -0,0 +1,25 @@
+// See LICENSE for license details.
+
+#include "processor.h"
+#include "config.h"
+#include "sim.h"
+#include "softfloat.h"
+#include "platform.h" // softfloat isNaNF32UI, etc.
+#include "internals.h" // ditto
+#include <assert.h>
+
+reg_t processor_t::rv32_NAME(insn_t insn, reg_t pc)
+{
+ int xprlen = 32;
+ reg_t npc = sext_xprlen(pc + insn_length(OPCODE));
+ #include "insns/NAME.h"
+ return npc;
+}
+
+reg_t processor_t::rv64_NAME(insn_t insn, reg_t pc)
+{
+ int xprlen = 64;
+ reg_t npc = sext_xprlen(pc + insn_length(OPCODE));
+ #include "insns/NAME.h"
+ return npc;
+}