[PATCH] i386: optimize memset of 6 and 8 bytes

From: Stephen Hemminger
Date: Fri Aug 17 2007 - 19:50:56 EST


Tne network code does memset for 6 and 8 byte values, that can easily
be optimized into simple assignments without string instructions.

Signed-off-by: Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx>


--- a/include/asm-i386/string.h 2007-08-17 15:14:37.000000000 -0700
+++ b/include/asm-i386/string.h 2007-08-17 16:49:10.000000000 -0700
@@ -228,6 +228,14 @@ static __always_inline void * __constant
case 4:
*(unsigned long *)s = pattern;
return s;
+ case 6:
+ *(unsigned long *)s = pattern;
+ *(2+(unsigned short *)s) = pattern;
+ return s;
+ case 8:
+ *(unsigned long *)s = pattern;
+ *(1+(unsigned long *)s) = pattern;
+ return s;
}
#define COMMON(x) \
__asm__ __volatile__( \
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/