From 9fb0cae85c1266abff645b831b7070113c89d0aa Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 11 Apr 2003 22:11:44 +0000 Subject: * string/test-strcmp.c (do_random_tests): Test whether return value has been promoted to wordsize if the ABI requires caller to do so. * string/test-strncmp.c (do_random_tests): Likewise. * string/test-memcmp.c (do_random_tests): Likewise. * sysdeps/powerpc/powerpc64/strcmp.S (strcmp): Sign extend rRTN before returning. --- sysdeps/powerpc/powerpc64/strcmp.S | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'sysdeps/powerpc') diff --git a/sysdeps/powerpc/powerpc64/strcmp.S b/sysdeps/powerpc/powerpc64/strcmp.S index 71c6d867b7..4fb31931c6 100644 --- a/sysdeps/powerpc/powerpc64/strcmp.S +++ b/sysdeps/powerpc/powerpc64/strcmp.S @@ -85,6 +85,7 @@ L(endstring): addi rNEG, rNEG, 7 cmpw cr1, rNEG, rBITDIF sub rRTN, rWORD1, rWORD2 + extsw rRTN, rRTN bgelr+ cr1 L(equal): li rRTN, 0 @@ -97,9 +98,11 @@ L(different): extsw. rBITDIF,rBITDIF /* propagate sign for bgelr */ sub rRTN, rWORD1, rWORD2 + extsw rRTN, rRTN bgelr+ L(highbit): ori rRTN, rWORD2, 1 + extsw rRTN, rRTN /* GKM FIXME: check high bounds. */ blr @@ -124,10 +127,12 @@ L(u1): cmpwi cr1, rWORD1, 0 cmpw rWORD1, rWORD2 bne+ cr1, L(u0) L(u3): sub rRTN, rWORD1, rWORD2 + extsw rRTN, rRTN /* GKM FIXME: check high bounds. */ blr L(u4): lbz rWORD1, -1(rSTR1) sub rRTN, rWORD1, rWORD2 + extsw rRTN, rRTN /* GKM FIXME: check high bounds. */ blr END (BP_SYM (strcmp)) -- cgit v1.2.3