projects
/
yosys.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5c39948
)
Added const folding support for $signed and $unsigned
author
Clifford Wolf
<clifford@clifford.at>
Thu, 5 Dec 2013 12:09:41 +0000
(13:09 +0100)
committer
Clifford Wolf
<clifford@clifford.at>
Thu, 5 Dec 2013 12:09:41 +0000
(13:09 +0100)
frontends/ast/simplify.cc
patch
|
blob
|
history
diff --git
a/frontends/ast/simplify.cc
b/frontends/ast/simplify.cc
index 3d512d6f0b554784c7716cff35b03b4ce6c3daa9..fe4ff3f237129ec62414896144d44f2643255f21 100644
(file)
--- a/
frontends/ast/simplify.cc
+++ b/
frontends/ast/simplify.cc
@@
-1205,6
+1205,13
@@
skip_dynamic_range_lvalue_expansion:;
newNode = mkconst_bits(y.bits, sign_hint);
}
break;
+ case AST_TO_SIGNED:
+ case AST_TO_UNSIGNED:
+ if (children[0]->type == AST_CONSTANT) {
+ RTLIL::Const y = children[0]->bitsAsConst(width_hint, sign_hint);
+ newNode = mkconst_bits(y.bits, type == AST_TO_SIGNED);
+ }
+ break;
if (0) { case AST_BIT_AND: const_func = RTLIL::const_and; }
if (0) { case AST_BIT_OR: const_func = RTLIL::const_or; }
if (0) { case AST_BIT_XOR: const_func = RTLIL::const_xor; }