--- pcl-pcl-1.12.0/cmake/pcl_find_sse.cmake 2021-08-13 13:31:26.035282081 -0700
+++ pcl-pcl-1.12.0/cmake/pcl_find_sse.cmake.new 2021-08-13 13:31:31.965314984 -0700
@@ -4,20 +4,6 @@
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
@@ -203,21 +189,9 @@
endif()
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
- if(SSE_LEVEL GREATER_EQUAL 1.0)
- if(SSE_LEVEL GREATER_EQUAL 4.2)
- set(SSE_FLAGS "-msse4.2")
- elseif(SSE_LEVEL GREATER_EQUAL 4.1)
- set(SSE_FLAGS "-msse4.1")
- elseif(SSE_LEVEL GREATER_EQUAL 3.1)
- set(SSE_FLAGS "-msse3")
- elseif(SSE_LEVEL GREATER_EQUAL 3.0)
- set(SSE_FLAGS "-msse3")
- elseif(SSE_LEVEL GREATER_EQUAL 2.0)
- set(SSE_FLAGS "-msse2")
- else()
- set(SSE_FLAGS "-msse")
- endif()
- string(APPEND SSE_FLAGS " -mfpmath=sse")
+ 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})")
+ set(SSE_FLAGS "-msse2")
else()
# Setting -ffloat-store to alleviate 32bit vs 64bit discrepancies on non-SSE
# platforms.