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
9 #include <linux/module.h>
10 #include <linux/string.h>
12 void *memmove(void *dest, const void *src, size_t n)
23 const char *csrc = src;
29 if (n > 2 && (long)dest & 2) {
31 const short *ssrc = src;
40 const long *lsrc = src;
50 const short *ssrc = src;
57 const char *csrc = src;
61 dest = (char *)dest + n;
62 src = (const char *)src + n;
65 const char *csrc = src;
71 if (n > 2 && (long)dest & 2) {
73 const short *ssrc = src;
82 const long *lsrc = src;
92 const short *ssrc = src;
99 const char *csrc = src;
105 EXPORT_SYMBOL(memmove);