diff --git a/src/V3DfgPeephole.cpp b/src/V3DfgPeephole.cpp index 1e21ea675..b88c726b3 100644 --- a/src/V3DfgPeephole.cpp +++ b/src/V3DfgPeephole.cpp @@ -111,7 +111,7 @@ template <> void foldOp (V3Number& out, const V3Number& lhs, cons template <> void foldOp (V3Number& out, const V3Number& lhs, const V3Number& rhs) { out.opLt(lhs, rhs); } template <> void foldOp (V3Number& out, const V3Number& lhs, const V3Number& rhs) { out.opLtS(lhs, rhs); } template <> void foldOp (V3Number& out, const V3Number& lhs, const V3Number& rhs) { out.opLte(lhs, rhs); } -template <> void foldOp (V3Number& out, const V3Number& lhs, const V3Number& rhs) { out.opLtS(lhs, rhs); } +template <> void foldOp (V3Number& out, const V3Number& lhs, const V3Number& rhs) { out.opLteS(lhs, rhs); } template <> void foldOp (V3Number& out, const V3Number& lhs, const V3Number& rhs) { out.opModDiv(lhs, rhs); } template <> void foldOp (V3Number& out, const V3Number& lhs, const V3Number& rhs) { out.opModDivS(lhs, rhs); } template <> void foldOp (V3Number& out, const V3Number& lhs, const V3Number& rhs) { out.opMul(lhs, rhs); } diff --git a/test_regress/t/t_dfg_peephole.v b/test_regress/t/t_dfg_peephole.v index a453cc51a..ae91ea574 100644 --- a/test_regress/t/t_dfg_peephole.v +++ b/test_regress/t/t_dfg_peephole.v @@ -66,9 +66,13 @@ module t ( `signal(FOLD_BINARY_LogIf, const_a[0] -> const_b[0]); `signal(FOLD_BINARY_LogOr, const_a[0] || const_b[0]); `signal(FOLD_BINARY_Lt, const_a < const_b); + `signal(FOLD_BINARY_Lt2, const_a < const_a); `signal(FOLD_BINARY_LtS, sconst_a < sconst_b); + `signal(FOLD_BINARY_LtS2, sconst_a < sconst_a); `signal(FOLD_BINARY_Lte, const_a <= const_b); + `signal(FOLD_BINARY_Lte2, const_a <= const_a); `signal(FOLD_BINARY_LteS, sconst_a <= sconst_b); + `signal(FOLD_BINARY_LteS2, sconst_a <= sconst_a); `signal(FOLD_BINARY_ModDiv, const_a % 64'd3); `signal(FOLD_BINARY_ModDivS, sconst_a % 64'sd3); `signal(FOLD_BINARY_Mul, const_a * 64'd3);