deps/v8/highway fails to build on ppc64el
Version
24.11.1
Platform
6.17.10+deb14-amd64
debian 14/sid
Subsystem
v8
What steps will reproduce the bug?
Build on ppc64el
How often does it reproduce? Is there a required condition?
Always
What is the expected behavior? Why is that the expected behavior?
To build on that architecture. Nodejs has a long history of being perfectly buildable on ppc64el on debian.
What do you see instead?
In file included from ../deps/v8/third_party/highway/src/hwy/highway.h:586,
from ../deps/v8/third_party/highway/src/hwy/per_target.cc:28,
from ../deps/v8/third_party/highway/src/hwy/foreach_target.h:266,
from ../deps/v8/third_party/highway/src/hwy/per_target.cc:27:
../deps/v8/third_party/highway/src/hwy/ops/ppc_vsx-inl.h: In function ‘hwy::N_PPC9::VFromD<D> hwy::N_PPC9::PromoteTo(D, VFromD<typename D::Rebind<float> >)’:
../deps/v8/third_party/highway/src/hwy/ops/ppc_vsx-inl.h:3713:33: error: there are no arguments to ‘__builtin_vsx_xvcvspsxds’ that depend on a template parameter, so a declaration of ‘__builtin_vsx_xvcvspsxds’ must be available [-Wtemplate-body]
3713 | return VFromD<decltype(di64)>{__builtin_vsx_xvcvspsxds(raw_v)};
Additional information
Full build available here: https://debusine.debian.net/debian/developers/artifact/2863118/
FWIW v24.x builds are okay on our CI with gcc 12: https://ci.nodejs.org/job/node-test-commit-plinux/61713/
Could easily be a gcc 15 incompatibility -- I already had to backport an upstream highway fix for main on x64 for gcc 15.
@kapouer I think this is https://github.com/google/highway/issues/2443, fixed by https://github.com/google/highway/pull/2445. Is that something you can verify? If it fixes then I'm open to floating another patch on highway for Node.js.
@richardlau verifying...
It builds.
Opened https://github.com/nodejs/node/pull/61008.