diff options
author | David S. Miller <davem@davemloft.net> | 2012-03-28 22:35:26 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-03-28 22:35:26 -0700 |
commit | 88d85d4f001fac0fd7ef4e3d05ca8a7d50b0c98f (patch) | |
tree | dac097e3214f049492bbf41a575b6d846af3dd9e /sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S | |
parent | e5aa83e16d02bc8f1b1a352f83e12f3f14c4d4ac (diff) | |
download | glibc-88d85d4f001fac0fd7ef4e3d05ca8a7d50b0c98f.tar.gz glibc-88d85d4f001fac0fd7ef4e3d05ca8a7d50b0c98f.tar.xz glibc-88d85d4f001fac0fd7ef4e3d05ca8a7d50b0c98f.zip |
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.
Diffstat (limited to 'sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S')
-rw-r--r-- | sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S b/sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S index 8bada0eeec..6ba1b0c6e9 100644 --- a/sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S +++ b/sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S @@ -43,13 +43,19 @@ .text +ENTRY(__mempcpy_niagara1) + ba,pt %XCC, 101f + add %o0, %o2, %g5 +END(__mempcpy_niagara1) + .align 32 ENTRY(__memcpy_niagara1) +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 |