[FFmpeg-cvslog] r25617 - trunk/libavcodec/x86/motion_est_mmx.c

ramiro subversion
Sun Oct 31 22:20:20 CET 2010


Author: ramiro
Date: Sun Oct 31 22:20:20 2010
New Revision: 25617

Log:
sad16_sse2: merge 2 asm blocks

Modified:
   trunk/libavcodec/x86/motion_est_mmx.c

Modified: trunk/libavcodec/x86/motion_est_mmx.c
==============================================================================
--- trunk/libavcodec/x86/motion_est_mmx.c	Sun Oct 31 20:55:13 2010	(r25616)
+++ trunk/libavcodec/x86/motion_est_mmx.c	Sun Oct 31 22:20:20 2010	(r25617)
@@ -98,23 +98,20 @@ static int sad16_sse2(void *v, uint8_t *
         ASMALIGN(4)
         "1:                             \n\t"
         "movdqu (%1), %%xmm0            \n\t"
-        "movdqu (%1, %3), %%xmm1        \n\t"
+        "movdqu (%1, %4), %%xmm1        \n\t"
         "psadbw (%2), %%xmm0            \n\t"
-        "psadbw (%2, %3), %%xmm1        \n\t"
+        "psadbw (%2, %4), %%xmm1        \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"
+        "lea (%1,%4,2), %1              \n\t"
+        "lea (%2,%4,2), %2              \n\t"
         "sub $2, %0                     \n\t"
         " jg 1b                         \n\t"
-        : "+r" (h), "+r" (blk1), "+r" (blk2)
-        : "r" ((x86_reg)stride)
-    );
-    __asm__ volatile(
         "movhlps %%xmm2, %%xmm0         \n\t"
         "paddw   %%xmm0, %%xmm2         \n\t"
-        "movd    %%xmm2, %0             \n\t"
-        : "=r"(ret)
+        "movd    %%xmm2, %3             \n\t"
+        : "+r" (h), "+r" (blk1), "+r" (blk2), "=r"(ret)
+        : "r" ((x86_reg)stride)
     );
     return ret;
 }



More information about the ffmpeg-cvslog mailing list