macro-ify gt, ge, eq and ne
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 9 Nov 2018 10:11:34 +0000 (10:11 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 9 Nov 2018 10:11:34 +0000 (10:11 +0000)
riscv/sv_insn_redirect.cc

index aa4cb335eb47aba39ec7bfb9bbf966a0e7d44c91..66f03503e58cae3b1e151aba3fa6001647126c08 100644 (file)
@@ -740,6 +740,10 @@ sv_reg_t sv_proc_t::rv_sr(sv_reg_t const & lhs, sv_reg_t const & rhs,
 
 #define lt <
 #define gt >
+#define ge >=
+#define le <=
+#define eq ==
+#define ne !=
 
 #define OP_RES_FN( fname, SLHSTYPE, SRHSTYPE, SRESTYPE, \
                            LHSTYPE, RHSTYPE, RESTYPE ) \
@@ -781,38 +785,12 @@ bool sv_proc_t::rv_##fname (SLHSTYPE const & lhs, SRHSTYPE const & rhs) \
 
 OP_BOOL_FN( lt, sv_reg_t, sv_reg_t, uint64_t, uint64_t )
 OP_BOOL_FN( lt, sv_sreg_t, sv_sreg_t, int64_t, int64_t )
-
-bool sv_proc_t::rv_gt(sv_reg_t const & lhs, sv_reg_t const & rhs)
-{
-    return lhs > rhs;
-}
-
-bool sv_proc_t::rv_gt(sv_sreg_t const & lhs, sv_sreg_t const & rhs)
-{
-    return lhs > rhs;
-}
-
-bool sv_proc_t::rv_ge(sv_reg_t const & lhs, sv_reg_t const & rhs)
-{
-    return lhs >= rhs;
-}
-
-bool sv_proc_t::rv_ge(sv_sreg_t const & lhs, sv_sreg_t const & rhs)
-{
-    return lhs >= rhs;
-}
-
-bool sv_proc_t::rv_eq(sv_reg_t const & lhs, sv_reg_t const & rhs)
-{
-    return lhs == rhs;
-}
-
-bool sv_proc_t::rv_ne(sv_reg_t const & lhs, sv_reg_t const & rhs)
-{
-    fprintf(stderr, "rv_ne %lx %lx %d\n",
-            (uint64_t)lhs, (uint64_t)rhs, (lhs != rhs));
-    return (lhs != rhs);
-}
+OP_BOOL_FN( gt, sv_reg_t, sv_reg_t, uint64_t, uint64_t )
+OP_BOOL_FN( gt, sv_sreg_t, sv_sreg_t, int64_t, int64_t )
+OP_BOOL_FN( ge, sv_reg_t, sv_reg_t, uint64_t, uint64_t )
+OP_BOOL_FN( ge, sv_sreg_t, sv_sreg_t, int64_t, int64_t )
+OP_BOOL_FN( eq, sv_reg_t, sv_reg_t, uint64_t, uint64_t )
+OP_BOOL_FN( ne, sv_reg_t, sv_reg_t, uint64_t, uint64_t )
 
 // ----