Make more code aarch64 friendly

This commit is contained in:
Justine Tunney 2023-05-02 13:38:16 -07:00
parent ca2860947f
commit 2b73e72d59
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
568 changed files with 2197 additions and 1061 deletions

View file

@ -33,6 +33,7 @@ static inline const unsigned char *rawmemchr_pure(const unsigned char *s,
}
}
#ifdef __x86_64__
noasan static inline const char *rawmemchr_sse(const char *s, unsigned char c) {
unsigned k;
unsigned m;
@ -51,6 +52,7 @@ noasan static inline const char *rawmemchr_sse(const char *s, unsigned char c) {
m = __builtin_ctzll(m);
return (const char *)p + m;
}
#endif
/**
* Returns pointer to first instance of character.
@ -60,6 +62,7 @@ noasan static inline const char *rawmemchr_sse(const char *s, unsigned char c) {
* @return is pointer to first instance of c
*/
void *rawmemchr(const void *s, int c) {
#ifdef __x86_64__
const void *r;
if (X86_HAVE(SSE)) {
if (IsAsan()) __asan_verify(s, 1);
@ -68,4 +71,7 @@ void *rawmemchr(const void *s, int c) {
r = rawmemchr_pure(s, c);
}
return (void *)r;
#else
return rawmemchr_pure(s, c);
#endif
}