1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-12-24 17:51:17 +03:00

Add Niagara-4 optimized memcpy and mempcpy.

* sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-niagara4.S: New
	file.
	* sysdeps/sparc/sparc64/multiarch/Makefile: Add to
	sysdep_routines.
	* sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile: Likewise.
	* sysdeps/sparc/sparc64/multiarch/memcpy.S: Use Niagara-4 memcpy
	and mempcpy when HWCAP_SPARC_CRYPTO is set.
This commit is contained in:
David S. Miller
2012-09-28 13:02:42 -07:00
parent 72581615f5
commit 1d9a6d96ac
6 changed files with 367 additions and 4 deletions

View File

@@ -26,8 +26,19 @@ ENTRY(memcpy)
# ifdef SHARED
SETUP_PIC_REG_LEAF(o3, o5)
# endif
andcc %o0, HWCAP_SPARC_N2, %g0
set HWCAP_SPARC_CRYPTO, %o1
andcc %o0, %o1, %g0
be 1f
andcc %o0, HWCAP_SPARC_N2, %g0
# ifdef SHARED
sethi %gdop_hix22(__memcpy_niagara4), %o1
xor %o1, %gdop_lox10(__memcpy_niagara4), %o1
# else
set __memcpy_niagara4, %o1
# endif
ba 10f
nop
1: be 1f
andcc %o0, HWCAP_SPARC_BLKINIT, %g0
# ifdef SHARED
sethi %gdop_hix22(__memcpy_niagara2), %o1
@@ -77,8 +88,19 @@ ENTRY(__mempcpy)
# ifdef SHARED
SETUP_PIC_REG_LEAF(o3, o5)
# endif
andcc %o0, HWCAP_SPARC_N2, %g0
set HWCAP_SPARC_CRYPTO, %o1
andcc %o0, %o1, %g0
be 1f
andcc %o0, HWCAP_SPARC_N2, %g0
# ifdef SHARED
sethi %gdop_hix22(__mempcpy_niagara4), %o1
xor %o1, %gdop_lox10(__mempcpy_niagara4), %o1
# else
set __mempcpy_niagara4, %o1
# endif
ba 10f
nop
1: be 1f
andcc %o0, HWCAP_SPARC_BLKINIT, %g0
# ifdef SHARED
sethi %gdop_hix22(__mempcpy_niagara2), %o1