@@ -28,12 +28,12 @@ namespace xsimd
2828 template <class A >
2929 XSIMD_INLINE batch<int16_t , A> compress (batch<int16_t , A> const & self, batch_bool<int16_t , A> const & mask, requires_arch<avx512vbmi2>) noexcept
3030 {
31- return _mm512_maskz_compress_epi16 (mask.mask (), self);
31+ return _mm512_maskz_compress_epi16 ((__mmask32) mask.mask (), self);
3232 }
3333 template <class A >
3434 XSIMD_INLINE batch<uint16_t , A> compress (batch<uint16_t , A> const & self, batch_bool<uint16_t , A> const & mask, requires_arch<avx512vbmi2>) noexcept
3535 {
36- return _mm512_maskz_compress_epi16 (mask.mask (), self);
36+ return _mm512_maskz_compress_epi16 ((__mmask32) mask.mask (), self);
3737 }
3838 template <class A >
3939 XSIMD_INLINE batch<int8_t , A> compress (batch<int8_t , A> const & self, batch_bool<int8_t , A> const & mask, requires_arch<avx512vbmi2>) noexcept
@@ -50,12 +50,12 @@ namespace xsimd
5050 template <class A >
5151 XSIMD_INLINE batch<int16_t , A> expand (batch<int16_t , A> const & self, batch_bool<int16_t , A> const & mask, requires_arch<avx512vbmi2>) noexcept
5252 {
53- return _mm512_maskz_expand_epi16 (mask.mask (), self);
53+ return _mm512_maskz_expand_epi16 ((__mmask32) mask.mask (), self);
5454 }
5555 template <class A >
5656 XSIMD_INLINE batch<uint16_t , A> expand (batch<uint16_t , A> const & self, batch_bool<uint16_t , A> const & mask, requires_arch<avx512vbmi2>) noexcept
5757 {
58- return _mm512_maskz_expand_epi16 (mask.mask (), self);
58+ return _mm512_maskz_expand_epi16 ((__mmask32) mask.mask (), self);
5959 }
6060 template <class A >
6161 XSIMD_INLINE batch<int8_t , A> expand (batch<int8_t , A> const & self, batch_bool<int8_t , A> const & mask, requires_arch<avx512vbmi2>) noexcept
0 commit comments