summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2015-12-18 19:19:32 -0800
committerJames Zern <jzern@google.com>2015-12-18 19:19:32 -0800
commit8b2ddbc72845262f415e0d19d1f0e74388901722 (patch)
tree3d27939fff6d2b9acbee20eb72d90035af03dfd4
parentf075fdc474898329eaa37ccc47433d6ad45792de (diff)
downloadlibvpx-8b2ddbc72845262f415e0d19d1f0e74388901722.tar
libvpx-8b2ddbc72845262f415e0d19d1f0e74388901722.tar.gz
libvpx-8b2ddbc72845262f415e0d19d1f0e74388901722.tar.bz2
libvpx-8b2ddbc72845262f415e0d19d1f0e74388901722.zip
sad_sse2: fix sad4xN(_avg) on windows
reduce the register count by 1 to avoid xmm6 and unnecessarily penalizing the other users of the base macro Change-Id: I59605c9a41a31c1b74f67ec06a40d1a7f92c4699
-rw-r--r--vpx_dsp/x86/sad_sse2.asm8
1 files changed, 4 insertions, 4 deletions
diff --git a/vpx_dsp/x86/sad_sse2.asm b/vpx_dsp/x86/sad_sse2.asm
index a141999ae..1ec906c23 100644
--- a/vpx_dsp/x86/sad_sse2.asm
+++ b/vpx_dsp/x86/sad_sse2.asm
@@ -17,7 +17,7 @@ SECTION .text
%if %3 == 5
cglobal sad%1x%2, 4, %3, 5, src, src_stride, ref, ref_stride, n_rows
%else ; %3 == 7
-cglobal sad%1x%2, 4, %3, 5, src, src_stride, ref, ref_stride, \
+cglobal sad%1x%2, 4, %3, 6, src, src_stride, ref, ref_stride, \
src_stride3, ref_stride3, n_rows
%endif ; %3 == 5/7
%else ; avg
@@ -25,7 +25,7 @@ cglobal sad%1x%2, 4, %3, 5, src, src_stride, ref, ref_stride, \
cglobal sad%1x%2_avg, 5, 1 + %3, 5, src, src_stride, ref, ref_stride, \
second_pred, n_rows
%else ; %3 == 7
-cglobal sad%1x%2_avg, 5, ARCH_X86_64 + %3, 5, src, src_stride, \
+cglobal sad%1x%2_avg, 5, ARCH_X86_64 + %3, 6, src, src_stride, \
ref, ref_stride, \
second_pred, \
src_stride3, ref_stride3
@@ -244,9 +244,9 @@ SAD8XN 4, 1 ; sad8x4_avg_sse2
movd m2, [srcq]
movd m5, [srcq+src_strideq]
movd m4, [srcq+src_strideq*2]
- movd m6, [srcq+src_stride3q]
+ movd m3, [srcq+src_stride3q]
punpckldq m2, m5
- punpckldq m4, m6
+ punpckldq m4, m3
movlhps m2, m4
psadbw m1, m2
lea refq, [refq+ref_strideq*4]