"addl %3, %%eax			\n\t"
"add %3, %%"REG_a"		\n\t"
static inline void sad8_1_mmx2(uint8_t *blk1, uint8_t *blk2, int stride, int h){    int len= -(stride*h);    asm volatile(        ".balign 16			\n\t"        "1:				\n\t"        "movq (%1, %%eax), %%mm0	\n\t"        "movq (%2, %%eax), %%mm2	\n\t"        "psadbw %%mm2, %%mm0		\n\t"        "addl %3, %%eax			\n\t"        "movq (%1, %%eax), %%mm1	\n\t"        "movq (%2, %%eax), %%mm3	\n\t"        "psadbw %%mm1, %%mm3		\n\t"        "paddw %%mm3, %%mm0		\n\t"        "paddw %%mm0, %%mm6		\n\t"        "addl %3, %%eax			\n\t"        " js 1b				\n\t"        : "+a" (len)        : "r" (blk1 - len), "r" (blk2 - len), "r" (stride)    );}