Skip to content

Commit 540e1b2

Browse files
eq-bool
1 parent bbe5725 commit 540e1b2

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

include/xsimd/arch/xsimd_neon.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -920,25 +920,25 @@ namespace xsimd
920920
template <class A, class T, detail::enable_sized_unsigned_t<T, 8> = 0>
921921
XSIMD_INLINE batch_bool<T, A> eq(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
922922
{
923-
auto eq32 = vceqq_u32(vreinterpretq_u64_u32(lhs.data), vreinterpretq_u64_u32(rhs.data));
923+
auto eq32 = vceqq_u32(vreinterpretq_u32_u64(lhs.data), vreinterpretq_u32_u64(rhs.data));
924924
auto rev32 = vrev64q_u32(eq32);
925925
auto eq64 = vandq_u32(eq32, rev32);
926-
return batch_bool<T, A>(vreinterpretq_u32_u64(eq64));
926+
return batch_bool<T, A>(vreinterpretq_u64_u32(eq64));
927927
}
928928

929929
template <class A, class T, detail::enable_sized_signed_t<T, 8> = 0>
930930
XSIMD_INLINE batch_bool<T, A> eq(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
931931
{
932-
auto eq32 = vceqq_u32(vreinterpretq_s64_u32(lhs.data), vreinterpretq_s64_u32(rhs.data));
932+
auto eq32 = vceqq_u32(vreinterpretq_u32_s64(lhs.data), vreinterpretq_u32_s64(rhs.data));
933933
auto rev32 = vrev64q_u32(eq32);
934934
auto eq64 = vandq_u32(eq32, rev32);
935-
return batch_bool<T, A>(vreinterpretq_u32_s64(eq64));
935+
return batch_bool<T, A>(vreinterpretq_u64_u32(eq64));
936936
}
937937

938938
template <class A, class T, detail::enable_sized_integral_t<T, 8> = 0>
939939
XSIMD_INLINE batch_bool<T, A> eq(batch_bool<T, A> const& lhs, batch_bool<T, A> const& rhs, requires_arch<neon>) noexcept
940940
{
941-
return eq(lhs.data, rhs.data);
941+
return eq(batch<T, A> { lhs.data }, batch<T, A> { rhs.data }, A {});
942942
}
943943

944944
/*************

0 commit comments

Comments
 (0)