35#if defined(LIBC_SCCS) && !defined(lint)
37static char *sccsid =
"from: @(#)bcopy.c 5.11 (Berkeley) 6/21/91";
40static char *rcsid =
"$NetBSD: bcopy.c,v 1.2 1997/04/16 22:09:41 thorpej Exp $";
62#define wsize sizeof(word)
63#define wmask (wsize - 1)
71memcpy(
void *dst0,
const void *src0,
size_t length)
80 if (length == 0 || dst == src) {
87#define TLOOP(s) if (t) TLOOP1(s)
88#define TLOOP1(s) do { s; } while (--t)
90 if ((
unsigned long)dst < (
unsigned long)src) {
96 if ((t | (uintptr_t)dst) &
wmask) {
101 if ((t ^ (uintptr_t)dst) &
wmask || length <
wsize) {
117 TLOOP(*dst++ = *src++);
128 if ((t | (uintptr_t)dst) &
wmask) {
129 if ((t ^ (uintptr_t)dst) &
wmask || length <=
wsize) {
142 TLOOP(*--dst = *--src);
__strong_reference(memcpy, memmove)
void * memcpy(void *dst0, const void *src0, size_t length)