Commit fbf98375 authored by James Almer's avatar James Almer Committed by Michael Niedermayer

x86/imdct36: don't build imdct36_float_sse on x86_64 targets

There's an SSE2 version as well, and x86_64 guarantees that
instruction set is present.
Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
Reviewed-by: 's avatar"Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent a05635ee
...@@ -358,8 +358,10 @@ cglobal imdct36_float, 4,4,9, out, buf, in, win ...@@ -358,8 +358,10 @@ cglobal imdct36_float, 4,4,9, out, buf, in, win
RET RET
%endmacro %endmacro
%if ARCH_X86_32
INIT_XMM sse INIT_XMM sse
DEFINE_IMDCT DEFINE_IMDCT
%endif
INIT_XMM sse2 INIT_XMM sse2
DEFINE_IMDCT DEFINE_IMDCT
......
...@@ -30,7 +30,9 @@ ...@@ -30,7 +30,9 @@
static void imdct36_blocks_ ## CPU(float *out, float *buf, float *in, int count, int switch_point, int block_type);\ 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); void ff_imdct36_float_ ## CPU(float *out, float *buf, float *in, float *win);
#if ARCH_X86_32
DECL(sse) DECL(sse)
#endif
DECL(sse2) DECL(sse2)
DECL(sse3) DECL(sse3)
DECL(ssse3) DECL(ssse3)
...@@ -223,7 +225,9 @@ static void imdct36_blocks_ ## CPU1(float *out, float *buf, float *in, \ ...@@ -223,7 +225,9 @@ static void imdct36_blocks_ ## CPU1(float *out, float *buf, float *in, \
} }
#if HAVE_SSE #if HAVE_SSE
#if ARCH_X86_32
DECL_IMDCT_BLOCKS(sse,sse) DECL_IMDCT_BLOCKS(sse,sse)
#endif
DECL_IMDCT_BLOCKS(sse2,sse) DECL_IMDCT_BLOCKS(sse2,sse)
DECL_IMDCT_BLOCKS(sse3,sse) DECL_IMDCT_BLOCKS(sse3,sse)
DECL_IMDCT_BLOCKS(ssse3,sse) DECL_IMDCT_BLOCKS(ssse3,sse)
...@@ -258,9 +262,11 @@ av_cold void ff_mpadsp_init_x86(MPADSPContext *s) ...@@ -258,9 +262,11 @@ av_cold void ff_mpadsp_init_x86(MPADSPContext *s)
#endif /* HAVE_SSE2_INLINE */ #endif /* HAVE_SSE2_INLINE */
#if HAVE_YASM #if HAVE_YASM
#if ARCH_X86_32
if (EXTERNAL_SSE(cpu_flags)) { if (EXTERNAL_SSE(cpu_flags)) {
s->imdct36_blocks_float = imdct36_blocks_sse; s->imdct36_blocks_float = imdct36_blocks_sse;
} }
#endif
if (EXTERNAL_SSE2(cpu_flags)) { if (EXTERNAL_SSE2(cpu_flags)) {
s->imdct36_blocks_float = imdct36_blocks_sse2; s->imdct36_blocks_float = imdct36_blocks_sse2;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment