diff options
author | Jim Lawson <ucbjrl@berkeley.edu> | 2019-05-21 12:47:55 -0700 |
---|---|---|
committer | Jim Lawson <ucbjrl@berkeley.edu> | 2019-05-21 12:47:55 -0700 |
commit | 489c555b41330ed9b1d69afdd8f44ef1e9a9be59 (patch) | |
tree | 64bdc5903bf099d59aa9ba9dacff03d8b7a9eda2 /kernel/yosys.cc | |
parent | 509f729e55458eda0ed7869ad269ec52d1956043 (diff) | |
parent | c907899422884d959632ed42c6589a0720b681e4 (diff) | |
download | yosys-489c555b41330ed9b1d69afdd8f44ef1e9a9be59.tar.gz yosys-489c555b41330ed9b1d69afdd8f44ef1e9a9be59.tar.bz2 yosys-489c555b41330ed9b1d69afdd8f44ef1e9a9be59.zip |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'kernel/yosys.cc')
-rw-r--r-- | kernel/yosys.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/yosys.cc b/kernel/yosys.cc index 20d972150..377572fc2 100644 --- a/kernel/yosys.cc +++ b/kernel/yosys.cc @@ -151,14 +151,16 @@ void yosys_banner() int ceil_log2(int x) { +#if defined(__GNUC__) + return x > 1 ? (8*sizeof(int)) - __builtin_clz(x-1) : 0; +#else if (x <= 0) return 0; - for (int i = 0; i < 32; i++) if (((x-1) >> i) == 0) return i; - log_abort(); +#endif } std::string stringf(const char *fmt, ...) |