diff --git a/libavcodec/x86/fft_mmx.asm b/libavcodec/x86/fft_mmx.asm
index 27276a1a3142872ea7f890f08adbbd98e3b71272..d6d07b825f6a739f480b12d5a3b8a6adb2774eaa 100644
--- a/libavcodec/x86/fft_mmx.asm
+++ b/libavcodec/x86/fft_mmx.asm
@@ -639,11 +639,14 @@ cglobal fft_dispatch%3%2, 2,5,8, z, nbits
 %endmacro ; DECL_FFT
 
 %ifdef HAVE_AVX
+INIT_YMM
 DECL_FFT 6, _avx
 DECL_FFT 6, _avx, _interleave
 %endif
+INIT_XMM
 DECL_FFT 5, _sse
 DECL_FFT 5, _sse, _interleave
+INIT_MMX
 DECL_FFT 4, _3dn
 DECL_FFT 4, _3dn, _interleave
 DECL_FFT 4, _3dn2