Skip to content

Commit 1ac6ec2

Browse files
WIP
1 parent 209d0c5 commit 1ac6ec2

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

include/xsimd/arch/xsimd_altivec.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -444,16 +444,16 @@ namespace xsimd
444444
template <class A, class T, class = typename std::enable_if<std::is_scalar<T>::value, void>::type>
445445
XSIMD_INLINE batch<T, A> load_aligned(T const* mem, convert<T>, requires_arch<altivec>) noexcept
446446
{
447-
return vec_ld(0, mem);
447+
return vec_ld(0, reinterpret_cast<const typename batch<T, A>::register_type*>(mem));
448448
}
449449

450450
// load_unaligned
451451
template <class A, class T, class = typename std::enable_if<std::is_scalar<T>::value, void>::type>
452452
XSIMD_INLINE batch<T, A> load_unaligned(T const* mem, convert<T>, requires_arch<altivec>) noexcept
453453
{
454-
auto lo = vec_ld(0, mem);
455-
auto hi = vec_ld(16, mem);
456-
return vec_perm(lo, hi, vec_lvsl(0, mem));
454+
auto lo = vec_ld(0, reinterpret_cast<const typename batch<T, A>::register_type*>(mem));
455+
auto hi = vec_ld(16, reinterpret_cast<const typename batch<T, A>::register_type*>(mem));
456+
return vec_perm(lo, hi, vec_lvsl(0, reinterpret_cast<const typename batch<T, A>::register_type*>(mem)));
457457
}
458458

459459
// load_complex
@@ -794,7 +794,7 @@ namespace xsimd
794794
template <class A, class T, class = typename std::enable_if<std::is_scalar<T>::value, void>::type>
795795
XSIMD_INLINE void store_aligned(T* mem, batch<T, A> const& self, requires_arch<altivec>) noexcept
796796
{
797-
return vec_st(self.data, 0, mem);
797+
return vec_st(self.data, 0, reinterpret_cast<typename batch<T, A>::register_type*>(mem));
798798
}
799799

800800
// store_unaligned

0 commit comments

Comments
 (0)