[PATCH] libstdc++: ppc: conditionalize vsx-only simd intrinsics
Alexandre Oliva
oliva@adacore.com
Fri Apr 29 01:53:40 GMT 2022
On Apr 28, 2022, Segher Boessenkool <segher@kernel.crashing.org> wrote:
> On Thu, Apr 28, 2022 at 03:09:54AM -0300, Alexandre Oliva wrote:
>> +# ifdef __VSX__
> No space after # (here and everywhere else).
'k, thanks
>> + "no __intrinsic_type support for [long] double on PPC w/o VSX");
> This change isn't in the changelog.
It is, it's just that long double is dealt with differently from the
other types, so requiring VSX for it takes a different form:
> * include/experimental/bits/simd.h [__ALTIVEC__]: Require VSX
> for double, long long, and 64-bit long and 64-bit long double
> intrinsic types. ^^^^^^^^^^^^^^^^^^
> The message should not say "long
> double" without qualifying it as "64-bit long double".
How about qualifying both such messages as in this incremental patchlet:
@@ -2456,11 +2456,11 @@ template <typename _Tp, size_t _Bytes>
static constexpr bool _S_is_ldouble = is_same_v<_Tp, long double>;
// allow _Tp == long double with -mlong-double-64
static_assert(!(_S_is_ldouble && sizeof(long double) > sizeof(double)),
- "no __intrinsic_type support for long double on PPC");
+ "no __intrinsic_type support for 128-bit floating point on PPC");
#ifndef __VSX__
static_assert(!(is_same_v<_Tp, double>
|| (_S_is_ldouble && sizeof(long double) == sizeof(double))),
- "no __intrinsic_type support for [long] double on PPC w/o VSX");
+ "no __intrinsic_type support for 64-bit floating point on PPC w/o VSX");
#endif
using type =
typename __intrinsic_type_impl<
> Okay for trunk without this part of the patch, and the spaces after the
> hash signs deleted. Or send a new patch with the "[long] double" thing
> fixed?
Thanks, awaiting feedback on the suggestion above to post the consolidated patch.
--
Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Disinformation flourishes because many people care deeply about injustice
but very few check the facts. Ask me about <https://stallmansupport.org>
More information about the Libstdc++
mailing list