summaryrefslogtreecommitdiff
path: root/sysdeps/sparc/sparc32/strcmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/sparc/sparc32/strcmp.S')
-rw-r--r--sysdeps/sparc/sparc32/strcmp.S14
1 files changed, 8 insertions, 6 deletions
diff --git a/sysdeps/sparc/sparc32/strcmp.S b/sysdeps/sparc/sparc32/strcmp.S
index 6723593eed..cf369dd839 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