[FFmpeg-devel] [PATCH 1/2] avutil/intmath: check for ICC before GCC

James Almer jamrial at gmail.com
Sat Jul 18 23:45:43 CEST 2015


Intel compiler also defines __GNUC__, so the Intel specific intrinsics were not
really being used.

Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavutil/intmath.h | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/libavutil/intmath.h b/libavutil/intmath.h
index f5ecc77..ef347f4 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)
+#if defined( __INTEL_COMPILER )
 #ifndef ff_log2
-#   define ff_log2(x) (31 - __builtin_clz((x)|1))
+#   define ff_log2(x) (_bit_scan_reverse((x)|1))
 #   ifndef ff_log2_16bit
 #      define ff_log2_16bit av_log2
 #   endif
 #endif /* ff_log2 */
-#elif defined( __INTEL_COMPILER )
+#elif AV_GCC_VERSION_AT_LEAST(3,4)
 #ifndef ff_log2
-#   define ff_log2(x) (_bit_scan_reverse((x)|1))
+#   define ff_log2(x) (31 - __builtin_clz((x)|1))
 #   ifndef ff_log2_16bit
 #      define ff_log2_16bit av_log2
 #   endif
 #endif /* ff_log2 */
-#endif
 #endif /* AV_GCC_VERSION_AT_LEAST(3,4) */
+#endif
 
 extern const uint8_t ff_log2_tab[256];
 
@@ -115,13 +115,13 @@ 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)
+#if defined( __INTEL_COMPILER )
 #ifndef ff_ctz
-#define ff_ctz(v) __builtin_ctz(v)
+#define ff_ctz(v) _bit_scan_forward(v)
 #endif
-#elif defined( __INTEL_COMPILER )
+#elif AV_GCC_VERSION_AT_LEAST(3,4)
 #ifndef ff_ctz
-#define ff_ctz(v) _bit_scan_forward(v)
+#define ff_ctz(v) __builtin_ctz(v)
 #endif
 #endif
 #endif
-- 
2.4.5



More information about the ffmpeg-devel mailing list