@@ -444,15 +444,15 @@ 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);
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) );
456456 return vec_perm (lo, hi, vec_lvsl (0 , mem));
457457 }
458458
@@ -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