xref: /freebsd/contrib/llvm-project/compiler-rt/lib/builtins/aarch64/sme-libc-routines.c (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
1*0fca6ea1SDimitry Andric #include <stddef.h>
27a6dacacSDimitry Andric 
__arm_sc_memchr(const void * src,int c,size_t n)37a6dacacSDimitry Andric const void *__arm_sc_memchr(const void *src, int c,
47a6dacacSDimitry Andric                             size_t n) __arm_streaming_compatible {
57a6dacacSDimitry Andric   const unsigned char *srcp = (const unsigned char *)src;
67a6dacacSDimitry Andric   unsigned char c8 = (unsigned char)c;
77a6dacacSDimitry Andric   for (size_t i = 0; i < n; ++i)
87a6dacacSDimitry Andric     if (srcp[i] == c8)
97a6dacacSDimitry Andric       return &srcp[i];
107a6dacacSDimitry Andric 
117a6dacacSDimitry Andric   return NULL;
127a6dacacSDimitry Andric }
13