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