summaryrefslogtreecommitdiff
path: root/klibc/klibc/memset.c
diff options
context:
space:
mode:
Diffstat (limited to 'klibc/klibc/memset.c')
-rw-r--r--klibc/klibc/memset.c30
1 files changed, 0 insertions, 30 deletions
diff --git a/klibc/klibc/memset.c b/klibc/klibc/memset.c
deleted file mode 100644
index 522cc59a1e..0000000000
--- a/klibc/klibc/memset.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * memset.c
- */
-
-#include <string.h>
-#include <stdint.h>
-
-void *memset(void *dst, int c, size_t n)
-{
- char *q = dst;
-
-#if defined(__i386__)
- size_t nl = n >> 2;
- asm volatile("cld ; rep ; stosl ; movl %3,%0 ; rep ; stosb"
- : "+c" (nl), "+D" (q)
- : "a" ((unsigned char)c * 0x01010101U), "r" (n & 3));
-#elif defined(__x86_64__)
- size_t nq = n >> 3;
- asm volatile("cld ; rep ; stosq ; movl %3,%%ecx ; rep ; stosb"
- : "+c" (nq), "+D" (q)
- : "a" ((unsigned char)c * 0x0101010101010101U),
- "r" ((uint32_t)n & 7));
-#else
- while ( n-- ) {
- *q++ = c;
- }
-#endif
-
- return dst;
-}