ClickHouse/utils/memcpy-bench/CMakeLists.txt
2023-05-06 20:26:27 +00:00

32 lines
973 B
CMake

# memcpy_jart.S contains position dependent code
if (CMAKE_POSITION_INDEPENDENT_CODE OR NOT OS_LINUX OR NOT ARCH_AMD64)
return ()
endif ()
enable_language(ASM)
clickhouse_add_executable (memcpy-bench
memcpy-bench.cpp
FastMemcpy.cpp
FastMemcpy_Avx.cpp
memcpy_jart.S
glibc/memcpy-ssse3.S
glibc/memcpy-ssse3-back.S
glibc/memmove-sse2-unaligned-erms.S
glibc/memmove-avx-unaligned-erms.S
glibc/memmove-avx512-unaligned-erms.S
glibc/memmove-avx512-no-vzeroupper.S
)
add_compile_options(memcpy-bench PRIVATE -fno-tree-loop-distribute-patterns)
if (OS_SUNOS)
target_compile_options(memcpy-bench PRIVATE "-Wa,--divide")
endif()
set_source_files_properties(FastMemcpy.cpp PROPERTIES COMPILE_FLAGS "-Wno-old-style-cast")
set_source_files_properties(FastMemcpy_Avx.cpp PROPERTIES COMPILE_FLAGS "-mavx -Wno-old-style-cast -Wno-cast-qual -Wno-cast-align")
target_link_libraries(memcpy-bench PRIVATE dbms boost::program_options)