<div dir="ltr">Please, ignore the patch. I'm re-sending it.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Nov 25, 2013 at 4:14 PM, Deepthi Nandakumar <span dir="ltr"><<a href="mailto:deepthi@multicorewareinc.com" target="_blank">deepthi@multicorewareinc.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Does not apply at the tip. <br><div><div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
<div><div class="h5">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>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"># HG changeset patch<br>
# User Yuvaraj Venkatesh <<a href="mailto:yuvaraj@multicorewareinc.com" target="_blank">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></div></div>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">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>
<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>
<br></blockquote></div><br></div>