diff options
author | Clifford Wolf <clifford@clifford.at> | 2013-06-14 10:31:18 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2013-06-14 17:50:26 +0200 |
commit | 6d7b5f90641169d60113b618ad127c7568d13dce (patch) | |
tree | 4d62a61bde6a2cce70a712362d5893b9b3edae37 /kernel/celltypes.h | |
parent | 30db70b1baaad1f299234b419ac2dc581eee1e14 (diff) | |
download | yosys-6d7b5f90641169d60113b618ad127c7568d13dce.tar.gz yosys-6d7b5f90641169d60113b618ad127c7568d13dce.tar.bz2 yosys-6d7b5f90641169d60113b618ad127c7568d13dce.zip |
Fixed even more ConstEval bugs found using xsthammer
Diffstat (limited to 'kernel/celltypes.h')
-rw-r--r-- | kernel/celltypes.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/celltypes.h b/kernel/celltypes.h index cd72192af..a87dfa1f8 100644 --- a/kernel/celltypes.h +++ b/kernel/celltypes.h @@ -190,8 +190,11 @@ struct CellTypes if (type == "$sshl" && !signed1) type = "$shl"; - if (!signed1 || !signed2) - signed1 = false, signed2 = false; + if (type != "$sshr" && type != "$sshl" && type != "$shr" && type != "$shl" && + type != "$pos" && type != "$neg" && type != "$not") { + if (!signed1 || !signed2) + signed1 = false, signed2 = false; + } #define HANDLE_CELL_TYPE(_t) if (type == "$" #_t) return const_ ## _t(arg1, arg2, signed1, signed2, result_len); HANDLE_CELL_TYPE(not) |