/* Detect whether we have a MAC coprocessor (40 bit register) or an iWMMXt coprocessor (64 bit registers) by loading 00000100:00000000 into a coprocessor register and reading it back, and checking whether the upper word survived intact.  */
static int __init cpu_has_iwmmxt(void)
/* Detect whether we have a MAC coprocessor (40 bit register) or an iWMMXt coprocessor (64 bit registers) by loading 00000100:00000000 into a coprocessor register and reading it back, and checking whether the upper word survived intact.  */
static int __init cpu_has_iwmmxt(void)
{
	u32 lo;
	u32 hi;
	__asm__ __volatile__ (
		"mcrr	p0, 0, %2, %3, c0\n"
		"mrrc	p0, 0, %0, %1, c0\n"
		: "=r" (lo), "=r" (hi)
		: "r" (0), "r" (0x100));
	return !!hi;
}