highway 1.0.7 fails to build on Ubuntu's ppc64el but builds on Debian's ppc64el
Excerpt from Debian build log
=============================
Compiled HWY_TARGETS: PPC10 PPC9 PPC8
HWY_ATTAINABLE_TARGETS: PPC10 PPC9 PPC8 EMU128
HWY_BASELINE_TARGETS: PPC8 EMU128
HWY_STATIC_TARGET: PPC8
HWY_BROKEN_TARGETS:
HWY_DISABLED_TARGETS:
Current CPU supports: PPC8 EMU128 SCALAR
Excerpt from Ubuntu build log
=============================
Compiled HWY_TARGETS: PPC10 PPC9
HWY_ATTAINABLE_TARGETS: PPC10 PPC9 PPC8 EMU128
HWY_BASELINE_TARGETS: PPC9 PPC8 EMU128
HWY_STATIC_TARGET: PPC9
HWY_BROKEN_TARGETS:
HWY_DISABLED_TARGETS:
Current CPU supports: PPC9 PPC8 EMU128 SCALAR
…
In file included from /<<PKGBUILDDIR>>/hwy/examples/skeleton.h:24, from /<<PKGBUILDDIR>>/hwy/examples/skeleton_test.cc:18:
/<<PKGBUILDDIR>>/hwy/base.h: In member function
‘skeleton::N_PPC10::TestFloorLog2::operator()<float, hwy::N_PPC10::Simd<float, 4ul, 0> >
(float, hwy::N_PPC10::Simd<float, 4ul, 0>)void’:
/<<PKGBUILDDIR>>/hwy/base.h:1511:14: error: inlining failed in call to ‘always_inline’
‘hwy::PreventElision<int&>(int&)void’: target specific option mismatch
1511 | HWY_API void PreventElision(T&& output) {
| ^~~~~~~~~~~~~~
In file included from /<<PKGBUILDDIR>>/hwy/foreach_target.h:266, from /<<PKGBUILDDIR>>/hwy/examples/skeleton_test.cc:24:
/<<PKGBUILDDIR>>/hwy/examples/skeleton_test.cc:73:24: note: called from here
73 | hwy::PreventElision(sum);
| ~~~~~~~~~~~~~~~~~~~^~~~~
/<<PKGBUILDDIR>>/hwy/base.h:1511:14: error: inlining failed in call to ‘always_inline’
‘hwy::PreventElision<int&>(int&)void’: target specific option mismatch
1511 | HWY_API void PreventElision(T&& output) {
| ^~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/hwy/examples/skeleton_test.cc:73:24: note: called from here
73 | hwy::PreventElision(sum);
| ~~~~~~~~~~~~~~~~~~~^~~~~
highway 1.0.7 fails to build on Ubuntu's ppc64el but builds on Debian's ppc64el
Excerpt from Debian build log ======= ======= ======= = TARGETS: PPC10 PPC9 PPC8 EMU128 TARGETS: PPC8 EMU128 TARGETS:
=======
Compiled HWY_TARGETS: PPC10 PPC9 PPC8
HWY_ATTAINABLE_
HWY_BASELINE_
HWY_STATIC_TARGET: PPC8
HWY_BROKEN_TARGETS:
HWY_DISABLED_
Current CPU supports: PPC8 EMU128 SCALAR
Excerpt from Ubuntu build log ======= ======= ======= = TARGETS: PPC10 PPC9 PPC8 EMU128 TARGETS: PPC9 PPC8 EMU128 TARGETS:
=======
Compiled HWY_TARGETS: PPC10 PPC9
HWY_ATTAINABLE_
HWY_BASELINE_
HWY_STATIC_TARGET: PPC9
HWY_BROKEN_TARGETS:
HWY_DISABLED_
Current CPU supports: PPC9 PPC8 EMU128 SCALAR
…
In file included from /<<PKGBUILDDIR> >/hwy/examples/ skeleton. h:24,
from /<<PKGBUILDDIR> >/hwy/examples/ skeleton_ test.cc: 18: >/hwy/base. h: In member function :N_PPC10: :TestFloorLog2: :operator( )<float, hwy::N_ PPC10:: Simd<float, 4ul, 0> > PPC10:: Simd<float, 4ul, 0>)void’: >/hwy/base. h:1511: 14: error: inlining failed in call to ‘always_inline’ PreventElision< int&>(int& )void’: target specific option mismatch >/hwy/foreach_ target. h:266,
from /<<PKGBUILDDIR> >/hwy/examples/ skeleton_ test.cc: 24: >/hwy/examples/ skeleton_ test.cc: 73:24: note: called from here sion(sum) ; ~~~~~~~ ~~~~~^~ ~~~ >/hwy/base. h:1511: 14: error: inlining failed in call to ‘always_inline’ PreventElision< int&>(int& )void’: target specific option mismatch >/hwy/examples/ skeleton_ test.cc: 73:24: note: called from here sion(sum) ; ~~~~~~~ ~~~~~^~ ~~~
/<<PKGBUILDDIR>
‘skeleton:
(float, hwy::N_
/<<PKGBUILDDIR>
‘hwy::
1511 | HWY_API void PreventElision(T&& output) {
| ^~~~~~~~~~~~~~
In file included from /<<PKGBUILDDIR>
/<<PKGBUILDDIR>
73 | hwy::PreventEli
| ~~~~~~~
/<<PKGBUILDDIR>
‘hwy::
1511 | HWY_API void PreventElision(T&& output) {
| ^~~~~~~~~~~~~~
/<<PKGBUILDDIR>
73 | hwy::PreventEli
| ~~~~~~~
Other Info /github. com/google/ highway/ blob/master/ run_tests. sh
==========
Based on this
https:/
I am going to try to force building for the ppc8 baseline instead of ppc9