summaryrefslogtreecommitdiff
path: root/newlib/libc/machine/i386/memcpy.S
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/machine/i386/memcpy.S')
-rw-r--r--newlib/libc/machine/i386/memcpy.S58
1 files changed, 0 insertions, 58 deletions
diff --git a/newlib/libc/machine/i386/memcpy.S b/newlib/libc/machine/i386/memcpy.S
deleted file mode 100644
index bf1dd6b..0000000
--- a/newlib/libc/machine/i386/memcpy.S
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * ====================================================
- * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
- #include "i386mach.h"
-
- .global SYM (memcpy)
-
-SYM (memcpy):
-
- pushl ebp
- movl esp,ebp
- subl $16,esp
- pushl edi
- pushl esi
- movl 8(ebp),edi
- movl 12(ebp),esi
- movl 16(ebp),ecx
- cld
-
-#ifndef __OPTIMIZE_SIZE__
-/* if aligned on long boundary, move doublewords at a time first */
-
- movl edi,eax
- orl esi,eax
- testb $3,al
- jne BYTEMOVE
- shrl $2,ecx
- rep
- movsl
-
-/* calculate any remainder bytes after moving doublewords */
-
- movl 16(ebp),ecx
- andl $3,ecx
-#endif /* not __OPTIMIZE_SIZE__ */
-
-/* move any unaligned bytes or remainder bytes, one at a time */
-
-BYTEMOVE:
- rep
- movsb
-
-/* return destination address */
-
- movl 8(ebp),eax
-
- leal -24(ebp),esp
- popl esi
- popl edi
- leave
- ret