<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><DIV>mova         m3,          [tab_Zero]<BR>pxor is faster<BR><BR>At 2013-12-04 21:57:09,praveen@multicorewareinc.com wrote:<BR>># HG changeset patch<BR>># User Praveen Tiwari<BR>># Date 1386165418 -19800<BR>># Node ID 1e130f825cbbfa805602d4eb381b38e62ff82458<BR>># Parent  1d2d60f4eb81882fa0f3ba6c4e7aa9a220968f7a<BR>>all_angs_pred_4x4, asm code for all modes<BR>><BR>>diff -r 1d2d60f4eb81 -r 1e130f825cbb source/common/x86/asm-primitives.cpp<BR>>--- a/source/common/x86/asm-primitives.cpp  Tue Dec 03 23:56:22 2013 -0600<BR>>+++ b/source/common/x86/asm-primitives.cpp    Wed Dec 04 19:26:58 2013 +0530<BR>>@@ -780,6 +780,8 @@<BR>>         p.intra_pred_planar[BLOCK_8x8] = x265_intra_pred_planar8_sse4;<BR>>         p.intra_pred_planar[BLOCK_16x16] = x265_intra_pred_planar16_sse4;<BR>>         p.intra_pred_planar[BLOCK_32x32] = x265_intra_pred_planar32_sse4;<BR>>+<BR>>+        p.intra_pred_allangs[BLOCK_4x4] = x265_all_angs_pred_4x4_sse4;<BR>>     }<BR>>     if (cpuMask & X265_CPU_AVX)<BR>>     {<BR>>diff -r 1d2d60f4eb81 -r 1e130f825cbb source/common/x86/intrapred.h<BR>>--- a/source/common/x86/intrapred.h      Tue Dec 03 23:56:22 2013 -0600<BR>>+++ b/source/common/x86/intrapred.h   Wed Dec 04 19:26:58 2013 +0530<BR>>@@ -39,4 +39,6 @@<BR>> void x265_intra_pred_ang4_2_ssse3(pixel* dst, intptr_t dstStride, pixel *refLeft, pixel *refAbove, int dirMode, int bFilter);<BR>> void x265_intra_pred_ang4_3_ssse3(pixel* dst, intptr_t dstStride, pixel *refLeft, pixel *refAbove, int dirMode, int bFilter);<BR>> <BR>>+void x265_all_angs_pred_4x4_sse4(pixel *dest, pixel *above0, pixel *left0, pixel *above1, pixel *left1, bool bLuma);<BR>>+<BR>> #endif // ifndef X265_INTRAPRED_H<BR>>diff -r 1d2d60f4eb81 -r 1e130f825cbb source/common/x86/intrapred8.asm<BR>>--- a/source/common/x86/intrapred8.asm      Tue Dec 03 23:56:22 2013 -0600<BR>>+++ b/source/common/x86/intrapred8.asm        Wed Dec 04 19:26:58 2013 +0530<BR>>@@ -34,6 +34,8 @@<BR>> <BR>> c_trans_4x4 db 0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15<BR>> <BR>>+tab_Zero: db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0<BR>>+<BR>> const ang_table<BR>> %assign x 0<BR>> %rep 32<BR>>@@ -750,3 +752,793 @@<BR>>     lea         r1, [r1 * 3]<BR>>     movd        [r0 + r1], m3<BR>>     RET<BR>>+<BR>>+;-----------------------------------------------------------------------------<BR>>+; void all_angs_pred_4x4(pixel *dest, pixel *above0, pixel *left0, pixel *above1, pixel *left1, bool bLuma)<BR>>+;-----------------------------------------------------------------------------<BR>>+INIT_XMM sse4<BR>>+cglobal all_angs_pred_4x4, 6, 6, 8 dest, above0, left0, above1, left1, bLuma<BR>>+<BR>>+; mode 2<BR>>+<BR>>+movh      m0,         [r2 + 2]<BR>>+movd      [r0],       m0<BR>>+<BR>>+palignr   m1,         m0,      1<BR>>+movd      [r0 + 4],   m1<BR>>+<BR>>+palignr   m1,         m0,      2<BR>>+movd      [r0 + 8],   m1<BR>>+<BR>>+psrldq     m0,        3<BR>>+movd      [r0 + 12],  m0<BR>>+<BR>>+; mode 3<BR>>+<BR>>+mova          m0,        [pw_1024]<BR>>+<BR>>+movh          m1,        [r2 + 1]<BR>>+<BR>>+palignr       m2,        m1,        1<BR>>+punpcklbw     m1,        m2<BR>>+<BR>>+lea           r5,        [ang_table]<BR>>+<BR>>+pmaddubsw     m5,        m1,        [r5 + 26 * 16]<BR>>+pmulhrsw      m5,        m0<BR>>+packuswb      m5,        m5<BR>>+movd          [r0 + 16], m5<BR>>+<BR>>+palignr       m2,        m1,        2<BR>>+<BR>>+pmaddubsw     m6,        m2,        [r5 + 20 * 16]<BR>>+pmulhrsw      m6,        m0<BR>>+packuswb      m6,        m6<BR>>+movd          [r0 + 20], m6<BR>>+<BR>>+palignr        m3,        m1,       4<BR>>+<BR>>+pmaddubsw     m4,        m3,        [r5 + 14 * 16]<BR>>+pmulhrsw      m4,        m0<BR>>+packuswb      m4,        m4<BR>>+movd          [r0 + 24], m4<BR>>+<BR>>+palignr       m4,        m1,        6<BR>>+<BR>>+pmaddubsw     m4,        [r5 + 8 * 16]<BR>>+pmulhrsw      m4,        m0<BR>>+packuswb      m4,        m4<BR>>+movd          [r0 + 28], m4<BR>>+<BR>>+; mode 4<BR>>+<BR>>+pmaddubsw     m4,        m1,        [r5 + 21 * 16]<BR>>+pmulhrsw      m4,        m0<BR>>+packuswb      m4,        m4<BR>>+movd          [r0 + 32], m4<BR>>+<BR>>+pmaddubsw     m4,        m2,        [r5 + 10 * 16]<BR>>+pmulhrsw      m4,        m0<BR>>+packuswb      m4,        m4<BR>>+movd          [r0 + 36], m4<BR>>+<BR>>+pmaddubsw     m4,        m2,        [r5 + 31 * 16]<BR>>+pmulhrsw      m4,        m0<BR>>+packuswb      m4,        m4<BR>>+movd          [r0 + 40], m4<BR>>+<BR>>+pmaddubsw     m4,        m3,        [r5 + 20 * 16]<BR>>+pmulhrsw      m4,        m0<BR>>+packuswb      m4,        m4<BR>>+movd          [r0 + 44], m4<BR>>+<BR>>+; mode 5<BR>>+<BR>>+pmaddubsw     m4,        m1,        [r5 + 17 * 16]<BR>>+pmulhrsw      m4,        m0<BR>>+packuswb      m4,        m4<BR>>+movd          [r0 + 48], m4<BR>>+<BR>>+pmaddubsw     m4,        m2,        [r5 + 2 * 16]<BR>>+pmulhrsw      m4,        m0<BR>>+packuswb      m4,        m4<BR>>+movd          [r0 + 52], m4<BR>>+<BR>>+pmaddubsw     m4,        m2,        [r5 + 19 * 16]<BR>>+pmulhrsw      m4,        m0<BR>>+packuswb      m4,        m4<BR>>+movd          [r0 + 56], m4<BR>>+<BR>>+pmaddubsw     m3,        [r5 + 4 * 16]<BR>>+pmulhrsw      m3,        m0<BR>>+packuswb      m3,        m3<BR>>+movd          [r0 + 60], m3<BR>>+<BR>>+; mode 6<BR>>+<BR>>+pmaddubsw     m3,        m1,        [r5 + 13 * 16]<BR>>+pmulhrsw      m3,        m0<BR>>+packuswb      m3,        m3<BR>>+movd          [r0 + 64], m3<BR>>+<BR>>+movd          [r0 + 68], m5<BR>>+<BR>>+pmaddubsw     m3,        m2,        [r5 + 7 * 16]<BR>>+pmulhrsw      m3,        m0<BR>>+packuswb      m3,        m3<BR>>+movd          [r0 + 72], m3<BR>>+<BR>>+movd          [r0 + 76], m6<BR>>+<BR>>+; mode 7<BR>>+<BR>>+pmaddubsw     m3,        m1,        [r5 + 9 * 16]<BR>>+pmulhrsw      m3,        m0<BR>>+packuswb      m3,        m3<BR>>+movd          [r0 + 80], m3<BR>>+<BR>>+pmaddubsw     m3,        m1,        [r5 + 18 * 16]<BR>>+pmulhrsw      m3,        m0<BR>>+packuswb      m3,        m3<BR>>+movd          [r0 + 84], m3<BR>>+<BR>>+pmaddubsw     m3,        m1,        [r5 + 27 * 16]<BR>>+pmulhrsw      m3,        m0<BR>>+packuswb      m3,        m3<BR>>+movd          [r0 + 88], m3<BR>>+<BR>>+pmaddubsw     m2,        [r5 + 4 * 16]<BR>>+pmulhrsw      m2,        m0<BR>>+packuswb      m2,        m2<BR>>+movd          [r0 + 92], m2<BR>>+<BR>>+; mode 8<BR>>+<BR>>+pmaddubsw     m2,         m1,       [r5 + 5 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 96],  m2<BR>>+<BR>>+pmaddubsw     m2,         m1,       [r5 + 10 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 100], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,       [r5 + 15 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 104], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,       [r5 + 20 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 108], m2<BR>>+<BR>>+; mode 9<BR>>+<BR>>+pmaddubsw     m2,         m1,       [r5 + 2 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 112], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,       [r5 + 4 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 116], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,       [r5 + 6 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 120], m2<BR>>+<BR>>+pmaddubsw     m1,         [r5 + 8 * 16]<BR>>+pmulhrsw      m1,         m0<BR>>+packuswb      m1,         m1<BR>>+movd          [r0 + 124], m1<BR>>+<BR>>+; mode 10<BR>>+<BR>>+movh         m1,         [r2]<BR>>+palignr      m2,         m1,        1<BR>>+pshufd       m3,         m2,        0<BR>>+movu         [r0 + 128], m3<BR>>+<BR>>+mova         m3,          [tab_Zero]<BR>>+<BR>>+pshufb       m4,          m2,       m3<BR>>+punpcklbw    m4,          m3<BR>>+<BR>>+movh         m5,          [r1]<BR>>+<BR>>+pshufb       m6,          m5,       m3<BR>>+punpcklbw    m6,          m3<BR>>+<BR>>+psrldq       m5,          1<BR>>+punpcklbw    m5,          m3<BR>>+<BR>>+psubw        m5,          m6<BR>>+psraw        m5,          1<BR>>+<BR>>+paddw        m4,          m5<BR>>+<BR>>+packuswb     m4,          m3<BR>>+<BR>>+pextrb       [r0 + 128],  m4,    0<BR>>+pextrb       [r0 + 132],  m4,    1<BR>>+pextrb       [r0 + 136],  m4,    2<BR>>+pextrb       [r0 + 140],  m4,    3<BR>>+<BR>>+; mode 11<BR>>+<BR>>+palignr       m2,         m1,        1<BR>>+punpcklbw     m1,         m2<BR>>+<BR>>+pmaddubsw     m2,         m1,        [r5 + 30 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 144], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,        [r5 + 28 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 148], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,        [r5 + 26 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 152], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,        [r5 + 24 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 156], m2<BR>>+<BR>>+; mode 12<BR>>+<BR>>+pmaddubsw     m2,         m1,        [r5 + 27 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 160], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,        [r5 + 22 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 164], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,        [r5 + 17 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 168], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,        [r5 + 12 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 172], m2<BR>>+<BR>>+; mode 13<BR>>+<BR>>+pmaddubsw     m2,         m1,        [r5 + 23 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 176], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,        [r5 + 14 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 180], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,        [r5 + 5 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 184], m2<BR>>+<BR>>+pslldq        m2,         m1,         2<BR>>+pinsrb        m2,         [r1 + 0],   1<BR>>+pinsrb        m2,         [r1 + 4],   0<BR>>+<BR>>+pmaddubsw     m3,         m2,         [r5 + 28 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 188], m3<BR>>+<BR>>+; mode 14<BR>>+<BR>>+pmaddubsw     m3,         m1,        [r5 + 19 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 192], m3<BR>>+<BR>>+pmaddubsw     m5,         m1,        [r5 + 6 * 16]<BR>>+pmulhrsw      m5,         m0<BR>>+packuswb      m5,         m5<BR>>+movd          [r0 + 196], m5<BR>>+<BR>>+pinsrb        m2,         [r1 + 2],  0<BR>>+<BR>>+pmaddubsw     m3,         m2,        [r5 + 25 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 200], m3<BR>>+<BR>>+pmaddubsw     m3,         m2,        [r5 + 12 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 204], m3<BR>>+<BR>>+; mode 15<BR>>+<BR>>+pmaddubsw     m3,         m1,        [r5 + 15 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 208], m3<BR>>+<BR>>+pmaddubsw     m3,         m2,        [r5 + 30 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 212], m3<BR>>+<BR>>+pmaddubsw     m3,         m2,        [r5 + 13 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 216], m3<BR>>+<BR>>+pslldq        m3,         m2,         2<BR>>+pinsrb        m3,         [r1 + 2],   1<BR>>+pinsrb        m3,         [r1 + 4],   0<BR>>+<BR>>+pmaddubsw     m4,         m3,         [r5 + 28 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 220], m4<BR>>+<BR>>+; mode 16<BR>>+<BR>>+pmaddubsw     m4,         m1,        [r5 + 11 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 224], m4<BR>>+<BR>>+pmaddubsw     m4,         m2,        [r5 + 22 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 228], m4<BR>>+<BR>>+pmaddubsw     m4,         m2,        [r5 + 1 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 232], m4<BR>>+<BR>>+pinsrb        m3,         [r1 + 3],  0<BR>>+<BR>>+pmaddubsw     m3,         [r5 + 12 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 236], m3<BR>>+<BR>>+; mode 17<BR>>+<BR>>+movd          [r0 + 240],  m5<BR>>+<BR>>+pslldq        m1,         2<BR>>+pinsrb        m1,         [r1 + 1],  0<BR>>+pinsrb        m1,         [r1 + 0],  1<BR>>+<BR>>+pmaddubsw     m2,         m1,        [r5 + 12 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 244], m2<BR>>+<BR>>+pslldq        m1,         2<BR>>+pinsrb        m1,         [r1 + 2],  0<BR>>+pinsrb        m1,         [r1 + 1],  1<BR>>+<BR>>+pmaddubsw     m2,         m1,        [r5 + 18 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 248], m2<BR>>+<BR>>+pslldq        m1,         2<BR>>+pinsrb        m1,         [r1 + 4],  0<BR>>+pinsrb        m1,         [r1 + 2],  1<BR>>+<BR>>+pmaddubsw     m1,         [r5 + 24 * 16]<BR>>+pmulhrsw      m1,         m0<BR>>+packuswb      m1,         m1<BR>>+movd          [r0 + 252], m1<BR>>+<BR>>+; mode 18<BR>>+<BR>>+movh          m1,         [r1]<BR>>+movd          [r0 + 256], m1<BR>>+<BR>>+pslldq        m2,         m1,         1<BR>>+pinsrb        m2,         [r2 + 1],   0<BR>>+movd          [r0 + 260], m2<BR>>+<BR>>+pslldq        m3,         m2,         1<BR>>+pinsrb        m3,         [r2 + 2],   0<BR>>+movd          [r0 + 264], m3<BR>>+<BR>>+pslldq        m4,         m3,         1<BR>>+pinsrb        m4,         [r2 + 3],   0<BR>>+movd          [r0 + 268], m4<BR>>+<BR>>+; mode 19<BR>>+<BR>>+palignr       m4,         m1,        1<BR>>+punpcklbw     m1,         m4<BR>>+<BR>>+pmaddubsw     m5,         m1,        [r5 + 6 * 16]<BR>>+pmulhrsw      m5,         m0<BR>>+packuswb      m5,         m5<BR>>+movd          [r0 + 272], m5<BR>>+<BR>>+pslldq        m2,         m1,         2<BR>>+pinsrb        m2,         [r2 + 1],   0<BR>>+pinsrb        m2,         [r2],       1<BR>>+<BR>>+pmaddubsw     m3,         m2,         [r5 + 12 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 276], m3<BR>>+<BR>>+pslldq        m3,         m2,         2<BR>>+pinsrb        m3,         [r2 + 1],   1<BR>>+pinsrb        m3,         [r2 + 2],   0<BR>>+<BR>>+pmaddubsw     m4,         m3,         [r5 + 18 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 280], m4<BR>>+<BR>>+pslldq        m3,         2<BR>>+pinsrb        m3,         [r2 + 2],   1<BR>>+pinsrb        m3,         [r2 + 4],   0<BR>>+<BR>>+pmaddubsw     m3,         [r5 + 24 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 284], m3<BR>>+<BR>>+; mode 20<BR>>+<BR>>+pmaddubsw     m3,         m1,        [r5 + 11 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 288], m3<BR>>+<BR>>+pinsrb        m2,         [r2 + 2],  0<BR>>+<BR>>+pmaddubsw     m3,         m2,        [r5 + 22 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 292], m3<BR>>+<BR>>+pmaddubsw     m3,         m2,        [r5 + 1 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 296], m3<BR>>+<BR>>+pslldq        m3,         m2,        2<BR>>+pinsrb        m3,         [r2 + 2],  1<BR>>+pinsrb        m3,         [r2 + 3],  0<BR>>+<BR>>+pmaddubsw     m4,         m3,        [r5 + 12 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 300], m4<BR>>+<BR>>+; mode 21<BR>>+<BR>>+pmaddubsw     m4,         m1,         [r5 + 15 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 304], m4<BR>>+<BR>>+pmaddubsw     m4,         m2,         [r5 + 30 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 308], m4<BR>>+<BR>>+pmaddubsw     m4,         m2,         [r5 + 13 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 312], m4<BR>>+<BR>>+pinsrb        m3,         [r2 + 4],   0<BR>>+<BR>>+pmaddubsw     m3,         [r5 + 28 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 316], m3<BR>>+<BR>>+; mode 22<BR>>+<BR>>+pmaddubsw     m3,         m1,         [r5 + 19 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 320], m3<BR>>+<BR>>+movd          [r0 + 324], m5<BR>>+<BR>>+pmaddubsw     m3,         m2,         [r5 + 25 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 328], m3<BR>>+<BR>>+pmaddubsw     m3,         m2,         [r5 + 12 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 332], m3<BR>>+<BR>>+; mode 23<BR>>+<BR>>+pmaddubsw     m3,         m1,         [r5 + 23 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 336], m3<BR>>+<BR>>+pmaddubsw     m3,         m1,         [r5 + 14 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 340], m3<BR>>+<BR>>+pmaddubsw     m3,         m1,         [r5 + 5 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 344], m3<BR>>+<BR>>+pinsrb         m2,        [r2 + 4],   0<BR>>+<BR>>+pmaddubsw     m2,         [r5 + 28 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 348], m2<BR>>+<BR>>+; mode 24<BR>>+<BR>>+pmaddubsw     m2,         m1,         [r5 + 27 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 352], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,         [r5 + 22 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 356], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,         [r5 + 17 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 360], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,         [r5 + 12 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 364], m2<BR>>+<BR>>+; mode 25<BR>>+<BR>>+pmaddubsw     m2,         m1,         [r5 + 30 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 368], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,         [r5 + 28 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 372], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,         [r5 + 26 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 376], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,         [r5 + 24 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 380], m2<BR>>+<BR>>+; mode 26<BR>>+<BR>>+movh         m1,         [r1 + 1]<BR>>+pshufd       m2,         m1,        0<BR>>+movu         [r0 + 384], m2<BR>>+<BR>>+mova         m2,          [tab_Zero]<BR>>+<BR>>+pshufb       m3,          m1,       m2<BR>>+punpcklbw    m3,          m2<BR>>+<BR>>+movh         m4,          [r2]<BR>>+<BR>>+pshufb       m5,          m4,       m2<BR>>+punpcklbw    m5,          m2<BR>>+<BR>>+psrldq       m4,          1<BR>>+punpcklbw    m4,          m2<BR>>+<BR>>+psubw        m4,          m5<BR>>+psraw        m4,          1<BR>>+<BR>>+paddw        m3,          m4<BR>>+<BR>>+packuswb     m3,          m2<BR>>+<BR>>+pextrb       [r0 + 384],  m3,    0<BR>>+pextrb       [r0 + 388],  m3,    1<BR>>+pextrb       [r0 + 392],  m3,    2<BR>>+pextrb       [r0 + 396],  m3,    3<BR>>+<BR>>+; mode 27<BR>>+<BR>>+palignr       m2,         m1,     1<BR>>+punpcklbw     m1,         m2<BR>>+<BR>>+pmaddubsw     m2,         m1,     [r5 + 2 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 400], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,     [r5 + 4 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 404], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,     [r5 + 6 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 408], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,     [r5 + 8 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 412], m2<BR>>+<BR>>+; mode 28<BR>>+<BR>>+pmaddubsw     m2,         m1,     [r5 + 5 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 416], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,     [r5 + 10 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 420], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,     [r5 + 15 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 424], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,     [r5 + 20 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 428], m2<BR>>+<BR>>+; mode 29<BR>>+<BR>>+pmaddubsw     m2,         m1,     [r5 + 9 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 432], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,     [r5 + 18 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 436], m2<BR>>+<BR>>+pmaddubsw     m2,         m1,     [r5 + 27 * 16]<BR>>+pmulhrsw      m2,         m0<BR>>+packuswb      m2,         m2<BR>>+movd          [r0 + 440], m2<BR>>+<BR>>+palignr       m2,         m1,     2<BR>>+<BR>>+pmaddubsw     m3,         m2,     [r5 + 4 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 444], m3<BR>>+<BR>>+; mode 30<BR>>+<BR>>+pmaddubsw     m3,         m1,     [r5 + 13 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 448], m3<BR>>+<BR>>+pmaddubsw     m6,         m1,     [r5 + 26 * 16]<BR>>+pmulhrsw      m6,         m0<BR>>+packuswb      m6,         m6<BR>>+movd          [r0 + 452], m6<BR>>+<BR>>+pmaddubsw     m3,         m2,     [r5 + 7 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 456], m3<BR>>+<BR>>+pmaddubsw     m5,         m2,     [r5 + 20 * 16]<BR>>+pmulhrsw      m5,         m0<BR>>+packuswb      m5,         m5<BR>>+movd          [r0 + 460], m5<BR>>+<BR>>+; mode 31<BR>>+<BR>>+pmaddubsw     m3,         m1,     [r5 + 17 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 464], m3<BR>>+<BR>>+pmaddubsw     m3,         m2,     [r5 + 2 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 468], m3<BR>>+<BR>>+pmaddubsw     m3,         m2,     [r5 + 19 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 472], m3<BR>>+<BR>>+palignr       m3,         m2,     2<BR>>+<BR>>+pmaddubsw     m4,         m3,     [r5 + 4 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 476], m4<BR>>+<BR>>+; mode 32<BR>>+<BR>>+pmaddubsw     m4,         m1,     [r5 + 21 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 480], m4<BR>>+<BR>>+pmaddubsw     m4,         m2,     [r5 + 10 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 484], m4<BR>>+<BR>>+pmaddubsw     m4,         m2,     [r5 + 31 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 488], m4<BR>>+<BR>>+pmaddubsw     m4,         m3,     [r5 + 20 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 492], m4<BR>>+<BR>>+; mode 33<BR>>+<BR>>+movd          [r0 + 496], m6<BR>>+<BR>>+movd          [r0 + 500], m5<BR>>+<BR>>+pmaddubsw     m4,         m3,         [r5 + 14 * 16]<BR>>+pmulhrsw      m4,         m0<BR>>+packuswb      m4,         m4<BR>>+movd          [r0 + 504], m4<BR>>+<BR>>+psrldq        m3,         2<BR>>+<BR>>+pmaddubsw     m3,         [r5 + 8 * 16]<BR>>+pmulhrsw      m3,         m0<BR>>+packuswb      m3,         m3<BR>>+movd          [r0 + 508], m3<BR>>+<BR>>+; mode 34<BR>>+<BR>>+movh      m0,             [r1 + 2]<BR>>+movd      [r0 + 512],     m0<BR>>+<BR>>+palignr   m1,             m0,      1<BR>>+movd      [r0 + 516],     m1<BR>>+<BR>>+palignr   m1,             m0,      2<BR>>+movd      [r0 + 520],     m1<BR>>+<BR>>+palignr   m1,             m0,      3<BR>>+movd      [r0 + 524],     m1<BR>>+<BR>>+RET<BR>>diff -r 1d2d60f4eb81 -r 1e130f825cbb source/test/intrapredharness.cpp<BR>>--- a/source/test/intrapredharness.cpp     Tue Dec 03 23:56:22 2013 -0600<BR>>+++ b/source/test/intrapredharness.cpp        Wed Dec 04 19:26:58 2013 +0530<BR>>@@ -210,7 +210,7 @@<BR>> <BR>>         for (int i = 0; i <= 100; i++)<BR>>         {<BR>>-            isLuma = (width <= 16) && (rand() % 2);<BR>>+            isLuma = (width <= 16) ? true : false;  // bFilter is true for 4x4, 8x8, 16x16 and false for 32x32<BR>> <BR>>             pixel * refAbove0 = pixel_buff + j;<BR>>             pixel * refLeft0 = refAbove0 + 3 * width;<BR>>_______________________________________________<BR>>x265-devel mailing list<BR>>x265-devel@videolan.org<BR>>https://mailman.videolan.org/listinfo/x265-devel<BR></DIV></div>