diff options
Diffstat (limited to 'sysdeps/sparc/sparc32/stpcpy.S')
-rw-r--r-- | sysdeps/sparc/sparc32/stpcpy.S | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/sysdeps/sparc/sparc32/stpcpy.S b/sysdeps/sparc/sparc32/stpcpy.S index 937fed3..222bc2a 100644 --- a/sysdeps/sparc/sparc32/stpcpy.S +++ b/sysdeps/sparc/sparc32/stpcpy.S @@ -38,7 +38,13 @@ .text .align 4 -10: ldub [%o1], %o5 + +ENTRY(__stpcpy) + andcc %o1, 3, %g0 + be 20f + sethi %hi(0x80808080), %o4 + + ldub [%o1], %o5 stb %o5, [%o0] cmp %o5, 0 add %o0, 1, %o0 @@ -67,11 +73,7 @@ 1: retl add %o0, -1, %o0 -ENTRY(__stpcpy) - andcc %o1, 3, %g0 - bne 10b - sethi %hi(0x80808080), %o4 - or %o4, %lo(0x80808080), %o3 +20: or %o4, %lo(0x80808080), %o3 4: sethi %hi(0x01010101), %o4 5: or %o4, %lo(0x01010101), %o2 6: andcc %o0, 3, %g0 @@ -160,6 +162,6 @@ ENTRY(__stpcpy) nop END(__stpcpy) -weak_alias(__stpcpy, stpcpy) +weak_alias (__stpcpy, stpcpy) libc_hidden_def (__stpcpy) libc_hidden_builtin_def (stpcpy) |