I suggest this patch to be considered for backporting to 16. This would restore ABI compatibility between 16.2 and 17+. It would also make backporting other changes easier.
- Matthias Matthias Kretz via Sourceware Forge [Friday, 22 May 2026, 10:07:53 CEST]: > From: Matthias Kretz <[email protected]> > > Before this change _Ap::_S_is_bitmask would pick up false from > _ScalarAbi<N>. After __scalar_abi_tag now identifies any _Abi<N, N, V>, > where V can also identify bit-masks, the short-cut of setting > _S_use_bitmask to _Ap::_S_is_bitmask is wrong. It would be correct to > have it say _Ap::_S_is_bitmask && !__scalar_abi_tag<_Ap>. I decided to > implement the latter only in the _S_nreg == 1 specialization and have > the higher ups inherit the value from their vec/mask member. The > _S_is_bitmask bit is not erased for __scalar_abi_tag since it makes a > difference for __abi_rebind. -- ────────────────────────────────────────────────────────────────────────── Dr. Matthias Kretz https://mattkretz.github.io GSI Helmholtz Center for Heavy Ion Research https://gsi.de std::simd ──────────────────────────────────────────────────────────────────────────
