[PATCH] libstdc++: simd: allow x86 -mlong-double-64
Alexandre Oliva
oliva@adacore.com
Wed Mar 25 12:50:06 GMT 2026
On Mar 25, 2026, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
> On Tue, 24 Mar 2026 at 06:30, Alexandre Oliva <oliva@adacore.com> wrote:
>> template <typename _Tp, size_t _Bytes>
>> struct __intrinsic_type<_Tp, _Bytes, enable_if_t<__is_vectorizable_v<_Tp> && _Bytes <= 64>>
>> {
>> - static_assert(!is_same_v<_Tp, long double>,
>> + // allow _Tp == long double with -mlong-double-64
>> + static_assert(!(is_same_v<_Tp, long double>
>> + && sizeof(long double) > sizeof(double)),
>> "no __intrinsic_type support for long double on x86");
> Would this be a little easier to understand as:
> if constexpr (sizeof(long double) > sizeof(double))
> static_assert(!is_same_v<_Tp, long double>, "...");
It would be nicer indeed, but...
we can't do that in class scope, can we?
--
Alexandre Oliva, happy hacker https://blog.lx.oliva.nom.br/
Free Software Activist FSFLA co-founder GNU Toolchain Engineer
More tolerance and less prejudice are key for inclusion and diversity.
Excluding neuro-others for not behaving ""normal"" is *not* inclusive!
More information about the Libstdc++
mailing list