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
);