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)