diff options
author | David S. Miller <davem@davemloft.net> | 2010-02-21 20:12:29 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-02-25 23:58:50 -0800 |
commit | dbcaf07c326e18b14d19aebe011b9ffbe4a45972 (patch) | |
tree | d1fc3b26dcb5fb91d2f863c74886ce879cf49bb4 /sysdeps/sparc/sparc64/memcpy.S | |
parent | 34a407de9661ff8e938d152445b750becb247f7c (diff) | |
download | glibc-dbcaf07c326e18b14d19aebe011b9ffbe4a45972.tar.gz glibc-dbcaf07c326e18b14d19aebe011b9ffbe4a45972.tar.xz glibc-dbcaf07c326e18b14d19aebe011b9ffbe4a45972.zip |
sparc: Reimplement 64-bit aligned copy routines and remove from memcpy files.
2010-02-25 David S. Miller <davem@davemloft.net> * sysdeps/sparc/sparc64/Makefile: Add align-cpy rule. * sysdeps/sparc/sparc64/align-cpy.S: New. * sysdeps/sparc/sparc64/memcpy.S (__align_cpy_1, __align_cpy_2, __align_cpy_4, __align_cpy_8, __align_cpy_16): Remove. * sysdeps/sparc/sparc64/sparcv9b/memcpy.S (__align_cpy_1, __align_cpy_2, __align_cpy_4, __align_cpy_8, __align_cpy_16): Remove. * sysdeps/sparc/sparc64/sparcv9v/memcpy.S (__align_cpy_1, __align_cpy_2, __align_cpy_4, __align_cpy_8, __align_cpy_16): Remove. * sysdeps/sparc/sparc64/sparcv9v2/memcpy.S (__align_cpy_1, __align_cpy_2, __align_cpy_4, __align_cpy_8, __align_cpy_16): Remove.
Diffstat (limited to 'sysdeps/sparc/sparc64/memcpy.S')
-rw-r--r-- | sysdeps/sparc/sparc64/memcpy.S | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/sysdeps/sparc/sparc64/memcpy.S b/sysdeps/sparc/sparc64/memcpy.S index 5993358017..709d366304 100644 --- a/sysdeps/sparc/sparc64/memcpy.S +++ b/sysdeps/sparc/sparc64/memcpy.S @@ -446,65 +446,6 @@ ENTRY(__memcpy_large) mov %g4, %o0 END(__memcpy_large) -#ifdef USE_BPR - - /* void *__align_cpy_4(void *dest, void *src, size_t n) - * SPARC v9 SYSV ABI - * Like memcpy, but results are undefined if (!n || ((dest | src | n) & 3)) - */ - - .align 32 -ENTRY(__align_cpy_4) - mov %o0, %g4 /* IEU0 Group */ - cmp %o2, 15 /* IEU1 */ - bleu,pn %xcc, 208b /* CTI */ - cmp %o2, (64 * 6) /* IEU1 Group */ - bgeu,pn %xcc, 200b /* CTI */ - andcc %o0, 7, %g2 /* IEU1 Group */ - ba,pt %xcc, 216f /* CTI */ - andcc %o1, 4, %g0 /* IEU1 Group */ -END(__align_cpy_4) - - /* void *__align_cpy_8(void *dest, void *src, size_t n) - * SPARC v9 SYSV ABI - * Like memcpy, but results are undefined if (!n || ((dest | src | n) & 7)) - */ - - .align 32 -ENTRY(__align_cpy_8) - mov %o0, %g4 /* IEU0 Group */ - cmp %o2, 15 /* IEU1 */ - bleu,pn %xcc, 208b /* CTI */ - cmp %o2, (64 * 6) /* IEU1 Group */ - bgeu,pn %xcc, 201b /* CTI */ - andcc %o0, 0x38, %g5 /* IEU1 Group */ - andcc %o2, -128, %g6 /* IEU1 Group */ - bne,a,pt %xcc, 82f + 4 /* CTI */ - ldx [%o1], %g1 /* Load */ - ba,pt %xcc, 41f /* CTI Group */ - andcc %o2, 0x70, %g6 /* IEU1 */ -END(__align_cpy_8) - - /* void *__align_cpy_16(void *dest, void *src, size_t n) - * SPARC v9 SYSV ABI - * Like memcpy, but results are undefined if (!n || ((dest | src | n) & 15)) - */ - - .align 32 -ENTRY(__align_cpy_16) - mov %o0, %g4 /* IEU0 Group */ - cmp %o2, (64 * 6) /* IEU1 */ - bgeu,pn %xcc, 201b /* CTI */ - andcc %o0, 0x38, %g5 /* IEU1 Group */ - andcc %o2, -128, %g6 /* IEU1 Group */ - bne,a,pt %xcc, 82f + 4 /* CTI */ - ldx [%o1], %g1 /* Load */ - ba,pt %xcc, 41f /* CTI Group */ - andcc %o2, 0x70, %g6 /* IEU1 */ -END(__align_cpy_16) - -#endif - .align 32 ENTRY(memcpy) 210: @@ -917,9 +858,5 @@ ENTRY(memmove) mov %g4, %o0 END(memmove) -#ifdef USE_BPR -weak_alias (memcpy, __align_cpy_1) -weak_alias (memcpy, __align_cpy_2) -#endif libc_hidden_builtin_def (memcpy) libc_hidden_builtin_def (memmove) |