This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.25-660-g2572f35
- From: raji at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 3 Jul 2017 05:22:58 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.25-660-g2572f35
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 2572f356b18ddee03b331ba33f5a2ae65d031a59 (commit)
from 8dc6133eff1c09382bc8f6f98c49fb807900eecd (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=2572f356b18ddee03b331ba33f5a2ae65d031a59
commit 2572f356b18ddee03b331ba33f5a2ae65d031a59
Author: Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
Date: Mon Jul 3 10:46:13 2017 +0530
powerpc: Clean up strlen and strnlen for power8
To align a quadword aligned address to 64 bytes, maximum of three
16 bytes load is needed for worst case instead of loading four times.
diff --git a/ChangeLog b/ChangeLog
index 4cd5d31..9697355 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-07-03 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
+
+ * sysdeps/powerpc/powerpc64/power8/strlen.S: Remove unreachable code.
+ * sysdeps/powerpc/powerpc64/power8/strnlen.S: Likewise.
+
2017-07-01 Florian Weimer <fweimer@redhat.com>
H.J. Lu <hongjiu.lu@intel.com>
diff --git a/sysdeps/powerpc/powerpc64/power8/strlen.S b/sysdeps/powerpc/powerpc64/power8/strlen.S
index 8fdb6f5..5691d1d 100644
--- a/sysdeps/powerpc/powerpc64/power8/strlen.S
+++ b/sysdeps/powerpc/powerpc64/power8/strlen.S
@@ -144,17 +144,6 @@ L(align64):
or r5,r10,r11
cmpdi cr7,r5,0
addi r9,r9,16
- bne cr7,L(dword_zero)
-
- andi. r10,r9,63
- beq cr0,L(preloop)
- ld r6,8(r4)
- ldu r5,16(r4)
- cmpb r10,r6,r0
- cmpb r11,r5,r0
- or r5,r10,r11
- cmpdi cr7,r5,0
- addi r9,r9,16
/* At this point, we are necessarily 64-byte aligned. If no zeroes were
found, jump to the vectorized loop. */
diff --git a/sysdeps/powerpc/powerpc64/power8/strnlen.S b/sysdeps/powerpc/powerpc64/power8/strnlen.S
index 07608ff..6d669d4 100644
--- a/sysdeps/powerpc/powerpc64/power8/strnlen.S
+++ b/sysdeps/powerpc/powerpc64/power8/strnlen.S
@@ -141,15 +141,7 @@ ENTRY_TOCLESS (__strnlen)
addi r4,r4,-16 /* Decrement maxlen in 16 bytes. */
bne cr6,L(found_aligning64B) /* If found null bytes. */
- /* Unroll 3x above code block until aligned or find null bytes. */
- andi. r7,r5,63
- beq cr0,L(preloop_64B)
- lvx v1,r5,r6
- vcmpequb. v1,v1,v0
- addi r5,r5,16
- addi r4,r4,-16
- bne cr6,L(found_aligning64B)
-
+ /* Unroll 2x above code block until aligned or find null bytes. */
andi. r7,r5,63
beq cr0,L(preloop_64B)
lvx v1,r5,r6
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 5 +++++
sysdeps/powerpc/powerpc64/power8/strlen.S | 11 -----------
sysdeps/powerpc/powerpc64/power8/strnlen.S | 10 +---------
3 files changed, 6 insertions(+), 20 deletions(-)
hooks/post-receive
--
GNU C Library master sources