--- /dev/null
+// See LICENSE for license details.
+
+#ifndef _RISCV_SV_DECODE_H
+#define _RISCV_SV_DECODE_H
+
+#include "sv.h"
+#include "decode.h"
+
+class sv_insn_t: public insn_t
+{
+public:
+ uint64_t rd () { return remap(insn_t::rd()); }
+ uint64_t rs1() { return remap(insn_t::rs1(); }
+ uint64_t rs2() { return remap(insn_t::rs2(); }
+ uint64_t rs3() { return remap(insn_t::rs3(); }
+private:
+ // remaps the register through the lookup table.
+ // will need to take the current loop index/offset somehow
+ uint64_t remap(uint64_t reg) { return reg; } // TODO
+};
+
+#endif