diff -up ./cmake/pcl_find_sse.cmake.sse2 ./cmake/pcl_find_sse.cmake
--- ./cmake/pcl_find_sse.cmake.sse2 2020-05-11 04:59:26.000000000 -0400
+++ ./cmake/pcl_find_sse.cmake 2020-05-29 17:53:00.504657076 -0400
@@ -4,20 +4,6 @@ macro(PCL_CHECK_FOR_SSE)
set(SSE_FLAGS)
set(SSE_DEFINITIONS)
- if(NOT CMAKE_CROSSCOMPILING)
- # Test GCC/G++ and CLANG
- if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
- include(CheckCXXCompilerFlag)
- check_cxx_compiler_flag("-march=native" HAVE_MARCH)
- if(HAVE_MARCH)
- list(APPEND SSE_FLAGS "-march=native")
- else()
- list(APPEND SSE_FLAGS "-mtune=native")
- endif()
- message(STATUS "Using CPU native flags for SSE optimization: ${SSE_FLAGS}")
- endif()
- endif()
-
# Unfortunately we need to check for SSE to enable "-mfpmath=sse" alongside
# "-march=native". The reason for this is that by default, 32bit architectures
# tend to use the x87 FPU (which has 80 bit internal precision), thus leading
@@ -170,18 +156,9 @@ macro(PCL_CHECK_FOR_SSE)
set(CMAKE_REQUIRED_FLAGS)
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
- if(HAVE_SSE4_2_EXTENSIONS)
- list(APPEND SSE_FLAGS "-msse4.2" "-mfpmath=sse")
- elseif(HAVE_SSE4_1_EXTENSIONS)
- list(APPEND SSE_FLAGS "-msse4.1" "-mfpmath=sse")
- elseif(HAVE_SSSE3_EXTENSIONS)
- list(APPEND SSE_FLAGS "-mssse3" "-mfpmath=sse")
- elseif(HAVE_SSE3_EXTENSIONS)
- list(APPEND SSE_FLAGS "-msse3" "-mfpmath=sse")
- elseif(HAVE_SSE2_EXTENSIONS)
+ if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64" AND "${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
+ MESSAGE(STATUS "Enabling SSE Support (${CMAKE_SYSTEM_PROCESSOR}, ${CMAKE_SIZEOF_VOID_P})")
list(APPEND SSE_FLAGS "-msse2" "-mfpmath=sse")
- elseif(HAVE_SSE_EXTENSIONS)
- list(APPEND SSE_FLAGS "-msse" "-mfpmath=sse")
else()
# Setting -ffloat-store to alleviate 32bit vs 64bit discrepancies on non-SSE
# platforms.