On Wed, 25 Jul 2012, Ronald S. Bultje wrote:

> diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
> index 42ba97a..4b523e9 100644
> --- a/libavutil/x86/x86inc.asm
> +++ b/libavutil/x86/x86inc.asm
> @@ -369,11 +369,14 @@ DECLARE_REG 14, R15, R15D, R15W, R15B, 120
>  %macro RET 0
>      WIN64_RESTORE_XMM_INTERNAL rsp
>      POP_IF_USED 14, 13, 12, 11, 10, 9, 8, 7
> +%if mmsize == 32
> +    vzeroupper
> +%endif
>      ret
>  %endmacro
>
>  %macro REP_RET 0
> -    %if regs_used > 7 || xmm_regs_used > 6
> +    %if regs_used > 7 || xmm_regs_used > 6 || mmsize == 32
>          RET
>      %else
>          rep ret

There's 3 implementations of RET, for the 3 ABIs.

--Loren Merritt
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to