x86: ABS1: port to cpuflags
authorDiego Biurrun <diego@biurrun.de>
Sun, 15 Jul 2012 16:11:36 +0000 (18:11 +0200)
committerDiego Biurrun <diego@biurrun.de>
Sun, 6 Jan 2013 12:57:01 +0000 (13:57 +0100)
libavcodec/x86/dsputilenc.asm
libavutil/x86/x86util.asm

index 104ec585e878dbd2c09076f628fd724590845e1e..3bb1f2f4eda746714f9adee55344a237f5165aca 100644 (file)
@@ -257,11 +257,9 @@ hadamard8_16_wrapper 0, 14
 %endmacro
 
 INIT_MMX mmx
-%define ABS1 ABS1_MMX
 HADAMARD8_DIFF
 
 INIT_MMX mmxext
-%define ABS1 ABS1_MMXEXT
 HADAMARD8_DIFF
 
 INIT_XMM sse2
index 16ee6cfe94d1f55127f9d017b1fbaa57916c64af..e24acdd940471eaff4710e53875a670652b13350 100644 (file)
     psignw     %1, %2
 %endmacro
 
-%macro ABS1_MMX 2    ; a, tmp
+%macro ABS1 2
+%if cpuflag(ssse3)
+    pabsw   %1, %1
+%elif cpuflag(mmxext) ; a, tmp
+    pxor    %2, %2
+    psubw   %2, %1
+    pmaxsw  %1, %2
+%else ; a, tmp
     pxor       %2, %2
     pcmpgtw    %2, %1
     pxor       %1, %2
     psubw      %1, %2
+%endif
 %endmacro
 
 %macro ABS2_MMX 4    ; a, b, tmp0, tmp1
     psubw      %2, %4
 %endmacro
 
-%macro ABS1_MMXEXT 2 ; a, tmp
-    pxor    %2, %2
-    psubw   %2, %1
-    pmaxsw  %1, %2
-%endmacro
-
 %macro ABS2_MMXEXT 4 ; a, b, tmp0, tmp1
     pxor    %3, %3
     pxor    %4, %4
     pmaxsw  %2, %4
 %endmacro
 
-%macro ABS1_SSSE3 2
-    pabsw   %1, %1
-%endmacro
-
 %macro ABS2_SSSE3 4
     pabsw   %1, %1
     pabsw   %2, %2
     ABS2 %3, %4, %5, %6
 %endmacro
 
-%define ABS1 ABS1_MMX
 %define ABS2 ABS2_MMX
 %define ABSB ABSB_MMX
 %define ABSB2 ABSB2_MMX