if(HAVE_INTEL_SSE4_2)
set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.2")
endif()
-
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64le")
+ set(HAVE_PPC64LE 1)
+ message(STATUS " we are ppc64le")
+ CHECK_C_COMPILER_FLAG("-maltivec" HAS_ALTIVEC)
+ if(HAS_ALTIVEC)
+ message(STATUS " HAS_ALTIVEC yes")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maltivec")
+ set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -maltivec")
+ endif()
+ CHECK_C_COMPILER_FLAG("-mcpu=power8" HAVE_POWER8)
+ if(HAVE_POWER8)
+ message(STATUS " HAVE_POWER8 yes")
+ endif()
endif()
endif()
endif(CMAKE_CXX_COMPILER_ID STREQUAL GNU)
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le")
- message(STATUS " we are ppc64le")
- CHECK_C_COMPILER_FLAG("-maltivec" HAS_ALTIVEC)
- if(HAS_ALTIVEC)
- message(STATUS " HAS_ALTIVEC yes")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maltivec")
- set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -maltivec")
- endif(HAS_ALTIVEC)
- CHECK_C_COMPILER_FLAG("-mcpu=power8" HAVE_POWER8)
- if(HAVE_POWER8)
- message(STATUS " HAVE_POWER8 yes")
- endif(HAVE_POWER8)
-else(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le")
+include(SIMDExt)
+if(NOT HAVE_PPC64LE)
set(CMAKE_ASM_COMPILER ${PROJECT_SOURCE_DIR}/src/yasm-wrapper)
set(CMAKE_ASM_FLAGS "-f elf64")
-endif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le")
+endif()
execute_process(
COMMAND yasm -f elf64 ${CMAKE_SOURCE_DIR}/src/common/crc32c_intel_fast_asm.S -o /dev/null
${CMAKE_SOURCE_DIR}/src/test/encoding/ceph_dencoder.cc
APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_BINARY_DIR}/src/include/ceph_ver.h)
-include(SIMDExt)
if(HAVE_ARMV8_CRC)
add_library(common_crc_aarch64 STATIC common/crc32c_aarch64.c)
set_target_properties(common_crc_aarch64 PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} ${ARMV8_CRC_COMPILE_FLAGS}")