mirror of
https://github.com/YosysHQ/yosys
synced 2025-07-31 00:13:18 +00:00
More fixes for bugs found using xsthammer
This commit is contained in:
parent
b1d39aa865
commit
0c6ffc4c65
5 changed files with 24 additions and 16 deletions
|
@ -752,7 +752,7 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint)
|
|||
RTLIL::SigSpec arg = children[0]->genRTLIL(width_hint);
|
||||
is_signed = type == AST_NEG || (type == AST_POS && children[0]->is_signed);
|
||||
int width = type == AST_NEG && arg.width < width_hint ? arg.width+1 : arg.width;
|
||||
if (width > width_hint && width_hint > 0)
|
||||
if (width_hint > 0)
|
||||
width = width_hint;
|
||||
return uniop2rtlil(this, type_name, width, arg);
|
||||
}
|
||||
|
@ -766,9 +766,7 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint)
|
|||
RTLIL::SigSpec left = children[0]->genRTLIL(width_hint);
|
||||
RTLIL::SigSpec right = children[1]->genRTLIL(width_hint);
|
||||
int width = std::max(left.width, right.width);
|
||||
if (width > width_hint && width_hint > 0)
|
||||
width = width_hint;
|
||||
if (width < width_hint)
|
||||
if (width_hint > 0)
|
||||
width = width_hint;
|
||||
return binop2rtlil(this, type_name, width, left, right);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue