1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

Optimize mempcpy on sparc.

* sysdeps/sparc/sparc32/memcpy.S: Implement mempcpy using a stub
	that branches into memcpy.
	* sysdeps/sparc/sparc64/memcpy.S: Likewise.
	* sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S: Likewise.
	* sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S: Likewise.
	* sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: Likewise.
	* sysdeps/sparc/sparc64/multiarch/memcpy.S: Add mempcpy multiarch
	bits.
	* sysdeps/sparc/sparc64/rtld-memcpy.c: Include generic mempcpy
	implementation too.
	* sysdeps/sparc/mempcpy.S: New file.
This commit is contained in:
David S. Miller
2012-03-28 22:35:26 -07:00
parent e5aa83e16d
commit 88d85d4f00
9 changed files with 124 additions and 13 deletions

View File

@ -145,13 +145,19 @@
.text
ENTRY(__mempcpy_niagara2)
ba,pt %XCC, 101f
add %o0, %o2, %g5
END(__mempcpy_niagara2)
.align 32
ENTRY(__memcpy_niagara2)
100: /* %o0=dst, %o1=src, %o2=len */
mov %o0, %g5
101:
# ifndef USE_BPR
srl %o2, 0, %o2
# endif
100: /* %o0=dst, %o1=src, %o2=len */
mov %o0, %g5
cmp %o2, 0
be,pn %XCC, 85f
218: or %o0, %o1, %o3