[FFmpeg-cvslog] avcodec/x86/dcadsp: Remove obsolete SSE function
Andreas Rheinhardt
git at videolan.org
Wed Jun 22 15:29:44 EEST 2022
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Mon Jun 20 03:07:41 2022 +0200| [61e3cccd367a1daf4aedffa65f5be038aa5cebe1] | committer: Andreas Rheinhardt
avcodec/x86/dcadsp: Remove obsolete SSE function
The only systems which benefit from ff_lfe_fir0_float_sse are truely
ancient 32bit x86s as all other systems use at least the SSE2 versions
(this includes all x64 cpus (which is why this code is restricted
to x86-32)).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=61e3cccd367a1daf4aedffa65f5be038aa5cebe1
---
libavcodec/x86/dcadsp.asm | 17 ++---------------
libavcodec/x86/dcadsp_init.c | 3 ---
2 files changed, 2 insertions(+), 18 deletions(-)
diff --git a/libavcodec/x86/dcadsp.asm b/libavcodec/x86/dcadsp.asm
index 055361a765..de9fd6f346 100644
--- a/libavcodec/x86/dcadsp.asm
+++ b/libavcodec/x86/dcadsp.asm
@@ -42,22 +42,13 @@ cglobal lfe_fir0_float, 4, 6, 12 + cpuflag(fma3)*4, samples, lfe, coeff, nblocks
cvtdq2ps m5, [lfeq ]
shufps m7, m4, m4, q0123
shufps m6, m5, m5, q0123
-%elif cpuflag(sse2)
+%else
movu m4, [lfeq+16]
movu m5, [lfeq ]
cvtdq2ps m4, m4
cvtdq2ps m5, m5
pshufd m7, m4, q0123
pshufd m6, m5, q0123
-%else
- cvtpi2ps m4, [lfeq+16]
- cvtpi2ps m0, [lfeq+24]
- cvtpi2ps m5, [lfeq ]
- cvtpi2ps m1, [lfeq+8 ]
- shufps m4, m0, q1010
- shufps m5, m1, q1010
- shufps m7, m4, m4, q0123
- shufps m6, m5, m5, q0123
%endif
.inner_loop:
@@ -206,10 +197,6 @@ cglobal lfe_fir0_float, 4, 6, 12 + cpuflag(fma3)*4, samples, lfe, coeff, nblocks
RET
%endmacro
-%if ARCH_X86_32
-INIT_XMM sse
-LFE_FIR0_FLOAT
-%endif
INIT_XMM sse2
LFE_FIR0_FLOAT
%if HAVE_AVX_EXTERNAL
@@ -235,7 +222,7 @@ cglobal lfe_fir1_float, 4, 6, 10, samples, lfe, coeff, nblocks, cnt1, cnt2
%if cpuflag(avx)
cvtdq2ps m4, [lfeq]
shufps m5, m4, m4, q0123
-%elif cpuflag(sse2)
+%else
movu m4, [lfeq]
cvtdq2ps m4, m4
pshufd m5, m4, q0123
diff --git a/libavcodec/x86/dcadsp_init.c b/libavcodec/x86/dcadsp_init.c
index fc10fb8bc5..0c78dd1c9e 100644
--- a/libavcodec/x86/dcadsp_init.c
+++ b/libavcodec/x86/dcadsp_init.c
@@ -27,7 +27,6 @@ void ff_lfe_fir0_float_##opt(float *pcm_samples, int32_t *lfe_samples, \
void ff_lfe_fir1_float_##opt(float *pcm_samples, int32_t *lfe_samples, \
const float *filter_coeff, ptrdiff_t npcmblocks);
-LFE_FIR_FLOAT_FUNC(sse)
LFE_FIR_FLOAT_FUNC(sse2)
LFE_FIR_FLOAT_FUNC(sse3)
LFE_FIR_FLOAT_FUNC(avx)
@@ -37,8 +36,6 @@ av_cold void ff_dcadsp_init_x86(DCADSPContext *s)
{
int cpu_flags = av_get_cpu_flags();
- if (ARCH_X86_32 && EXTERNAL_SSE(cpu_flags))
- s->lfe_fir_float[0] = ff_lfe_fir0_float_sse;
if (EXTERNAL_SSE2(cpu_flags))
s->lfe_fir_float[0] = ff_lfe_fir0_float_sse2;
if (EXTERNAL_SSE3(cpu_flags))
More information about the ffmpeg-cvslog
mailing list