Commit 51969a65 authored by Diego Biurrun's avatar Diego Biurrun

x86: ABS2: port to cpuflags

parent 171f1446
...@@ -151,15 +151,12 @@ cglobal ac3_max_msb_abs_int16, 2,2,5, src, len ...@@ -151,15 +151,12 @@ cglobal ac3_max_msb_abs_int16, 2,2,5, src, len
%endmacro %endmacro
INIT_MMX mmx INIT_MMX mmx
%define ABS2 ABS2_MMX
AC3_MAX_MSB_ABS_INT16 or_abs AC3_MAX_MSB_ABS_INT16 or_abs
INIT_MMX mmxext INIT_MMX mmxext
%define ABS2 ABS2_MMXEXT
AC3_MAX_MSB_ABS_INT16 min_max AC3_MAX_MSB_ABS_INT16 min_max
INIT_XMM sse2 INIT_XMM sse2
AC3_MAX_MSB_ABS_INT16 min_max AC3_MAX_MSB_ABS_INT16 min_max
INIT_XMM ssse3 INIT_XMM ssse3
%define ABS2 ABS2_SSSE3
AC3_MAX_MSB_ABS_INT16 or_abs AC3_MAX_MSB_ABS_INT16 or_abs
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
......
...@@ -263,7 +263,6 @@ INIT_MMX mmxext ...@@ -263,7 +263,6 @@ INIT_MMX mmxext
HADAMARD8_DIFF HADAMARD8_DIFF
INIT_XMM sse2 INIT_XMM sse2
%define ABS2 ABS2_MMXEXT
%if ARCH_X86_64 %if ARCH_X86_64
%define ABS_SUM_8x8 ABS_SUM_8x8_64 %define ABS_SUM_8x8 ABS_SUM_8x8_64
%else %else
...@@ -272,7 +271,6 @@ INIT_XMM sse2 ...@@ -272,7 +271,6 @@ INIT_XMM sse2
HADAMARD8_DIFF 10 HADAMARD8_DIFF 10
INIT_XMM ssse3 INIT_XMM ssse3
%define ABS2 ABS2_SSSE3
%define ABS_SUM_8x8 ABS_SUM_8x8_64 %define ABS_SUM_8x8 ABS_SUM_8x8_64
HADAMARD8_DIFF 9 HADAMARD8_DIFF 9
......
...@@ -187,7 +187,18 @@ ...@@ -187,7 +187,18 @@
%endif %endif
%endmacro %endmacro
%macro ABS2_MMX 4 ; a, b, tmp0, tmp1 %macro ABS2 4
%if cpuflag(ssse3)
pabsw %1, %1
pabsw %2, %2
%elif cpuflag(mmxext) ; a, b, tmp0, tmp1
pxor %3, %3
pxor %4, %4
psubw %3, %1
psubw %4, %2
pmaxsw %1, %3
pmaxsw %2, %4
%else ; a, b, tmp0, tmp1
pxor %3, %3 pxor %3, %3
pxor %4, %4 pxor %4, %4
pcmpgtw %3, %1 pcmpgtw %3, %1
...@@ -196,20 +207,7 @@ ...@@ -196,20 +207,7 @@
pxor %2, %4 pxor %2, %4
psubw %1, %3 psubw %1, %3
psubw %2, %4 psubw %2, %4
%endmacro %endif
%macro ABS2_MMXEXT 4 ; a, b, tmp0, tmp1
pxor %3, %3
pxor %4, %4
psubw %3, %1
psubw %4, %2
pmaxsw %1, %3
pmaxsw %2, %4
%endmacro
%macro ABS2_SSSE3 4
pabsw %1, %1
pabsw %2, %2
%endmacro %endmacro
%macro ABSB_MMX 2 %macro ABSB_MMX 2
...@@ -252,7 +250,6 @@ ...@@ -252,7 +250,6 @@
ABS2 %3, %4, %5, %6 ABS2 %3, %4, %5, %6
%endmacro %endmacro
%define ABS2 ABS2_MMX
%define ABSB ABSB_MMX %define ABSB ABSB_MMX
%define ABSB2 ABSB2_MMX %define ABSB2 ABSB2_MMX
......
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