]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libc/amd64/strchr.s
merge
[plan9front.git] / sys / src / libc / amd64 / strchr.s
1         TEXT    strchr(SB), $0
2
3         MOVQ    RARG, DI
4         MOVB    c+8(FP), AX
5         CMPB    AX, $0
6         JEQ     l2      /**/
7
8 /*
9  * char is not null
10  */
11 l1:
12         MOVB    (DI), BX
13         CMPB    BX, $0
14         JEQ     ret0
15         ADDQ    $1, DI
16         CMPB    AX, BX
17         JNE     l1
18
19         MOVQ    DI, AX
20         SUBQ    $1, AX
21         RET
22
23 /*
24  * char is null
25  */
26 l2:
27         MOVQ    $-1, CX
28         CLD
29
30         REPN;   SCASB
31
32         MOVQ    DI, AX
33         SUBQ    $1, AX
34         RET
35
36 ret0:
37         MOVQ    $0, AX
38         RET