Skip to content

Commit 7beb70b

Browse files
committed
pr changes
1 parent eabe27c commit 7beb70b

File tree

2 files changed

+55
-57
lines changed

2 files changed

+55
-57
lines changed

cmake/x86_64InstructionFlags.cmake

Lines changed: 54 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -3,73 +3,71 @@
33

44
include(CheckCXXCompilerFlag)
55

6-
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "(x86_64)|(AMD64|amd64)|(^i.86$)")
7-
# build SSE/AVX* code only on x64 processors.
8-
# Check that the compiler supports instructions flag.
9-
# This will add the relevant flag both the the space selector and the optimization.
10-
CHECK_CXX_COMPILER_FLAG(-mavx512vl CXX_AVX512VL)
11-
CHECK_CXX_COMPILER_FLAG(-mavx512bf16 CXX_AVX512BF16)
12-
CHECK_CXX_COMPILER_FLAG(-mavx512bw CXX_AVX512BW)
13-
CHECK_CXX_COMPILER_FLAG(-mavx512vbmi2 CXX_AVX512VBMI2)
14-
CHECK_CXX_COMPILER_FLAG(-mavx512fp16 CXX_AVX512FP16)
15-
CHECK_CXX_COMPILER_FLAG(-mavx512f CXX_AVX512F)
16-
CHECK_CXX_COMPILER_FLAG(-mavx512vnni CXX_AVX512VNNI)
17-
CHECK_CXX_COMPILER_FLAG(-mavx2 CXX_AVX2)
18-
CHECK_CXX_COMPILER_FLAG(-mavx CXX_AVX)
19-
CHECK_CXX_COMPILER_FLAG(-mf16c CXX_F16C)
20-
CHECK_CXX_COMPILER_FLAG(-mfma CXX_FMA)
21-
CHECK_CXX_COMPILER_FLAG(-msse3 CXX_SSE3)
22-
CHECK_CXX_COMPILER_FLAG(-msse CXX_SSE)
6+
# build SSE/AVX* code only on x64 processors.
7+
# Check that the compiler supports instructions flag.
8+
# This will add the relevant flag both the the space selector and the optimization.
9+
CHECK_CXX_COMPILER_FLAG(-mavx512vl CXX_AVX512VL)
10+
CHECK_CXX_COMPILER_FLAG(-mavx512bf16 CXX_AVX512BF16)
11+
CHECK_CXX_COMPILER_FLAG(-mavx512bw CXX_AVX512BW)
12+
CHECK_CXX_COMPILER_FLAG(-mavx512vbmi2 CXX_AVX512VBMI2)
13+
CHECK_CXX_COMPILER_FLAG(-mavx512fp16 CXX_AVX512FP16)
14+
CHECK_CXX_COMPILER_FLAG(-mavx512f CXX_AVX512F)
15+
CHECK_CXX_COMPILER_FLAG(-mavx512vnni CXX_AVX512VNNI)
16+
CHECK_CXX_COMPILER_FLAG(-mavx2 CXX_AVX2)
17+
CHECK_CXX_COMPILER_FLAG(-mavx CXX_AVX)
18+
CHECK_CXX_COMPILER_FLAG(-mf16c CXX_F16C)
19+
CHECK_CXX_COMPILER_FLAG(-mfma CXX_FMA)
20+
CHECK_CXX_COMPILER_FLAG(-msse3 CXX_SSE3)
21+
CHECK_CXX_COMPILER_FLAG(-msse CXX_SSE)
2322

24-
# Turn off AVX512BF16 on Ubuntu 18.04 as it is not supported by its binutils assembler version.
25-
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
26-
execute_process(COMMAND lsb_release -rs
27-
OUTPUT_VARIABLE UBUNTU_VERSION
28-
OUTPUT_STRIP_TRAILING_WHITESPACE)
23+
# Turn off AVX512BF16 on Ubuntu 18.04 as it is not supported by its binutils assembler version.
24+
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
25+
execute_process(COMMAND lsb_release -rs
26+
OUTPUT_VARIABLE UBUNTU_VERSION
27+
OUTPUT_STRIP_TRAILING_WHITESPACE)
2928

30-
if("${UBUNTU_VERSION}" STREQUAL "18.04")
31-
message(STATUS "Compiling on Ubuntu 18.04, turning off CXX_AVX512BF16 flag.")
32-
set(CXX_AVX512BF16 FALSE)
33-
endif()
29+
if("${UBUNTU_VERSION}" STREQUAL "18.04")
30+
message(STATUS "Compiling on Ubuntu 18.04, turning off CXX_AVX512BF16 flag.")
31+
set(CXX_AVX512BF16 FALSE)
3432
endif()
33+
endif()
3534

36-
if(CXX_AVX512VL AND CXX_AVX512BF16)
37-
add_compile_definitions(OPT_AVX512_BF16_VL)
38-
endif()
35+
if(CXX_AVX512VL AND CXX_AVX512BF16)
36+
add_compile_definitions(OPT_AVX512_BF16_VL)
37+
endif()
3938

40-
if(CXX_AVX512VL AND CXX_AVX512FP16)
41-
add_compile_definitions(OPT_AVX512_FP16_VL)
42-
endif()
39+
if(CXX_AVX512VL AND CXX_AVX512FP16)
40+
add_compile_definitions(OPT_AVX512_FP16_VL)
41+
endif()
4342

44-
if(CXX_AVX512F)
45-
add_compile_definitions(OPT_AVX512F)
46-
endif()
43+
if(CXX_AVX512F)
44+
add_compile_definitions(OPT_AVX512F)
45+
endif()
4746

48-
if(CXX_AVX512BW AND CXX_AVX512VBMI2)
49-
add_compile_definitions(OPT_AVX512_BW_VBMI2)
50-
endif()
47+
if(CXX_AVX512BW AND CXX_AVX512VBMI2)
48+
add_compile_definitions(OPT_AVX512_BW_VBMI2)
49+
endif()
5150

52-
if(CXX_AVX512F AND CXX_AVX512BW AND CXX_AVX512VL AND CXX_AVX512VNNI)
53-
add_compile_definitions(OPT_AVX512_F_BW_VL_VNNI)
54-
endif()
51+
if(CXX_AVX512F AND CXX_AVX512BW AND CXX_AVX512VL AND CXX_AVX512VNNI)
52+
add_compile_definitions(OPT_AVX512_F_BW_VL_VNNI)
53+
endif()
5554

56-
if(CXX_F16C AND CXX_FMA AND CXX_AVX)
57-
add_compile_definitions(OPT_F16C)
58-
endif()
55+
if(CXX_F16C AND CXX_FMA AND CXX_AVX)
56+
add_compile_definitions(OPT_F16C)
57+
endif()
5958

60-
if(CXX_AVX2)
61-
add_compile_definitions(OPT_AVX2)
62-
endif()
59+
if(CXX_AVX2)
60+
add_compile_definitions(OPT_AVX2)
61+
endif()
6362

64-
if(CXX_AVX)
65-
add_compile_definitions(OPT_AVX)
66-
endif()
63+
if(CXX_AVX)
64+
add_compile_definitions(OPT_AVX)
65+
endif()
6766

68-
if(CXX_SSE3)
69-
add_compile_definitions(OPT_SSE3)
70-
endif()
67+
if(CXX_SSE3)
68+
add_compile_definitions(OPT_SSE3)
69+
endif()
7170

72-
if(CXX_SSE)
73-
add_compile_definitions(OPT_SSE)
74-
endif()
71+
if(CXX_SSE)
72+
add_compile_definitions(OPT_SSE)
7573
endif()

tests/benchmark/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ foreach(benchmark IN ITEMS ${BENCHMARKS})
2525
target_link_libraries(bm_${benchmark} VectorSimilarity benchmark::benchmark)
2626
endforeach()
2727

28-
if (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
28+
if (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "(aarch64)|(arm64)|(ARM64)|(armv8)|(armv9)")
2929
message(STATUS "Enabling Arm Performance Libraries integration")
3030
include(${root}/cmake/aarch64InstructionFlags.cmake)
3131
add_compile_definitions(BENCHMARK_ARCH=arm64)

0 commit comments

Comments
 (0)