Index: head/devel/Makefile =================================================================== --- head/devel/Makefile +++ head/devel/Makefile @@ -1196,6 +1196,7 @@ SUBDIR += icu-lx SUBDIR += idutils SUBDIR += imake + SUBDIR += inastemp SUBDIR += include-what-you-use SUBDIR += inifiled SUBDIR += inilib Index: head/devel/inastemp/Makefile =================================================================== --- head/devel/inastemp/Makefile +++ head/devel/inastemp/Makefile @@ -0,0 +1,22 @@ +# $FreeBSD$ + +PORTNAME= inastemp +DISTVERSION= 0.2.4 +CATEGORIES= devel +MASTER_SITES= https://gitlab.mpcdf.mpg.de/bbramas/${PORTNAME}/repository/${DISTVERSION}/archive.tar.gz?ref=v${PORTVERSION}&dummy=/ + +MAINTAINER= yuri@FreeBSD.org +COMMENT= C++ library to use SIMD vectorization + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +USES= cmake:outsource +NO_ARCH= yes +CMAKE_ARGS= -DINASTEMP_DO_INSTALL:BOOL=ON \ + -DINASTEMP_JUST_LIB:BOOL=ON + +post-extract: + @${MV} ${WRKDIR}/${PORTNAME}-* ${WRKSRC} + +.include Index: head/devel/inastemp/distinfo =================================================================== --- head/devel/inastemp/distinfo +++ head/devel/inastemp/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1514683011 +SHA256 (inastemp-0.2.4.tar.gz) = ee9b7dc7f23698cbe35fa0d5567a4f955f633a788e66b273d0961968a5eacf49 +SIZE (inastemp-0.2.4.tar.gz) = 233546 Index: head/devel/inastemp/files/patch-CMakeLists.txt =================================================================== --- head/devel/inastemp/files/patch-CMakeLists.txt +++ head/devel/inastemp/files/patch-CMakeLists.txt @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig 2017-12-31 01:19:25 UTC ++++ CMakeLists.txt +@@ -288,7 +288,7 @@ configure_file(${INASTEMP_SOURCE_DIR}/CM + @ONLY IMMEDIATE + ) + if(INASTEMP_DO_INSTALL) +- install(FILES ${INASTEMP_BINARY_DIR}/InastempInfo.cmake DESTINATION lib/ ) ++ install(FILES ${INASTEMP_BINARY_DIR}/InastempInfo.cmake DESTINATION lib/cmake ) + endif() + + if(INASTEMP_AS_SUBPROJECT) Index: head/devel/inastemp/files/patch-Src_CMakeLists.txt =================================================================== --- head/devel/inastemp/files/patch-Src_CMakeLists.txt +++ head/devel/inastemp/files/patch-Src_CMakeLists.txt @@ -0,0 +1,19 @@ +--- Src/CMakeLists.txt.orig 2017-12-31 01:18:23 UTC ++++ Src/CMakeLists.txt +@@ -20,7 +20,7 @@ file( + FOREACH(hpp_file ${hpp_in_dir}) + file(RELATIVE_PATH relative_hpp_file ${CMAKE_CURRENT_SOURCE_DIR} ${hpp_file}) + if(INASTEMP_DO_INSTALL) +- INSTALL( FILES ${hpp_file} DESTINATION include/${relative_hpp_file} ) ++ INSTALL( FILES ${hpp_file} DESTINATION include/inastemp/${relative_hpp_file} ) + endif() + + if($ENV{VERBOSE}) +@@ -29,6 +29,6 @@ FOREACH(hpp_file ${hpp_in_dir}) + ENDFOREACH() + + if(INASTEMP_DO_INSTALL) +- INSTALL( FILES "${INASTEMP_BINARY_DIR}/Src/InastempConfig.h" DESTINATION include/Src ) ++ INSTALL( FILES "${INASTEMP_BINARY_DIR}/Src/InastempConfig.h" DESTINATION include/inastemp/Src ) + endif() + Index: head/devel/inastemp/pkg-descr =================================================================== --- head/devel/inastemp/pkg-descr +++ head/devel/inastemp/pkg-descr @@ -0,0 +1,22 @@ +Inastemp provides a set of C++ classes to make vectorization with intrinsics +easier. It aims at developing numerical kernels by separating the algorithm +from the hardware target. Inastemp comes with several examples and patterns +related to widespread use-cases. + +Features: + +* The following x86 SIMD types are currently supported: + * SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512-KNL, AVX512-SKL +* The following Powere PC SIMD types are currently supported: + * Power-8 Altivec/VMX +* arithmetic operators */+- are provided +* CPU capacities are detected automatically during the CMake stage +* The compiler capacities are detected automatically during the CMake stage +* The library purely contains of headers, no linkage is necessary. +* CPU detection may use Intel SDE +* Unit-tests may use Intel SDE +* Fast intrinsic exp() function (if not supported natively by the compiler) +* Explicit branches vectorization several patterns which represent many + applications are demonstrated + +WWW: https://gitlab.mpcdf.mpg.de/bbramas/inastemp Index: head/devel/inastemp/pkg-plist =================================================================== --- head/devel/inastemp/pkg-plist +++ head/devel/inastemp/pkg-plist @@ -0,0 +1,31 @@ +include/inastemp/ALTIVEC/InaVecALTIVECDouble.hpp/InaVecALTIVECDouble.hpp +include/inastemp/ALTIVEC/InaVecALTIVECFloat.hpp/InaVecALTIVECFloat.hpp +include/inastemp/AVX/InaVecAVXDouble.hpp/InaVecAVXDouble.hpp +include/inastemp/AVX/InaVecAVXFloat.hpp/InaVecAVXFloat.hpp +include/inastemp/AVX2/InaVecAVX2Double.hpp/InaVecAVX2Double.hpp +include/inastemp/AVX2/InaVecAVX2Float.hpp/InaVecAVX2Float.hpp +include/inastemp/AVX512COMMON/InaVecAVX512COMMONDouble.hpp/InaVecAVX512COMMONDouble.hpp +include/inastemp/AVX512COMMON/InaVecAVX512COMMONFloat.hpp/InaVecAVX512COMMONFloat.hpp +include/inastemp/AVX512KNL/InaVecAVX512KNLDouble.hpp/InaVecAVX512KNLDouble.hpp +include/inastemp/AVX512KNL/InaVecAVX512KNLFloat.hpp/InaVecAVX512KNLFloat.hpp +include/inastemp/AVX512SKL/InaVecAVX512SKLDouble.hpp/InaVecAVX512SKLDouble.hpp +include/inastemp/AVX512SKL/InaVecAVX512SKLFloat.hpp/InaVecAVX512SKLFloat.hpp +include/inastemp/Common/InaFastExp.hpp/InaFastExp.hpp +include/inastemp/Common/InaIfElse.hpp/InaIfElse.hpp +include/inastemp/Common/InaMemory.hpp/InaMemory.hpp +include/inastemp/Common/InaTimer.hpp/InaTimer.hpp +include/inastemp/Common/InaUtils.hpp/InaUtils.hpp +include/inastemp/Common/InaVecInterface.hpp/InaVecInterface.hpp +include/inastemp/FLOPS/InaVecFLOPS.hpp/InaVecFLOPS.hpp +include/inastemp/SCALAR/InaVecSCALARDouble.hpp/InaVecSCALARDouble.hpp +include/inastemp/SCALAR/InaVecSCALARFloat.hpp/InaVecSCALARFloat.hpp +include/inastemp/SSE3/InaVecSSE3Double.hpp/InaVecSSE3Double.hpp +include/inastemp/SSE3/InaVecSSE3Float.hpp/InaVecSSE3Float.hpp +include/inastemp/SSE41/InaVecSSE41Double.hpp/InaVecSSE41Double.hpp +include/inastemp/SSE41/InaVecSSE41Float.hpp/InaVecSSE41Float.hpp +include/inastemp/SSE42/InaVecSSE42Double.hpp/InaVecSSE42Double.hpp +include/inastemp/SSE42/InaVecSSE42Float.hpp/InaVecSSE42Float.hpp +include/inastemp/SSSE3/InaVecSSSE3Double.hpp/InaVecSSSE3Double.hpp +include/inastemp/SSSE3/InaVecSSSE3Float.hpp/InaVecSSSE3Float.hpp +include/inastemp/Src/InastempConfig.h +lib/cmake/InastempInfo.cmake