From 78347549a4449ebac65add844b93a53bbbf559da Mon Sep 17 00:00:00 2001 From: James Almer Date: Sat, 18 Jul 2015 16:52:42 -0300 Subject: [PATCH] avutil/intmath: check for ICC before GCC Intel compiler also defines __GNUC__, so the Intel specific intrinsics were not really being used. Reviewed-by: Michael Niedermayer Signed-off-by: James Almer --- libavutil/intmath.h | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/libavutil/intmath.h b/libavutil/intmath.h index f5ecc77b7d..ef347f4108 100644 --- a/libavutil/intmath.h +++ b/libavutil/intmath.h @@ -39,22 +39,22 @@ */ #if HAVE_FAST_CLZ -#if AV_GCC_VERSION_AT_LEAST(3,4) -#ifndef ff_log2 -# define ff_log2(x) (31 - __builtin_clz((x)|1)) -# ifndef ff_log2_16bit -# define ff_log2_16bit av_log2 -# endif -#endif /* ff_log2 */ -#elif defined( __INTEL_COMPILER ) +#if defined( __INTEL_COMPILER ) #ifndef ff_log2 # define ff_log2(x) (_bit_scan_reverse((x)|1)) # ifndef ff_log2_16bit # define ff_log2_16bit av_log2 # endif #endif /* ff_log2 */ -#endif +#elif AV_GCC_VERSION_AT_LEAST(3,4) +#ifndef ff_log2 +# define ff_log2(x) (31 - __builtin_clz((x)|1)) +# ifndef ff_log2_16bit +# define ff_log2_16bit av_log2 +# endif +#endif /* ff_log2 */ #endif /* AV_GCC_VERSION_AT_LEAST(3,4) */ +#endif extern const uint8_t ff_log2_tab[256]; @@ -115,14 +115,14 @@ static av_always_inline av_const int ff_log2_16bit_c(unsigned int v) */ #if HAVE_FAST_CLZ -#if AV_GCC_VERSION_AT_LEAST(3,4) -#ifndef ff_ctz -#define ff_ctz(v) __builtin_ctz(v) -#endif -#elif defined( __INTEL_COMPILER ) +#if defined( __INTEL_COMPILER ) #ifndef ff_ctz #define ff_ctz(v) _bit_scan_forward(v) #endif +#elif AV_GCC_VERSION_AT_LEAST(3,4) +#ifndef ff_ctz +#define ff_ctz(v) __builtin_ctz(v) +#endif #endif #endif