[PATCH] libstdc++: Fix SFINAE for __is_intrinsic_type on ARM

Matthias Kretz m.kretz@gsi.de
Wed May 24 10:58:19 GMT 2023


OK for master and all branches? (this issue only surfaced because of the new 
test)

------------ 8< -----------------

On ARM NEON doesn't support double, so __is_intrinsic_type_v<double,
whatever> should say false (instead of being ill-formed).

Signed-off-by: Matthias Kretz <m.kretz@gsi.de>

libstdc++-v3/ChangeLog:

	PR libstdc++/109261
	* include/experimental/bits/simd.h (__intrinsic_type):
	Specialize __intrinsic_type<double, 8> and
	__intrinsic_type<double, 16> in any case, but provide the member
	type only with __aarch64__.
---
 libstdc++-v3/include/experimental/bits/simd.h | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)


--
──────────────────────────────────────────────────────────────────────────
 Dr. Matthias Kretz                           https://mattkretz.github.io
 GSI Helmholtz Centre for Heavy Ion Research               https://gsi.de
 stdₓ::simd
──────────────────────────────────────────────────────────────────────────
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-libstdc-Fix-SFINAE-for-__is_intrinsic_type-on-ARM.patch
Type: text/x-patch
Size: 942 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20230524/b724ace9/attachment.bin>


More information about the Gcc-patches mailing list