diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-07-27 04:43:32 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-07-27 04:43:32 +0000 |
commit | 8cb079d41b2108d7a6db4c91a51156464912548b (patch) | |
tree | 6cbfca0ae13331d50e1559c50c9a128dec6082a0 /sysdeps/sparc/sparc64/strlen.S | |
parent | f05f5ca3857fbf83460003f12e81667c2f60851e (diff) | |
download | glibc-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.S | 42 |
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 */ |