2019-11-25 16:10:30 +01:00
|
|
|
# Check SIMD
|
|
|
|
|
include (CheckIncludeFiles)
|
|
|
|
|
CHECK_INCLUDE_FILES(x86intrin.h HAVE_X86INTRIN_H)
|
|
|
|
|
CHECK_INCLUDE_FILES(intrin.h HAVE_INTRIN_H)
|
|
|
|
|
|
|
|
|
|
if (!APPLE)
|
2020-01-18 10:05:54 +01:00
|
|
|
CHECK_INCLUDE_FILES (arm_neon.h HAVE_ARM_NEON_H)
|
2019-11-25 16:10:30 +01:00
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
# SIMD checks
|
|
|
|
|
if (HAVE_X86INTRIN_H AND UNIX)
|
|
|
|
|
add_compile_options (-DHAVE_X86INTRIN_H)
|
2019-12-22 23:36:34 +01:00
|
|
|
set (SFIZZ_SIMD_SOURCES sfizz/SIMDSSE.cpp)
|
2019-11-25 16:10:30 +01:00
|
|
|
elseif (HAVE_INTRIN_H AND WIN32)
|
2020-02-09 11:37:25 +01:00
|
|
|
if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
|
|
|
|
add_compile_options ("/DHAVE_INTRIN_H")
|
|
|
|
|
else()
|
|
|
|
|
add_compile_options ("-DHAVE_INTRIN_H")
|
|
|
|
|
endif()
|
2019-11-25 16:10:30 +01:00
|
|
|
set (SFIZZ_SIMD_SOURCES sfizz/SIMDSSE.cpp)
|
2020-01-18 10:05:54 +01:00
|
|
|
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
|
2019-11-25 16:10:30 +01:00
|
|
|
add_compile_options (-DHAVE_ARM_NEON_H)
|
2020-01-18 10:05:54 +01:00
|
|
|
add_compile_options (-mfpu=neon)
|
2019-11-25 16:10:30 +01:00
|
|
|
add_compile_options (-march=native)
|
|
|
|
|
add_compile_options (-mtune=cortex-a53)
|
2020-01-18 10:05:54 +01:00
|
|
|
set (SFIZZ_SIMD_SOURCES sfizz/SIMDNEON.cpp)
|
2019-11-25 16:10:30 +01:00
|
|
|
else()
|
2019-12-22 23:36:34 +01:00
|
|
|
set (SFIZZ_SIMD_SOURCES sfizz/SIMDDummy.cpp)
|
2019-11-25 16:10:30 +01:00
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
set (SFIZZ_SOURCES ${SFIZZ_SOURCES} ${SFIZZ_SIMD_SOURCES})
|