]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libc/power/memccpy.s
libaml: fix gc bug, need to amltake()/amldrop() temporary buffer
[plan9front.git] / sys / src / libc / power / memccpy.s
1         TEXT    memccpy(SB), $0
2 #define BDNZ    BC      16,0,
3         MOVW    R3, s1+0(FP)
4         MOVW    n+12(FP), R7
5         MOVW    s2+4(FP), R4
6         MOVBZ   c+11(FP), R5
7         CMP     R7, $0
8         BEQ     nf
9         MOVW    R7, CTR
10         SUB     $1, R3
11         SUB     $1, R4
12 l1:
13         MOVBZU  1(R4), R6
14         CMP     R6, R5
15         MOVBZU  R6, 1(R3)
16         BEQ     eq
17         BDNZ    l1
18 nf:
19         MOVW    $0, R3
20         RETURN
21 eq:
22         ADD     $1, R3
23         RETURN