add f128 sv_proc_t redirect
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 27 Oct 2018 03:48:31 +0000 (04:48 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 27 Oct 2018 03:48:31 +0000 (04:48 +0100)
riscv/sv_insn_redirect.cc
riscv/sv_insn_redirect.h

index 4d34c0348715a5f2f8774d8ed68125bd40373168..24e03c05884033b0e8d5c8404abfaf63501a041d 100644 (file)
@@ -833,3 +833,70 @@ bool (sv_proc_t::f32_lt_quiet)( float32_t a, float32_t b )
 }
 
 
+// --------
+
+float128_t (sv_proc_t::f128_add)( float128_t a, float128_t b )
+{
+    return ::f128_add(a, b);
+}
+
+float128_t (sv_proc_t::f128_sub)( float128_t a, float128_t b )
+{
+    return ::f128_sub(a, b);
+}
+
+float128_t (sv_proc_t::f128_mul)( float128_t a, float128_t b )
+{
+    return ::f128_mul(a, b);
+}
+
+float128_t (sv_proc_t::f128_mulAdd)( float128_t a, float128_t b , float128_t c)
+{
+    return ::f128_mulAdd(a, b, c);
+}
+
+float128_t (sv_proc_t::f128_div)( float128_t a, float128_t b )
+{
+    return ::f128_div(a, b);
+}
+
+float128_t (sv_proc_t::f128_rem)( float128_t a, float128_t b )
+{
+    return ::f128_rem(a, b);
+}
+
+float128_t (sv_proc_t::f128_sqrt)( float128_t a )
+{
+    return ::f128_sqrt(a);
+}
+
+bool (sv_proc_t::f128_eq)( float128_t a, float128_t b )
+{
+    return ::f128_eq(a, b);
+}
+
+bool (sv_proc_t::f128_le)( float128_t a, float128_t b )
+{
+    return ::f128_le(a, b);
+}
+
+bool (sv_proc_t::f128_lt)( float128_t a, float128_t b )
+{
+    return ::f128_lt(a, b);
+}
+
+bool (sv_proc_t::f128_eq_signaling)( float128_t a, float128_t b )
+{
+    return ::f128_eq_signaling(a, b);
+}
+
+bool (sv_proc_t::f128_le_quiet)( float128_t a, float128_t b )
+{
+    return ::f128_le_quiet(a, b);
+}
+
+bool (sv_proc_t::f128_lt_quiet)( float128_t a, float128_t b )
+{
+    return ::f128_lt_quiet(a, b);
+}
+
index 24d51631744dcc10a09413c2d4c5af167dccbc88..db219182fdb0befab2f9452882b59b2858306375 100644 (file)
@@ -241,6 +241,20 @@ public:
     bool f32_lt_quiet( float32_t, float32_t );
 
 
+    float128_t f128_add( float128_t, float128_t );
+    float128_t f128_sub( float128_t, float128_t );
+    float128_t f128_mul( float128_t, float128_t );
+    float128_t f128_mulAdd( float128_t, float128_t, float128_t );
+    float128_t f128_div( float128_t, float128_t );
+    float128_t f128_rem( float128_t, float128_t );
+    float128_t f128_sqrt( float128_t );
+    bool f128_eq( float128_t, float128_t );
+    bool f128_le( float128_t, float128_t );
+    bool f128_lt( float128_t, float128_t );
+    bool f128_eq_signaling( float128_t, float128_t );
+    bool f128_le_quiet( float128_t, float128_t );
+    bool f128_lt_quiet( float128_t, float128_t );
+
 
 #include "sv_insn_decl.h"
 };