Skip to content

Commit 3de2f60

Browse files
WIP
1 parent ced83cf commit 3de2f60

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

include/xsimd/arch/xsimd_altivec.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ namespace xsimd
518518
template <class A, class T, class = typename std::enable_if<std::is_scalar<T>::value, void>::type>
519519
XSIMD_INLINE batch<T, A> load_unaligned(T const* mem, convert<T>, requires_arch<altivec>) noexcept
520520
{
521-
return *(typename batch<T, A>::register_type const*)mem;
521+
return vec_xl(0, (typename batch<T, A>::register_type const*)mem);
522522
}
523523

524524
// load_complex
@@ -925,7 +925,7 @@ namespace xsimd
925925
template <class A, class T, class = typename std::enable_if<std::is_scalar<T>::value, void>::type>
926926
XSIMD_INLINE void store_unaligned(T* mem, batch<T, A> const& self, requires_arch<altivec>) noexcept
927927
{
928-
*(typename batch<T, A>::register_type*)mem = self.data;
928+
return vec_xst(self.data, 0, reinterpret_cast<typename batch<T, A>::register_type*>(mem));
929929
}
930930

931931
// sub

test/test_memory.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ TEST_CASE("[is_aligned]")
4646
float f[100];
4747
void* unaligned_f = static_cast<void*>(&f[0]);
4848
constexpr std::size_t alignment = xsimd::default_arch::alignment();
49-
std::size_t aligned_f_size;
49+
std::size_t aligned_f_size = sizeof(f);
5050
void* aligned_f = std::align(alignment, sizeof(f), unaligned_f, aligned_f_size);
5151
CHECK_UNARY(xsimd::is_aligned(aligned_f));
5252

0 commit comments

Comments
 (0)