diff --git a/libc/src/string/memory_utils/elements_aarch64.h b/libc/src/string/memory_utils/elements_aarch64.h --- a/libc/src/string/memory_utils/elements_aarch64.h +++ b/libc/src/string/memory_utils/elements_aarch64.h @@ -55,7 +55,11 @@ struct ZVA { static constexpr size_t SIZE = 64; static void splat_set(char *dst, const unsigned char value) { +#if __SIZEOF_POINTER__ == 4 + asm("dc zva, %w[dst]" : : [dst] "r"(dst) : "memory"); +#else asm("dc zva, %[dst]" : : [dst] "r"(dst) : "memory"); +#endif } };