GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / sh / lib / memchr.S
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* $Id: memchr.S,v 1.1 2000/04/14 16:49:01 mjd Exp $
3  *
4  * "memchr" implementation of SuperH
5  *
6  * Copyright (C) 1999  Niibe Yutaka
7  *
8  */
9
10 /*
11  * void *memchr(const void *s, int c, size_t n);
12  */
13
14 #include <linux/linkage.h>
15 ENTRY(memchr)
16         tst     r6,r6
17         bt/s    2f
18          exts.b r5,r5
19 1:      mov.b   @r4,r1
20         cmp/eq  r1,r5
21         bt/s    3f
22          dt     r6
23         bf/s    1b
24          add    #1,r4
25 2:      mov     #0,r4
26 3:      rts
27          mov    r4,r0