bool zeroingtarg = false;
#endif
sv_insn_t insn(p, sv_enabled, bits, floatintmap, PRED_ARGS, OFFS_ARGS);
- p->s.set_insn(&insn);
+ p->s.set_insn(&insn, xlen);
#ifdef USING_NOREGS
#include INCLUDEFILE
#else
#include "sv_insn_redirect.h"
#include "processor.h"
+void (sv_proc_t::WRITE_FRD)(freg_t value)
+{
+ WRITE_FREG( insn->rd(), value );
+}
+
void (sv_proc_t::WRITE_RD)(reg_t value)
{
WRITE_REG( insn->rd(), value );
class sv_proc_t
{
public:
- sv_proc_t(processor_t *_p) : p(_p), insn(NULL) {}
+ sv_proc_t(processor_t *_p) : p(_p), insn(NULL), xlen(0) {}
void (WRITE_RD)(reg_t value);
+ void (WRITE_FRD)(freg_t value);
//reg_t (READ_REG)(uint64_t i);
processor_t *p;
sv_insn_t *insn;
+ int xlen;
- void set_insn(sv_insn_t *i) {
+ void set_insn(sv_insn_t *i, int x) {
this->insn = i;
+ this->xlen = x;
}
reg_t get_rs1();