@@ -444,16 +444,16 @@ namespace xsimd
444
444
template <class A , class T , class = typename std::enable_if<std::is_scalar<T>::value, void >::type>
445
445
XSIMD_INLINE batch<T, A> load_aligned (T const * mem, convert<T>, requires_arch<altivec>) noexcept
446
446
{
447
- return vec_ld (0 , mem);
447
+ return vec_ld (0 , reinterpret_cast < const typename batch<T, A>::register_type*>( mem) );
448
448
}
449
449
450
450
// load_unaligned
451
451
template <class A , class T , class = typename std::enable_if<std::is_scalar<T>::value, void >::type>
452
452
XSIMD_INLINE batch<T, A> load_unaligned (T const * mem, convert<T>, requires_arch<altivec>) noexcept
453
453
{
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) ));
457
457
}
458
458
459
459
// load_complex
@@ -794,7 +794,7 @@ namespace xsimd
794
794
template <class A , class T , class = typename std::enable_if<std::is_scalar<T>::value, void >::type>
795
795
XSIMD_INLINE void store_aligned (T* mem, batch<T, A> const & self, requires_arch<altivec>) noexcept
796
796
{
797
- return vec_st (self.data , 0 , mem);
797
+ return vec_st (self.data , 0 , reinterpret_cast < typename batch<T, A>::register_type*>( mem) );
798
798
}
799
799
800
800
// store_unaligned
0 commit comments