aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/ac3dsp.asm
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2013-10-29 03:02:22 +0100
committerLuca Barbato <lu_zero@gentoo.org>2013-10-29 17:03:25 +0100
commita1b82c6b1c7b8843ac4b866c8e0814f10e634887 (patch)
treed367ac3bcd29e7842e7351589ca22c327d7e3960 /libavcodec/x86/ac3dsp.asm
parent2ed8a550da524434deb3b89f7ec62ed833bedac5 (diff)
downloadffmpeg-a1b82c6b1c7b8843ac4b866c8e0814f10e634887.tar.gz
x86: ac3dsp: Drop mmx variant of ac3_max_msb_abs_int16
The function accidentally uses mmxext instructions, so it causes sigill on mmx-only CPUs and provides no benefit on CPUs with mmxext available. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diffstat (limited to 'libavcodec/x86/ac3dsp.asm')
-rw-r--r--libavcodec/x86/ac3dsp.asm9
1 files changed, 0 insertions, 9 deletions
diff --git a/libavcodec/x86/ac3dsp.asm b/libavcodec/x86/ac3dsp.asm
index 9312ff6533..1bfa0e4cb3 100644
--- a/libavcodec/x86/ac3dsp.asm
+++ b/libavcodec/x86/ac3dsp.asm
@@ -86,7 +86,6 @@ AC3_EXPONENT_MIN sse2
; This function uses 2 different methods to calculate a valid result.
; 1) logical 'or' of abs of each element
; This is used for ssse3 because of the pabsw instruction.
-; It is also used for mmx because of the lack of min/max instructions.
; 2) calculate min/max for the array, then or(abs(min),abs(max))
; This is used for mmxext and sse2 because they have pminsw/pmaxsw.
;-----------------------------------------------------------------------------
@@ -104,15 +103,9 @@ cglobal ac3_max_msb_abs_int16_%1, 2,2,5, src, len
pmaxsw m3, m0
pmaxsw m3, m1
%else ; or_abs
-%ifidn %1, mmx
- mova m0, [srcq]
- mova m1, [srcq+mmsize]
- ABS2 m0, m1, m3, m4
-%else ; ssse3
; using memory args is faster for ssse3
pabsw m0, [srcq]
pabsw m1, [srcq+mmsize]
-%endif
por m2, m0
por m2, m1
%endif
@@ -137,9 +130,7 @@ cglobal ac3_max_msb_abs_int16_%1, 2,2,5, src, len
%endmacro
INIT_MMX
-%define ABS2 ABS2_MMX
%define PSHUFLW pshufw
-AC3_MAX_MSB_ABS_INT16 mmx, or_abs
%define ABS2 ABS2_MMX2
AC3_MAX_MSB_ABS_INT16 mmxext, min_max
INIT_XMM