aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Tsou <tom.tsou@ettus.com>2017-07-26 12:01:06 -0700
committerMartin Braun <martin.braun@ettus.com>2017-07-26 17:24:09 -0700
commitc98f155209c59d677cb88b54ed7707b3f5daf2d5 (patch)
treece9a4acdf996c0c275e3d60421fdd552528d98b3
parent0e9f204029e5eac51d94f16ceb19f003e3faf7e8 (diff)
downloaduhd-c98f155209c59d677cb88b54ed7707b3f5daf2d5.tar.gz
uhd-c98f155209c59d677cb88b54ed7707b3f5daf2d5.tar.bz2
uhd-c98f155209c59d677cb88b54ed7707b3f5daf2d5.zip
build: Enable SSSE3 sc12 converters by build switch only
The existence of SSSE3 intrinsic headers is not a sufficient condition that SSSE3 support is available, which may lead to 'illegal instruction' runtime failuire on some platforms. Major OS distributions (Ubuntu, Fedora, etc.) include x86_64 intrinsic headers, though the underlying architecture may or may not support the instruction set. Assuming SSE2 availability is safe as instructions are present on all x86_64 architectures for which instrinsic headers would be present. The same cannot be said for SSSE3. Issue: #1761
-rw-r--r--host/lib/convert/CMakeLists.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/host/lib/convert/CMakeLists.txt b/host/lib/convert/CMakeLists.txt
index cfd3c7f34..786b4f42f 100644
--- a/host/lib/convert/CMakeLists.txt
+++ b/host/lib/convert/CMakeLists.txt
@@ -35,9 +35,11 @@ SET(CMAKE_REQUIRED_FLAGS ${EMMINTRIN_FLAGS})
CHECK_INCLUDE_FILE_CXX(emmintrin.h HAVE_EMMINTRIN_H)
SET(CMAKE_REQUIRED_FLAGS)
+IF(ENABLE_SSSE3)
SET(CMAKE_REQUIRED_FLAGS ${TMMINTRIN_FLAGS})
CHECK_INCLUDE_FILE_CXX(tmmintrin.h HAVE_TMMINTRIN_H)
SET(CMAKE_REQUIRED_FLAGS)
+ENDIF(ENABLE_SSSE3)
IF(HAVE_EMMINTRIN_H)
SET(convert_with_sse2_sources