memchr.S 373 B

1234567891011121314151617181920212223
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * linux/arch/arm/lib/memchr.S
  4. *
  5. * Copyright (C) 1995-2000 Russell King
  6. *
  7. * ASM optimised string functions
  8. */
  9. #include <linux/linkage.h>
  10. #include <asm/assembler.h>
  11. .text
  12. .align 5
  13. ENTRY(memchr)
  14. 1: subs r2, r2, #1
  15. bmi 2f
  16. ldrb r3, [r0], #1
  17. teq r3, r1
  18. bne 1b
  19. sub r0, r0, #1
  20. 2: movne r0, #0
  21. ret lr
  22. ENDPROC(memchr)