:"b"(pixels), "c"(pixels+line_size), "d" (block), "S" (block+line_size), "D"(line_size<<1)
:"D"(pixels), "S"(pixels+line_size), "r" (block), "r" (block+line_size), "g"(line_size<<1)
static void DEF(put_pixels_x2)(UINT8 *block, const UINT8 *pixels, int line_size, int h){    __asm __volatile(        "xorl %%eax, %%eax		\n\t"        ".balign 16			\n\t"        "1:				\n\t"	"movq (%1, %%eax), %%mm0	\n\t"	"movq 1(%1, %%eax), %%mm1	\n\t"	"movq (%2, %%eax), %%mm2	\n\t"	"movq 1(%2, %%eax), %%mm3	\n\t"	PAVGB" %%mm1, %%mm0		\n\t"	PAVGB" %%mm3, %%mm2		\n\t"	"movq %%mm0, (%3, %%eax)	\n\t"	"movq %%mm2, (%4, %%eax)	\n\t"        "addl %5, %%eax			\n\t"	"movq (%1, %%eax), %%mm0	\n\t"	"movq 1(%1, %%eax), %%mm1	\n\t"	"movq (%2, %%eax), %%mm2	\n\t"	"movq 1(%2, %%eax), %%mm3	\n\t"	PAVGB" %%mm1, %%mm0		\n\t"	PAVGB" %%mm3, %%mm2		\n\t"	"movq %%mm0, (%3, %%eax)	\n\t"	"movq %%mm2, (%4, %%eax)	\n\t"        "addl %5, %%eax			\n\t"        "subl $4, %0			\n\t"        " jnz 1b			\n\t"	:"+g"(h)        :"b"(pixels), "c"(pixels+line_size), "d" (block), "S" (block+line_size),        "D"(line_size<<1)	:"%eax", "memory");}