about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>2013-09-05 09:32:56 -0500
committerMike Frysinger <vapier@gentoo.org>2014-01-06 08:39:38 -0500
commit6c42eca168f60bc50ed5e57ce59d1bfdf19120e2 (patch)
tree9e671e70c10cd212ae9ae6f8db66a9dbb5530838
parentc4efa458d767026ade69a4cb72362856a7495127 (diff)
downloadglibc-6c42eca168f60bc50ed5e57ce59d1bfdf19120e2.tar.gz
glibc-6c42eca168f60bc50ed5e57ce59d1bfdf19120e2.tar.xz
glibc-6c42eca168f60bc50ed5e57ce59d1bfdf19120e2.zip
PowerPC: fix POWER7 memrchr for some large inputs
(cherry picked from commit b51679672648410c6627a4bd169e076c5b36f47b)

Conflicts:
	ChangeLog
-rw-r--r--sysdeps/powerpc/powerpc32/power7/memrchr.S4
-rw-r--r--sysdeps/powerpc/powerpc64/power7/memrchr.S4
2 files changed, 4 insertions, 4 deletions
diff --git a/sysdeps/powerpc/powerpc32/power7/memrchr.S b/sysdeps/powerpc/powerpc32/power7/memrchr.S
index d1e3fda125..defd832b0a 100644
--- a/sysdeps/powerpc/powerpc32/power7/memrchr.S
+++ b/sysdeps/powerpc/powerpc32/power7/memrchr.S
@@ -101,8 +101,8 @@ L(loop):
 	/* We're here because the counter reached 0, and that means we
 	   didn't have any matches for BYTE in the whole range.  Just return
 	   the original range.  */
-	addi	r9,r8,4
-	cmplw	cr6,r9,r7
+	addi	r8,r8,4
+	cmplw	cr6,r8,r7
 	bgt	cr6,L(loop_small)
 	b	L(null)
 
diff --git a/sysdeps/powerpc/powerpc64/power7/memrchr.S b/sysdeps/powerpc/powerpc64/power7/memrchr.S
index d24fbbb1b9..c49995210c 100644
--- a/sysdeps/powerpc/powerpc64/power7/memrchr.S
+++ b/sysdeps/powerpc/powerpc64/power7/memrchr.S
@@ -102,8 +102,8 @@ L(loop):
 	/* We're here because the counter reached 0, and that means we
 	   didn't have any matches for BYTE in the whole range.  Just return
 	   the original range.  */
-	addi	r9,r8,8
-	cmpld	cr6,r9,r7
+	addi	r8,r8,8
+	cmpld	cr6,r8,r7
 	bgt	cr6,L(loop_small)
 	b	L(null)