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