dst[4*i + 0] = src[4*i + 2]; dst[4*i + 1] = src[4*i + 1]; dst[4*i + 2] = src[4*i + 0];
static inline void RENAME(rgb32tobgr32)(const uint8_t *src, uint8_t *dst, unsigned int src_size){#ifdef HAVE_MMX/* TODO: unroll this loop */	asm volatile (		"xorl %%eax, %%eax		\n\t"		".balign 16			\n\t"		"1:				\n\t"		PREFETCH" 32(%0, %%eax)		\n\t"		"movq (%0, %%eax), %%mm0	\n\t"		"movq %%mm0, %%mm1		\n\t"		"movq %%mm0, %%mm2		\n\t"		"pslld $16, %%mm0		\n\t"		"psrld $16, %%mm1		\n\t"		"pand "MANGLE(mask32r)", %%mm0	\n\t"		"pand "MANGLE(mask32g)", %%mm2	\n\t"		"pand "MANGLE(mask32b)", %%mm1	\n\t"		"por %%mm0, %%mm2		\n\t"		"por %%mm1, %%mm2		\n\t"		MOVNTQ" %%mm2, (%1, %%eax)	\n\t"		"addl $8, %%eax			\n\t"		"cmpl %2, %%eax			\n\t"		" jb 1b				\n\t"		:: "r" (src), "r"(dst), "r" (src_size-7)		: "%eax"	);	__asm __volatile(SFENCE:::"memory");	__asm __volatile(EMMS:::"memory");#else	unsigned i;	unsigned num_pixels = src_size >> 2;	for(i=0; i<num_pixels; i++)	{		dst[4*i + 0] = src[4*i + 2];		dst[4*i + 1] = src[4*i + 1];		dst[4*i + 2] = src[4*i + 0];	}#endif}