Staging
v0.8.1
https://github.com/torvalds/linux
Raw File
Tip revision: fd6988496e79a6a4bdb514a4655d2920209eb85d authored by Linus Torvalds on 29 December 2019, 23:29:16 UTC
Linux 5.5-rc4
Tip revision: fd69884
memchr.S
/* SPDX-License-Identifier: GPL-2.0 */
/* $Id: memchr.S,v 1.1 2000/04/14 16:49:01 mjd Exp $
 *
 * "memchr" implementation of SuperH
 *
 * Copyright (C) 1999  Niibe Yutaka
 *
 */

/*
 * void *memchr(const void *s, int c, size_t n);
 */

#include <linux/linkage.h>
ENTRY(memchr)
	tst	r6,r6
	bt/s	2f
	 exts.b	r5,r5
1:	mov.b	@r4,r1
	cmp/eq	r1,r5
	bt/s	3f
	 dt	r6
	bf/s	1b
	 add	#1,r4
2:	mov	#0,r4
3:	rts
	 mov	r4,r0
back to top