1#include "asm.h"
2
3ENTRY(memmove)
4	mov %rdi,%rax
5	sub %rsi,%rax
6	cmp %rdx,%rax
7.hidden __memcpy_fwd
8	jae __memcpy_fwd
9	mov %rdx,%rcx
10	lea -1(%rdi,%rdx),%rdi
11	lea -1(%rsi,%rdx),%rsi
12	std
13	rep movsb
14	cld
15	lea 1(%rdi),%rax
16	ret
17END(memmove)
18
19ALIAS(memmove, __unsanitized_memmove)
20ASAN_WEAK_ALIAS(memmove)
21