Dont use 256 bit code paths on ARM

ARM only has 128 bit registers. simde simulates 256 bit operations using
them, which is fairly pointless for us.
This commit is contained in:
Kovid Goyal
2024-01-22 13:58:17 +05:30
parent 23a4012aeb
commit 76c6630084

View File

@@ -124,7 +124,8 @@ init_simd(void *x) {
#ifdef __APPLE__
#ifdef __arm64__
// simde takes care of NEON on Apple Silicon
has_sse4_2 = true; has_avx2 = true;
// ARM has only 128 bit registers.
has_sse4_2 = true; has_avx2 = false;
#else
do_check();
// On GitHub actions there are some weird macOS machines which report avx2 not available but sse4.2 is available and then
@@ -138,7 +139,8 @@ init_simd(void *x) {
#ifdef __aarch64__
// no idea how to probe ARM cpu for NEON support. This file uses pretty
// basic AVX2 and SSE4.2 intrinsics, so hopefully they work on ARM
has_sse4_2 = true; has_avx2 = true;
// ARM has only 128 bit registers.
has_sse4_2 = true; has_avx2 = false;
#else
do_check();
#endif