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

index 03ffe7f4e8e91c9c98477c1e3f9aeadb0b1c1c16..261adb8e93e6884545a053f0759e221879a845eb 100644 (file)
@@ -754,7 +754,19 @@ bool sv_proc_t::rv_lt(sv_reg_t const & lhs, sv_reg_t const & rhs)
 
 bool sv_proc_t::rv_lt(sv_sreg_t const & lhs, sv_sreg_t const & rhs)
 {
-    return lhs < rhs;
+    uint8_t bitwidth = _insn->src_bitwidth;
+    int64_t vlhs = 0;
+    int64_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",
+                (int64_t)lhs, (int64_t)rhs, result);
+        return result;
+    }
+    bool result = vlhs < vrhs;
+    fprintf(stderr, "lt result %lx %lx %d bw %d\n",
+            (int64_t)lhs, (int64_t)rhs, result, bitwidth);
+    return result;
 }
 
 bool sv_proc_t::rv_gt(sv_reg_t const & lhs, sv_reg_t const & rhs)