AVX fix for non-FMA CPU

This commit is contained in:
2016-02-23 14:08:46 +01:00
parent dc2c3ef0ca
commit d9614b5796
3 changed files with 27 additions and 1 deletions

View File

@@ -10,6 +10,7 @@ macro(CHECK_CPU)
MESSAGE("-- -- Found SSE2")
set(CPU_SSE2_AVAILABLE "true" INTERNAL BOOL "SSE2 available on host")
ELSE ()
MESSAGE("-- -- Not found SSE2")
ENDIF (SSE2_TRUE)
STRING(REGEX REPLACE "^.*(sse3).*$" "\\1" SSE_THERE ${CPUINFO})
@@ -18,6 +19,7 @@ macro(CHECK_CPU)
MESSAGE("-- -- Found SSE3")
set(CPU_SSE3_AVAILABLE "true" INTERNAL BOOL "SSE3 available on host")
ELSE ()
MESSAGE("-- -- Not found SSE3")
ENDIF (SSE3_TRUE)
STRING(REGEX REPLACE "^.*(sse4_2).*$" "\\1" SSE_THERE ${CPUINFO})
@@ -26,6 +28,7 @@ macro(CHECK_CPU)
MESSAGE("-- -- Found SSE4.2")
set(CPU_SSE4.2_AVAILABLE "true" INTERNAL BOOL "SSE4.2 available on host")
ELSE ()
MESSAGE("-- -- Not found SSE4.2")
ENDIF (SSE4.2_TRUE)
STRING(REGEX REPLACE "^.*(avx).*$" "\\1" SSE_THERE ${CPUINFO})
@@ -34,7 +37,18 @@ macro(CHECK_CPU)
MESSAGE("-- -- Found AVX")
set(CPU_AVX_AVAILABLE "TRUE" INTERNAL BOOL "AVX available on host")
ELSE ()
MESSAGE("-- -- Not found AVX")
ENDIF (AVX_TRUE)
STRING(REGEX REPLACE "^.*(fma).*$" "\\1" SSE_THERE ${CPUINFO})
STRING(COMPARE EQUAL "fma" "${SSE_THERE}" FMA_TRUE)
IF (FMA_TRUE)
MESSAGE("-- -- Found FMA")
set(CPU_FMA_AVAILABLE "TRUE" INTERNAL BOOL "FMA available on host")
ELSE ()
MESSAGE("-- -- Not found FMA")
ENDIF (FMA_TRUE)
else()
MESSAGE("Error detecting CPU features")
endif(CMAKE_SYSTEM_NAME MATCHES "Linux")