diff options
Diffstat (limited to 'sysdeps/powerpc/powerpc64/strcmp.S')
-rw-r--r-- | sysdeps/powerpc/powerpc64/strcmp.S | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/sysdeps/powerpc/powerpc64/strcmp.S b/sysdeps/powerpc/powerpc64/strcmp.S index 46600d5d01..c9d6dac121 100644 --- a/sysdeps/powerpc/powerpc64/strcmp.S +++ b/sysdeps/powerpc/powerpc64/strcmp.S @@ -17,29 +17,18 @@ <http://www.gnu.org/licenses/>. */ #include <sysdep.h> -#include <bp-sym.h> -#include <bp-asm.h> /* See strlen.s for comments on how the end-of-string testing works. */ /* int [r3] strcmp (const char *s1 [r3], const char *s2 [r4]) */ -EALIGN (BP_SYM(strcmp), 4, 0) +EALIGN (strcmp, 4, 0) CALL_MCOUNT 2 #define rTMP r0 #define rRTN r3 #define rSTR1 r3 /* first string arg */ #define rSTR2 r4 /* second string arg */ -/* Note: The Bounded pointer support in this code is broken. This code - was inherited from PPC32 and that support was never completed. - Current PPC gcc does not support -fbounds-check or -fbounded-pointers. - These artifacts are left in the code as a reminder in case we need - bounded pointer support in the future. */ -#if __BOUNDED_POINTERS__ -# define rHIGH1 r11 -# define rHIGH2 r12 -#endif #define rWORD1 r5 /* current word in s1 */ #define rWORD2 r6 /* current word in s2 */ #define rFEFE r7 /* constant 0xfefefefefefefeff (-0x0101010101010101) */ @@ -47,9 +36,6 @@ EALIGN (BP_SYM(strcmp), 4, 0) #define rNEG r9 /* ~(word in s1 | 0x7f7f7f7f7f7f7f7f) */ #define rBITDIF r10 /* bits that differ in s1 & s2 words */ - CHECK_BOUNDS_LOW (rSTR1, rTMP, rHIGH1) - CHECK_BOUNDS_LOW (rSTR2, rTMP, rHIGH2) - dcbt 0,rSTR1 or rTMP, rSTR2, rSTR1 dcbt 0,rSTR2 @@ -98,7 +84,6 @@ L(endstring): blr L(equal): li rRTN, 0 - /* GKM FIXME: check high bounds. */ blr L(different): @@ -113,7 +98,6 @@ L(highbit): srdi rWORD2, rWORD2, 56 srdi rWORD1, rWORD1, 56 sub rRTN, rWORD1, rWORD2 - /* GKM FIXME: check high bounds. */ blr @@ -137,11 +121,9 @@ L(u1): cmpwi cr1, rWORD1, 0 cmpd rWORD1, rWORD2 bne+ cr1, L(u0) L(u3): sub rRTN, rWORD1, rWORD2 - /* GKM FIXME: check high bounds. */ blr L(u4): lbz rWORD1, -1(rSTR1) sub rRTN, rWORD1, rWORD2 - /* GKM FIXME: check high bounds. */ blr -END (BP_SYM (strcmp)) +END (strcmp) libc_hidden_builtin_def (strcmp) |