--- src/util/blake3/blake3_dispatch.c.orig 2026-08-16 22:43:19.000000000 -0600 +++ src/util/blake3/blake3_dispatch.c 2026-08-16 22:43:38.000000000 -0600 @@ -51,10 +51,18 @@ #if defined(_MSC_VER) return _xgetbv(0); #else +#if defined(__APPLE__) && defined(__i386__) +// This is expecting _xgetbv in some form to exist so that features can be +// checked for, but on older Intel CPUs it does not, so return feature can +// not be used by returning zero always. +// https://stackoverflow.com/questions/72522885/are-the-xgetbv-and-cpuid-checks-sufficient-to-guarantee-avx2-support +return 0; +#else uint32_t eax = 0, edx = 0; __asm__ __volatile__("xgetbv\n" : "=a"(eax), "=d"(edx) : "c"(0)); return ((uint64_t)edx << 32) | eax; #endif +#endif } static void cpuid(uint32_t out[4], uint32_t id) {