This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]