summaryrefslogtreecommitdiff
path: root/cmake/FindSSE.cmake
blob: e8dc243d9b65cd5cdfded833e95cc136aee2d76b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Autodetect if SSE4.1 can be used. If so, the assumption is, so can the other
# SSE version (SSE 2.0, SSSE 3.0).

include(CheckCXXSourceCompiles)
set(CMAKE_REQUIRED_FLAGS "")

if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
    set(CMAKE_REQUIRED_FLAGS "-msse4.1")
endif()

check_cxx_source_compiles("
    #include <xmmintrin.h>
    #include <smmintrin.h>
    #include <tmmintrin.h>
    int main() { return 0; }"
    SSE_FOUND
)