power7 strncmp optimization
authorWill Schmidt <will_schmidt@vnet.ibm.com>
Thu, 8 Sep 2011 01:56:57 +0000 (21:56 -0400)
committerUlrich Drepper <drepper@gmail.com>
Thu, 8 Sep 2011 01:56:57 +0000 (21:56 -0400)
ChangeLog
sysdeps/powerpc/powerpc32/power7/strncmp.S
sysdeps/powerpc/powerpc64/power7/strncmp.S

index 429767d..1ed1e58 100644 (file)
--- 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
index 6a1422a..bcd13b6 100644 (file)
@@ -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
index 498b19c..4c02b11 100644 (file)
@@ -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