<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div>keep r3m are better, it reduce load instruction</div><pre><br>At 2015-03-29 07:39:26,dtyx265@gmail.com wrote:
># HG changeset patch
># User David T Yuen <dtyx265@gmail.com>
># Date 1427585923 25200
># Node ID 88b50a5f74d98018b1583761a6fc4c5c23f4d401
># Parent  36d70728acc2d9d6103af7530493176c08298ded
>asm:intra_pred_ang4_2 improved by ~4% 134.99 -> 129.95 with nits and tweaks
>
>Corrected parameter count
>Changed r3m to r3d
>Reduced xmm registers to 1
>
>diff -r 36d70728acc2 -r 88b50a5f74d9 source/common/x86/intrapred8.asm
>--- a/source/common/x86/intrapred8.asm Fri Mar 27 13:16:28 2015 -0500
>+++ b/source/common/x86/intrapred8.asm Sat Mar 28 16:38:43 2015 -0700
>@@ -1320,22 +1320,20 @@
> ; void intraPredAng4(pixel* dst, intptr_t dstStride, pixel* src, int dirMode, int bFilter)
> ;-----------------------------------------------------------------------------------------
> INIT_XMM sse2
>-cglobal intra_pred_ang4_2, 3,5,3
>+cglobal intra_pred_ang4_2, 4,5,1
>     lea         r4, [r2 + 2]
>     add         r2, 10
>-    cmp         r3m, byte 34
>+    cmp         r3d, byte 34
>     cmove       r2, r4

>     movh        m0, [r2]
>     movd        [r0], m0
>-    mova        m1, m0
>-    psrldq      m1, 1
>-    movd        [r0 + r1], m1
>-    mova        m2, m0
>-    psrldq      m2, 2
>-    movd        [r0 + r1 * 2], m2
>+    psrldq      m0, 1
>+    movd        [r0 + r1], m0
>+    psrldq      m0, 1
>+    movd        [r0 + r1 * 2], m0
>     lea         r1, [r1 * 3]
>-    psrldq      m0, 3
>+    psrldq      m0, 1
>     movd        [r0 + r1], m0
>     RET

>_______________________________________________
>x265-devel mailing list
>x265-devel@videolan.org
>https://mailman.videolan.org/listinfo/x265-devel
</pre></div>