Skip to content

Commit 1c23195

Browse files
WIP
1 parent 1040fef commit 1c23195

File tree

1 file changed

+3
-17
lines changed

1 file changed

+3
-17
lines changed

include/xsimd/arch/xsimd_altivec.hpp

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@ namespace xsimd
6666
template <class A, class T>
6767
XSIMD_INLINE batch<T, A> avgr(batch<T, A> const&, batch<T, A> const&, requires_arch<common>) noexcept;
6868
#endif
69-
template <class A, class T>
70-
XSIMD_INLINE batch<T, A> ssub(batch<T, A> const&, batch<T, A> const&, requires_arch<common>) noexcept;
7169

7270
// abs
7371
template <class A>
@@ -98,7 +96,7 @@ namespace xsimd
9896
}
9997

10098
// avgr
101-
template <class A, class T, class = typename std::enable_if<std::is_scalar<T>::value, void>::type>
99+
template <class A, class T, class = typename std::enable_if<std::is_integral<T>::value, void>::type>
102100
XSIMD_INLINE batch<T, A> avgr(batch<T, A> const& self, batch<T, A> const& other, requires_arch<altivec>) noexcept
103101
{
104102
return vec_avg(self.data, other.data);
@@ -112,11 +110,6 @@ namespace xsimd
112110
auto adj = ((self ^ other) << nbit) >> nbit;
113111
return avgr(self.data, other.data, A {}) - adj;
114112
}
115-
template <class A>
116-
XSIMD_INLINE batch<float, A> avg(batch<float, A> const& self, batch<float, A> const& other, requires_arch<altivec>) noexcept
117-
{
118-
return vec_avg(self.data, other.data);
119-
}
120113

121114
// batch_bool_cast
122115
template <class A, class T_out, class T_in>
@@ -812,17 +805,10 @@ namespace xsimd
812805

813806
// ssub
814807

815-
template <class A, class T, class = typename std::enable_if<std::is_scalar<T>::value, void>::type>
808+
template <class A, class T, class = typename std::enable_if<std::is_scalar<T>::value && sizeof(T) == 1, void>::type>
816809
XSIMD_INLINE batch<T, A> ssub(batch<T, A> const& self, batch<T, A> const& other, requires_arch<altivec>) noexcept
817810
{
818-
XSIMD_IF_CONSTEXPR(sizeof(T) == 1)
819-
{
820-
return vec_subs(self.data, other.data);
821-
}
822-
else
823-
{
824-
return ssub(self, other, common {});
825-
}
811+
return vec_subs(self.data, other.data);
826812
}
827813

828814
// store_aligned

0 commit comments

Comments
 (0)