mirror of
https://git.freebsd.org/ports.git
synced 2025-07-08 12:59:17 -04:00
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
92 lines
5.8 KiB
Text
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")
|