[FFmpeg-cvslog] avutil/intmath: check for ICC before GCC

James Almer git at videolan.org
Sun Jul 19 01:00:09 CEST 2015


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Sat Jul 18 16:52:42 2015 -0300| [78347549a4449ebac65add844b93a53bbbf559da] | committer: James Almer

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 <michaelni at gmx.at>
Signed-off-by: James Almer <jamrial at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=78347549a4449ebac65add844b93a53bbbf559da
---

 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



More information about the ffmpeg-cvslog mailing list