2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file COPYING in the main directory of this archive
7 #include <linux/module.h>
8 #include <linux/string.h>
10 void *memmove(void *dest, const void *src, size_t n)
21 const char *csrc = src;
27 if (n > 2 && (long)dest & 2) {
29 const short *ssrc = src;
38 const long *lsrc = src;
48 const short *ssrc = src;
55 const char *csrc = src;
59 dest = (char *)dest + n;
60 src = (const char *)src + n;
63 const char *csrc = src;
69 if (n > 2 && (long)dest & 2) {
71 const short *ssrc = src;
80 const long *lsrc = src;
90 const short *ssrc = src;
97 const char *csrc = src;
103 EXPORT_SYMBOL(memmove);