svn commit: trunk/uClibc/libc/string/sparc: sparc32 sparc64 sparc64/sparcv9b
psm at uclibc.org
psm at uclibc.org
Sat Nov 12 00:48:14 UTC 2005
Author: psm
Date: 2005-11-11 16:48:12 -0800 (Fri, 11 Nov 2005)
New Revision: 12219
Log:
Add hidden versions, hope I made it correctly. Sparc optimized string functions are not usable with current build system, each function (as long as asm) should go into an own file, the file having the name of the function
Modified:
trunk/uClibc/libc/string/sparc/sparc32/memchr.S
trunk/uClibc/libc/string/sparc/sparc32/memcpy.S
trunk/uClibc/libc/string/sparc/sparc32/memset.S
trunk/uClibc/libc/string/sparc/sparc32/stpcpy.S
trunk/uClibc/libc/string/sparc/sparc32/strcat.S
trunk/uClibc/libc/string/sparc/sparc32/strchr.S
trunk/uClibc/libc/string/sparc/sparc32/strcmp.S
trunk/uClibc/libc/string/sparc/sparc32/strcpy.S
trunk/uClibc/libc/string/sparc/sparc32/strlen.S
trunk/uClibc/libc/string/sparc/sparc64/memcpy.S
trunk/uClibc/libc/string/sparc/sparc64/memset.S
trunk/uClibc/libc/string/sparc/sparc64/sparcv9b/memcpy.S
trunk/uClibc/libc/string/sparc/sparc64/strcat.S
trunk/uClibc/libc/string/sparc/sparc64/strchr.S
trunk/uClibc/libc/string/sparc/sparc64/strcmp.S
trunk/uClibc/libc/string/sparc/sparc64/strcpy.S
trunk/uClibc/libc/string/sparc/sparc64/strlen.S
Changeset:
Modified: trunk/uClibc/libc/string/sparc/sparc32/memchr.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc32/memchr.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc32/memchr.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -63,6 +63,9 @@
1: retl
sub %o0, 1, %o0
+.globl memchr
+.set memchr,__memchr
+.hidden __memchr
ENTRY(__memchr)
andcc %o1, 0xff, %o1
sll %o1, 8, %g6
@@ -138,7 +141,6 @@
sub %o0, 4, %o0
END(__memchr)
-weak_alias (__memchr, memchr)
#if !__BOUNDED_POINTERS__
weak_alias (__memchr, __ubp_memchr)
#endif
Modified: trunk/uClibc/libc/string/sparc/sparc32/memcpy.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc32/memcpy.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc32/memcpy.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -161,12 +161,19 @@
b 3f
sub %o0, 2, %o0
-ENTRY(bcopy)
+.globl bcopy
+.set bcopy,__bcopy
+.hidden __bcopy
+ENTRY(__bcopy)
mov %o0, %o3
mov %o1, %o0
mov %o3, %o1
-END(bcopy)
-ENTRY(memmove)
+END(__bcopy)
+
+.globl memmove
+.set memmove,__memmove
+.hidden __memmove
+ENTRY(__memmove)
cmp %o0, %o1
st %o0, [%sp + 64]
bleu 9f
@@ -446,9 +453,12 @@
sub %o2, 2, %o2
b 3f
add %o0, 2, %o0
-END(memmove)
+END(__memmove)
-ENTRY(memcpy) /* %o0=dst %o1=src %o2=len */
+.globl memcpy
+.set memcpy,__memcpy
+.hidden __memcpy
+ENTRY(__memcpy) /* %o0=dst %o1=src %o2=len */
sub %o0, %o1, %o4
st %o0, [%sp + 64]
9: andcc %o4, 3, %o5
@@ -963,4 +973,4 @@
sub %o7, %o4, %o5
110: retl
sub %o7, %g6, %o5
-END(memcpy)
+END(__memcpy)
Modified: trunk/uClibc/libc/string/sparc/sparc32/memset.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc32/memset.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc32/memset.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -62,7 +62,10 @@
sub %o0, %o2, %o0
END(__bzero)
-ENTRY(memset)
+.globl memset
+.set memset,__memset
+.hidden __memset
+ENTRY(__memset)
and %o1, 0xff, %g3
sll %g3, 8, %g2
or %g3, %g2, %g3
@@ -147,6 +150,6 @@
stb %g3, [%o0 + 6]
0: retl
nop
-END(memset)
+END(__memset)
weak_alias (__bzero, bzero)
Modified: trunk/uClibc/libc/string/sparc/sparc32/stpcpy.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc32/stpcpy.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc32/stpcpy.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -65,6 +65,9 @@
1: retl
add %o0, -1, %o0
+.globl stpcpy
+.set stpcpy,__stpcpy
+.hidden __stpcpy
ENTRY(__stpcpy)
andcc %o1, 3, %g0
bne 10b
@@ -157,5 +160,3 @@
19: retl
nop
END(__stpcpy)
-
-weak_alias (__stpcpy, stpcpy)
Modified: trunk/uClibc/libc/string/sparc/sparc32/strcat.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc32/strcat.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc32/strcat.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -91,7 +91,10 @@
b 3f
sub %o0, 1, %o0
-ENTRY(strcat)
+.globl strcat
+.set strcat,__strcat
+.hidden __strcat
+ENTRY(__strcat)
mov %o0, %g2
andcc %o0, 3, %g0
bne 11b
@@ -343,4 +346,4 @@
srl %o5, 16, %o4
retl
mov %g2, %o0
-END(strcat)
+END(__strcat)
Modified: trunk/uClibc/libc/string/sparc/sparc32/strchr.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc32/strchr.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc32/strchr.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -67,7 +67,10 @@
1: retl
sub %o0, 1, %o0
-ENTRY(strchr)
+.globl strchr
+.set strchr,__strchr
+.hidden __strchr
+ENTRY(__strchr)
andcc %o1, 0xff, %o1
be 12f
sll %o1, 8, %o2
@@ -215,9 +218,12 @@
1: or %o4, %lo(0x01010101), %o2
b 7f
ld [%o0], %g4
-END(strchr)
+END(__strchr)
-ENTRY(strrchr)
+.globl strrchr
+.set strrchr,__strrchr
+.hidden __strrchr
+ENTRY(__strrchr)
andcc %o1, 0xff, %o1
clr %o5
be 12b
@@ -274,7 +280,7 @@
ld [%o0], %g4
9: retl
mov %o5, %o0
-END(strrchr)
+END(__strrchr)
weak_alias (strchr, index)
weak_alias (strrchr, rindex)
Modified: trunk/uClibc/libc/string/sparc/sparc32/strcmp.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc32/strcmp.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc32/strcmp.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -74,7 +74,10 @@
2: retl
mov %o4, %o0
-ENTRY(strcmp)
+.globl strcmp
+.set strcmp,__strcmp
+.hidden __strcmp
+ENTRY(__strcmp)
andcc %o0, 3, %g0
bne 10b
sethi %hi(0x80808080), %g1
@@ -252,4 +255,4 @@
ld [%i0], %i4
jmpl %i7 + 8, %g0
restore %g4, %g0, %o0
-END(strcmp)
+END(__strcmp)
Modified: trunk/uClibc/libc/string/sparc/sparc32/strcpy.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc32/strcpy.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc32/strcpy.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -63,7 +63,10 @@
b 6f
andcc %o0, 3, %g3
-ENTRY(strcpy)
+.globl strcpy
+.set strcpy,__strcpy
+.hidden __strcpy
+ENTRY(__strcpy)
mov %o0, %g2
andcc %o1, 3, %g0
bne 1b
@@ -269,4 +272,4 @@
srl %o5, 16, %o4
retl
mov %g2, %o0
-END(strcpy)
+END(__strcpy)
Modified: trunk/uClibc/libc/string/sparc/sparc32/strlen.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc32/strlen.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc32/strlen.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -63,7 +63,10 @@
3: retl
mov 2, %o0
-ENTRY(strlen)
+.globl strlen
+.set strlen,__strlen
+.hidden __strlen
+ENTRY(__strlen)
mov %o0, %o1
andcc %o0, 3, %g0
bne 10b
@@ -98,4 +101,4 @@
add %o4, 1, %o4
13: retl
sub %o4, %o1, %o0
-END(strlen)
+END(__strlen)
Modified: trunk/uClibc/libc/string/sparc/sparc64/memcpy.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc64/memcpy.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc64/memcpy.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -191,7 +191,10 @@
.text
.align 32
-ENTRY(bcopy)
+.globl bcopy
+.set bcopy,__bcopy
+.hidden __bcopy
+ENTRY(__bcopy)
sub %o1, %o0, %o4 /* IEU0 Group */
mov %o0, %g3 /* IEU1 */
cmp %o4, %o2 /* IEU1 Group */
@@ -205,7 +208,7 @@
add %o0, %o2, %o0 /* IEU0 */
retl
nop
-END(bcopy)
+END(__bcopy)
.align 32
200: be,pt %xcc, 201f /* CTI */
@@ -503,7 +506,10 @@
#endif
.align 32
-ENTRY(memcpy)
+.globl memcpy
+.set memcpy,__memcpy
+.hidden __memcpy
+ENTRY(__memcpy)
210:
#ifndef USE_BPR
srl %o2, 0, %o2 /* IEU1 Group */
@@ -694,7 +700,7 @@
214: wr %g0, FPRS_FEF, %fprs
retl
mov %g4, %o0
-END(memcpy)
+END(__memcpy)
.align 32
228: andcc %o2, 1, %g0 /* IEU1 Group */
@@ -719,7 +725,10 @@
nop
.align 32
-ENTRY(memmove)
+.globl memmove
+.set memmove,__memmove
+.hidden __memmove
+ENTRY(__memmove)
#ifndef USE_BPR
srl %o2, 0, %o2 /* IEU1 Group */
#endif
@@ -910,7 +919,7 @@
234: wr %g0, FPRS_FEF, %fprs
retl
mov %g4, %o0
-END(memmove)
+END(__memmove)
#ifdef USE_BPR
weak_alias (memcpy, __align_cpy_1)
Modified: trunk/uClibc/libc/string/sparc/sparc64/memset.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc64/memset.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc64/memset.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -36,7 +36,10 @@
/* Well, memset is a lot easier to get right than bcopy... */
.text
.align 32
-ENTRY(memset)
+.globl memset
+.set memset,__memset
+.hidden __memset
+ENTRY(__memset)
andcc %o1, 0xff, %o1
mov %o0, %o5
be,a,pt %icc, 50f
@@ -176,7 +179,7 @@
nop
ba,pt %xcc, 18b
ldd [%o0], %f0
-END(memset)
+END(__memset)
#define ZERO_BLOCKS(base, offset, source) \
stx source, [base - offset - 0x38]; \
Modified: trunk/uClibc/libc/string/sparc/sparc64/sparcv9b/memcpy.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc64/sparcv9b/memcpy.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc64/sparcv9b/memcpy.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -36,7 +36,10 @@
.text
.align 32
-ENTRY(bcopy)
+.globl bcopy
+.set bcopy,__bcopy
+.hidden __bcopy
+ENTRY(__bcopy)
sub %o1, %o0, %o4
mov %o0, %g4
cmp %o4, %o2
@@ -50,7 +53,7 @@
add %o0, %o2, %o0
retl
nop
-END(bcopy)
+END(__bcopy)
/* Special/non-trivial issues of this code:
*
@@ -67,7 +70,10 @@
* of up to 2.4GB per second.
*/
.align 32
-ENTRY(memcpy)
+.globl memcpy
+.set memcpy,__memcpy
+.hidden __memcpy
+ENTRY(__memcpy)
100: /* %o0=dst, %o1=src, %o2=len */
mov %o0, %g5
@@ -328,7 +334,7 @@
retl
mov %g5, %o0
-END(memcpy)
+END(__memcpy)
#define RMOVE_BIGCHUNK(src, dst, offset, t0, t1, t2, t3) \
ldx [%src - offset - 0x20], %t0; \
@@ -403,7 +409,10 @@
mov %g4, %o0
.align 32
-ENTRY(memmove)
+.globl memmove
+.set memmove,__memmove
+.hidden __memmove
+ENTRY(__memmove)
mov %o0, %g5
#ifndef USE_BPR
srl %o2, 0, %o2 /* IEU1 Group */
@@ -595,7 +604,7 @@
234: wr %g0, FPRS_FEF, %fprs
retl
mov %g4, %o0
-END(memmove)
+END(__memmove)
#ifdef USE_BPR
weak_alias (memcpy, __align_cpy_1)
Modified: trunk/uClibc/libc/string/sparc/sparc64/strcat.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc64/strcat.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc64/strcat.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -47,7 +47,10 @@
.text
.align 32
-ENTRY(strcat)
+.globl strcat
+.set strcat,__strcat
+.hidden __strcat
+ENTRY(__strcat)
sethi %hi(0x01010101), %g1 /* IEU0 Group */
ldub [%o0], %o3 /* Load */
or %g1, %lo(0x01010101), %g1 /* IEU0 Group */
@@ -335,4 +338,4 @@
stb %o4, [%o0 - 8] /* Store */
retl /* CTI+IEU1 Group */
mov %g6, %o0 /* IEU0 */
-END(strcat)
+END(__strcat)
Modified: trunk/uClibc/libc/string/sparc/sparc64/strchr.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc64/strchr.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc64/strchr.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -47,7 +47,10 @@
.text
.align 32
-ENTRY(strchr)
+.globl strchr
+.set strchr,__strchr
+.hidden __strchr
+ENTRY(__strchr)
andcc %o1, 0xff, %o1 /* IEU1 Group */
be,pn %icc, 17f /* CTI */
sllx %o1, 8, %g3 /* IEU0 Group */
@@ -327,10 +330,13 @@
lduba [%o0] ASI_PNF, %o3 /* Load */
retl /* CTI+IEU1 Group */
add %o0, -1, %o0 /* IEU0 */
-END(strchr)
+END(__strchr)
.align 32
-ENTRY(strrchr)
+.globl strrchr
+.set strrchr,__strrchr
+.hidden __strrchr
+ENTRY(__strrchr)
andcc %o1, 0xff, %o1 /* IEU1 Group */
be,pn %icc, 17b /* CTI */
clr %g4 /* IEU0 */
@@ -474,7 +480,7 @@
ba,pt %xcc, 1b /* CTI Group */
ldx [%o0], %o3 /* Load */
-END(strrchr)
+END(__strrchr)
weak_alias (strchr, index)
weak_alias (strrchr, rindex)
Modified: trunk/uClibc/libc/string/sparc/sparc64/strcmp.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc64/strcmp.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc64/strcmp.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -45,7 +45,10 @@
.text
.align 32
-ENTRY(strcmp)
+.globl strcmp
+.set strcmp,__strcmp
+.hidden __strcmp
+ENTRY(__strcmp)
sethi %hi(0x01010101), %g1 /* IEU0 Group */
andcc %o0, 7, %g0 /* IEU1 */
bne,pn %icc, 7f /* CTI */
@@ -275,4 +278,4 @@
ba,pt %xcc, 11b /* CTI Group */
ldxa [%o1 + %o0] ASI_PNF, %g6 /* Load */
-END(strcmp)
+END(__strcmp)
Modified: trunk/uClibc/libc/string/sparc/sparc64/strcpy.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc64/strcpy.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc64/strcpy.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -45,7 +45,10 @@
.text
.align 32
-ENTRY(strcpy)
+.globl strcpy
+.set strcpy,__strcpy
+.hidden __strcpy
+ENTRY(__strcpy)
sethi %hi(0x01010101), %g1 /* IEU0 Group */
mov %o0, %g6 /* IEU1 */
or %g1, %lo(0x01010101), %g1 /* IEU0 Group */
@@ -240,4 +243,4 @@
stb %o4, [%o0 - 8] /* Store */
retl /* CTI+IEU1 Group */
mov %g6, %o0 /* IEU0 */
-END(strcpy)
+END(__strcpy)
Modified: trunk/uClibc/libc/string/sparc/sparc64/strlen.S
===================================================================
--- trunk/uClibc/libc/string/sparc/sparc64/strlen.S 2005-11-12 00:09:41 UTC (rev 12218)
+++ trunk/uClibc/libc/string/sparc/sparc64/strlen.S 2005-11-12 00:48:12 UTC (rev 12219)
@@ -39,7 +39,10 @@
.text
.align 32
-ENTRY(strlen)
+.globl strlen
+.set strlen,__strlen
+.hidden __strlen
+ENTRY(__strlen)
sethi %hi(0x01010101), %g1 /* IEU0 Group */
ldub [%o0], %o3 /* Load */
or %g1, %lo(0x01010101), %g1 /* IEU0 Group */
@@ -169,4 +172,4 @@
add %o0, -1, %o0 /* IEU0 Group */
retl /* CTI+IEU1 Group */
sub %o0, %o1, %o0 /* IEU0 */
-END(strlen)
+END(__strlen)
More information about the uClibc-cvs
mailing list