[FFmpeg-devel] [PATCH 2/4] x86inc: Disable vpbroadcastq workaround in newer yasm versions
Ronald S. Bultje
rsbultje at gmail.com
Mon Aug 3 01:36:51 CEST 2015
Hi,
On Sun, Aug 2, 2015 at 4:40 PM, Henrik Gramner <henrik at gramner.com> wrote:
> The bug was fixed in 1.3.0, so only perform the workaround in earlier
> versions.
> ---
> libavutil/x86/x86inc.asm | 20 +++++++++++---------
> 1 file changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
> index e176715..8581551 100644
> --- a/libavutil/x86/x86inc.asm
> +++ b/libavutil/x86/x86inc.asm
> @@ -1481,13 +1481,15 @@ FMA4_INSTR fnmsubps, fnmsub132ps, fnmsub213ps,
> fnmsub231ps
> FMA4_INSTR fnmsubsd, fnmsub132sd, fnmsub213sd, fnmsub231sd
> FMA4_INSTR fnmsubss, fnmsub132ss, fnmsub213ss, fnmsub231ss
>
> -; workaround: vpbroadcastq is broken in x86_32 due to a yasm bug
> -%if ARCH_X86_64 == 0
> -%macro vpbroadcastq 2
> -%if sizeof%1 == 16
> - movddup %1, %2
> -%else
> - vbroadcastsd %1, %2
> -%endif
> -%endmacro
> +; workaround: vpbroadcastq is broken in x86_32 due to a yasm bug (fixed
> in 1.3.0)
> +%ifdef __YASM_VER__
> + %if __YASM_VERSION_ID__ < 0x01030000 && ARCH_X86_64 == 0
> + %macro vpbroadcastq 2
> + %if sizeof%1 == 16
> + movddup %1, %2
> + %else
> + vbroadcastsd %1, %2
> + %endif
> + %endmacro
> + %endif
> %endif
OK.
Ronald
More information about the ffmpeg-devel
mailing list