xref: /aosp_15_r20/external/musl/src/string/i386/memmove.s (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker.global memmove
2*c9945492SAndroid Build Coastguard Worker.type memmove,@function
3*c9945492SAndroid Build Coastguard Workermemmove:
4*c9945492SAndroid Build Coastguard Worker	mov 4(%esp),%eax
5*c9945492SAndroid Build Coastguard Worker	sub 8(%esp),%eax
6*c9945492SAndroid Build Coastguard Worker	cmp 12(%esp),%eax
7*c9945492SAndroid Build Coastguard Worker.hidden __memcpy_fwd
8*c9945492SAndroid Build Coastguard Worker	jae __memcpy_fwd
9*c9945492SAndroid Build Coastguard Worker	push %esi
10*c9945492SAndroid Build Coastguard Worker	push %edi
11*c9945492SAndroid Build Coastguard Worker	mov 12(%esp),%edi
12*c9945492SAndroid Build Coastguard Worker	mov 16(%esp),%esi
13*c9945492SAndroid Build Coastguard Worker	mov 20(%esp),%ecx
14*c9945492SAndroid Build Coastguard Worker	lea -1(%edi,%ecx),%edi
15*c9945492SAndroid Build Coastguard Worker	lea -1(%esi,%ecx),%esi
16*c9945492SAndroid Build Coastguard Worker	std
17*c9945492SAndroid Build Coastguard Worker	rep movsb
18*c9945492SAndroid Build Coastguard Worker	cld
19*c9945492SAndroid Build Coastguard Worker	lea 1(%edi),%eax
20*c9945492SAndroid Build Coastguard Worker	pop %edi
21*c9945492SAndroid Build Coastguard Worker	pop %esi
22*c9945492SAndroid Build Coastguard Worker	ret
23