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
──────────────────────────────────────────────────────────────────────────

Reply via email to