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.14-248-g2270037
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 8 Sep 2011 01:57:15 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.14-248-g2270037
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 2270037782b05f2973372fe12f6e8d2a8c413188 (commit)
from 5025581e1c66a184a587ab1bd99cd168e8fb7770 (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://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=2270037782b05f2973372fe12f6e8d2a8c413188
commit 2270037782b05f2973372fe12f6e8d2a8c413188
Author: Will Schmidt <will_schmidt@vnet.ibm.com>
Date: Wed Sep 7 21:56:57 2011 -0400
power7 strncmp optimization
diff --git a/ChangeLog b/ChangeLog
index 429767d..1ed1e58 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-08-04 Will Schmidt <will_schmidt@vnet.ibm.com>
+
+ * sysdeps/powerpc/powerpc32/power7/strncmp.S: Adjust the alignment
+ and add nop instructions for throughput optimization.
+ * sysdeps/powerpc/powerpc64/power7/strncmp.S: Likewise.
+
2011-07-28 Will Schmidt <will_schmidt@vnet.ibm.com>
* sysdeps/powerpc/powerpc32/power7/memcpy.S: Optimize the
diff --git a/sysdeps/powerpc/powerpc32/power7/strncmp.S b/sysdeps/powerpc/powerpc32/power7/strncmp.S
index 6a1422a..bcd13b6 100644
--- a/sysdeps/powerpc/powerpc32/power7/strncmp.S
+++ b/sysdeps/powerpc/powerpc32/power7/strncmp.S
@@ -27,7 +27,7 @@
const char *s2 [r4],
size_t size [r5]) */
-EALIGN (BP_SYM(strncmp),4,0)
+EALIGN (BP_SYM(strncmp),5,0)
#define rTMP r0
#define rRTN r3
@@ -47,9 +47,11 @@ EALIGN (BP_SYM(strncmp),4,0)
#define rBITDIF r11 /* bits that differ in s1 & s2 words */
dcbt 0,rSTR1
+ nop
or rTMP,rSTR2,rSTR1
lis r7F7F,0x7f7f
dcbt 0,rSTR2
+ nop
clrlwi. rTMP,rTMP,30
cmplwi cr1,rN,0
lis rFEFE,-0x101
diff --git a/sysdeps/powerpc/powerpc64/power7/strncmp.S b/sysdeps/powerpc/powerpc64/power7/strncmp.S
index 498b19c..4c02b11 100644
--- a/sysdeps/powerpc/powerpc64/power7/strncmp.S
+++ b/sysdeps/powerpc/powerpc64/power7/strncmp.S
@@ -27,7 +27,7 @@
const char *s2 [r4],
size_t size [r5]) */
-EALIGN (BP_SYM(strncmp),4,0)
+EALIGN (BP_SYM(strncmp),5,0)
CALL_MCOUNT 3
#define rTMP r0
@@ -48,9 +48,11 @@ EALIGN (BP_SYM(strncmp),4,0)
#define rBITDIF r11 /* bits that differ in s1 & s2 words */
dcbt 0,rSTR1
+ nop
or rTMP,rSTR2,rSTR1
lis r7F7F,0x7f7f
dcbt 0,rSTR2
+ nop
clrldi. rTMP,rTMP,61
cmpldi cr1,rN,0
lis rFEFE,-0x101
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
sysdeps/powerpc/powerpc32/power7/strncmp.S | 4 +++-
sysdeps/powerpc/powerpc64/power7/strncmp.S | 4 +++-
3 files changed, 12 insertions(+), 2 deletions(-)
hooks/post-receive
--
GNU C Library master sources