On Wed, 24 May 2023 at 16:06, Matthias Kretz via Libstdc++ < libstdc++@gcc.gnu.org> wrote: > OK for master and backports? (also a long-standing bug that didn't surface > until the new constexpr test was added) > OK for all > > tested on powerpc64le-linux-gnu > > ------------- 8< ----------------- > > Signed-off-by: Matthias Kretz > > libstdc++-v3/ChangeLog: > > PR libstdc++/109949 > * include/experimental/bits/simd.h (__intrinsic_type): If > __ALTIVEC__ is defined, map gnu::vector_size types to their > corresponding __vector T types without losing unsignedness of > integer types. Also prefer long long over long. > * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask > object to the expected unsigned vector type. > --- > libstdc++-v3/include/experimental/bits/simd.h | 39 ++++++++++++++++--- > .../include/experimental/bits/simd_ppc.h | 3 +- > 2 files changed, 36 insertions(+), 6 deletions(-) > > > -- > ────────────────────────────────────────────────────────────────────────── > Dr. Matthias Kretz https://mattkretz.github.io > GSI Helmholtz Centre for Heavy Ion Research https://gsi.de > stdₓ::simd > ──────────────────────────────────────────────────────────────────────────