diff options
Diffstat (limited to 'libc/string/cris')
-rw-r--r-- | libc/string/cris/memcopy.h | 2 | ||||
-rw-r--r-- | libc/string/cris/memcpy.c | 8 | ||||
-rw-r--r-- | libc/string/cris/memmove.c | 2 | ||||
-rw-r--r-- | libc/string/cris/memset.c | 8 |
4 files changed, 10 insertions, 10 deletions
diff --git a/libc/string/cris/memcopy.h b/libc/string/cris/memcopy.h index 0eae998da..449c75641 100644 --- a/libc/string/cris/memcopy.h +++ b/libc/string/cris/memcopy.h @@ -23,7 +23,7 @@ /* We override the word-copying macros, partly because misalignment in one pointer isn't cause for a special function, partly because we want to - get rid of all the static functions in generic/memcopy.c; these macros + get rid of all the static functions in generic/memcopy.c; these macros are only used in memmove.c since we have arch-specific mempcpy, memcpy and memset. */ diff --git a/libc/string/cris/memcpy.c b/libc/string/cris/memcpy.c index 0cce37a30..cc14188b8 100644 --- a/libc/string/cris/memcpy.c +++ b/libc/string/cris/memcpy.c @@ -88,8 +88,8 @@ void *memcpy(void *pdst, register char *dst __asm__ ("r13") = pdst; register char *src __asm__ ("r11") = (char *) psrc; register int n __asm__ ("r12") = pn; - - + + /* When src is aligned but not dst, this makes a few extra needless cycles. I believe it would take as many to check that the re-alignment was unnecessary. */ @@ -162,12 +162,12 @@ void *memcpy(void *pdst, ;; Restore registers from stack \n\ movem [sp+],r10" - /* Outputs */ : "=r" (dst), "=r" (src), "=r" (n) + /* Outputs */ : "=r" (dst), "=r" (src), "=r" (n) /* Inputs */ : "0" (dst), "1" (src), "2" (n)); } /* Either we directly starts copying, using dword copying - in a loop, or we copy as much as possible with 'movem' + in a loop, or we copy as much as possible with 'movem' and then the last block (<44 bytes) is copied here. This will work since 'movem' will have updated src,dst,n. */ diff --git a/libc/string/cris/memmove.c b/libc/string/cris/memmove.c index b6620afe0..fa495eba4 100644 --- a/libc/string/cris/memmove.c +++ b/libc/string/cris/memmove.c @@ -1,4 +1,4 @@ -/* Taken from generic/memmove.c; trivially modified to work with +/* Taken from generic/memmove.c; trivially modified to work with arch-specific memcopy.h for Cris. Copy memory to memory until the specified number of bytes diff --git a/libc/string/cris/memset.c b/libc/string/cris/memset.c index 9cc959a33..b578aac5d 100644 --- a/libc/string/cris/memset.c +++ b/libc/string/cris/memset.c @@ -87,7 +87,7 @@ void *memset(void *pdst, { register char *dst __asm__ ("r13") = pdst; - + if (((unsigned long) pdst & 3) != 0 /* Oops! n=0 must be a legal call, regardless of alignment. */ && n >= 3) @@ -165,15 +165,15 @@ void *memset(void *pdst, addq 12*4,r12 ;; compensate for last loop underflowing n \n\ \n\ ;; Restore registers from stack \n\ - movem [sp+],r10" + movem [sp+],r10" /* Outputs */ : "=r" (dst), "=r" (n) /* Inputs */ : "0" (dst), "1" (n), "r" (lc)); - + } /* Either we directly starts copying, using dword copying - in a loop, or we copy as much as possible with 'movem' + in a loop, or we copy as much as possible with 'movem' and then the last block (<44 bytes) is copied here. This will work since 'movem' will have updated src,dst,n. */ |