diff --git a/libavcodec/x86/imdct36.asm b/libavcodec/x86/imdct36.asm index d311fbe1a0..1d58d6bcb9 100644 --- a/libavcodec/x86/imdct36.asm +++ b/libavcodec/x86/imdct36.asm @@ -358,8 +358,10 @@ cglobal imdct36_float, 4,4,9, out, buf, in, win RET %endmacro +%if ARCH_X86_32 INIT_XMM sse DEFINE_IMDCT +%endif INIT_XMM sse2 DEFINE_IMDCT diff --git a/libavcodec/x86/mpegaudiodsp.c b/libavcodec/x86/mpegaudiodsp.c index 2ec4c5dc6c..3654c81248 100644 --- a/libavcodec/x86/mpegaudiodsp.c +++ b/libavcodec/x86/mpegaudiodsp.c @@ -30,7 +30,9 @@ static void imdct36_blocks_ ## CPU(float *out, float *buf, float *in, int count, int switch_point, int block_type);\ void ff_imdct36_float_ ## CPU(float *out, float *buf, float *in, float *win); +#if ARCH_X86_32 DECL(sse) +#endif DECL(sse2) DECL(sse3) DECL(ssse3) @@ -223,7 +225,9 @@ static void imdct36_blocks_ ## CPU1(float *out, float *buf, float *in, \ } #if HAVE_SSE +#if ARCH_X86_32 DECL_IMDCT_BLOCKS(sse,sse) +#endif DECL_IMDCT_BLOCKS(sse2,sse) DECL_IMDCT_BLOCKS(sse3,sse) DECL_IMDCT_BLOCKS(ssse3,sse) @@ -258,9 +262,11 @@ av_cold void ff_mpadsp_init_x86(MPADSPContext *s) #endif /* HAVE_SSE2_INLINE */ #if HAVE_YASM +#if ARCH_X86_32 if (EXTERNAL_SSE(cpu_flags)) { s->imdct36_blocks_float = imdct36_blocks_sse; } +#endif if (EXTERNAL_SSE2(cpu_flags)) { s->imdct36_blocks_float = imdct36_blocks_sse2; }