<div dir="ltr">Does not apply at the tip. <br><div><div id="__tbSetup"></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Nov 25, 2013 at 11:40 AM,  <span dir="ltr"><<a href="mailto:yuvaraj@multicorewareinc.com" target="_blank">yuvaraj@multicorewareinc.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"># HG changeset patch<br>
# User Yuvaraj Venkatesh <<a href="mailto:yuvaraj@multicorewareinc.com">yuvaraj@multicorewareinc.com</a>><br>
# Date 1385359751 -19800<br>
#      Mon Nov 25 11:39:11 2013 +0530<br>
# Node ID 90a80def0f1aabdf29e1f08dd0f2263d8e6af805<br>
# Parent  c0c862dc71fbd021efd3922de99da4f2f93e81f4<br>
cleanup: removed unused code in pixel-a.asm<br>
<br>
diff -r c0c862dc71fb -r 90a80def0f1a source/common/x86/pixel-a.asm<br>
--- a/source/common/x86/pixel-a.asm     Sun Nov 24 17:34:12 2013 +0800<br>
+++ b/source/common/x86/pixel-a.asm     Mon Nov 25 11:39:11 2013 +0530<br>
@@ -7157,173 +7157,6 @@<br>
 %endif ; !ARCH_X86_64<br>
 %endmacro ; SA8D<br>
<br>
-;=============================================================================<br>
-; SA8D_SATD<br>
-;=============================================================================<br>
-<br>
-; %1: vertical/horizontal mode<br>
-; %2-%5: sa8d output regs (m0,m1,m2,m3,m4,m5,m8,m9)<br>
-; m10: satd result<br>
-; m6, m11-15: tmp regs<br>
-%macro SA8D_SATD_8x4 5<br>
-%if %1<br>
-    LOAD_DIFF_8x4P %2, %3, %4, %5, 6, 11, 7, r0, r2, 1<br>
-    HADAMARD   0, sumsub, %2, %3, 6<br>
-    HADAMARD   0, sumsub, %4, %5, 6<br>
-    SBUTTERFLY        wd, %2, %3, 6<br>
-    SBUTTERFLY        wd, %4, %5, 6<br>
-    HADAMARD2_2D  %2, %4, %3, %5, 6, dq<br>
-<br>
-    mova   m12, m%2<br>
-    mova   m13, m%3<br>
-    mova   m14, m%4<br>
-    mova   m15, m%5<br>
-    HADAMARD 0, sumsub, %2, %3, 6<br>
-    HADAMARD 0, sumsub, %4, %5, 6<br>
-    SBUTTERFLY     qdq, 12, 13, 6<br>
-    HADAMARD   0, amax, 12, 13, 6<br>
-    SBUTTERFLY     qdq, 14, 15, 6<br>
-    paddw m10, m12<br>
-    HADAMARD   0, amax, 14, 15, 6<br>
-    paddw m10, m14<br>
-%else<br>
-    LOAD_SUMSUB_8x4P %2, %3, %4, %5, 6, 11, 7, r0, r2, 1<br>
-    HADAMARD4_V %2, %3, %4, %5, 6<br>
-<br>
-    pabsw    m12, m%2 ; doing the abs first is a slight advantage<br>
-    pabsw    m14, m%4<br>
-    pabsw    m13, m%3<br>
-    pabsw    m15, m%5<br>
-    HADAMARD 1, max, 12, 14, 6, 11<br>
-    paddw    m10, m12<br>
-    HADAMARD 1, max, 13, 15, 6, 11<br>
-    paddw    m10, m13<br>
-%endif<br>
-%endmacro ; SA8D_SATD_8x4<br>
-<br>
-; %1: add spilled regs?<br>
-; %2: spill regs?<br>
-%macro SA8D_SATD_ACCUM 2<br>
-%if HIGH_BIT_DEPTH<br>
-    pmaddwd m10, [pw_1]<br>
-    HADDUWD  m0, m1<br>
-%if %1<br>
-    paddd   m10, temp1<br>
-    paddd    m0, temp0<br>
-%endif<br>
-%if %2<br>
-    mova  temp1, m10<br>
-    pxor    m10, m10<br>
-%endif<br>
-%elif %1<br>
-    paddw    m0, temp0<br>
-%endif<br>
-%if %2<br>
-    mova  temp0, m0<br>
-%endif<br>
-%endmacro<br>
-<br>
-%macro SA8D_SATD 0<br>
-%define vertical ((notcpuflag(ssse3) || cpuflag(atom)) || HIGH_BIT_DEPTH)<br>
-cglobal pixel_sa8d_satd_8x8_internal<br>
-    SA8D_SATD_8x4 vertical, 0, 1, 2, 3<br>
-    SA8D_SATD_8x4 vertical, 4, 5, 8, 9<br>
-<br>
-%if vertical ; sse2-style<br>
-    HADAMARD2_2D 0, 4, 2, 8, 6, qdq, amax<br>
-    HADAMARD2_2D 1, 5, 3, 9, 6, qdq, amax<br>
-%else        ; complete sa8d<br>
-    SUMSUB_BADC w, 0, 4, 1, 5, 12<br>
-    HADAMARD 2, sumsub, 0, 4, 12, 11<br>
-    HADAMARD 2, sumsub, 1, 5, 12, 11<br>
-    SUMSUB_BADC w, 2, 8, 3, 9, 12<br>
-    HADAMARD 2, sumsub, 2, 8, 12, 11<br>
-    HADAMARD 2, sumsub, 3, 9, 12, 11<br>
-    HADAMARD 1, amax, 0, 4, 12, 11<br>
-    HADAMARD 1, amax, 1, 5, 12, 4<br>
-    HADAMARD 1, amax, 2, 8, 12, 4<br>
-    HADAMARD 1, amax, 3, 9, 12, 4<br>
-%endif<br>
-<br>
-    ; create sa8d sub results<br>
-    paddw    m1, m2<br>
-    paddw    m0, m3<br>
-    paddw    m0, m1<br>
-<br>
-    SAVE_MM_PERMUTATION<br>
-    ret<br>
-<br>
-;-------------------------------------------------------------------------------<br>
-; uint64_t pixel_sa8d_satd_16x16( pixel *, intptr_t, pixel *, intptr_t )<br>
-;-------------------------------------------------------------------------------<br>
-cglobal pixel_sa8d_satd_16x16, 4,8-(mmsize/32),16,SIZEOF_PIXEL*mmsize<br>
-    %define temp0 [rsp+0*mmsize]<br>
-    %define temp1 [rsp+1*mmsize]<br>
-    FIX_STRIDES r1, r3<br>
-%if vertical==0<br>
-    mova     m7, [hmul_8p]<br>
-%endif<br>
-    lea      r4, [3*r1]<br>
-    lea      r5, [3*r3]<br>
-    pxor    m10, m10<br>
-<br>
-%if mmsize==32<br>
-    call pixel_sa8d_satd_8x8_internal<br>
-    SA8D_SATD_ACCUM 0, 1<br>
-    call pixel_sa8d_satd_8x8_internal<br>
-    SA8D_SATD_ACCUM 1, 0<br>
-    vextracti128 xm1, m0, 1<br>
-    vextracti128 xm2, m10, 1<br>
-    paddw   xm0, xm1<br>
-    paddw  xm10, xm2<br>
-%else<br>
-    lea      r6, [r2+8*SIZEOF_PIXEL]<br>
-    lea      r7, [r0+8*SIZEOF_PIXEL]<br>
-<br>
-    call pixel_sa8d_satd_8x8_internal<br>
-    SA8D_SATD_ACCUM 0, 1<br>
-    call pixel_sa8d_satd_8x8_internal<br>
-    SA8D_SATD_ACCUM 1, 1<br>
-<br>
-    mov      r0, r7<br>
-    mov      r2, r6<br>
-<br>
-    call pixel_sa8d_satd_8x8_internal<br>
-    SA8D_SATD_ACCUM 1, 1<br>
-    call pixel_sa8d_satd_8x8_internal<br>
-    SA8D_SATD_ACCUM 1, 0<br>
-%endif<br>
-<br>
-; xop already has fast horizontal sums<br>
-%if cpuflag(sse4) && notcpuflag(xop) && HIGH_BIT_DEPTH==0<br>
-    pmaddwd xm10, [pw_1]<br>
-    HADDUWD xm0, xm1<br>
-    phaddd  xm0, xm10       ;  sa8d1  sa8d2  satd1  satd2<br>
-    pshufd  xm1, xm0, q2301 ;  sa8d2  sa8d1  satd2  satd1<br>
-    paddd   xm0, xm1        ;   sa8d   sa8d   satd   satd<br>
-    movd    r0d, xm0<br>
-    pextrd  eax, xm0, 2<br>
-%else<br>
-%if HIGH_BIT_DEPTH<br>
-    HADDD   xm0, xm1<br>
-    HADDD  xm10, xm2<br>
-%else<br>
-    HADDUW  xm0, xm1<br>
-    HADDW  xm10, xm2<br>
-%endif<br>
-    movd    r0d, xm0<br>
-    movd    eax, xm10<br>
-%endif<br>
-    add     r0d, 1<br>
-    shl     rax, 32<br>
-    shr     r0d, 1<br>
-    or      rax, r0<br>
-    RET<br>
-%endmacro ; SA8D_SATD<br>
-<br>
-;=============================================================================<br>
-; INTRA SATD<br>
-;=============================================================================<br>
 %define TRANS TRANS_SSE2<br>
 %define DIFFOP DIFF_UNPACK_SSE2<br>
 %define LOAD_SUMSUB_8x4P LOAD_DIFF_8x4P<br>
@@ -7334,17 +7167,11 @@<br>
 INIT_XMM sse2<br>
 SA8D<br>
 SATDS_SSE2<br>
-%if ARCH_X86_64<br>
-SA8D_SATD<br>
-%endif<br>
<br>
 %if HIGH_BIT_DEPTH == 0<br>
 INIT_XMM ssse3,atom<br>
 SATDS_SSE2<br>
 SA8D<br>
-%if ARCH_X86_64<br>
-SA8D_SATD<br>
-%endif<br>
 %endif<br>
<br>
 %define DIFFOP DIFF_SUMSUB_SSSE3<br>
@@ -7356,9 +7183,6 @@<br>
 INIT_XMM ssse3<br>
 SATDS_SSE2<br>
 SA8D<br>
-%if ARCH_X86_64<br>
-SA8D_SATD<br>
-%endif<br>
 %undef movdqa ; nehalem doesn't like movaps<br>
 %undef movdqu ; movups<br>
 %undef punpcklqdq ; or movlhps<br>
@@ -7368,9 +7192,6 @@<br>
 INIT_XMM sse4<br>
 SATDS_SSE2<br>
 SA8D<br>
-%if ARCH_X86_64<br>
-SA8D_SATD<br>
-%endif<br>
<br>
 ; Sandy/Ivy Bridge and Bulldozer do movddup in the load unit, so<br>
 ; it's effectively free.<br>
@@ -7378,26 +7199,17 @@<br>
 INIT_XMM avx<br>
 SATDS_SSE2<br>
 SA8D<br>
-%if ARCH_X86_64<br>
-SA8D_SATD<br>
-%endif<br>
<br>
 %define TRANS TRANS_XOP<br>
 INIT_XMM xop<br>
 SATDS_SSE2<br>
 SA8D<br>
-%if ARCH_X86_64<br>
-SA8D_SATD<br>
-%endif<br>
<br>
<br>
 %if HIGH_BIT_DEPTH == 0<br>
 %define LOAD_SUMSUB_8x4P LOAD_SUMSUB8_16x4P_AVX2<br>
 %define LOAD_DUP_4x8P LOAD_DUP_4x16P_AVX2<br>
 %define TRANS TRANS_SSE4<br>
-%if ARCH_X86_64<br>
-SA8D_SATD<br>
-%endif<br>
<br>
 %macro LOAD_SUMSUB_8x8P_AVX2 7 ; 4*dst, 2*tmp, mul]<br>
     movq   xm%1, [r0]<br>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</blockquote></div><br></div>