xref: /kernel/linux/linux-6.6/arch/arm/lib/memchr.S
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /kernel/linux/linux-6.6/arch/arm/lib/
162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci *  linux/arch/arm/lib/memchr.S
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci *  Copyright (C) 1995-2000 Russell King
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci *  ASM optimised string functions
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci#include <linux/linkage.h>
1062306a36Sopenharmony_ci#include <asm/assembler.h>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci	.text
1362306a36Sopenharmony_ci	.align	5
1462306a36Sopenharmony_ciENTRY(memchr)
1562306a36Sopenharmony_ci1:	subs	r2, r2, #1
1662306a36Sopenharmony_ci	bmi	2f
1762306a36Sopenharmony_ci	ldrb	r3, [r0], #1
1862306a36Sopenharmony_ci	teq	r3, r1
1962306a36Sopenharmony_ci	bne	1b
2062306a36Sopenharmony_ci	sub	r0, r0, #1
2162306a36Sopenharmony_ci2:	movne	r0, #0
2262306a36Sopenharmony_ci	ret	lr
2362306a36Sopenharmony_ciENDPROC(memchr)
24

Indexes created Thu Nov 07 10:32:03 CST 2024