blob: 79904f6f32b1397b23096b7cb9bf628783f35b85 [file] [log] [blame]
#include "asm.h"
ENTRY(memmove)
mov %rdi,%rax
sub %rsi,%rax
cmp %rdx,%rax
.hidden __memcpy_fwd
jae __memcpy_fwd
mov %rdx,%rcx
lea -1(%rdi,%rdx),%rdi
lea -1(%rsi,%rdx),%rsi
std
rep movsb
cld
lea 1(%rdi),%rax
ret
END(memmove)
#ifdef HIDDEN
.hidden memmove
#else
ALIAS(memmove, __unsanitized_memmove)
ASAN_WEAK_ALIAS(memmove)
#endif