Path: blob/main/contrib/arm-optimized-routines/string/include/stringlib.h
39499 views
/*1* Public API.2*3* Copyright (c) 2019-2023, Arm Limited.4* SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception5*/67#include <stddef.h>89/* restrict is not needed, but kept for documenting the interface contract. */10#ifndef __restrict11# define __restrict12#endif1314#if __aarch64__15void *__memcpy_aarch64 (void *__restrict, const void *__restrict, size_t);16void *__memmove_aarch64 (void *, const void *, size_t);17void *__memset_aarch64 (void *, int, size_t);18void *__memchr_aarch64 (const void *, int, size_t);19void *__memrchr_aarch64 (const void *, int, size_t);20int __memcmp_aarch64 (const void *, const void *, size_t);21char *__strcpy_aarch64 (char *__restrict, const char *__restrict);22char *__stpcpy_aarch64 (char *__restrict, const char *__restrict);23int __strcmp_aarch64 (const char *, const char *);24char *__strchr_aarch64 (const char *, int);25char *__strrchr_aarch64 (const char *, int);26char *__strchrnul_aarch64 (const char *, int );27size_t __strlen_aarch64 (const char *);28size_t __strnlen_aarch64 (const char *, size_t);29int __strncmp_aarch64 (const char *, const char *, size_t);30void * __memchr_aarch64_mte (const void *, int, size_t);31char *__strchr_aarch64_mte (const char *, int);32char * __strchrnul_aarch64_mte (const char *, int );33size_t __strlen_aarch64_mte (const char *);34char *__strrchr_aarch64_mte (const char *, int);35void *__memcpy_aarch64_simd (void *__restrict, const void *__restrict, size_t);36void *__memmove_aarch64_simd (void *, const void *, size_t);37# if __ARM_FEATURE_SVE38void *__memcpy_aarch64_sve (void *__restrict, const void *__restrict, size_t);39void *__memmove_aarch64_sve (void *__restrict, const void *__restrict, size_t);40void *__memset_aarch64_sve (void *, int, size_t);41void *__memchr_aarch64_sve (const void *, int, size_t);42int __memcmp_aarch64_sve (const void *, const void *, size_t);43char *__strchr_aarch64_sve (const char *, int);44char *__strrchr_aarch64_sve (const char *, int);45char *__strchrnul_aarch64_sve (const char *, int );46int __strcmp_aarch64_sve (const char *, const char *);47char *__strcpy_aarch64_sve (char *__restrict, const char *__restrict);48char *__stpcpy_aarch64_sve (char *__restrict, const char *__restrict);49size_t __strlen_aarch64_sve (const char *);50size_t __strnlen_aarch64_sve (const char *, size_t);51int __strncmp_aarch64_sve (const char *, const char *, size_t);52# endif53# if WANT_MOPS54void *__memcpy_aarch64_mops (void *__restrict, const void *__restrict, size_t);55void *__memmove_aarch64_mops (void *__restrict, const void *__restrict, size_t);56void *__memset_aarch64_mops (void *, int, size_t);57# endif58# if __ARM_FEATURE_MEMORY_TAGGING59void *__mtag_tag_region (void *, size_t);60void *__mtag_tag_zero_region (void *, size_t);61# endif62#elif __arm__63void *__memcpy_arm (void *__restrict, const void *__restrict, size_t);64void *__memset_arm (void *, int, size_t);65void *__memchr_arm (const void *, int, size_t);66char *__strcpy_arm (char *__restrict, const char *__restrict);67int __strcmp_arm (const char *, const char *);68int __strcmp_armv6m (const char *, const char *);69size_t __strlen_armv6t2 (const char *);70#endif717273