aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sparc/sparc32
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-02-10 12:51:24 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-02-23 14:18:18 -0300
commita61933fe27dff18f274b39f46dde7e739696d4cb (patch)
tree784fe0126badb70d36a09772bceee7167e9e7eeb /sysdeps/sparc/sparc32
parentc0d215f162049e7ab8e86e9d2d76c87e41a55ebd (diff)
downloadglibc-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.c1
-rw-r--r--sysdeps/sparc/sparc32/memset.S37
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/bzero.c1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/multiarch/bzero.c1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/multiarch/memset-ultra1.S1
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