1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
.global memcpy .type memcpy,@function memcpy: mov %rdi,%rax cmp $8,%rdx jc 1f test $7,%edi jz 1f 2: movsb dec %rdx test $7,%edi jnz 2b 1: mov %rdx,%rcx shr $3,%rcx rep movsq and $7,%edx jz 1f 2: movsb dec %edx jnz 2b 1: ret