diff --git a/celt/ecintrin.h b/celt/ecintrin.h index be2294707ef62ba77bd743703cd9adb4ab66022a..8f501c21f7db9ece0028ebb1d138354657ea2d62 100644 --- a/celt/ecintrin.h +++ b/celt/ecintrin.h @@ -29,6 +29,7 @@ #include "opus_types.h" #include <math.h> #include <limits.h> +#include "arch.h" #if !defined(_ecintrin_H) # define _ecintrin_H (1) @@ -78,15 +79,13 @@ static __inline int ec_bsr(unsigned long _x){ # include "dsplib.h" # define EC_CLZ0 (31) # define EC_CLZ(_x) (_lnorm(_x)) -#elif defined(__GNUC_PREREQ) -# if __GNUC_PREREQ(3,4) -# if INT_MAX>=2147483647 -# define EC_CLZ0 ((int)sizeof(unsigned)*CHAR_BIT) -# define EC_CLZ(_x) (__builtin_clz(_x)) -# elif LONG_MAX>=2147483647L -# define EC_CLZ0 ((int)sizeof(unsigned long)*CHAR_BIT) -# define EC_CLZ(_x) (__builtin_clzl(_x)) -# endif +#elif __GNUC_PREREQ(3,4) +# if INT_MAX>=2147483647 +# define EC_CLZ0 ((int)sizeof(unsigned)*CHAR_BIT) +# define EC_CLZ(_x) (__builtin_clz(_x)) +# elif LONG_MAX>=2147483647L +# define EC_CLZ0 ((int)sizeof(unsigned long)*CHAR_BIT) +# define EC_CLZ(_x) (__builtin_clzl(_x)) # endif #endif