[x265] [PATCH 2 of 7] asm:intra_pred_ang4_4_sse2 improved ~3% 642.49 -> 624.99 with nits and tweaks
dtyx265 at gmail.com
dtyx265 at gmail.com
Wed Apr 1 20:52:17 CEST 2015
# HG changeset patch
# User David T Yuen <dtyx265 at gmail.com>
# Date 1427893282 25200
# Node ID fc902b84fc7f8dadf56431766adab8eda3520596
# Parent 529c6056ccfbce57cd845abec59a2af02812cd57
asm:intra_pred_ang4_4_sse2 improved ~3% 642.49 -> 624.99 with nits and tweaks
Changed r3 and r4 to r3d and r4d
tweaked unpacking for performance
diff -r 529c6056ccfb -r fc902b84fc7f source/common/x86/intrapred8.asm
--- a/source/common/x86/intrapred8.asm Wed Apr 01 05:33:44 2015 -0700
+++ b/source/common/x86/intrapred8.asm Wed Apr 01 06:01:22 2015 -0700
@@ -1412,22 +1412,21 @@
RET
cglobal intra_pred_ang4_4, 3,5,8
- xor r4, r4
- inc r4
+ xor r4d, r4d
+ inc r4d
cmp r3m, byte 32
- mov r3, 9
- cmove r3, r4
+ mov r3d, 9
+ cmove r3d, r4d
movh m0, [r2 + r3] ; [8 7 6 5 4 3 2 1]
+ punpcklbw m0, m0
+ psrldq m0, 1
+ mova m2, m0
+ psrldq m2, 2 ; [x x x x x x x x 6 5 5 4 4 3 3 2]
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]
- mova m1, m0
- psrldq m1, 2 ; [x x x x x x x x 6 5 5 4 4 3 3 2]
- mova m3, m0
- psrldq m3, 4 ; [x x x x x x x x 7 6 6 5 5 4 4 3]
- punpcklqdq m0, m1
- punpcklqdq m2, m1, m3
+ psrldq m1, 4 ; [x x x x x x x x 7 6 6 5 5 4 4 3]
+ punpcklqdq m0, m2
+ punpcklqdq m2, m1
lea r3, [pw_ang_table + 18 * 16]
mova m4, [r3 + 3 * 16] ; [21]
More information about the x265-devel
mailing list