int i=0;
long i=0;
static void add_bytes_mmx(uint8_t *dst, uint8_t *src, int w){    int i=0;    asm volatile(        "1:				\n\t"        "movq  (%1, %0), %%mm0		\n\t"        "movq  (%2, %0), %%mm1		\n\t"        "paddb %%mm0, %%mm1		\n\t"        "movq %%mm1, (%2, %0)		\n\t"        "movq 8(%1, %0), %%mm0		\n\t"        "movq 8(%2, %0), %%mm1		\n\t"        "paddb %%mm0, %%mm1		\n\t"        "movq %%mm1, 8(%2, %0)		\n\t"        "addl $16, %0			\n\t"        "cmpl %3, %0			\n\t"        " jb 1b				\n\t"        : "+r" (i)        : "r"(src), "r"(dst), "r"(w-15)    );    for(; i<w; i++)        dst[i+0] += src[i+0];}