	.section	.text
	.global	memcpy
	.global	__aeabi_memcpy
	.type	memcpy, @function
memcpy:
__aeabi_memcpy:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%esi			# Must preserve %esi and %edi
	pushl	%edi
	movl	16(%ebp), %ecx		# length
	movl	12(%ebp), %esi		# source
	movl	8(%ebp), %edi		# destination
	cld				# Clear DF for up-memory write
	rep	movsb			# Blast the string into the buffer
	popl	%edi			# Restore saved registers
	popl	%esi
	popl	%ebp
	ret
