git: 72ba47963953 - main - misc/opennn: fix build on powerpc64

From: Piotr Kubaj <pkubaj_at_FreeBSD.org>
Date: Tue, 05 Sep 2023 21:46:11 UTC
The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=72ba4796395340f522176e175ba77b032e5b24d5

commit 72ba4796395340f522176e175ba77b032e5b24d5
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2023-09-05 11:46:37 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2023-09-05 21:46:04 +0000

    misc/opennn: fix build on powerpc64
    
    /usr/bin/c++ -D__Cpp11__ -Dopennn_EXPORTS  -fopenmp=libomp -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++17 -fPIC -MD -MT opennn/CMakeFiles/opennn.dir/adaptive_moment_estimation.cpp.o -MF opennn/CMakeFiles/opennn.dir/adaptive_moment_estimation.cpp.o.d -o opennn/CMakeFiles/opennn.dir/adaptive_moment_estimation.cpp.o -c /wrkdirs/usr/ports/misc/opennn/work/opennn-6.0.4/opennn/adaptive_moment_estimation.cpp
    In file included from /wrkdirs/usr/ports/misc/opennn/work/opennn-6.0.4/opennn/adaptive_moment_estimation.cpp:9:
    In file included from /wrkdirs/usr/ports/misc/opennn/work/opennn-6.0.4/opennn/adaptive_moment_estimation.h:32:
    In file included from /wrkdirs/usr/ports/misc/opennn/work/opennn-6.0.4/opennn/loss_index.h:23:
    In file included from /wrkdirs/usr/ports/misc/opennn/work/opennn-6.0.4/opennn/config.h:34:
    In file included from /wrkdirs/usr/ports/misc/opennn/work/opennn-6.0.4/opennn/../eigen/unsupported/Eigen/CXX11/Tensor:14:
    In file included from /wrkdirs/usr/ports/misc/opennn/work/opennn-6.0.4/opennn/../eigen/unsupported/Eigen/CXX11/../../../Eigen/Core:210:
    /wrkdirs/usr/ports/misc/opennn/work/opennn-6.0.4/opennn/../eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/AltiVec/PacketMath.h:1345:32: error: use of undeclared identifier 'vec_sqrt'; did you mean 'vec_rsqrt'?
      BF16_TO_F32_UNARY_OP_WRAPPER(vec_sqrt, a);
                                   ^~~~~~~~
                                   vec_rsqrt
    /wrkdirs/usr/ports/misc/opennn/work/opennn-6.0.4/opennn/../eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/AltiVec/PacketMath.h:1302:22: note: expanded from macro 'BF16_TO_F32_UNARY_OP_WRAPPER'
      Packet4f op_even = OP(a_even);\
                         ^
    /usr/lib/clang/14.0.5/include/altivec.h:8501:34: note: 'vec_rsqrt' declared here
    static vector float __ATTRS_o_ai vec_rsqrt(vector float __a) {
---
 misc/opennn/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/misc/opennn/Makefile b/misc/opennn/Makefile
index ac7c2ef49f1e..eeb1be32033e 100644
--- a/misc/opennn/Makefile
+++ b/misc/opennn/Makefile
@@ -23,6 +23,7 @@ CMAKE_OFF=	OpenNN_BUILD_EXAMPLES OpenNN_BUILD_TESTS
 CMAKE_TESTING_ON=	OpenNN_BUILD_TESTS # some tests fail, see https://github.com/Artelnics/opennn/issues/229
 CMAKE_TESTING_TARGET=	tests
 
+CXXFLAGS_powerpc64=	-mvsx
 LDFLAGS+=	-pthread
 LDFLAGS_powerpc=	-latomic