Hi,

[mostly Q for Loren]

On Sat, Nov 5, 2011 at 9:04 AM, Ronald S. Bultje <[email protected]> wrote:
> From: Loren Merritt <[email protected]>
>
> We keep INIT_AVX (for backwards compatibility). 3arg AVX ops with
> a memory arg can only have it in src2, whereas SSE emulation of
> 3arg prefers to have it in src1 (i.e. the mov). So, if the op is
> symmetric and the wrong one is memory, swap them.
> ---
>  libavutil/x86/x86inc.asm |  523 
> ++++++++++++++++++++++++++++++----------------
>  1 files changed, 340 insertions(+), 183 deletions(-)
[..]
> @@ -297,6 +297,9 @@ DECLARE_REG 6, rax, eax, ax,  al,  [rsp + stack_offset + 
> 56]
>
>  %macro WIN64_SPILL_XMM 1
>     %assign xmm_regs_used %1
> +    %if mmsize == 8
> +        %assign xmm_regs_used 0
> +    %endif
>     ASSERT xmm_regs_used <= 16
>     %if xmm_regs_used > 6
>         sub rsp, (xmm_regs_used-6)*16+16

Apparently this chunk breaks FFT on Win64, but --disable-sse fixes it,
and commenting out this chunk also fixes it.

Any ideas what that means?

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

Reply via email to