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

@ -60,6 +60,7 @@ noasan bool _isutf8(const void *data, size_t size) {
p = data;
e = p + size;
while (p < e) {
#ifdef __x86_64__
if (!((intptr_t)p & 15)) {
for (;;) {
if ((m = __builtin_ia32_pmovmskb128(*(xmm_t *)p >= (xmm_t){0}) ^
@ -75,6 +76,7 @@ noasan bool _isutf8(const void *data, size_t size) {
return true;
}
}
#endif
if (LIKELY((c = *p++ & 255) < 0200)) continue;
if (UNLIKELY(c < 0300)) return false;
switch (kUtf8Dispatch[c - 0300]) {