git://git.onelab.eu
/
linux-2.6.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
vserver 1.9.3
[linux-2.6.git]
/
arch
/
sparc64
/
lib
/
memmove.S
1
/* memmove.S: Simple memmove implementation.
2
*
3
* Copyright (C) 1997, 2004 David S. Miller (davem@redhat.com)
4
* Copyright (C) 1996, 1997, 1998, 1999 Jakub Jelinek (jj@ultra.linux.cz)
5
*/
6
7
.text
8
.align 32
9
.globl memmove
10
.type memmove,#function
11
memmove:
12
mov %o0, %g1
13
cmp %o0, %o1
14
blu,pt %xcc, memcpy
15
sub %o0, %o1, %g5
16
add %o1, %o2, %g3
17
cmp %g3, %o0
18
bleu,pt %xcc, memcpy
19
add %o1, %o2, %g5
20
add %o0, %o2, %o5
21
22
sub %g5, 1, %o1
23
sub %o5, 1, %o0
24
1: ldub [%o1], %g5
25
subcc %o2, 1, %o2
26
sub %o1, 1, %o1
27
stb %g5, [%o0]
28
bne,pt %icc, 1b
29
sub %o0, 1, %o0
30
31
retl
32
mov %g1, %o0
33
.size memmove, .-memmove