rtlil: handle all-zeros case in Const::compress

This commit is contained in:
Philippe Sauter 2024-09-20 13:56:14 +02:00 committed by Emil J. Tywoniak
parent 4cd2e04da4
commit 07fb8af05b
1 changed files with 9 additions and 7 deletions

View File

@ -293,13 +293,15 @@ void RTLIL::Const::compress(bool is_signed)
size_t idx = bits.size();
while (idx > 0 && bits[idx -1] == leading_bit) {
--idx;
idx--;
}
// signed needs one leading bit
if (is_signed && idx < bits.size()) {
++idx;
idx++;
}
// must be at least one bit
idx = (idx == 0) ? 1 : idx;
bits.erase(bits.begin() + idx, bits.end());
}