summaryrefslogtreecommitdiff
path: root/libavcodec/x86/motion_est_mmx.c
diff options
context:
space:
mode:
authorRamiro Polla <ramiro.polla@gmail.com>2010-10-31 15:07:21 +0000
committerRamiro Polla <ramiro.polla@gmail.com>2010-10-31 15:07:21 +0000
commit05c018078c959538a790fccbf508c42a6df7d5e5 (patch)
tree9a0e4ed77c3f1e7dac5a9b5c7e06f3c0888fd67d /libavcodec/x86/motion_est_mmx.c
parent5d543a3d137c4a54ae1cb88e725cad3f0f2cb8df (diff)
motion_est_mmx: prefer xmm registers below xmm6 when they are available
Originally committed as revision 25612 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/x86/motion_est_mmx.c')
-rw-r--r--libavcodec/x86/motion_est_mmx.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/x86/motion_est_mmx.c b/libavcodec/x86/motion_est_mmx.c
index 646b8c179e..2dc1925c55 100644
--- a/libavcodec/x86/motion_est_mmx.c
+++ b/libavcodec/x86/motion_est_mmx.c
@@ -94,15 +94,15 @@ static int sad16_sse2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h)
{
int ret;
__asm__ volatile(
- "pxor %%xmm6, %%xmm6 \n\t"
+ "pxor %%xmm2, %%xmm2 \n\t"
ASMALIGN(4)
"1: \n\t"
"movdqu (%1), %%xmm0 \n\t"
"movdqu (%1, %3), %%xmm1 \n\t"
"psadbw (%2), %%xmm0 \n\t"
"psadbw (%2, %3), %%xmm1 \n\t"
- "paddw %%xmm0, %%xmm6 \n\t"
- "paddw %%xmm1, %%xmm6 \n\t"
+ "paddw %%xmm0, %%xmm2 \n\t"
+ "paddw %%xmm1, %%xmm2 \n\t"
"lea (%1,%3,2), %1 \n\t"
"lea (%2,%3,2), %2 \n\t"
"sub $2, %0 \n\t"
@@ -111,9 +111,9 @@ static int sad16_sse2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h)
: "r" ((x86_reg)stride)
);
__asm__ volatile(
- "movhlps %%xmm6, %%xmm0 \n\t"
- "paddw %%xmm0, %%xmm6 \n\t"
- "movd %%xmm6, %0 \n\t"
+ "movhlps %%xmm2, %%xmm0 \n\t"
+ "paddw %%xmm0, %%xmm2 \n\t"
+ "movd %%xmm2, %0 \n\t"
: "=r"(ret)
);
return ret;