https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122981
--- Comment #11 from Torbjorn SVENSSON <azoff at gcc dot gnu.org> ---
(In reply to Matthias Kretz (Vir) from comment #10)
> azoff at gcc dot gnu.org [Tuesday, 18 August 2026, 06:51:36 CEST]:
> > I've added this on top of r17-2833-g32657f29f91871 and it fixes
> > experimental/simd/pr109261_constexpr_simd.cc and
> > experimental/simd/pr115454_find_last_set.cc tests on arm-none-eabi for me. I
> > see no regression with this change.
>
> I also modified the patch some more to remove the now unused
> __int_for_sizeof
> branches:
>
> --- a/libstdc++-v3/include/experimental/bits/simd.h
> +++ b/libstdc++-v3/include/experimental/bits/simd.h
> @@ -608,16 +608,14 @@ struct __is_bitmask
> __int_for_sizeof()
> {
> static_assert(_Bytes > 0);
> - if constexpr (_Bytes == sizeof(int))
> - return int();
> - else if constexpr (_Bytes == sizeof(_SChar))
> - return _SChar();
> - else if constexpr (_Bytes == sizeof(short))
> - return short();
> - else if constexpr (_Bytes == sizeof(long))
> - return long();
> - else if constexpr (_Bytes == sizeof(_LLong))
> - return _LLong();
> + if constexpr (_Bytes == sizeof(int32_t))
> + return int32_t();
> + else if constexpr (_Bytes == sizeof(int8_t))
> + return int8_t();
> + else if constexpr (_Bytes == sizeof(int16_t))
> + return int16_t();
> + else if constexpr (_Bytes == sizeof(int64_t))
> + return int64_t();
> #ifdef __SIZEOF_INT128__
> else if constexpr (_Bytes == sizeof(__int128))
> return __int128();
>
> I also saw no regressions on x86_64, aarch64, and arm-linux-gnueabi.
>
> Do you want to post the new patch? Otherwise, I basically have it ready ...
No, it's your work. :)
I'm just happy to have 2 less failures in my logs.
> > Also, the test that I created in comment 2 works with this change, but is
> > the test worth keeping?
>
> I'd not add a new test:
> 1. This is experimental and supposed to go away.
> 2. There's a very thorough 'make check-simd' target in the
> libstdc++/testsuite
> directory, which already covers it. Probably nobody but me runs it, though :)
Ok!