summaryrefslogtreecommitdiff
path: root/sysdeps/i386/i586/memcpy.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-06-26 00:38:37 +0000
committerUlrich Drepper <drepper@redhat.com>2000-06-26 00:38:37 +0000
commit7475d01602e881e206a29ee30bc8c3e85c235379 (patch)
tree841acac97699c058c94e84216f702f091f360cd0 /sysdeps/i386/i586/memcpy.S
parent8b682b9907ad1d60bdd45431e0e3bbdf358837ec (diff)
Update.
2000-06-25 Greg McGary <greg@mcgary.org> * sysdeps/i386/i586/memcpy.S: Redefine memcpy as mempcpy, not as bcopy.
Diffstat (limited to 'sysdeps/i386/i586/memcpy.S')
-rw-r--r--sysdeps/i386/i586/memcpy.S22
1 files changed, 8 insertions, 14 deletions
diff --git a/sysdeps/i386/i586/memcpy.S b/sysdeps/i386/i586/memcpy.S
index 82d5e79564..ed35b48ff6 100644
--- a/sysdeps/i386/i586/memcpy.S
+++ b/sysdeps/i386/i586/memcpy.S
@@ -22,16 +22,14 @@
#include "asm-syntax.h"
#include "bp-asm.h"
-/* BEWARE: `#ifdef memset' means that memset is redefined as `bzero' */
-#define BCOPY_P (defined memcpy)
+/* BEWARE: `#ifdef memcpy' means that memcpy is redefined as `mempcpy',
+ and the return value is the byte after the last one copied in
+ the destination. */
+#define MEMPCPY_P (defined memcpy)
#define PARMS LINKAGE+8 /* space for 2 saved regs */
-#if BCOPY_P
-# define DEST PARMS
-#else
-# define RTN PARMS
-# define DEST RTN+RTN_SIZE
-#endif
+#define RTN PARMS
+#define DEST RTN+RTN_SIZE
#define SRC DEST+PTR_SIZE
#define LEN SRC+PTR_SIZE
@@ -99,13 +97,13 @@ L(3): movl 28(%edi), %edx
/* Correct extra loop counter modification. */
L(2): addl $32, %ecx
-#if !BCOPY_P
+#if !MEMPCPY_P
movl DEST(%esp), %eax
#endif
L(1): rep; movsb
-#if BCOPY_P
+#if MEMPCPY_P
movl %edi, %eax
#endif
@@ -113,9 +111,5 @@ L(1): rep; movsb
popl %edi
LEAVE
-#if BCOPY_P
- ret
-#else
RET_PTR
-#endif
END (memcpy)