diff --git a/libavcodec/i386/dsputilenc_mmx.c b/libavcodec/i386/dsputilenc_mmx.c index 470c311930..7d471bd2f8 100644 --- a/libavcodec/i386/dsputilenc_mmx.c +++ b/libavcodec/i386/dsputilenc_mmx.c @@ -760,16 +760,15 @@ static int vsad16_mmx(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, in "movq 8(%1),%%mm3\n" "add %3,%0\n" "add %3,%1\n" - "subl $2, %%ecx\n" "psubb %%mm2, %%mm0\n" "psubb %%mm3, %%mm1\n" "pxor %%mm7, %%mm0\n" "pxor %%mm7, %%mm1\n" - SUM(%%mm0, %%mm1, %%mm4, %%mm5) + "jmp 2f\n" "1:\n" SUM(%%mm4, %%mm5, %%mm0, %%mm1) - + "2:\n" SUM(%%mm0, %%mm1, %%mm4, %%mm5) "subl $2, %%ecx\n"