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 | |
parent | c0d215f162049e7ab8e86e9d2d76c87e41a55ebd (diff) | |
download | glibc-a61933fe27dff18f274b39f46dde7e739696d4cb.zip glibc-a61933fe27dff18f274b39f46dde7e739696d4cb.tar.gz glibc-a61933fe27dff18f274b39f46dde7e739696d4cb.tar.bz2 |
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')
-rw-r--r-- | sysdeps/sparc/sparc32/bzero.c | 1 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/memset.S | 37 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/sparcv9/bzero.c | 1 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/sparcv9/multiarch/bzero.c | 1 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/sparcv9/multiarch/memset-ultra1.S | 1 |
5 files changed, 15 insertions, 26 deletions
diff --git a/sysdeps/sparc/sparc32/bzero.c b/sysdeps/sparc/sparc32/bzero.c deleted file mode 100644 index 37f0f6f..0000000 --- a/sysdeps/sparc/sparc32/bzero.c +++ /dev/null @@ -1 +0,0 @@ -/* bzero is in memset.S */ diff --git a/sysdeps/sparc/sparc32/memset.S b/sysdeps/sparc/sparc32/memset.S index d222fa7..b1b67cb 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) diff --git a/sysdeps/sparc/sparc32/sparcv9/bzero.c b/sysdeps/sparc/sparc32/sparcv9/bzero.c deleted file mode 100644 index 37f0f6f..0000000 --- a/sysdeps/sparc/sparc32/sparcv9/bzero.c +++ /dev/null @@ -1 +0,0 @@ -/* bzero is in memset.S */ diff --git a/sysdeps/sparc/sparc32/sparcv9/multiarch/bzero.c b/sysdeps/sparc/sparc32/sparcv9/multiarch/bzero.c deleted file mode 100644 index cf6803e..0000000 --- a/sysdeps/sparc/sparc32/sparcv9/multiarch/bzero.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/sparc/sparc64/multiarch/bzero.c> diff --git a/sysdeps/sparc/sparc32/sparcv9/multiarch/memset-ultra1.S b/sysdeps/sparc/sparc32/sparcv9/multiarch/memset-ultra1.S index 6038611..2dda6f1 100644 --- a/sysdeps/sparc/sparc32/sparcv9/multiarch/memset-ultra1.S +++ b/sysdeps/sparc/sparc32/sparcv9/multiarch/memset-ultra1.S @@ -25,6 +25,5 @@ # define weak_alias(x, y) # define memset __memset_ultra1 -# define __bzero __bzero_ultra1 # include <sysdeps/sparc/sparc32/sparcv9/memset.S> #endif |