about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-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)