ports/math/libpgmath/files/patch-lib_common_CMakeLists.txt
Johannes M Dieterich 790b4d631d new port: math/libpgmath
This adds the compiler-callable math intrinsics library libpgmath. It is the
math library of the flang compiler with support for vector operations.

Patches were in large part adapted from the OpenBSD port.

Reviewed by:	zeising (mentor), mat
Approved by:	zeising (mentor)
Obtained from:	Brian Callahan (bcallah@openbsd.org) with adaptations
Differential Revision:	https://reviews.freebsd.org/D17034
2018-09-06 20:06:40 +00:00

92 lines
5.8 KiB
Text

--- lib/common/CMakeLists.txt.orig 2018-09-03 06:03:48 UTC
+++ lib/common/CMakeLists.txt
@@ -17,7 +17,7 @@
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")
- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64|ppc64le|aarch64" AND NOT ${LIBPGMATH_WITH_GENERIC})
+ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64|amd64|ppc64le|aarch64" AND NOT ${LIBPGMATH_WITH_GENERIC})
add_subdirectory("acos")
add_subdirectory("asin")
add_subdirectory("exp")
@@ -33,8 +33,8 @@ get_property(FLAGS GLOBAL PROPERTY "FLAGS_L1")
get_property(DEFINITIONS GLOBAL PROPERTY "DEFINITIONS_L1")
set(SRCS)
-if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND NOT ${LIBPGMATH_WITH_GENERIC})
- if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64|amd64" AND NOT ${LIBPGMATH_WITH_GENERIC})
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD")
add_subdirectory("cos")
add_subdirectory("cosf")
add_subdirectory("sincosf")
@@ -278,13 +278,13 @@ libmath_add_object_library("${SRCS}" "${FLAGS}" "${DEF
set(DEFINITIONS_CMPLX ${DEFINITIONS} MTH_CMPLX_C99_ABI)
libmath_add_object_library("${MTH_CMPLX_SRCS}" "${FLAGS}" "${DEFINITIONS_CMPLX}" "common_mth_cmplx")
-if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND NOT ${LIBPGMATH_WITH_GENERIC})
+if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64|amd64" AND NOT ${LIBPGMATH_WITH_GENERIC})
# Generate mth_128mask.c
set(TARGET_NAME "mth_128mask")
add_custom_command(OUTPUT ${TARGET_NAME}.c PRE_BUILD
COMMAND awk -v MAX_VREG_SIZE=128 -v TARGET=X8664 -f ${LIBPGMATH_TOOLS_DIR}/mth_mask.awk > ${TARGET_NAME}.c)
add_custom_target(${TARGET_NAME} ALL DEPENDS "${TARGET_NAME}.c")
- if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-march=core2")
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-msse2")
@@ -297,7 +297,7 @@ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND NOT
add_custom_command(OUTPUT ${TARGET_NAME}.c PRE_BUILD
COMMAND awk -v MAX_VREG_SIZE=128 -v TARGET=X8664 -f ${LIBPGMATH_TOOLS_DIR}/mth_generic_frp.awk > ${TARGET_NAME}.c)
add_custom_target(${TARGET_NAME} ALL DEPENDS "${TARGET_NAME}.c")
- if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-march=core2")
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-msse2")
@@ -310,7 +310,7 @@ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND NOT
add_custom_command(OUTPUT ${TARGET_NAME}.c PRE_BUILD
COMMAND awk -v MAX_VREG_SIZE=256 -v TARGET=X8664 -f ${LIBPGMATH_TOOLS_DIR}/mth_mask.awk > ${TARGET_NAME}.c)
add_custom_target(${TARGET_NAME} ALL DEPENDS "${TARGET_NAME}.c")
- if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-march=sandybridge")
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-mavx")
@@ -323,7 +323,7 @@ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND NOT
add_custom_command(OUTPUT ${TARGET_NAME}.c PRE_BUILD
COMMAND awk -v MAX_VREG_SIZE=256 -v TARGET=X8664 -f ${LIBPGMATH_TOOLS_DIR}/mth_generic_frp.awk > ${TARGET_NAME}.c)
add_custom_target(${TARGET_NAME} ALL DEPENDS "${TARGET_NAME}.c")
- if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-march=sandybridge")
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-mavx")
@@ -337,7 +337,7 @@ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND NOT
COMMAND awk -v MAX_VREG_SIZE=512 -v TARGET=X8664 -f ${LIBPGMATH_TOOLS_DIR}/mth_mask.awk > ${TARGET_NAME}.c)
add_custom_target(${TARGET_NAME} ALL DEPENDS "${TARGET_NAME}.c")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "")
- if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-mtune=knl -march=knl")
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-mavx512f -mfma")
@@ -350,7 +350,7 @@ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND NOT
add_custom_command(OUTPUT ${TARGET_NAME}.c PRE_BUILD
COMMAND awk -v MAX_VREG_SIZE=512 -v TARGET=X8664 -f ${LIBPGMATH_TOOLS_DIR}/mth_generic_frp.awk > ${TARGET_NAME}.c)
add_custom_target(${TARGET_NAME} ALL DEPENDS "${TARGET_NAME}.c")
- if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-mtune=knl -march=knl")
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-mavx512f -mfma")
@@ -363,7 +363,7 @@ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND NOT
add_custom_command(OUTPUT ${TARGET_NAME}.c PRE_BUILD
COMMAND awk -v MAX_VREG_SIZE=512 -v TARGET=X8664 -f ${LIBPGMATH_TOOLS_DIR}/mth_z2yy.awk > ${TARGET_NAME}.c)
add_custom_target(${TARGET_NAME} ALL DEPENDS "${TARGET_NAME}.c")
- if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-mtune=knl -march=knl")
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set_property(SOURCE ${TARGET_NAME}.c APPEND_STRING PROPERTY COMPILE_FLAGS "-mavx512f -mfma")