Skip to content

Commit 8239c20

Browse files
WIP
1 parent ff03f01 commit 8239c20

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

include/xsimd/arch/xsimd_neon.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -780,14 +780,16 @@ namespace xsimd
780780
memcpy(mem, buffer, sizeof(buffer));
781781
}
782782

783-
#if !defined(__GNUC__) || defined(__clang__)
784783
template <class T, class A, detail::enable_sized_t<T, 4> = 0>
785784
XSIMD_INLINE void store(batch_bool<T, A> b, bool* mem, requires_arch<neon>) noexcept
786785
{
787786
uint8x8_t val = vshr_n_u8(vqmovn_u16(vcombine_u16(vqmovn_u32(b.data), vdup_n_u16(0))), 7);
788-
vst1_lane_u32((uint32_t*)mem, vreinterpret_u32_u8(val), 0);
787+
alignas(A::alignment()) uint8_t buffer[batch_bool<T, A>::size];
788+
vst1_lane_u32(buffer, vreinterpret_u32_u8(val), 0);
789+
memcpy(mem, buffer, sizeof(buffer));
789790
}
790791

792+
#if !defined(__GNUC__) || defined(__clang__)
791793
template <class T, class A, detail::enable_sized_t<T, 8> = 0>
792794
XSIMD_INLINE void store(batch_bool<T, A> b, bool* mem, requires_arch<neon>) noexcept
793795
{

0 commit comments

Comments
 (0)