: "r"(line_size) : "%eax", "memory"
: "r"((long)line_size) : "%"REG_a, "memory"
static void put_pixels4_mmx(uint8_t *block, const uint8_t *pixels, int line_size, int h){    __asm __volatile(	 "lea (%3, %3), %%eax		\n\t"	 ".balign 8			\n\t"	 "1:				\n\t"	 "movd (%1), %%mm0		\n\t"	 "movd (%1, %3), %%mm1		\n\t"	 "movd %%mm0, (%2)		\n\t"	 "movd %%mm1, (%2, %3)		\n\t"	 "addl %%eax, %1		\n\t"	 "addl %%eax, %2       		\n\t"	 "movd (%1), %%mm0		\n\t"	 "movd (%1, %3), %%mm1		\n\t"	 "movd %%mm0, (%2)		\n\t"	 "movd %%mm1, (%2, %3)		\n\t"	 "addl %%eax, %1		\n\t"	 "addl %%eax, %2       		\n\t"	 "subl $4, %0			\n\t"	 "jnz 1b			\n\t"	 : "+g"(h), "+r" (pixels),  "+r" (block)	 : "r"(line_size)	 : "%eax", "memory"	);}