[libav-commits] x86: ABS1: port to cpuflags

Diego Biurrun git at libav.org
Sun Jan 6 14:45:02 CET 2013


Module: libav
Branch: master
Commit: 5b4dfbffc258f90a7d2540d21209ac23afcf7cd0

Author:    Diego Biurrun <diego at biurrun.de>
Committer: Diego Biurrun <diego at biurrun.de>
Date:      Sun Jul 15 18:11:36 2012 +0200

x86: ABS1: port to cpuflags

---

 libavcodec/x86/dsputilenc.asm |    2 --
 libavutil/x86/x86util.asm     |   21 +++++++++------------
 2 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/libavcodec/x86/dsputilenc.asm b/libavcodec/x86/dsputilenc.asm
index 104ec58..3bb1f2f 100644
--- a/libavcodec/x86/dsputilenc.asm
+++ b/libavcodec/x86/dsputilenc.asm
@@ -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
diff --git a/libavutil/x86/x86util.asm b/libavutil/x86/x86util.asm
index 16ee6cf..e24acdd 100644
--- a/libavutil/x86/x86util.asm
+++ b/libavutil/x86/x86util.asm
@@ -172,11 +172,19 @@
     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
@@ -190,12 +198,6 @@
     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
@@ -205,10 +207,6 @@
     pmaxsw  %2, %4
 %endmacro
 
-%macro ABS1_SSSE3 2
-    pabsw   %1, %1
-%endmacro
-
 %macro ABS2_SSSE3 4
     pabsw   %1, %1
     pabsw   %2, %2
@@ -254,7 +252,6 @@
     ABS2 %3, %4, %5, %6
 %endmacro
 
-%define ABS1 ABS1_MMX
 %define ABS2 ABS2_MMX
 %define ABSB ABSB_MMX
 %define ABSB2 ABSB2_MMX



More information about the libav-commits mailing list