https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111366
--- Comment #17 from Kewen Lin <linkw at gcc dot gnu.org> ---
(In reply to Mathieu Malaterre from comment #16)
> Interesting, the following works for me:
>
> % /usr/bin/c++ -O1 -mcpu=power8 -mno-htm -flto=auto -c skeleton_test.cc
Yeah, the suggestion on an extra option -mno-htm is for command line options,
since they are used for compiling the callee PreventElision.
It makes that:
- the callee(PreventElision): -mcpu=power8 -mno-htm
- caller: -mcpu=power10
caller doesn't have the htm capability (as it's compiled with p10 which drops
htm), but the callee claims it doesn't need htm with -mno-htm, so it's safe to
do the inlining.
If you want to adjust the pragma
#define HWY_BEFORE_NAMESPACE() HWY_PUSH_ATTRIBUTES(",cpu=power10")
, it should be:
#define HWY_BEFORE_NAMESPACE() HWY_PUSH_ATTRIBUTES(",cpu=power10,htm")
it pretends that the caller has the htm support, then it's also fine.