power7 strncmp optimization

This commit is contained in:
Will Schmidt 2011-09-07 21:56:57 -04:00 committed by Ulrich Drepper
parent 5025581e1c
commit 2270037782
3 changed files with 12 additions and 2 deletions

View File

@ -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> 2011-07-28 Will Schmidt <will_schmidt@vnet.ibm.com>
* sysdeps/powerpc/powerpc32/power7/memcpy.S: Optimize the * sysdeps/powerpc/powerpc32/power7/memcpy.S: Optimize the

View File

@ -27,7 +27,7 @@
const char *s2 [r4], const char *s2 [r4],
size_t size [r5]) */ size_t size [r5]) */
EALIGN (BP_SYM(strncmp),4,0) EALIGN (BP_SYM(strncmp),5,0)
#define rTMP r0 #define rTMP r0
#define rRTN r3 #define rRTN r3
@ -47,9 +47,11 @@ EALIGN (BP_SYM(strncmp),4,0)
#define rBITDIF r11 /* bits that differ in s1 & s2 words */ #define rBITDIF r11 /* bits that differ in s1 & s2 words */
dcbt 0,rSTR1 dcbt 0,rSTR1
nop
or rTMP,rSTR2,rSTR1 or rTMP,rSTR2,rSTR1
lis r7F7F,0x7f7f lis r7F7F,0x7f7f
dcbt 0,rSTR2 dcbt 0,rSTR2
nop
clrlwi. rTMP,rTMP,30 clrlwi. rTMP,rTMP,30
cmplwi cr1,rN,0 cmplwi cr1,rN,0
lis rFEFE,-0x101 lis rFEFE,-0x101

View File

@ -27,7 +27,7 @@
const char *s2 [r4], const char *s2 [r4],
size_t size [r5]) */ size_t size [r5]) */
EALIGN (BP_SYM(strncmp),4,0) EALIGN (BP_SYM(strncmp),5,0)
CALL_MCOUNT 3 CALL_MCOUNT 3
#define rTMP r0 #define rTMP r0
@ -48,9 +48,11 @@ EALIGN (BP_SYM(strncmp),4,0)
#define rBITDIF r11 /* bits that differ in s1 & s2 words */ #define rBITDIF r11 /* bits that differ in s1 & s2 words */
dcbt 0,rSTR1 dcbt 0,rSTR1
nop
or rTMP,rSTR2,rSTR1 or rTMP,rSTR2,rSTR1
lis r7F7F,0x7f7f lis r7F7F,0x7f7f
dcbt 0,rSTR2 dcbt 0,rSTR2
nop
clrldi. rTMP,rTMP,61 clrldi. rTMP,rTMP,61
cmpldi cr1,rN,0 cmpldi cr1,rN,0
lis rFEFE,-0x101 lis rFEFE,-0x101