[FFmpeg-devel] [PATCH] x86/intmath: use _bzhi_u32 instead of the GCC internal builtin

James Almer jamrial at gmail.com
Thu Nov 17 22:10:24 EET 2022


GCC does not recommend using their __builtin_ia32* builtins, so use the Intel
defined one instead.

Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavutil/x86/intmath.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavutil/x86/intmath.h b/libavutil/x86/intmath.h
index 8a6b5ae261..2c701646ff 100644
--- a/libavutil/x86/intmath.h
+++ b/libavutil/x86/intmath.h
@@ -82,7 +82,8 @@ static av_always_inline av_const int ff_ctzll_x86(long long v)
 #if defined(__BMI2__)
 
 #if AV_GCC_VERSION_AT_LEAST(5,1)
-#define av_mod_uintp2 __builtin_ia32_bzhi_si
+#include <immintrin.h>
+#define av_mod_uintp2 _bzhi_u32
 #elif HAVE_INLINE_ASM
 /* GCC releases before 5.1.0 have a broken bzhi builtin, so for those we
  * implement it using inline assembly
-- 
2.38.1



More information about the ffmpeg-devel mailing list