On Mar 25, 2026, Jonathan Wakely <[email protected]> wrote: > On Tue, 24 Mar 2026 at 06:30, Alexandre Oliva <[email protected]> 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!
