diff options
Diffstat (limited to 'sysdeps/sparc/sparc64/multiarch/memset.S')
-rw-r--r-- | sysdeps/sparc/sparc64/multiarch/memset.S | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/sysdeps/sparc/sparc64/multiarch/memset.S b/sysdeps/sparc/sparc64/multiarch/memset.S index 26cc669d6f..8b3faee915 100644 --- a/sysdeps/sparc/sparc64/multiarch/memset.S +++ b/sysdeps/sparc/sparc64/multiarch/memset.S @@ -26,8 +26,19 @@ ENTRY(memset) # ifdef SHARED SETUP_PIC_REG_LEAF(o3, o5) # endif - andcc %o0, HWCAP_SPARC_BLKINIT, %g0 - be 9f + set HWCAP_SPARC_CRYPTO, %o1 + andcc %o0, %o1, %g0 + be 1f + andcc %o0, HWCAP_SPARC_BLKINIT, %g0 +# ifdef SHARED + sethi %gdop_hix22(__memset_niagara4), %o1 + xor %o1, %gdop_lox10(__memset_niagara4), %o1 +# else + set __memset_niagara4, %o1 +# endif + ba 10f + nop +1: be 9f nop # ifdef SHARED sethi %gdop_hix22(__memset_niagara1), %o1 @@ -57,8 +68,19 @@ ENTRY(__bzero) # ifdef SHARED SETUP_PIC_REG_LEAF(o3, o5) # endif - andcc %o0, HWCAP_SPARC_BLKINIT, %g0 - be 9f + set HWCAP_SPARC_CRYPTO, %o1 + andcc %o0, %o1, %g0 + be 1f + andcc %o0, HWCAP_SPARC_BLKINIT, %g0 +# ifdef SHARED + sethi %gdop_hix22(__bzero_niagara4), %o1 + xor %o1, %gdop_lox10(__bzero_niagara4), %o1 +# else + set __bzero_niagara4, %o1 +# endif + ba 10f + nop +1: be 9f nop # ifdef SHARED sethi %gdop_hix22(__bzero_niagara1), %o1 |