-
Notifications
You must be signed in to change notification settings - Fork 297
Closed
Description
swizzle has pretty weak mask type constraint
xsimd/include/xsimd/types/xsimd_api.hpp
Line 2411 in d92c6d4
| swizzle(batch<T, A> const& x, batch_constant<Vt, A, Values...> mask) noexcept |
But (at least some) kernels require it to be an unsigned integer type. On MSVC I ran into a compiler error when using signed integers in the mask.
xsimd/include/xsimd/arch/xsimd_avx2.hpp
Line 907 in d92c6d4
| XSIMD_INLINE batch<float, A> swizzle(batch<float, A> const& self, batch<uint32_t, A> mask, requires_arch<avx2>) noexcept |
A possible solution could be to replace Vt with as_unsigned_integer_t<T>. In term of breakage, this moves the implicit conversion from xsimd to user code.
This may concern shuffle too.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels