provide an implementation for memcpy()

This commit is contained in:
Josh Holtrop 2020-10-20 19:31:26 -04:00
parent 75491dd36b
commit 313b86fdc7

View File

@ -1,9 +1,15 @@
#ifndef MEM_H #ifndef MEM_H
#define MEM_H #define MEM_H
static inline void * memcpy(void * dest, const void * src, size_t n) static inline void memcpy(void * dest, const void * src, size_t n)
{ {
return __builtin_memcpy(dest, src, n); uint32_t r0, r1, r2;
__asm__ __volatile__ (
"cld\n\t"
"rep movsb"
: "=&c" (r0), "=&S" (r1), "=&D" (r2)
: "2" (dest), "1" (src), "0" (n)
: "memory");
} }
static inline void * memmove(void * dest, const void * src, size_t count) static inline void * memmove(void * dest, const void * src, size_t count)