diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-02-10 12:51:24 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-02-23 14:18:18 -0300 |
commit | a61933fe27dff18f274b39f46dde7e739696d4cb (patch) | |
tree | 784fe0126badb70d36a09772bceee7167e9e7eeb /sysdeps/sparc/sparc32/memset.S | |
parent | c0d215f162049e7ab8e86e9d2d76c87e41a55ebd (diff) | |
download | glibc-a61933fe27dff18f274b39f46dde7e739696d4cb.tar.gz glibc-a61933fe27dff18f274b39f46dde7e739696d4cb.tar.xz glibc-a61933fe27dff18f274b39f46dde7e739696d4cb.zip |
sparc: Remove bzero optimization
The symbol is not present in current POSIX specification and compiler already generates memset call.
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) |