You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
avutil/x86/intmath: use bzhi gcc builtin in av_mod_uintp2()
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
@@ -39,6 +39,12 @@
|
|||||||
|
|
||||||
#if defined(__BMI2__)
|
#if defined(__BMI2__)
|
||||||
|
|
||||||
|
#if AV_GCC_VERSION_AT_LEAST(5,1)
|
||||||
|
#define av_mod_uintp2 __builtin_ia32_bzhi_si
|
||||||
|
#else
|
||||||
|
/* GCC releases before 5.1.0 have a broken bzhi builtin, so for those we
|
||||||
|
* implement it using inline assembly
|
||||||
|
*/
|
||||||
#define av_mod_uintp2 av_mod_uintp2_bmi2
|
#define av_mod_uintp2 av_mod_uintp2_bmi2
|
||||||
static av_always_inline av_const unsigned av_mod_uintp2_bmi2(unsigned a, unsigned p)
|
static av_always_inline av_const unsigned av_mod_uintp2_bmi2(unsigned a, unsigned p)
|
||||||
{
|
{
|
||||||
@@ -50,6 +56,7 @@ static av_always_inline av_const unsigned av_mod_uintp2_bmi2(unsigned a, unsigne
|
|||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif /* AV_GCC_VERSION_AT_LEAST */
|
||||||
|
|
||||||
#endif /* __BMI2__ */
|
#endif /* __BMI2__ */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user