1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00

PowerPC: multiarch wordcopy for PowerPC64

This commit is contained in:
Adhemerval Zanella
2013-12-13 14:54:08 -05:00
parent 92cacfce7d
commit e28bcd427b
7 changed files with 183 additions and 17 deletions

View File

@ -26,11 +26,12 @@
block beginning at DSTP with LEN `op_t' words (not LEN bytes!).
Both SRCP and DSTP should be aligned for memory operations on `op_t's. */
#ifndef WORDCOPY_FWD_ALIGNED
# define WORDCOPY_FWD_ALIGNED _wordcopy_fwd_aligned
#endif
void
_wordcopy_fwd_aligned (dstp, srcp, len)
long int dstp;
long int srcp;
size_t len;
WORDCOPY_FWD_ALIGNED (long int dstp, long int srcp, size_t len)
{
op_t a0, a1;
@ -134,11 +135,12 @@ _wordcopy_fwd_aligned (dstp, srcp, len)
DSTP should be aligned for memory operations on `op_t's, but SRCP must
*not* be aligned. */
#ifndef WORDCOPY_FWD_DEST_ALIGNED
# define WORDCOPY_FWD_DEST_ALIGNED _wordcopy_fwd_dest_aligned
#endif
void
_wordcopy_fwd_dest_aligned (dstp, srcp, len)
long int dstp;
long int srcp;
size_t len;
WORDCOPY_FWD_DEST_ALIGNED (long int dstp, long int srcp, size_t len)
{
op_t a0, a1, a2, a3;
int sh_1, sh_2;
@ -221,11 +223,12 @@ _wordcopy_fwd_dest_aligned (dstp, srcp, len)
(not LEN bytes!). Both SRCP and DSTP should be aligned for memory
operations on `op_t's. */
#ifndef WORDCOPY_BWD_ALIGNED
# define WORDCOPY_BWD_ALIGNED _wordcopy_bwd_aligned
#endif
void
_wordcopy_bwd_aligned (dstp, srcp, len)
long int dstp;
long int srcp;
size_t len;
WORDCOPY_BWD_ALIGNED (long int dstp, long int srcp, size_t len)
{
op_t a0, a1;
@ -329,11 +332,12 @@ _wordcopy_bwd_aligned (dstp, srcp, len)
words (not LEN bytes!). DSTP should be aligned for memory
operations on `op_t', but SRCP must *not* be aligned. */
#ifndef WORDCOPY_BWD_DEST_ALIGNED
# define WORDCOPY_BWD_DEST_ALIGNED _wordcopy_bwd_dest_aligned
#endif
void
_wordcopy_bwd_dest_aligned (dstp, srcp, len)
long int dstp;
long int srcp;
size_t len;
WORDCOPY_BWD_DEST_ALIGNED (long int dstp, long int srcp, size_t len)
{
op_t a0, a1, a2, a3;
int sh_1, sh_2;