xref: /aosp_15_r20/external/musl/src/string/x86_64/memcpy.s (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker.global memcpy
2*c9945492SAndroid Build Coastguard Worker.global __memcpy_fwd
3*c9945492SAndroid Build Coastguard Worker.hidden __memcpy_fwd
4*c9945492SAndroid Build Coastguard Worker.type memcpy,@function
5*c9945492SAndroid Build Coastguard Workermemcpy:
6*c9945492SAndroid Build Coastguard Worker__memcpy_fwd:
7*c9945492SAndroid Build Coastguard Worker	mov %rdi,%rax
8*c9945492SAndroid Build Coastguard Worker	cmp $8,%rdx
9*c9945492SAndroid Build Coastguard Worker	jc 1f
10*c9945492SAndroid Build Coastguard Worker	test $7,%edi
11*c9945492SAndroid Build Coastguard Worker	jz 1f
12*c9945492SAndroid Build Coastguard Worker2:	movsb
13*c9945492SAndroid Build Coastguard Worker	dec %rdx
14*c9945492SAndroid Build Coastguard Worker	test $7,%edi
15*c9945492SAndroid Build Coastguard Worker	jnz 2b
16*c9945492SAndroid Build Coastguard Worker1:	mov %rdx,%rcx
17*c9945492SAndroid Build Coastguard Worker	shr $3,%rcx
18*c9945492SAndroid Build Coastguard Worker	rep
19*c9945492SAndroid Build Coastguard Worker	movsq
20*c9945492SAndroid Build Coastguard Worker	and $7,%edx
21*c9945492SAndroid Build Coastguard Worker	jz 1f
22*c9945492SAndroid Build Coastguard Worker2:	movsb
23*c9945492SAndroid Build Coastguard Worker	dec %edx
24*c9945492SAndroid Build Coastguard Worker	jnz 2b
25*c9945492SAndroid Build Coastguard Worker1:	ret
26