Skip to content

Commit 153c058

Browse files
set
1 parent 6e5978c commit 153c058

File tree

1 file changed

+4
-54
lines changed

1 file changed

+4
-54
lines changed

include/xsimd/arch/xsimd_altivec.hpp

Lines changed: 4 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1216,65 +1216,15 @@ namespace xsimd
12161216
{
12171217
return vec_adds(self, other);
12181218
}
1219-
#if 0
12201219

12211220
// set
1222-
template <class A, class... Values>
1223-
XSIMD_INLINE batch<float, A> set(batch<float, A> const&, requires_arch<altivec>, Values... values) noexcept
1224-
{
1225-
static_assert(sizeof...(Values) == batch<float, A>::size, "consistent init");
1226-
return _mm_setr_ps(values...);
1227-
}
1228-
1229-
template <class A, class T, class = typename std::enable_if<std::is_integral<T>::value, void>::type>
1230-
XSIMD_INLINE batch<T, A> set(batch<T, A> const&, requires_arch<altivec>, T v0, T v1) noexcept
1231-
{
1232-
return _mm_set_epi64x(v1, v0);
1233-
}
1234-
template <class A, class T, class = typename std::enable_if<std::is_integral<T>::value, void>::type>
1235-
XSIMD_INLINE batch<T, A> set(batch<T, A> const&, requires_arch<altivec>, T v0, T v1, T v2, T v3) noexcept
1236-
{
1237-
return _mm_setr_epi32(v0, v1, v2, v3);
1238-
}
1239-
template <class A, class T, class = typename std::enable_if<std::is_integral<T>::value, void>::type>
1240-
XSIMD_INLINE batch<T, A> set(batch<T, A> const&, requires_arch<altivec>, T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7) noexcept
1241-
{
1242-
return _mm_setr_epi16(v0, v1, v2, v3, v4, v5, v6, v7);
1243-
}
1244-
template <class A, class T, class = typename std::enable_if<std::is_integral<T>::value, void>::type>
1245-
XSIMD_INLINE batch<T, A> set(batch<T, A> const&, requires_arch<altivec>, T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15) noexcept
1221+
template <class A, class T, class... Values>
1222+
XSIMD_INLINE batch<float, A> set(batch<T, A> const&, requires_arch<altivec>, Values... values) noexcept
12461223
{
1247-
return _mm_setr_epi8(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15);
1224+
static_assert(sizeof...(Values) == batch<T, A>::size, "consistent init");
1225+
return typename batch<T, A>::register_type { values... };
12481226
}
12491227

1250-
template <class A, class... Values>
1251-
XSIMD_INLINE batch<double, A> set(batch<double, A> const&, requires_arch<altivec>, Values... values) noexcept
1252-
{
1253-
static_assert(sizeof...(Values) == batch<double, A>::size, "consistent init");
1254-
return _mm_setr_pd(values...);
1255-
}
1256-
1257-
template <class A, class T, class... Values, class = typename std::enable_if<std::is_integral<T>::value, void>::type>
1258-
XSIMD_INLINE batch_bool<T, A> set(batch_bool<T, A> const&, requires_arch<altivec>, Values... values) noexcept
1259-
{
1260-
return set(batch<T, A>(), A {}, static_cast<T>(values ? -1LL : 0LL)...).data;
1261-
}
1262-
1263-
template <class A, class... Values>
1264-
XSIMD_INLINE batch_bool<float, A> set(batch_bool<float, A> const&, requires_arch<altivec>, Values... values) noexcept
1265-
{
1266-
static_assert(sizeof...(Values) == batch_bool<float, A>::size, "consistent init");
1267-
return _mm_castsi128_ps(set(batch<int32_t, A>(), A {}, static_cast<int32_t>(values ? -1LL : 0LL)...).data);
1268-
}
1269-
1270-
template <class A, class... Values>
1271-
XSIMD_INLINE batch_bool<double, A> set(batch_bool<double, A> const&, requires_arch<altivec>, Values... values) noexcept
1272-
{
1273-
static_assert(sizeof...(Values) == batch_bool<double, A>::size, "consistent init");
1274-
return _mm_castsi128_pd(set(batch<int64_t, A>(), A {}, static_cast<int64_t>(values ? -1LL : 0LL)...).data);
1275-
}
1276-
#endif
1277-
12781228
// ssub
12791229

12801230
template <class A, class T, class = typename std::enable_if<std::is_scalar<T>::value, void>::type>

0 commit comments

Comments
 (0)