diff options
Diffstat (limited to 'sysdeps/sparc/sparc32/strcmp.S')
-rw-r--r-- | sysdeps/sparc/sparc32/strcmp.S | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/sysdeps/sparc/sparc32/strcmp.S b/sysdeps/sparc/sparc32/strcmp.S index 6723593..cf369dd 100644 --- a/sysdeps/sparc/sparc32/strcmp.S +++ b/sysdeps/sparc/sparc32/strcmp.S @@ -38,7 +38,13 @@ .text .align 4 -10: ldub [%o0], %o4 + +ENTRY(strcmp) + andcc %o0, 3, %g0 + be 13f + sethi %hi(0x80808080), %g1 + + ldub [%o0], %o4 add %o0, 1, %o0 ldub [%o1], %o5 cmp %o4, 0 @@ -76,11 +82,7 @@ 2: retl mov %o4, %o0 -ENTRY(strcmp) - andcc %o0, 3, %g0 - bne 10b - sethi %hi(0x80808080), %g1 - or %g1, %lo(0x80808080), %o3 +13: or %g1, %lo(0x80808080), %o3 4: sethi %hi(0x01010101), %g1 5: andcc %o1, 3, %g2 bne 12f |