{
ndata = data >> (shift*bitwidth); // gets element within the reg-block
ndata &= ((1UL<<bitwidth)-1UL); // masks off the right bits
- fprintf(stderr, "readreg %lx bitwidth %d offs %d shift %d %lx->%lx\n",
+ fprintf(stderr, "readreg %ld bitwidth %d offs %d shift %d %lx->%lx\n",
spec.reg, bitwidth, offs, shift, data, ndata);
}
return ndata;
}
+float64_t (sv_proc_t::f64_add)( float64_t a, float64_t b )
+{
+ return ::f64_add(a, b);
+}
+
+
+float64_t (sv_proc_t::f64_sub)( float64_t a, float64_t b )
+{
+ return ::f64_sub(a, b);
+}
+
+float64_t (sv_proc_t::f64_mul)( float64_t a, float64_t b )
+{
+ return ::f64_mul(a, b);
+}
+
+float64_t (sv_proc_t::f64_mulAdd)( float64_t a, float64_t b , float64_t c)
+{
+ return ::f64_mulAdd(a, b, c);
+}
+
+float64_t (sv_proc_t::f64_div)( float64_t a, float64_t b )
+{
+ return ::f64_div(a, b);
+}
+
+float64_t (sv_proc_t::f64_rem)( float64_t a, float64_t b )
+{
+ return ::f64_rem(a, b);
+}
+
+float64_t (sv_proc_t::f64_sqrt)( float64_t a )
+{
+ return ::f64_sqrt(a);
+}
+
+bool (sv_proc_t::f64_eq)( float64_t a, float64_t b )
+{
+ return ::f64_eq(a, b);
+}
+
+bool (sv_proc_t::f64_le)( float64_t a, float64_t b )
+{
+ return ::f64_le(a, b);
+}
+
+bool (sv_proc_t::f64_lt)( float64_t a, float64_t b )
+{
+ return ::f64_lt(a, b);
+}
+
+bool (sv_proc_t::f64_eq_signaling)( float64_t a, float64_t b )
+{
+ return ::f64_eq_signaling(a, b);
+}
+
+bool (sv_proc_t::f64_le_quiet)( float64_t a, float64_t b )
+{
+ return ::f64_le_quiet(a, b);
+}
+
+bool (sv_proc_t::f64_lt_quiet)( float64_t a, float64_t b )
+{
+ return ::f64_lt_quiet(a, b);
+}
+
+
sv_reg_t (mulhu)(sv_reg_t const& a, sv_reg_t const& b);
sv_sreg_t (mulh)(sv_sreg_t const& a, sv_sreg_t const& b);
+ float64_t f64_add( float64_t, float64_t );
+ float64_t f64_sub( float64_t, float64_t );
+ float64_t f64_mul( float64_t, float64_t );
+ float64_t f64_mulAdd( float64_t, float64_t, float64_t );
+ float64_t f64_div( float64_t, float64_t );
+ float64_t f64_rem( float64_t, float64_t );
+ float64_t f64_sqrt( float64_t );
+ bool f64_eq( float64_t, float64_t );
+ bool f64_le( float64_t, float64_t );
+ bool f64_lt( float64_t, float64_t );
+ bool f64_eq_signaling( float64_t, float64_t );
+ bool f64_le_quiet( float64_t, float64_t );
+ bool f64_lt_quiet( float64_t, float64_t );
+
+
#include "sv_insn_decl.h"
};