diff options
Diffstat (limited to 'sysdeps/powerpc/powerpc64/power4/strncmp.S')
-rw-r--r-- | sysdeps/powerpc/powerpc64/power4/strncmp.S | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sysdeps/powerpc/powerpc64/power4/strncmp.S b/sysdeps/powerpc/powerpc64/power4/strncmp.S index da358e1e53..5ca53cc16a 100644 --- a/sysdeps/powerpc/powerpc64/power4/strncmp.S +++ b/sysdeps/powerpc/powerpc64/power4/strncmp.S @@ -34,7 +34,7 @@ EALIGN (BP_SYM(strncmp), 4, 0) #define rSTR2 r4 /* second string arg */ #define rN r5 /* max string length */ /* Note: The Bounded pointer support in this code is broken. This code - was inherited from PPC32 and that support was never completed. + was inherited from PPC32 and that support was never completed. Current PPC gcc does not support -fbounds-check or -fbounded-pointers. */ #define rWORD1 r6 /* current word in s1 */ #define rWORD2 r7 /* current word in s2 */ @@ -59,7 +59,7 @@ EALIGN (BP_SYM(strncmp), 4, 0) clrldi rN, rN, 61 addi rFEFE, rFEFE, -0x101 addi r7F7F, r7F7F, 0x7f7f - cmpldi cr1, rN, 0 + cmpldi cr1, rN, 0 beq L(unaligned) mtctr rTMP /* Power4 wants mtctr 1st in dispatch group. */ @@ -70,7 +70,7 @@ EALIGN (BP_SYM(strncmp), 4, 0) add rFEFE, rFEFE, rTMP b L(g1) -L(g0): +L(g0): ldu rWORD1, 8(rSTR1) bne- cr1, L(different) ldu rWORD2, 8(rSTR2) @@ -80,11 +80,11 @@ L(g1): add rTMP, rFEFE, rWORD1 and. rTMP, rTMP, rNEG cmpd cr1, rWORD1, rWORD2 beq+ L(g0) - + /* OK. We've hit the end of the string. We need to be careful that we don't compare two strings as different because of gunk beyond the end of the strings... */ - + L(endstring): and rTMP, r7F7F, rWORD1 beq cr1, L(equal) @@ -170,7 +170,7 @@ L(u1): b L(u1) L(u3): sub rRTN, rWORD3, rWORD4 - blr + blr L(u4): sub rRTN, rWORD1, rWORD2 blr L(ux): @@ -178,4 +178,3 @@ L(ux): blr END (BP_SYM (strncmp)) libc_hidden_builtin_def (strncmp) - |