#include "sv_insn_redirect.h"
#include "processor.h"
+void (sv_proc_t::WRITE_FRD)(float32_t value)
+{
+ fprintf(stderr, "WRITE_FRD float32_t %f\n", (float)value.v);
+ DO_WRITE_FREG( insn->rd(), freg(value) );
+}
+
+void (sv_proc_t::WRITE_FRD)(float64_t value)
+{
+ fprintf(stderr, "WRITE_FRD float64_t %g\n", (double)value.v);
+ DO_WRITE_FREG( insn->rd(), freg(value) );
+}
+
void (sv_proc_t::WRITE_FRD)(freg_t value)
{
- WRITE_FREG( insn->rd(), value );
+ fprintf(stderr, "WRITE_FRD freg_t %lx\n", value.v);
+ DO_WRITE_FREG( insn->rd(), freg(value) );
}
void (sv_proc_t::WRITE_RD)(reg_t value)
#undef RS3
#undef FRS1
#undef FRS2
+#undef WRITE_FRD
+#undef WRITE_RD
class processor_t;
class insn_t;
sv_proc_t(processor_t *_p) : p(_p), insn(NULL), xlen(0) {}
void (WRITE_RD)(reg_t value);
void (WRITE_FRD)(freg_t value);
+ void (WRITE_FRD)(float64_t value);
+ void (WRITE_FRD)(float32_t value);
//reg_t (READ_REG)(uint64_t i);
processor_t *p;