/* This file contains network checksum routines that are better done in an architecture-specific manner due to speed.  */
static unsigned short from32to16(unsigned a)
/* This file contains network checksum routines that are better done in an architecture-specific manner due to speed.  */
static unsigned short from32to16(unsigned a)
{
	unsigned short b = a >> 16; 
	asm("addw %w2,%w0\n\t"
	    "adcw $0,%w0\n" 
	    : "=r" (b)
	    : "0" (b), "r" (a));
	return b;
}