VPMOVUSDB - Packed MOVe Unsigned Saturation Dword Byte

符号なしDWORD→符号なしBYTE    オーバーフローしたら最大値に強制

VPMOVUSDB xmm1 {k1}{z}, xmm2    (V5+VL
__m128i _mm_cvtusepi32_epi8(__m128i a)
__m128i _mm_mask_cvtusepi32_epi8(__m128i s, __mmask8 k, __m128i a)
__m128i _mm_maskz_cvtusepi32_epi8(__mmask8 k, __m128i a)

VPMOVUSDB m32 {k1}, xmm2    (V5+VL
void _mm_mask_cvtusepi32_storeu_epi8(void* d, __mmask8 k, __m128i a)

VPMOVUSDB xmm1 {k1}{z}, ymm2    (V5+VL
__m128i _mm256_cvtusepi32_epi8(__m256i a)
__m128i _mm256_mask_cvtusepi32_epi8(__m128i s, __mmask8 k, __m256i a)
__m128i _mm256_maskz_cvtusepi32_epi8(__mmask8 k, __m256i a)

VPMOVUSDB m64 {k1}, ymm2    (V5+VL
void _mm256_mask_cvtusepi32_storeu_epi8(void* d, __mmask8 k, __m256i a)

VPMOVUSDB xmm1 {k1}{z}, zmm2    (V5
__m128i _mm512_cvtusepi32_epi8(__m512i a)
__m128i _mm512_mask_cvtusepi32_epi8(__m128i s, __mmask16 k, __m512i a)
__m128i _mm512_maskz_cvtusepi32_epi8(__mmask16 k, __m512i a)

VPMOVUSDB m128 {k1}, zmm2    (V5
void _mm512_mask_cvtusepi32_storeu_epi8(void* d, __mmask16 k, __m512i a)


x86/x64 SIMD命令一覧表  フィードバック