fft: init functions with INIT_XMM/YMM.
authorHenrik Gramner <hengar-6@student.ltu.se>
Wed, 11 Jan 2012 17:40:34 +0000 (17:40 +0000)
committerJanne Grunau <janne-libav@jannau.net>
Wed, 11 Jan 2012 19:12:26 +0000 (20:12 +0100)
This is required to handle clobbering of XMM registers on Win64
correctly. Fixes FFT and all tests depending on FFT on Win64.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
libavcodec/x86/fft_mmx.asm

index 27276a1..d6d07b8 100644 (file)
@@ -639,11 +639,14 @@ cglobal fft_dispatch%3%2, 2,5,8, z, nbits
 %endmacro ; DECL_FFT
 
 %ifdef HAVE_AVX
 %endmacro ; DECL_FFT
 
 %ifdef HAVE_AVX
+INIT_YMM
 DECL_FFT 6, _avx
 DECL_FFT 6, _avx, _interleave
 %endif
 DECL_FFT 6, _avx
 DECL_FFT 6, _avx, _interleave
 %endif
+INIT_XMM
 DECL_FFT 5, _sse
 DECL_FFT 5, _sse, _interleave
 DECL_FFT 5, _sse
 DECL_FFT 5, _sse, _interleave
+INIT_MMX
 DECL_FFT 4, _3dn
 DECL_FFT 4, _3dn, _interleave
 DECL_FFT 4, _3dn2
 DECL_FFT 4, _3dn
 DECL_FFT 4, _3dn, _interleave
 DECL_FFT 4, _3dn2