aboutsummaryrefslogtreecommitdiffstats
path: root/passes/pmgen
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2019-05-06 15:34:19 +0200
committerClifford Wolf <clifford@clifford.at>2019-05-06 15:34:19 +0200
commitb37c31e2cb82343e363d39e4b35ebdb82f4f69a3 (patch)
treefc52c0bd809a61c0a71252b2be038fb3cc7e8003 /passes/pmgen
parent3333e002b1c6a05e73bdc94844cbe74288771dd0 (diff)
downloadyosys-b37c31e2cb82343e363d39e4b35ebdb82f4f69a3.tar.gz
yosys-b37c31e2cb82343e363d39e4b35ebdb82f4f69a3.tar.bz2
yosys-b37c31e2cb82343e363d39e4b35ebdb82f4f69a3.zip
Bugfix in peepopt_shiftmul.pmg
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'passes/pmgen')
-rw-r--r--passes/pmgen/peepopt_shiftmul.pmg4
1 files changed, 4 insertions, 0 deletions
diff --git a/passes/pmgen/peepopt_shiftmul.pmg b/passes/pmgen/peepopt_shiftmul.pmg
index 1f9b3c2b9..fe861b728 100644
--- a/passes/pmgen/peepopt_shiftmul.pmg
+++ b/passes/pmgen/peepopt_shiftmul.pmg
@@ -8,9 +8,13 @@ endmatch
code shamt
shamt = port(shift, \B);
+ if (shamt.empty())
+ reject;
if (shamt[GetSize(shamt)-1] == State::S0) {
do {
shamt.remove(GetSize(shamt)-1);
+ if (shamt.empty())
+ reject;
} while (shamt[GetSize(shamt)-1] == State::S0);
} else
if (shift->type.in($shift, $shiftx) && param(shift, \B_SIGNED).as_bool()) {