[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