add f32 redirects in sv_proc_t
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 27 Oct 2018 03:41:53 +0000 (04:41 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 27 Oct 2018 03:41:53 +0000 (04:41 +0100)
riscv/sv_insn_redirect.cc
riscv/sv_insn_redirect.h

index 4db6ca614876f0b4c6ca13ab0ef355f547d13db1..4d34c0348715a5f2f8774d8ed68125bd40373168 100644 (file)
@@ -697,13 +697,13 @@ sv_reg_t (sv_proc_t::mulhu)(sv_reg_t const& a, sv_reg_t const& b)
     return sv_reg_t(::mulhu(a, b));
 }
 
+// --------
 
 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);
@@ -765,3 +765,71 @@ bool (sv_proc_t::f64_lt_quiet)( float64_t a, float64_t b )
 }
 
 
+// --------
+
+float32_t (sv_proc_t::f32_add)( float32_t a, float32_t b )
+{
+    return ::f32_add(a, b);
+}
+
+float32_t (sv_proc_t::f32_sub)( float32_t a, float32_t b )
+{
+    return ::f32_sub(a, b);
+}
+
+float32_t (sv_proc_t::f32_mul)( float32_t a, float32_t b )
+{
+    return ::f32_mul(a, b);
+}
+
+float32_t (sv_proc_t::f32_mulAdd)( float32_t a, float32_t b , float32_t c)
+{
+    return ::f32_mulAdd(a, b, c);
+}
+
+float32_t (sv_proc_t::f32_div)( float32_t a, float32_t b )
+{
+    return ::f32_div(a, b);
+}
+
+float32_t (sv_proc_t::f32_rem)( float32_t a, float32_t b )
+{
+    return ::f32_rem(a, b);
+}
+
+float32_t (sv_proc_t::f32_sqrt)( float32_t a )
+{
+    return ::f32_sqrt(a);
+}
+
+bool (sv_proc_t::f32_eq)( float32_t a, float32_t b )
+{
+    return ::f32_eq(a, b);
+}
+
+bool (sv_proc_t::f32_le)( float32_t a, float32_t b )
+{
+    return ::f32_le(a, b);
+}
+
+bool (sv_proc_t::f32_lt)( float32_t a, float32_t b )
+{
+    return ::f32_lt(a, b);
+}
+
+bool (sv_proc_t::f32_eq_signaling)( float32_t a, float32_t b )
+{
+    return ::f32_eq_signaling(a, b);
+}
+
+bool (sv_proc_t::f32_le_quiet)( float32_t a, float32_t b )
+{
+    return ::f32_le_quiet(a, b);
+}
+
+bool (sv_proc_t::f32_lt_quiet)( float32_t a, float32_t b )
+{
+    return ::f32_lt_quiet(a, b);
+}
+
+
index 6df0e00de661be6b0792d3b792662aedc1c3d755..24d51631744dcc10a09413c2d4c5af167dccbc88 100644 (file)
@@ -226,6 +226,20 @@ public:
     bool f64_le_quiet( float64_t, float64_t );
     bool f64_lt_quiet( float64_t, float64_t );
 
+    float32_t f32_add( float32_t, float32_t );
+    float32_t f32_sub( float32_t, float32_t );
+    float32_t f32_mul( float32_t, float32_t );
+    float32_t f32_mulAdd( float32_t, float32_t, float32_t );
+    float32_t f32_div( float32_t, float32_t );
+    float32_t f32_rem( float32_t, float32_t );
+    float32_t f32_sqrt( float32_t );
+    bool f32_eq( float32_t, float32_t );
+    bool f32_le( float32_t, float32_t );
+    bool f32_lt( float32_t, float32_t );
+    bool f32_eq_signaling( float32_t, float32_t );
+    bool f32_le_quiet( float32_t, float32_t );
+    bool f32_lt_quiet( float32_t, float32_t );
+
 
 
 #include "sv_insn_decl.h"