<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div>How about maskmovdqu</div>
<div><br>At 2015-02-03 17:00:54,praveen@multicorewareinc.com wrote:<br>># HG changeset patch<br>># User Praveen Tiwari<br>># Date 1422954042 -19800<br>># Node ID d212ce9fa3705b9e7d4d23f14412bd28fe3bbfde<br>># Parent  059892f65db3e4c70017241ea847717e11be0124<br>>blockcopy_pp_6x8 sse2 asm code optimization<br>><br>>improved, 248.67c -> 212.56c<br>><br>>diff -r 059892f65db3 -r d212ce9fa370 source/common/x86/blockcopy8.asm<br>>--- a/source/common/x86/blockcopy8.asm  Tue Feb 03 11:58:18 2015 +0530<br>>+++ b/source/common/x86/blockcopy8.asm        Tue Feb 03 14:30:42 2015 +0530<br>>@@ -224,65 +224,51 @@<br>> ; void blockcopy_pp_6x8(pixel* dst, intptr_t dstStride, const pixel* src, intptr_t srcStride)<br>> ;-----------------------------------------------------------------------------<br>> INIT_XMM sse2<br>>-cglobal blockcopy_pp_6x8, 4, 7, 8<br>>-<br>>-    movd     m0,     [r2]<br>>-    movd     m1,     [r2 + r3]<br>>-    movd     m2,     [r2 + 2 * r3]<br>>-    lea      r5,     [r2 + 2 * r3]<br>>-    movd     m3,     [r5 + r3]<br>>-<br>>-    movd     m4,     [r5 + 2 * r3]<br>>-    lea      r5,     [r5 + 2 * r3]<br>>-    movd     m5,     [r5 + r3]<br>>-    movd     m6,     [r5 + 2 * r3]<br>>-    lea      r5,     [r5 + 2 * r3]<br>>-    movd     m7,     [r5 + r3]<br>>-<br>>-    movd     [r0],                m0<br>>-    movd     [r0 + r1],           m1<br>>-    movd     [r0 + 2 * r1],       m2<br>>-    lea      r6,                  [r0 + 2 * r1]<br>>-    movd     [r6 + r1],           m3<br>>-<br>>-    movd     [r6 + 2 * r1],        m4<br>>-    lea      r6,                   [r6 + 2 * r1]<br>>-    movd     [r6 + r1],            m5<br>>-    movd     [r6 + 2 * r1],        m6<br>>-    lea      r6,                   [r6 + 2 * r1]<br>>-    movd     [r6 + r1],            m7<br>>-<br>>-    mov     r4w,     [r2 + 4]<br>>-    mov     r5w,     [r2 + r3 + 4]<br>>-    mov     r6w,     [r2 + 2 * r3 + 4]<br>>-<br>>-    mov     [r0 + 4],            r4w<br>>-    mov     [r0 + r1 + 4],       r5w<br>>-    mov     [r0 + 2 * r1 + 4],   r6w<br>>-<br>>-    lea     r0,              [r0 + 2 * r1]<br>>-    lea     r2,              [r2 + 2 * r3]<br>>-<br>>-    mov     r4w,             [r2 + r3 + 4]<br>>-    mov     r5w,             [r2 + 2 * r3 + 4]<br>>-<br>>-    mov     [r0 + r1 + 4],       r4w<br>>-    mov     [r0 + 2 * r1 + 4],   r5w<br>>-<br>>-    lea     r0,              [r0 + 2 * r1]<br>>-    lea     r2,              [r2 + 2 * r3]<br>>-<br>>-    mov     r4w,             [r2 + r3 + 4]<br>>-    mov     r5w,             [r2 + 2 * r3 + 4]<br>>-<br>>-    mov     [r0 + r1 + 4],       r4w<br>>-    mov     [r0 + 2 * r1 + 4],   r5w<br>>-<br>>-    lea     r0,              [r0 + 2 * r1]<br>>-    lea     r2,              [r2 + 2 * r3]<br>>-<br>>-    mov     r4w,             [r2 + r3 + 4]<br>>-    mov     [r0 + r1 + 4],       r4w<br>>+cglobal blockcopy_pp_6x8, 4, 7, 3<br>>+<br>>+    movd     m0,  [r2]<br>>+    mov      r4w, [r2 + 4]<br>>+    movd     m1,  [r2 + r3]<br>>+    mov      r5w, [r2 + r3 + 4]<br>>+    movd     m2,  [r2 + 2 * r3]<br>>+    mov      r6w, [r2 + 2 * r3 + 4]<br>>+<br>>+    movd     [r0],              m0<br>>+    mov      [r0 + 4],          r4w<br>>+    movd     [r0 + r1],         m1<br>>+    mov      [r0 + r1 + 4],     r5w<br>>+    movd     [r0 + 2 * r1],     m2<br>>+    mov      [r0 + 2 * r1 + 4], r6w<br>>+<br>>+    lea      r2,  [r2 + 2 * r3]<br>>+    movd     m0,  [r2 + r3]<br>>+    mov      r4w, [r2 + r3 + 4]<br>>+    movd     m1,  [r2 + 2 * r3]<br>>+    mov      r5w, [r2 + 2 * r3 + 4]<br>>+    lea      r2,  [r2 + 2 * r3]<br>>+    movd     m2,  [r2 + r3]<br>>+    mov      r6w, [r2 + r3 + 4]<br>>+<br>>+    lea      r0,                [r0 + 2 * r1]<br>>+    movd     [r0 + r1],         m0<br>>+    mov      [r0 + r1 + 4],     r4w<br>>+    movd     [r0 + 2 * r1],     m1<br>>+    mov      [r0 + 2 * r1 + 4], r5w<br>>+    lea      r0,                [r0 + 2 * r1]<br>>+    movd     [r0 + r1],         m2<br>>+    mov      [r0 + r1 + 4],     r6w<br>>+<br>>+    lea      r2,                [r2 + 2 * r3]<br>>+    movd     m0,                [r2]<br>>+    mov      r4w,               [r2 + 4]<br>>+    movd     m1,                [r2 + r3]<br>>+    mov      r5w,               [r2 + r3 + 4]<br>>+<br>>+    lea      r0,            [r0 + 2 * r1]<br>>+    movd     [r0],          m0<br>>+    mov      [r0 + 4],      r4w<br>>+    movd     [r0 + r1],     m1<br>>+    mov      [r0 + r1 + 4], r5w<br>>     RET<br>> <br>> ;-----------------------------------------------------------------------------<br>>_______________________________________________<br>>x265-devel mailing list<br>>x265-devel@videolan.org<br>>https://mailman.videolan.org/listinfo/x265-devel<br></div></div>