Lines Matching refs:_A0

52 template <typename _Tp, typename _A0, typename... _As>
53 struct __simd_tuple_element<0, _SimdTuple<_Tp, _A0, _As...>>
54 { using type = simd<_Tp, _A0>; };
56 template <size_t _I, typename _Tp, typename _A0, typename... _As>
57 struct __simd_tuple_element<_I, _SimdTuple<_Tp, _A0, _As...>>
113 template <typename _Tp, typename _A0, typename... _Abis>
114 _GLIBCXX_SIMD_INTRINSIC constexpr simd<_Tp, _A0>
115 __simd_tuple_get_impl(__as_simd, const _SimdTuple<_Tp, _A0, _Abis...>& __t,
119 template <typename _Tp, typename _A0, typename... _Abis>
122 const _SimdTuple<_Tp, _A0, _Abis...>& __t,
126 template <typename _Tp, typename _A0, typename... _Abis>
128 __simd_tuple_get_impl(__as_simd_tuple, _SimdTuple<_Tp, _A0, _Abis...>& __t,
650 template <typename _Tp, typename _A0>
651 _GLIBCXX_SIMD_INTRINSIC _SimdTuple<_Tp, _A0>
652 __make_simd_tuple(simd<_Tp, _A0> __x0)
655 template <typename _Tp, typename _A0, typename... _As>
656 _GLIBCXX_SIMD_INTRINSIC _SimdTuple<_Tp, _A0, _As...>
657 __make_simd_tuple(const simd<_Tp, _A0>& __x0, const simd<_Tp, _As>&... __xs)
660 template <typename _Tp, typename _A0>
661 _GLIBCXX_SIMD_INTRINSIC _SimdTuple<_Tp, _A0>
662 __make_simd_tuple(const typename _SimdTraits<_Tp, _A0>::_SimdMember& __arg0)
665 template <typename _Tp, typename _A0, typename _A1, typename... _Abis>
666 _GLIBCXX_SIMD_INTRINSIC _SimdTuple<_Tp, _A0, _A1, _Abis...>
668 const typename _SimdTraits<_Tp, _A0>::_SimdMember& __arg0,
787 template <typename _Tp, typename _A0, size_t _NOut, size_t _Np,
791 const array<__vector_type_t<_Tp, simd_size_v<_Tp, _A0>>, _Np>& __args)
793 return __make_simd_tuple<_Tp, __to_tuple_helper<_Indexes, _A0>...>(
797 template <typename _Tp, typename _A0, size_t _NOut, size_t _Np,
801 const array<__vector_type_t<_Tp, simd_size_v<_Tp, _A0>>, _Np>& __args)
803 static_assert(_Np * simd_size_v<_Tp, _A0> >= _NOut);
804 return __to_simd_tuple_impl<_Tp, _A0, _NOut>(
819 template <typename _Tp, typename _A0, typename _A1, typename... _Abis,
821 _Tp, _SimdTuple<_Tp, _A0, _A1, _Abis...>::_S_size()>>
823 __optimize_simd_tuple(const _SimdTuple<_Tp, _A0, _A1, _Abis...>& __x)
825 using _Tup = _SimdTuple<_Tp, _A0, _A1, _Abis...>;
831 else if constexpr (__is_scalar_abi<_A0>()
832 || _A0::template _S_is_partial<_Tp>)
838 else if constexpr (is_same_v<_A0, _A1>
839 && _R::_S_first_size == simd_size_v<_Tp, _A0> + simd_size_v<_Tp, _A1>)
843 && _R::_S_first_size == (4 * simd_size_v<_Tp, _A0>)
844 && simd_size_v<_Tp, _A0> == __simd_tuple_element_t<
861 template <size_t _Offset = 0, typename _Tp, typename _A0, typename _Fp>
863 __for_each(const _SimdTuple<_Tp, _A0>& __t, _Fp&& __fun)
866 template <size_t _Offset = 0, typename _Tp, typename _A0, typename _A1,
869 __for_each(const _SimdTuple<_Tp, _A0, _A1, _As...>& __t, _Fp&& __fun)
872 __for_each<_Offset + simd_size<_Tp, _A0>::value>(__t.second,
877 template <size_t _Offset = 0, typename _Tp, typename _A0, typename _Fp>
879 __for_each(_SimdTuple<_Tp, _A0>& __t, _Fp&& __fun)
882 template <size_t _Offset = 0, typename _Tp, typename _A0, typename _A1,
885 __for_each(_SimdTuple<_Tp, _A0, _A1, _As...>& __t, _Fp&& __fun)
888 __for_each<_Offset + simd_size<_Tp, _A0>::value>(__t.second,
893 template <size_t _Offset = 0, typename _Tp, typename _A0, typename _Fp>
895 __for_each(_SimdTuple<_Tp, _A0>& __a, const _SimdTuple<_Tp, _A0>& __b,
901 template <size_t _Offset = 0, typename _Tp, typename _A0, typename _A1,
904 __for_each(_SimdTuple<_Tp, _A0, _A1, _As...>& __a,
905 const _SimdTuple<_Tp, _A0, _A1, _As...>& __b, _Fp&& __fun)
908 __for_each<_Offset + simd_size<_Tp, _A0>::value>(__a.second, __b.second,
913 template <size_t _Offset = 0, typename _Tp, typename _A0, typename _Fp>
915 __for_each(const _SimdTuple<_Tp, _A0>& __a, const _SimdTuple<_Tp, _A0>& __b,
921 template <size_t _Offset = 0, typename _Tp, typename _A0, typename _A1,
924 __for_each(const _SimdTuple<_Tp, _A0, _A1, _As...>& __a,
925 const _SimdTuple<_Tp, _A0, _A1, _As...>& __b, _Fp&& __fun)
928 __for_each<_Offset + simd_size<_Tp, _A0>::value>(__a.second, __b.second,
934 template <int _Index, int _Total, int _Combine, typename _Tp, typename _A0,
937 __extract_part(const _SimdTuple<_Tp, _A0, _As...>& __x)
943 using _Tuple = _SimdTuple<_Tp, _A0, _As...>;