kernel_optimize_test/arch/x86/lib/memcpy_32.c
Paolo Ciarrocchi 93d8bd3d4f x86: coding style fixes to arch/x86/lib/memcpy_32.c
Before:
   total: 2 errors, 0 warnings, 43 lines checked
After:
   total: 0 errors, 0 warnings, 43 lines checked

No code changed:

arch/x86/lib/memcpy_32.o:

   text	   data	    bss	    dec	    hex	filename
    164	      0	      0	    164	     a4	memcpy_32.o.before
    164	      0	      0	    164	     a4	memcpy_32.o.after

md5:
   d759f55621af27f51720b59c8ca96a4d  memcpy_32.o.before.asm
   d759f55621af27f51720b59c8ca96a4d  memcpy_32.o.after.asm

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-04-17 17:40:49 +02:00

44 lines
717 B
C

#include <linux/string.h>
#include <linux/module.h>
#undef memcpy
#undef memset
void *memcpy(void *to, const void *from, size_t n)
{
#ifdef CONFIG_X86_USE_3DNOW
return __memcpy3d(to, from, n);
#else
return __memcpy(to, from, n);
#endif
}
EXPORT_SYMBOL(memcpy);
void *memset(void *s, int c, size_t count)
{
return __memset(s, c, count);
}
EXPORT_SYMBOL(memset);
void *memmove(void *dest, const void *src, size_t n)
{
int d0, d1, d2;
if (dest < src) {
memcpy(dest, src, n);
} else {
__asm__ __volatile__(
"std\n\t"
"rep\n\t"
"movsb\n\t"
"cld"
: "=&c" (d0), "=&S" (d1), "=&D" (d2)
:"0" (n),
"1" (n-1+src),
"2" (n-1+dest)
:"memory");
}
return dest;
}
EXPORT_SYMBOL(memmove);