On Thu, 23 Feb 2023 at 08:54, Matthias Kretz via Libstdc++ <libstd...@gcc.gnu.org> wrote: > > > > For simd, the inlining behavior should be similar to builtin types. (No > operator on buitin types is ever translated into a function call.) > Therefore, always_inline is the right choice (i.e. inline on -O0 as > well).
OK for trunk (and OK for backport later if no problems show up from the extra inlining). > > Signed-off-by: Matthias Kretz <m.kr...@gsi.de> > > libstdc++-v3/ChangeLog: > > PR libstdc++/108030 > * include/experimental/bits/simd_fixed_size.h > (_SimdImplFixedSize::_S_broadcast): Replace inline with > _GLIBCXX_SIMD_INTRINSIC. > (_SimdImplFixedSize::_S_generate): Likewise. > (_SimdImplFixedSize::_S_load): Likewise. > (_SimdImplFixedSize::_S_masked_load): Likewise. > (_SimdImplFixedSize::_S_store): Likewise. > (_SimdImplFixedSize::_S_masked_store): Likewise. > (_SimdImplFixedSize::_S_min): Likewise. > (_SimdImplFixedSize::_S_max): Likewise. > (_SimdImplFixedSize::_S_complement): Likewise. > (_SimdImplFixedSize::_S_unary_minus): Likewise. > (_SimdImplFixedSize::_S_plus): Likewise. > (_SimdImplFixedSize::_S_minus): Likewise. > (_SimdImplFixedSize::_S_multiplies): Likewise. > (_SimdImplFixedSize::_S_divides): Likewise. > (_SimdImplFixedSize::_S_modulus): Likewise. > (_SimdImplFixedSize::_S_bit_and): Likewise. > (_SimdImplFixedSize::_S_bit_or): Likewise. > (_SimdImplFixedSize::_S_bit_xor): Likewise. > (_SimdImplFixedSize::_S_bit_shift_left): Likewise. > (_SimdImplFixedSize::_S_bit_shift_right): Likewise. > (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be > explicit about not always-inline, yet). > (_SimdImplFixedSize::_S_isinf): Likewise. > (_SimdImplFixedSize::_S_isfinite): Likewise. > (_SimdImplFixedSize::_S_isnan): Likewise. > (_SimdImplFixedSize::_S_isnormal): Likewise. > (_SimdImplFixedSize::_S_signbit): Likewise. > --- > .../experimental/bits/simd_fixed_size.h | 60 +++++++++---------- > 1 file changed, 30 insertions(+), 30 deletions(-) > > > -- > ────────────────────────────────────────────────────────────────────────── > Dr. Matthias Kretz https://mattkretz.github.io > GSI Helmholtz Centre for Heavy Ion Research https://gsi.de > stdₓ::simd > ──────────────────────────────────────────────────────────────────────────