From: J. Neuschäfer Date: Sat, 6 Sep 2025 07:21:16 +0000 (+0200) Subject: build(blake3): Don't use NEON on aarch64_be (#1624) X-Git-Tag: v4.12~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c40ee264c40a4e9aa33ec6ff8117af29b666972f;p=thirdparty%2Fccache.git build(blake3): Don't use NEON on aarch64_be (#1624) --- diff --git a/src/third_party/blake3/CMakeLists.txt b/src/third_party/blake3/CMakeLists.txt index 343f9d4c..f32e57ab 100644 --- a/src/third_party/blake3/CMakeLists.txt +++ b/src/third_party/blake3/CMakeLists.txt @@ -115,8 +115,8 @@ _add_blake3_source_if_enabled(sse41 "" "-msse4.1" "_mm_test_all_ones(_mm_set1_ep _add_blake3_source_if_enabled(avx2 "/arch:AVX2" "-mavx2" "_mm256_abs_epi8(_mm256_set1_epi32(42))") _add_blake3_source_if_enabled(avx512 "/arch:AVX512" "-mavx512f -mavx512vl" "_mm256_abs_epi64(_mm256_set1_epi32(42))") -# Neon is always available on AArch64 -if(CMAKE_SIZEOF_VOID_P EQUAL 8) +# Neon is always available on AArch64, but blake3_neon.c only supports little-endian +if(CMAKE_SIZEOF_VOID_P EQUAL 8 AND CMAKE_C_BYTE_ORDER STREQUAL "LITTLE_ENDIAN") # https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics check_c_source_compiles( [=[