[PATCH] libstdc++: simd: use preprocessor to test for 64-bit long double [PR124657]

Alexandre Oliva oliva@adacore.com
Tue Apr 28 21:27:45 GMT 2026


On Apr 22, 2026, Alexandre Oliva <oliva@adacore.com> wrote:

> When long double is as wide as double on x86 or powerpc
> (-mlong-double-64), we remap it to double in __intrinsic_type.

> Use the preprocessor to compare __L?DBL_MANT_DIG instead of
> floating-type type sizes on x86 SSE and PowerPC AltiVec.

IIRC Matthias expressed interest in something like this, but I don't see
approval for this bit.  Ping?
https://gcc.gnu.org/pipermail/gcc-patches/2026-April/713470.html

Meanwhile, I'm going ahead with the other two patches, leaving only this
microoptimization behind.

> for  libstdc++-v3/ChangeLog

> 	PR libstdc++/124657
> 	* include/experimental/bits/simd.h [_GLIBCXX_SIMD_HAVE_SSE]
> 	(__intrinsic_type::_S_is_ldouble): New.  Use all over.
> 	(__intrinsic_type::type): Use preprocessor tests.
> 	[__ALTIVEC__] (__intrinsic_type): Likewise.


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