elwidth version of lt
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 9 Nov 2018 09:53:43 +0000 (09:53 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 9 Nov 2018 09:53:43 +0000 (09:53 +0000)
riscv/sv_insn_redirect.cc

index 6f9579d0f22a4223b26062b216d545d5cb5d069f..03ffe7f4e8e91c9c98477c1e3f9aeadb0b1c1c16 100644 (file)
@@ -737,7 +737,19 @@ sv_reg_t sv_proc_t::rv_sr(sv_reg_t const & lhs, sv_reg_t const & rhs,
 
 bool sv_proc_t::rv_lt(sv_reg_t const & lhs, sv_reg_t const & rhs)
 {
-    return lhs < rhs;
+    uint8_t bitwidth = _insn->src_bitwidth;
+    uint64_t vlhs = 0;
+    uint64_t vrhs = 0;
+    if (rv_int_op_prepare(lhs, rhs, vlhs, vrhs, bitwidth)) {
+        bool result = lhs < rhs;
+        fprintf(stderr, "lt result %lx %lx %x\n",
+                (uint64_t)lhs, (uint64_t)rhs, result);
+        return result;
+    }
+    bool result = vlhs < vrhs;
+    fprintf(stderr, "lt result %lx %lx %d bw %d\n",
+            (uint64_t)lhs, (uint64_t)rhs, result, bitwidth);
+    return result;
 }
 
 bool sv_proc_t::rv_lt(sv_sreg_t const & lhs, sv_sreg_t const & rhs)