aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sparc/sparc64/strlen.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-07-27 04:43:32 +0000
committerUlrich Drepper <drepper@redhat.com>1999-07-27 04:43:32 +0000
commit8cb079d41b2108d7a6db4c91a51156464912548b (patch)
tree6cbfca0ae13331d50e1559c50c9a128dec6082a0 /sysdeps/sparc/sparc64/strlen.S
parentf05f5ca3857fbf83460003f12e81667c2f60851e (diff)
downloadglibc-8cb079d41b2108d7a6db4c91a51156464912548b.tar
glibc-8cb079d41b2108d7a6db4c91a51156464912548b.tar.gz
glibc-8cb079d41b2108d7a6db4c91a51156464912548b.tar.bz2
glibc-8cb079d41b2108d7a6db4c91a51156464912548b.zip
Update.
* sysdeps/sparc/sparc64/add_n.S: Avoid using %g2, %g3, %g7 registers as much as possible. Declare them using .register pseudo-op if they are still used. * sysdeps/sparc/sparc64/lshift.S: Likewise. * sysdeps/sparc/sparc64/memchr.S: Likewise. * sysdeps/sparc/sparc64/memcmp.S: Likewise. * sysdeps/sparc/sparc64/memcpy.S: Likewise. * sysdeps/sparc/sparc64/memset.S: Likewise. * sysdeps/sparc/sparc64/rawmemchr.S: Likewise. * sysdeps/sparc/sparc64/rshift.S: Likewise. * sysdeps/sparc/sparc64/stpcpy.S: Likewise. * sysdeps/sparc/sparc64/stpncpy.S: Likewise. * sysdeps/sparc/sparc64/strcat.S: Likewise. * sysdeps/sparc/sparc64/strchr.S: Likewise. * sysdeps/sparc/sparc64/strcmp.S: Likewise. * sysdeps/sparc/sparc64/strcpy.S: Likewise. * sysdeps/sparc/sparc64/strcspn.S: Likewise. * sysdeps/sparc/sparc64/strlen.S: Likewise. * sysdeps/sparc/sparc64/strncmp.S: Likewise. * sysdeps/sparc/sparc64/strncpy.S: Likewise. * sysdeps/sparc/sparc64/strpbrk.S: Likewise. * sysdeps/sparc/sparc64/strspn.S: Likewise. * sysdeps/sparc/sparc64/sub_n.S: Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Likewise. Optimize trampoline code for .plt4-.plt32767. Fix trampolines for .plt32768+. 1999-07-25 Jakub Jelinek <jj@ultra.linux.cz>
Diffstat (limited to 'sysdeps/sparc/sparc64/strlen.S')
-rw-r--r--sysdeps/sparc/sparc64/strlen.S42
1 files changed, 21 insertions, 21 deletions
diff --git a/sysdeps/sparc/sparc64/strlen.S b/sysdeps/sparc/sparc64/strlen.S
index 3facf40746..aca7a42fdb 100644
--- a/sysdeps/sparc/sparc64/strlen.S
+++ b/sysdeps/sparc/sparc64/strlen.S
@@ -45,16 +45,16 @@ ENTRY(strlen)
or %g1, %lo(0x01010101), %g1 /* IEU0 Group */
mov %o0, %o1 /* IEU1 */
- sllx %g1, 32, %g2 /* IEU0 Group */
+ sllx %g1, 32, %g4 /* IEU0 Group */
andcc %o0, 7, %g0 /* IEU1 */
- or %g1, %g2, %g1 /* IEU0 Group */
+ or %g1, %g4, %g1 /* IEU0 Group */
brz,pn %o3, 13f /* CTI+IEU1 */
- sllx %g1, 7, %g2 /* IEU0 Group */
+ sllx %g1, 7, %g4 /* IEU0 Group */
bne,a,pn %icc, 15f /* CTI */
add %o0, 1, %o0 /* IEU1 */
/* %g1 = 0x0101010101010101 *
- * %g2 = 0x8080808080808080 *
+ * %g4 = 0x8080808080808080 *
* %o0 = string pointer *
* %o1 = start of string */
1: ldx [%o0], %o3 /* Load Group */
@@ -62,63 +62,63 @@ ENTRY(strlen)
add %o0, 8, %o0 /* IEU1 */
2: sub %o3, %g1, %o2 /* IEU0 Group */
#ifdef EIGHTBIT_NOT_RARE
- andn %o2, %o3, %g7 /* IEU0 Group */
+ andn %o2, %o3, %o5 /* IEU0 Group */
ldxa [%o0] ASI_PNF, %o3 /* Load */
- andcc %g7, %g2, %g0 /* IEU1 Group */
+ andcc %o5, %g4, %g0 /* IEU1 Group */
#else
ldxa [%o0] ASI_PNF, %o3 /* Load */
- andcc %o2, %g2, %g0 /* IEU1 Group */
+ andcc %o2, %g4, %g0 /* IEU1 Group */
#endif
be,pt %xcc, 2b /* CTI */
add %o0, 8, %o0 /* IEU0 */
- addcc %o2, %g1, %g3 /* IEU1 Group */
+ addcc %o2, %g1, %g5 /* IEU1 Group */
#ifdef EIGHTBIT_NOT_RARE
- srlx %g7, 32, %g7 /* IEU0 */
+ srlx %o5, 32, %o5 /* IEU0 */
-3: andcc %g7, %g2, %g0 /* IEU1 Group */
+3: andcc %o5, %g4, %g0 /* IEU1 Group */
#else
srlx %o2, 32, %o2 /* IEU0 */
-3: andcc %o2, %g2, %g0 /* IEU1 Group */
+3: andcc %o2, %g4, %g0 /* IEU1 Group */
#endif
be,pn %xcc, 4f /* CTI */
- srlx %g3, 56, %o2 /* IEU0 */
+ srlx %g5, 56, %o2 /* IEU0 */
andcc %o2, 0xff, %g0 /* IEU1 Group */
be,pn %icc, 12f /* CTI */
- srlx %g3, 48, %o2 /* IEU0 */
+ srlx %g5, 48, %o2 /* IEU0 */
andcc %o2, 0xff, %g0 /* IEU1 Group */
be,pn %icc, 11f /* CTI */
- srlx %g3, 40, %o2 /* IEU0 */
+ srlx %g5, 40, %o2 /* IEU0 */
andcc %o2, 0xff, %g0 /* IEU1 Group */
be,pn %icc, 10f /* CTI */
- srlx %g3, 32, %o2 /* IEU0 */
+ srlx %g5, 32, %o2 /* IEU0 */
andcc %o2, 0xff, %g0 /* IEU1 Group */
be,pn %icc, 9f /* CTI */
-4: srlx %g3, 24, %o2 /* IEU0 */
+4: srlx %g5, 24, %o2 /* IEU0 */
andcc %o2, 0xff, %g0 /* IEU1 Group */
be,pn %icc, 8f /* CTI */
- srlx %g3, 16, %o2 /* IEU0 */
+ srlx %g5, 16, %o2 /* IEU0 */
andcc %o2, 0xff, %g0 /* IEU1 Group */
be,pn %icc, 7f /* CTI */
- srlx %g3, 8, %o2 /* IEU0 */
+ srlx %g5, 8, %o2 /* IEU0 */
andcc %o2, 0xff, %g0 /* IEU1 Group */
be,pn %icc, 6f /* CTI */
sub %o3, %g1, %o2 /* IEU0 */
- andcc %g3, 0xff, %g0 /* IEU1 Group */
+ andcc %g5, 0xff, %g0 /* IEU1 Group */
be,pn %icc, 5f /* CTI */
ldxa [%o0] ASI_PNF, %o3 /* Load */
- andcc %o2, %g2, %g0 /* IEU1 Group */
+ andcc %o2, %g4, %g0 /* IEU1 Group */
be,pt %xcc, 2b /* CTI */
add %o0, 8, %o0 /* IEU0 */
- addcc %o2, %g1, %g3 /* IEU1 Group */
+ addcc %o2, %g1, %g5 /* IEU1 Group */
ba,pt %xcc, 3b /* CTI */
srlx %o2, 32, %o2 /* IEU0 */