From 8565de2c5b38cd355ea15f1da3f460f352162f86 Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner Date: Wed, 6 Jun 2018 19:17:37 -0700 Subject: [PATCH] deal with shift exponent error Signed-off-by: Nikolaj Bjorner --- src/util/mpz.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/util/mpz.cpp b/src/util/mpz.cpp index 6387fccd9..2a85320a5 100644 --- a/src/util/mpz.cpp +++ b/src/util/mpz.cpp @@ -49,9 +49,13 @@ Revision History: #if 1 #include -#define _trailing_zeros32(x) _tzcnt_u32(x) +#if defined(__GNUC__) +#define _trailing_zeros32(X) __builtin_ctz(X) +#else +#define _trailing_zeros32(X) _tzcnt_u32(X) +#endif -#ifdef _AMD64_ +#if defined(_AMD64_) && !defined(__GNUC__) #define _trailing_zeros64(x) _tzcnt_u64(x) #else inline uint64 _trailing_zeros64(uint64 x) {