Comment 0 for bug 2033690

Revision history for this message
Jeremy Bícha (jbicha) wrote :

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);
      | ~~~~~~~~~~~~~~~~~~~^~~~~

Other Info
==========
Based on this
https://github.com/google/highway/blob/master/run_tests.sh

I am going to try to force building for the ppc8 baseline instead of ppc9