summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Undheim <ruben.undheim@gmail.com>2018-10-04 22:23:39 +0000
committerRuben Undheim <ruben.undheim@gmail.com>2018-11-18 10:52:08 +0100
commit4c3e85a5f1c21cb67e3d1fc91838b15711b8bf3c (patch)
tree09309c861f6fa8d030fa31e80197d3cf0d4e8af3
parentbd1e2e8ec755e335e2a7fc1a439c2b9808da09b2 (diff)
Disable architecture specific SIMD optimisations
Gbp-Pq: Name 0004-Disable-architecture-specific-SIMD-optimisations.patch
-rw-r--r--CMakeLists.txt56
1 files changed, 5 insertions, 51 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fad9252..d5c9892 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -77,7 +77,6 @@ option(ENABLE_ASAN "Enable gcc address sanitizer" OFF)
option(USE_LTE_RATES "Use standard LTE sampling rates" OFF)
-set(GCC_ARCH native CACHE STRING "GCC compile for specific architecture.")
########################################################################
@@ -246,24 +245,14 @@ macro(ADD_CXX_COMPILER_FLAG_IF_AVAILABLE flag have)
endmacro(ADD_CXX_COMPILER_FLAG_IF_AVAILABLE)
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${GCC_ARCH} -Wall -Wno-comment -Wno-reorder -Wno-unused-but-set-variable -Wno-unused-variable -Wformat -Wmissing-field-initializers -Wtype-limits -std=c++03")
-
- find_package(SSE)
- if (HAVE_AVX2)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse -mavx2 -DLV_HAVE_AVX2 -DLV_HAVE_AVX -DLV_HAVE_SSE")
- else (HAVE_AVX2)
- if(HAVE_AVX)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse -mavx -DLV_HAVE_AVX -DLV_HAVE_SSE")
- elseif(HAVE_SSE)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse -msse4.1 -DLV_HAVE_SSE")
- endif(HAVE_AVX)
- endif (HAVE_AVX2)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-comment -Wno-reorder -Wno-unused-but-set-variable -Wno-unused-variable -Wformat -Wmissing-field-initializers -Wtype-limits -std=c++03")
+
endif(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
ADD_CXX_COMPILER_FLAG_IF_AVAILABLE("-Werror=incompatible-pointer-types" HAVE_ERROR_INCOMPATIBLE)
if(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=${GCC_ARCH} -Wall -Wno-comment -Wno-write-strings -Winline -Wno-unused-result -Wformat -Wmissing-field-initializers -Wtype-limits -std=c99 -D_GNU_SOURCE")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-comment -Wno-write-strings -Winline -Wno-unused-result -Wformat -Wmissing-field-initializers -Wtype-limits -std=c99 -D_GNU_SOURCE")
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ggdb -O0 -DDEBUG_MODE -DBUILD_TYPE_DEBUG")
@@ -283,45 +272,10 @@ if(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DFORCE_STANDARD_RATE")
endif (USE_LTE_RATES)
- find_package(SSE)
- if (HAVE_AVX2)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse -mavx2 -DLV_HAVE_AVX2 -DLV_HAVE_AVX -DLV_HAVE_SSE")
- else (HAVE_AVX2)
- if(HAVE_AVX)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse -mavx -DLV_HAVE_AVX -DLV_HAVE_SSE")
- elseif(HAVE_SSE)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse -msse4.1 -DLV_HAVE_SSE")
- endif(HAVE_AVX)
- endif (HAVE_AVX2)
-
- if (HAVE_FMA)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfma -DLV_HAVE_FMA")
- endif (HAVE_FMA)
-
- if (HAVE_AVX512)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mavx512f -mavx512cd -DLV_HAVE_AVX512")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx512f -mavx512cd -DLV_HAVE_AVX512")
- endif(HAVE_AVX512)
-
- if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
- if(HAVE_SSE)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Ofast -funroll-loops")
- endif(HAVE_SSE)
- endif(NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
+
- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpu=neon -march=native -DIS_ARM -DHAVE_NEON")
- message(STATUS "have ARM")
- set(HAVE_NEON "True")
- else(${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
- set(HAVE_NEON "False")
- endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
- set(CMAKE_REQUIRED_FLAGS ${CMAKE_C_FLAGS})
-
- if(NOT HAVE_SSE AND NOT HAVE_NEON AND NOT DISABLE_SIMD)
- message(FATAL_ERROR "no SIMD instructions found")
- endif(NOT HAVE_SSE AND NOT HAVE_NEON AND NOT DISABLE_SIMD)
+
if(NOT WIN32)
ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-fvisibility=hidden HAVE_VISIBILITY_HIDDEN)