diff options
Diffstat (limited to 'sysdeps/sparc/sparc32/memset.S')
-rw-r--r-- | sysdeps/sparc/sparc32/memset.S | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/sysdeps/sparc/sparc32/memset.S b/sysdeps/sparc/sparc32/memset.S index d222fa7506..b1b67cb2d1 100644 --- a/sysdeps/sparc/sparc32/memset.S +++ b/sysdeps/sparc/sparc32/memset.S @@ -42,25 +42,6 @@ .text .align 4 -ENTRY(__bzero) - b 1f - mov %g0, %g3 - -3: cmp %o2, 3 - be 2f - stb %g3, [%o0] - - cmp %o2, 2 - be 2f - stb %g3, [%o0 + 0x01] - - stb %g3, [%o0 + 0x02] -2: sub %o2, 4, %o2 - add %o1, %o2, %o1 - b 4f - sub %o0, %o2, %o0 -END(__bzero) - ENTRY(memset) and %o1, 0xff, %g3 sll %g3, 8, %g2 @@ -73,7 +54,7 @@ ENTRY(memset) mov %o0, %g1 andcc %o0, 3, %o2 - bne 3b + bne 3f 4: andcc %o0, 4, %g0 be 2f @@ -146,7 +127,19 @@ ENTRY(memset) stb %g3, [%o0 + 6] 0: retl nop + +3: cmp %o2, 3 + be 2f + stb %g3, [%o0] + + cmp %o2, 2 + be 2f + stb %g3, [%o0 + 0x01] + + stb %g3, [%o0 + 0x02] +2: sub %o2, 4, %o2 + add %o1, %o2, %o1 + b 4b + sub %o0, %o2, %o0 END(memset) libc_hidden_builtin_def (memset) - -weak_alias (__bzero, bzero) |