PowerPC: fix POWER7 memrchr for some large inputs

This commit is contained in:
Adhemerval Zanella 2013-09-05 09:32:56 -05:00
parent 4660856c6f
commit 5430fc65a1
3 changed files with 10 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2013-09-05 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
* sysdeps/powerpc/powerpc32/power7/memrchr.S (__memrchr): Fix invalid
memory access for final bytes in some large inputs.
* sysdeps/powerpc/powerpc64/power7/memrchr.S (__memrchr): Likewise.
2013-09-05 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
* string/test-memrchr.c: New file.

View File

@ -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)

View File

@ -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)