xref: /kernel/linux/linux-6.6/arch/arm/lib/strrchr.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/strrchr.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(strrchr)
1562306a36Sopenharmony_ci		mov	r3, #0
1662306a36Sopenharmony_ci1:		ldrb	r2, [r0], #1
1762306a36Sopenharmony_ci		teq	r2, r1
1862306a36Sopenharmony_ci		subeq	r3, r0, #1
1962306a36Sopenharmony_ci		teq	r2, #0
2062306a36Sopenharmony_ci		bne	1b
2162306a36Sopenharmony_ci		mov	r0, r3
2262306a36Sopenharmony_ci		ret	lr
2362306a36Sopenharmony_ciENDPROC(strrchr)
24

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