Skip to content

Commit

Permalink
Fix NEON detection on ARM linux
Browse files Browse the repository at this point in the history
That returns aarch64 instead of arm64 in CMAKE_SYSTEM_PROCESSOR (per uname -p). We should be able to try detection on any platform now, though, so let's not hardcode those rules.
  • Loading branch information
willbryant committed Jan 3, 2022
1 parent ac656de commit d6b76b2
Showing 1 changed file with 5 additions and 8 deletions.
13 changes: 5 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,11 @@ add_library(blake3 OBJECT src/blake3/blake3.c src/blake3/blake3_dispatch.c src/b
set_property(TARGET blake3 APPEND PROPERTY COMPILE_FLAGS "-O3")
set_property(TARGET blake3 PROPERTY C_STANDARD 99)

if(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
CHECK_C_SOURCE_COMPILES("#include <arm_neon.h>\nint main() { return 0; }" COMPILER_SUPPORTS_NEON)
else()
CHECK_C_COMPILER_FLAG("-msse2" COMPILER_SUPPORTS_SSE2)
CHECK_C_COMPILER_FLAG("-msse4.1" COMPILER_SUPPORTS_SSE_4_1)
CHECK_C_COMPILER_FLAG("-mavx2" COMPILER_SUPPORTS_AVX2)
CHECK_C_COMPILER_FLAG("-mavx512f -mavx512vl" COMPILER_SUPPORTS_AVX512)
endif()
CHECK_C_SOURCE_COMPILES("#include <arm_neon.h>\nint main() { return 0; }" COMPILER_SUPPORTS_NEON)
CHECK_C_COMPILER_FLAG("-msse2" COMPILER_SUPPORTS_SSE2)
CHECK_C_COMPILER_FLAG("-msse4.1" COMPILER_SUPPORTS_SSE_4_1)
CHECK_C_COMPILER_FLAG("-mavx2" COMPILER_SUPPORTS_AVX2)
CHECK_C_COMPILER_FLAG("-mavx512f -mavx512vl" COMPILER_SUPPORTS_AVX512)

if(COMPILER_SUPPORTS_NEON)
target_sources(blake3 PRIVATE "src/blake3/blake3_neon.c")
Expand Down

0 comments on commit d6b76b2

Please sign in to comment.