[x265] [PATCH 8 of 8] asm: intra_pred_ang4_9_sse2 improved ~3.5% 580.06 -> 560.00 with nits and tweaks

dtyx265 at gmail.com dtyx265 at gmail.com
Sat Mar 28 22:35:26 CET 2015


# HG changeset patch
# User David T Yuen <dtyx265 at gmail.com>
# Date 1427578328 25200
# Node ID 0114f9034d807999af3ef7f77b977648582ccb18
# Parent  a6e3c24c0c5f1bdb85c1dc759d9667e64315b8cd
asm: intra_pred_ang4_9_sse2 improved ~3.5% 580.06 -> 560.00 with nits and tweaks

Corrected parameter count
Changed r3 and r4 to r3d and r4d
tweaked unpacking for performance

diff -r a6e3c24c0c5f -r 0114f9034d80 source/common/x86/intrapred8.asm
--- a/source/common/x86/intrapred8.asm	Sat Mar 28 14:27:20 2015 -0700
+++ b/source/common/x86/intrapred8.asm	Sat Mar 28 14:32:08 2015 -0700
@@ -1526,17 +1526,16 @@
     mova        m7, [r3 +  7 * 16]  ; [20]
     jmp         mangle(private_prefix %+ _ %+ intra_pred_ang4_3 %+ SUFFIX %+ .do_filter4x4)
 
-cglobal intra_pred_ang4_9, 3,5,8
-    xor         r4, r4
-    inc         r4
+cglobal intra_pred_ang4_9, 4,5,8
+    xor         r4d, r4d
+    inc         r4d
     cmp         r3m, byte 27
-    mov         r3, 9
-    cmove       r3, r4
+    mov         r3d, 9
+    cmove       r3d, r4d
 
     movh        m0, [r2 + r3]    ; [8 7 6 5 4 3 2 1]
-    mova        m1, m0
-    psrldq      m1, 1           ; [x 8 7 6 5 4 3 2]
-    punpcklbw   m0, m1          ; [x 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1]
+    punpcklbw   m0, m0
+    psrldq      m0, 1           ; [x 8 7 6 5 4 3 2]
     punpcklqdq  m0, m0
     mova        m2, m0
 


More information about the x265-devel mailing list