rjw | 1f88458 | 2022-01-06 17:20:42 +0800 | [diff] [blame^] | 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 |