about summary refs log tree commit diff
path: root/sysdeps/sparc/sparc32
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-11-23 17:01:11 +0000
committerUlrich Drepper <drepper@redhat.com>1999-11-23 17:01:11 +0000
commit33147a9751fd126f4efcb67b0f787316b7e36d37 (patch)
treeaee190bee606bdba49a227525ac72cafebe5cb10 /sysdeps/sparc/sparc32
parente5549566c97134500bad87c43037941c58126299 (diff)
downloadglibc-33147a9751fd126f4efcb67b0f787316b7e36d37.tar.gz
glibc-33147a9751fd126f4efcb67b0f787316b7e36d37.tar.xz
glibc-33147a9751fd126f4efcb67b0f787316b7e36d37.zip
bcopy should handle overlapping copies like memmove, while the previous version worked like memcpy. Implement optimized assembly memmove.
Diffstat (limited to 'sysdeps/sparc/sparc32')
-rw-r--r--sysdeps/sparc/sparc32/memcpy.S6
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/memmove.c2
2 files changed, 1 insertions, 7 deletions
diff --git a/sysdeps/sparc/sparc32/memcpy.S b/sysdeps/sparc/sparc32/memcpy.S
index 24d9e04346..492d127824 100644
--- a/sysdeps/sparc/sparc32/memcpy.S
+++ b/sysdeps/sparc/sparc32/memcpy.S
@@ -163,16 +163,10 @@
 	b		3f
 	 sub		%o0, 2, %o0
 
-0:	retl
-	 nop		! Only bcopy returns here and it retuns void...
-
 ENTRY(bcopy)
 	mov		%o0, %o3
 	mov		%o1, %o0
 	mov		%o3, %o1
-	tst		%o2
-	bcs		0b
-	 /* Do the cmp in the delay slot */
 END(bcopy)
 ENTRY(memmove)
 	cmp		%o0, %o1
diff --git a/sysdeps/sparc/sparc32/sparcv9/memmove.c b/sysdeps/sparc/sparc32/sparcv9/memmove.c
index 9dcf627aee..a8d2d49948 100644
--- a/sysdeps/sparc/sparc32/sparcv9/memmove.c
+++ b/sysdeps/sparc/sparc32/sparcv9/memmove.c
@@ -1 +1 @@
-#include <sysdeps/generic/memmove.c>
+/* memmove is in memcpy.S */