From 9e759da75fccd245482d6a9e8d880d19baec85b6 Mon Sep 17 00:00:00 2001 From: nella Date: Mon, 5 Oct 2026 19:13:55 +0200 Subject: [PATCH] Check $mul/$div signedness. --- passes/opt/peepopt_muldiv_c.pmg | 1 + tests/various/peepopt.ys | 42 +++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/passes/opt/peepopt_muldiv_c.pmg b/passes/opt/peepopt_muldiv_c.pmg index a0b10d584..c34ac54ed 100644 --- a/passes/opt/peepopt_muldiv_c.pmg +++ b/passes/opt/peepopt_muldiv_c.pmg @@ -34,6 +34,7 @@ match div // Check that b_const and c_const is constant filter b_const.is_fully_const() filter port(div, \B).is_fully_const() + filter param(div, \A_SIGNED).as_bool() == param(mul, \A_SIGNED).as_bool() index remove_bottom_padding(port(div, \A)) === mul_y endmatch diff --git a/tests/various/peepopt.ys b/tests/various/peepopt.ys index 826fa1ac4..cd0f8e7fa 100644 --- a/tests/various/peepopt.ys +++ b/tests/various/peepopt.ys @@ -365,3 +365,45 @@ end EOT equiv_opt -assert peepopt + +#################### + +#6255 +design -reset +read_verilog <