# Intrinsics for Integer Conversion Operations

The prototypes for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) intrinsics are located in the zmmintrin.h header file.
To use these intrinsics, include the immintrin.h file as follows:

    #include <immintrin.h>

Intrinsic Name | Operation | Corresponding Intel® AVX-512 Instruction
--- | --- | ---
`_mm512_cvtepi8_epi32`, `_mm512_mask_cvtepi8_epi32`, `_mm512_maskz_cvtepi8_epi32` | Up-converts int8 to int32. | `VPMOVSXBD`
`_mm512_cvtepi8_epi64`, `_mm512_mask_cvtepi8_epi64`, `_mm512_maskz_cvtepi8_epi64` | Up-converts int8 to int64. | `VPMOVSXBQ`
`_mm512_cvtepi16_epi32`, `_mm512_mask_cvtepi16_epi32`, `_mm512_maskz_cvtepi16_epi32` | Up-converts int16 to int32. | `VPMOVSXWD`
`_mm512_cvtepi16_epi64`, `_mm512_mask_cvtepi16_epi64`, `_mm512_maskz_cvtepi16_epi64` | Up-converts int16 to int64. | `VPMOVSXWQ`
`_mm512_cvtepi32_epi8`, `_mm512_mask_cvtepi32_epi8`, `_mm512_maskz_cvtepi32_epi8` | Down-converts int32 to int8. | `VPMOVDB`
`_mm512_cvtsepi32_epi8`, `_mm512_mask_cvtsepi32_epi8`, `_mm512_maskz_cvtsepi32_epi8` | Down-converts signed int32 to int8. | `VPMOVSDB`
`_mm512_cvtusepi32_epi8`, `_mm512_mask_cvtusepi32_epi8`, `_mm512_maskz_cvtusepi32_epi8` | Down-converts unsigned int32 to int8. | `VPMOVUSDB`
`_mm512_cvtepi32_epi16`, `_mm512_mask_cvtepi32_epi16`, `_mm512_maskz_cvtepi32_epi16` | Down-converts int32 to int16. | `VPMOVDW`
`_mm512_cvtsepi32_epi16`, `_mm512_mask_cvtsepi32_epi16`, `_mm512_maskz_cvtsepi32_epi16` | Down-converts signed int32 to int16. | `VPMOVSDW`
`_mm512_cvtusepi32_epi16`, `_mm512_mask_cvtusepi32_epi16`, `_mm512_maskz_cvtusepi32_epi16` | Down-converts unsigned int32 to int16. | `VPMOVUSDW`
`_mm512_cvtepi32_epi64`, `_mm512_mask_cvtepi32_epi64`, `_mm512_maskz_cvtepi32_epi64` | Up-converts int32 to int64. | `VPMOVSXDQ`
`_mm512_cvtepi64_epi8`, `_mm512_mask_cvtepi64_epi8`, `_mm512_maskz_cvtepi64_epi8` | Down-converts int64 to int8. | `VPMOVQB`
`_mm512_cvtsepi64_epi8`, `_mm512_mask_cvtsepi64_epi8`, `_mm512_maskz_cvtsepi64_epi8` | Down-converts signed int64 to int8. | `VPMOVSQB`
`_mm512_cvtusepi64_epi8`, `_mm512_mask_cvtusepi64_epi8`, `_mm512_maskz_cvtusepi64_epi8` | Down-converts unsigned int64 to int8. | `VPMOVUSQB`
`_mm512_cvtepi64_epi16`, `_mm512_mask_cvtepi64_epi16`, `_mm512_maskz_cvtepi64_epi16` | Down-converts int64 to int16. | `VPMOVQW`
`_mm512_cvtsepi64_epi16`, `_mm512_mask_cvtsepi64_epi16`, `_mm512_maskz_cvtsepi64_epi16` | Down-converts signed int64 to int16. | `VPMOVSQW`
`_mm512_cvtusepi64_epi16`, `_mm512_mask_cvtusepi64_epi16`, `_mm512_maskz_cvtusepi64_epi16` | Down-converts unsigned int64 to int16. | `VPMOVUSQW`
`_mm512_cvtepi64_epi32`, `_mm512_mask_cvtepi64_epi32`, `_mm512_maskz_cvtepi64_epi32` | Down-converts int64 to int32. | `VPMOVQD`
`_mm512_cvtsepi64_epi32`, `_mm512_mask_cvtsepi64_epi32`, `_mm512_maskz_cvtsepi64_epi32` | Down-converts signed int64 to int32. | `VPMOVSQD`
`_mm512_cvtusepi64_epi32`, `_mm512_mask_cvtusepi64_epi32`, `_mm512_maskz_cvtusepi64_epi32` | Down-converts unsigned int64 to int32. | `VPMOVUSQD`
`_mm512_cvtepu8_epi64`, `_mm512_mask_cvtepu8_epi64`, `_mm512_maskz_cvtepu8_epi64` | Up-converts unsigned int8 to int64. | `VPMOVZXBQ`
`_mm512_cvtepu16_epi32`, `_mm512_mask_cvtepu16_epi32`, `_mm512_maskz_cvtepu16_epi32` | Up-converts unsigned int16 to int32. | `VPMOVZXWD`
`_mm512_cvtepu32_epi64`, `_mm512_mask_cvtepu32_epi64`, `_mm512_maskz_cvtepu32_epi64` | Up-converts unsigned int32 to int64. | `VPMOVZXDQ`
`_mm512_cvtepi32_pd`, `_mm512_mask_cvtepi32_pd`, `_mm512_maskz_cvtepi32_pd` | Converts int32 to float64. | `VCVTDQ2PD`
`_mm512_cvt_roundepi32_ps`, `_mm512_mask_cvt_roundepi32_ps`, `_mm512_maskz_cvt_roundepi32_ps` | Converts int32 to float32. | `VCVTDQ2PS`
`_mm512_cvt_roundepu32_ps`, `_mm512_mask_cvt_roundepu32_ps`, `_mm512_maskz_cvt_roundepu32_ps` | Converts unsigned int32 to float32. | `VCVTUDQ2PS`
`_mm512_cvtepu32_pd`, `_mm512_mask_cvtepu32_pd`, `_mm512_maskz_cvtepu32_pd` | Converts unsigned int32 to float64. | `VCVTUQD2PD`
`_mm_cvtu32_sd` | Converts unsigned int32 to scalar float64. | `VCVTUSI2SD`
`_mm_cvt_roundi64_sd`, `_mm_cvt_roundu64_sd` | Converts rounded int64 to scalar float64. | `VCVTSI2SD`
`_mm_cvt_roundi32_ss`, `_mm_cvt_roundi64_ss` | Converts unsigned int32 to scalar float32. | `VCVTSI2SS`
`_mm_cvt_roundu32_ss`, `_mm_cvt_roundu64_ss` | Converts rounded int64 to scalar float32. | `VCVTUSI2SS`
`_mm512_cvtsi512_si32` | Moves the least significant vector element to a scalar 32-bit integer. | `MOVD`/`VMOVD`

variable | definition
k | zeromask used as a selector
k | writemask used as a selector
a | first source vector element
b | second source vector element
c | third source vector element
round | Rounding control values; these can be one of the following (along with the `sae` suppress all exceptions flag): `_MM_FROUND_TO_NEAREST_INT` - rounds to nearest even `_MM_FROUND_TO_NEG_INF` - rounds to negative infinity `_MM_FROUND_TO_POS_INF` - rounds to positive infinity `_MM_FROUND_TO_ZERO` - rounds to zero `_MM_FROUND_CUR_DIRECTION` - rounds using default from MXCSR register
src | source element

_mm512_cvt_roundpd_epi32

    	extern __m256i __cdecl _mm512_cvt_roundpd_epi32(__m512d a, int round);

Converts packed float64 elements in a to packed 32-bit integers, and stores the result.

_mm512_cvtpd_epi32

    	extern __m256i __cdecl _mm512_cvtpd_epi32(__m512d a);

Converts packed float64 elements in a to packed 32-bit integers, and stores the result.

_mm512_mask_cvt_roundpd_epi32

    	extern __m256i __cdecl _mm512_mask_cvt_roundpd_epi32(__m256i src, __mmask8 k, __m512d a, int round);

Converts packed float64 elements in a to packed 32-bit integers, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtpd_epi32

    	extern __m256i __cdecl _mm512_mask_cvtpd_epi32(__m256i src, __mmask8 k, __m512d a);

Converts packed float64 elements in a to packed 32-bit integers, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvt_roundpd_epi32

    	extern __m256i __cdecl _mm512_maskz_cvt_roundpd_epi32(__mmask8 k, __m512d a, int round);

Converts packed float64 elements in a to packed 32-bit integers, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_maskz_cvtpd_epi32

    	extern __m256i __cdecl _mm512_maskz_cvtpd_epi32(__mmask8 k, __m512d a);

Converts packed float64 elements in a to packed 32-bit integers, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvt_roundpd_epu32

    	extern __m256i __cdecl _mm512_cvt_roundpd_epu32(__m512d a, int round);

Converts packed float64 elements in a to packed unsigned 32-bit integers, and stores the result.

_mm512_cvtpd_epu32

    	extern __m256i __cdecl _mm512_cvtpd_epu32(__m512d a);

Converts packed float64 elements in a to packed unsigned 32-bit integers, and stores the result.

_mm512_mask_cvt_roundpd_epu32

    	extern __m256i __cdecl _mm512_mask_cvt_roundpd_epu32(__m256i src, __mmask8 k, __m512d a, int round);

Converts packed float64 elements in a to packed unsigned 32-bit integers, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtpd_epu32

    	extern __m256i __cdecl _mm512_mask_cvtpd_epu32(__m256i src, __mmask8 k, __m512d a);

Converts packed float64 elements in a to packed unsigned 32-bit integers, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvt_roundpd_epu32

    	extern __m256i __cdecl _mm512_maskz_cvt_roundpd_epu32(__mmask8 k, __m512d a, int round);

Converts packed float64 elements in a to packed unsigned 32-bit integers, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_maskz_cvtpd_epu32

    	extern __m256i __cdecl _mm512_maskz_cvtpd_epu32(__mmask8 k, __m512d a);

Converts packed float64 elements in a to packed unsigned 32-bit integers, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvt_roundps_epi32

    	extern __m512i __cdecl _mm512_cvt_roundps_epi32(__m512 a, int round);

Converts packed float32 elements in a to packed 32-bit integers, and stores the result.

_mm512_cvtps_epi32

    	extern __m512i __cdecl _mm512_cvtps_epi32(__m512 a);

Converts packed float32 elements in a to packed 32-bit integers, and stores the result.

_mm512_mask_cvt_roundps_epi32

    	extern __m512i __cdecl _mm512_mask_cvt_roundps_epi32(__m512i src, __mmask16 k, __m512 a, int round);

Converts packed float32 elements in a to packed 32-bit integers, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtps_epi32

    	extern __m512i __cdecl _mm512_mask_cvtps_epi32(__m512i src, __mmask16 k, __m512 a);

Converts packed float32 elements in a to packed 32-bit integers, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvt_roundps_epi32

    	extern __m512i __cdecl _mm512_maskz_cvt_roundps_epi32(__mmask16 k, __m512 a, int round);

Converts packed float32 elements in a to packed 32-bit integers, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_maskz_cvtps_epi32

    	extern __m512i __cdecl _mm512_maskz_cvtps_epi32(__mmask16 k, __m512 a);

Converts packed float32 elements in a to packed 32-bit integers, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvt_roundps_ph

    	extern __m256i __cdecl _mm512_cvt_roundps_ph(__m512 a, int round);

Converts packed float32 elements in a to packed half-precision (16-bit) floating-point elements, and stores the result.

_mm512_cvtps_ph

    	extern __m256i __cdecl _mm512_cvtps_ph(__m512 a, int round);

Converts packed float32 elements in a to packed half-precision (16-bit) floating-point elements, and stores the result.

_mm512_mask_cvt_roundps_ph

    	extern __m256i __cdecl _mm512_mask_cvt_roundps_ph(__m256i src, __mmask16 k, __m512 a, int round);

Converts packed float32 elements in a to packed half-precision (16-bit) floating-point elements, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtps_ph

    	extern __m256i __cdecl _mm512_mask_cvtps_ph(__m256i src, __mmask16 k, __m512 a, int round);

Converts packed float32 elements in a to packed half-precision (16-bit) floating-point elements, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvt_roundps_ph

    	extern __m256i __cdecl _mm512_maskz_cvt_roundps_ph(__mmask16 k, __m512 a, int round);

Converts packed float32 elements in a to packed half-precision (16-bit) floating-point elements, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_maskz_cvtps_ph

    	extern __m256i __cdecl _mm512_maskz_cvtps_ph(__mmask16 k, __m512 a, int round);

Converts packed float32 elements in a to packed half-precision (16-bit) floating-point elements, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvt_roundps_epu32

    	extern __m512i __cdecl _mm512_cvt_roundps_epu32(__m512 a, int round);

Converts packed float32 elements in a to packed unsigned 32-bit integers, and stores the result.

_mm512_cvtps_epu32

    	extern __m512i __cdecl _mm512_cvtps_epu32(__m512 a);

Converts packed float32 elements in a to packed unsigned 32-bit integers, and stores the result.

_mm512_mask_cvt_roundps_epu32

    	extern __m512i __cdecl _mm512_mask_cvt_roundps_epu32(__m512i src, __mmask16 k, __m512 a, int round);

Converts packed float32 elements in a to packed unsigned 32-bit integers, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtps_epu32

    	extern __m512i __cdecl _mm512_mask_cvtps_epu32(__m512i src, __mmask16 k, __m512 a);

Converts packed float32 elements in a to packed unsigned 32-bit integers, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvt_roundps_epu32

    	extern __m512i __cdecl _mm512_maskz_cvt_roundps_epu32(__mmask16 k, __m512 a, int round);

Converts packed float32 elements in a to packed unsigned 32-bit integers, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_maskz_cvtps_epu32

    	extern __m512i __cdecl _mm512_maskz_cvtps_epu32(__mmask16 k, __m512 a);

Converts packed float32 elements in a to packed unsigned 32-bit integers, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_cvt_roundsd_i32

    	extern int __cdecl _mm_cvt_roundsd_i32(__m128d, int);

Convert the lower float64 element in a to a 32-bit integer, and stores the result.

_mm_cvt_roundsd_i64

    	extern __int64 __cdecl _mm_cvt_roundsd_i64(__m128d, int);

Convert the lower float64 element in a to a 64-bit integer, and stores the result.

_mm_cvt_roundsd_si32

    	extern int __cdecl _mm_cvt_roundsd_i32(__m128d, int);

Convert the lower float64 element in a to a 32-bit integer, and stores the result.

_mm_cvt_roundsd_si64

    	extern __int64 __cdecl _mm_cvt_roundsd_i64(__m128d, int);

Convert the lower float64 element in a to a 64-bit integer, and stores the result.

_mm_cvtsd_i32

    	extern int __cdecl _mm_cvtsd_i32(__m128d, int);

Convert the lower float64 element in a to a 32-bit integer, and stores the result.

_mm_cvtsd_i64

    	extern __int64 __cdecl _mm_cvtsd_i64(__m128d, int);

Convert the lower float64 element in a to a 64-bit integer, and stores the result.

_mm_cvt_roundsd_ss

    	extern __m128 __cdecl _mm_cvtsd_ss(__m128 a, __m128d b, int round);

Convert the lower float64 element in b to a float32 element, and stores the result in the lower destination element, and copies the upper three packed elements from a to the upper destination elements.

_mm_mask_cvt_roundsd_ss

    	extern __m128 __cdecl _mm_mask_cvt_roundsd_ss(__m128 src, __mmask8 k, __m128 a, __m128d b, int round);

Convert the lower float64 element in b to a float32 element, and stores the result in the lower destination element using writemask k (the element is copied from src when mask bit 0 is not set), and copies the upper element from a to the upper destination element.

_mm_mask_cvtsd_ss

    	extern __m128 __cdecl _mm_mask_cvtsd_ss(__m128 src, __mmask8 k, __m128 a, __m128d b, int round);

Convert the lower float64 element in b to a float32 element, and stores the result in the lower destination element using writemask k (the element is copied from src when mask bit 0 is not set), and copies the upper element from a to the upper destination element.

_mm_maskz_cvt_roundsd_ss

    	extern __m128 __cdecl _mm_maskz_cvt_roundsd_ss(__mmask8 k, __m128 a, __m128d b, int round);

Convert the lower float64 element in b to a float32 element, and stores the result in the lower destination element using zeromask k (the element is zeroed out when mask bit 0 is not set), and copies the upper three packed elements from a to the upper destination elements.

_mm_maskz_cvtsd_ss

    	extern __m128 __cdecl _mm_maskz_cvtsd_ss(__mmask8 k, __m128 a, __m128d b, int round);

Convert the lower float64 element in b to a float32 element, and stores the result in the lower destination element using zeromask k (the element is zeroed out when mask bit 0 is not set), and copies the upper three packed elements from a to the upper destination elements.

_mm_cvt_roundsd_u32

    	 extern unsigned int __cdecl _mm_cvt_roundsd_u32(__m128d a, int round);

Convert the lower float64 element in a to an unsigned 32-bit integer, and stores the result.

_mm_cvt_roundsd_u64

    	 extern unsigned __int64 __cdecl _mm_cvt_roundsd_u64(__m128d a, int round);

Convert the lower float64 element in a to an unsigned 64-bit integer, and stores the result.

_mm_cvtsd_u32

    	 extern unsigned int __cdecl _mm_cvtsd_u32(__m128d a);

Convert the lower float64 element in a to an unsigned 32-bit integer, and stores the result.

_mm_cvtsd_u64

    	 extern unsigned __int64 __cdecl _mm_cvtsd_u64(__m128d a);

Convert the lower float64 element in a to an unsigned 64-bit integer, and stores the result.

_mm_cvt_roundss_i32

    	extern int __cdecl _mm_cvt_roundss_i32(__m128 a, int round);

Convert the lower float32 element in a to a 32-bit integer, and stores the result.

_mm_cvt_roundss_i64

    	extern __int64 __cdecl _mm_cvt_roundss_i64(__m128 a, int round);

Convert the lower float32 element in a to a 64-bit integer, and stores the result.

_mm_cvt_roundss_si32

    	extern int __cdecl _mm_cvt_roundss_si32(__m128 a, int round);

Convert the lower float32 element in a to a 32-bit integer, and stores the result.

_mm_cvt_roundss_si64

    	extern __int64 __cdecl _mm_cvt_roundss_si64(__m128 a, int round);

Convert the lower float32 element in a to a 64-bit integer, and stores the result.

_mm_cvtss_i32

    	extern

Convert the lower float32 element in a to a 32-bit integer, and stores the result.

_mm_cvtss_i64

    	extern

Convert the lower float32 element in a to a 64-bit integer, and stores the result.

_mm_cvt_roundss_u32

    	 extern unsigned int __cdecl _mm_cvt_roundss_u32(__m128 a, int round);

Convert the lower float32 element in a to an unsigned 32-bit integer, and stores the result.

_mm_cvt_roundss_u64

    	 extern unsigned __int64 __cdecl _mm_cvt_roundss_u64(__m128 a, int round);

Convert the lower float32 element in a to an unsigned 64-bit integer, and stores the result.

_mm_cvtss_u32

    	 extern unsigned int __cdecl _mm_cvtss_u32(__m128 a);

Convert the lower float32 element in a to an unsigned 32-bit integer, and stores the result.

_mm_cvtss_u64

    	 extern unsigned __int64 __cdecl _mm_cvtss_u64(__m128 a);

Convert the lower float32 element in a to an unsigned 64-bit integer, and stores the result.

_mm512_cvtt_roundpd_epi32

    	 extern __m256i __cdecl _mm512_cvtt_roundpd_epi32(__m512d a, int round);

Converts packed float64 elements in a to packed int32 elements with truncation, and stores the result.

### Note

Pass `__MM_FROUND_NO_EXC` to sae to suppress all exceptions.

_mm512_cvttpd_epi32

    	 extern __m256i __cdecl _mm512_cvttpd_epi32(__m512d a);

Converts packed float64 elements in a to packed int32 elements with truncation, and stores the result in dst.

_mm512_mask_cvtt_roundpd_epi32

    	 extern __m256i __cdecl _mm512_mask_cvtt_roundpd_epi32(__m256i src, __mmask8 k, __m512d a, int round);

Converts packed float64 elements in a to packed int32 elements with truncation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

### Note

Pass `__MM_FROUND_NO_EXC` to sae to suppress all exceptions.

_mm512_mask_cvttpd_epi32

    	 extern __m256i __cdecl _mm512_mask_cvttpd_epi32(__m256i src, __mmask8 k, __m512d a, int round);

Converts packed float64 elements in a to packed int32 elements with truncation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtt_roundpd_epi32

    	 extern __m256i __cdecl _mm512_maskz_cvtt_roundpd_epi32(__mmask8 k, __m512d a, int round);

Converts packed float64 elements in a to packed int32 elements with truncation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

### Note

Pass `__MM_FROUND_NO_EXC` to sae to suppress all exceptions.

_mm512_maskz_cvttpd_epi32

    	 extern __m256i __cdecl _mm512_maskz_cvttpd_epi32(__mmask8 k, __m512d a);

Converts packed float64 elements in a to packed int32 elements with truncation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtt_roundpd_epu32

    	 extern __m256i __cdecl _mm512_cvtt_roundpd_epu32(__m512d a, int round);

Converts packed float64 elements in a to packed unsigned int32 elements with truncation, and stores the result.

### Note

Pass `__MM_FROUND_NO_EXC` to sae to suppress all exceptions.

_mm512_cvttpd_epu32

    	 extern __m256i __cdecl _mm512_cvttpd_epu32(__m512d a);

Converts packed float64 elements in a to packed unsigned int32 elements with truncation, and stores the result.

_mm512_mask_cvtt_roundpd_epu32

    	 extern __m256i __cdecl _mm512_mask_cvtt_roundpd_epu32(__m256i src, __mmask8 k, __m512d a, int round);

Converts packed float64 elements in a to packed unsigned int32 elements with truncation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

### Note

Pass `__MM_FROUND_NO_EXC` to sae to suppress all exceptions.

_mm512_mask_cvttpd_epu32

    	 extern __m256i __cdecl _mm512_mask_cvttpd_epu32(__m256i src, __mmask8 k, __m512d a);

Converts packed float64 elements in a to packed unsigned int32 elements with truncation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtt_roundpd_epu32

    	 extern __m256i __cdecl _mm512_maskz_cvtt_roundpd_epu32(__mmask8 k, __m512d a, int round);

Converts packed float64 elements in a to packed unsigned int32 elements with truncation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

### Note

Pass `__MM_FROUND_NO_EXC` to sae to suppress all exceptions.

_mm512_maskz_cvttpd_epu32

    	 extern __m256i __cdecl _mm512_maskz_cvtt_roundpd_epu32(__mmask8 k, __m512d a);

Converts packed float64 elements in a to packed unsigned int32 elements with truncation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtt_roundps_epi32

    	 extern __m512i __cdecl _mm512_cvtt_roundps_epi32(__m512 a, int round);

Converts packed float32 elements in a to packed int32 elements with truncation, and stores the result.

### Note

Pass `__MM_FROUND_NO_EXC` to sae to suppress all exceptions.

_mm512_cvttps_epi32

    	 extern __m512i __cdecl _mm512_cvttps_epi32(__m512 a);

Converts packed float32 elements in a to packed int32 elements with truncation, and stores the result.

_mm512_mask_cvtt_roundps_epi32

    	 extern __m512i __cdecl _mm512_mask_cvtt_roundps_epi32(__m512i src, __mmask16 k, __m512 a, int round);

Converts packed float32 elements in a to packed int32 elements with truncation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

### Note

Pass `__MM_FROUND_NO_EXC` to sae to suppress all exceptions.

_mm512_mask_cvttps_epi32

    	 extern __m512i __cdecl _mm512_mask_cvttps_epi32(__m512i src, __mmask16 k, __m512 a);

Converts packed float32 elements in a to packed int32 elements with truncation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtt_roundps_epi32

    	 extern __m512i __cdecl _mm512_maskz_cvtt_roundps_epi32(__mmask16 k, __m512 a, int round);

Converts packed float32 elements in a to packed int32 elements with truncation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

### Note

Pass `__MM_FROUND_NO_EXC` to sae to suppress all exceptions.

_mm512_maskz_cvttps_epi32

    	 extern __m512i __cdecl _mm512_maskz_cvttps_epi32(__mmask16 k, __m512 a);

Converts packed float32 elements in a to packed int32 elements with truncation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtt_roundps_epu32

    	 extern __m512i __cdecl _mm512_cvtt_roundps_epu32(__m512 a, int round);

Converts packed float32 elements in a to packed unsigned int32 elements with truncation, and stores the result.

### Note

Pass `__MM_FROUND_NO_EXC` to sae to suppress all exceptions.

_mm512_cvttps_epu32

    	 extern __m512i __cdecl _mm512_cvttps_epu32(__m512 a);

Converts packed float32 elements in a to packed unsigned int32 elements with truncation, and stores the result.

_mm512_mask_cvtt_roundps_epu32

    	 extern __m512i __cdecl _mm512_mask_cvtt_roundps_epu32(__m512i src, __mmask16 k, __m512 a, int round);

Converts packed float32 elements in a to packed unsigned int32 elements with truncation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

### Note

Pass `__MM_FROUND_NO_EXC` to sae to suppress all exceptions.

_mm512_mask_cvttps_epu32

    	 extern __m512i __cdecl _mm512_mask_cvttps_epu32(__m512i src, __mmask16 k, __m512 a);

Converts packed double-precision (32-bit) floating-point elements in a to packed unsigned int32 elements with truncation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtt_roundps_epu32

    	 extern __m512i __cdecl _mm512_maskz_cvtt_roundps_epu32(__mmask16 k, __m512 a, int round);

Converts packed float32 elements in a to packed unsigned int32 elements with truncation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

### Note

Pass `__MM_FROUND_NO_EXC` to sae to suppress all exceptions.

_mm512_maskz_cvttps_epu32

    	 extern __m512i __cdecl _mm512_maskz_cvttps_epu32(__mmask16 k, __m512 a);

Converts packed double-precision (32-bit) floating-point elements in a to packed unsigned int32 elements with truncation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_cvtt_roundsd_i32

    	 extern int __cdecl _mm_cvtt_roundsd_i32(__m128d a, int round);

Convert the lower float64 element in a to a 32-bit integer with truncation, and stores the result.

_mm_cvtt_roundsd_i64

    	 extern __int64 __cdecl _mm_cvtt_roundsd_i64(__m128d a, int round);

Convert the lower float64 element in a to a 64-bit integer with truncation, and stores the result.

_mm_cvtt_roundsd_si32

    	 extern int __cdecl _mm_cvtt_roundsd_si32(__m128d a, int round);

Convert the lower float64 element in a to a 32-bit integer with truncation, and stores the result.

_mm_cvtt_roundsd_si64

    	 extern __int64 __cdecl _mm_cvtt_roundsd_si64(__m128d a, int round);

Convert the lower float64 element in a to a 64-bit integer with truncation, and stores the result.

_mm_cvttsd_i32

    	 extern int __cdecl _mm_cvttsd_i32(__m128d a);

Convert the lower float64 element in a to a 32-bit integer with truncation, and stores the result.

_mm_cvttsd_i64

    	 extern __int64 __cdecl _mm_cvttsd_i64(__m128d a);

Convert the lower float64 element in a to a 64-bit integer with truncation, and stores the result.

_mm_cvtt_roundsd_u32

    	 extern unsigned int __cdecl _mm_cvtt_roundsd_u32(__m128d a, int);

Convert the lower float64 element in a to an unsigned 32-bit integer with truncation, and stores the result.

_mm_cvtt_roundsd_u64

    	 extern unsigned __int64 __cdecl _mm_cvtt_roundsd_u64(__m128d a, int);

Convert the lower float64 element in a to an unsigned 64-bit integer with truncation, and stores the result.

_mm_cvttsd_u32

    	 extern unsigned int __cdecl _mm_cvtt_u32(__m128d a, int);

Convert the lower float64 element in a to an unsigned 32-bit integer with truncation, and stores the result.

_mm_cvttsd_u64

    	 extern unsigned __int64 __cdecl _mm_cvttsd_u64(__m128d a, int);

Convert the lower float64 element in a to an unsigned 64-bit integer with truncation, and stores the result.

_mm_cvtt_roundss_i32

    	 extern int __cdecl _mm_cvtt_roundss_i32(__m128 a, int);

Convert the lower float32 element in a to a 32-bit integer with truncation, and stores the result.

_mm_cvtt_roundss_i64

    	 extern __int64 __cdecl _mm_cvtt_roundss_i64(__m128 a, int);

Convert the lower float32 element in a to a 64-bit integer with truncation, and stores the result.

_mm_cvtt_roundss_si32

    	 extern int __cdecl _mm_cvtt_roundss_si32(__m128 a, int);

Convert the lower float32 element in a to a 32-bit integer with truncation, and stores the result.

_mm_cvtt_roundss_si64

    	 extern __int64 __cdecl _mm_cvtt_roundss_si64(__m128 a, int);

Convert the lower float32 element in a to a 64-bit integer with truncation, and stores the result.

_mm_cvttss_i32

    	 extern int __cdecl _mm_cvttss_i32(__m128 a);

Convert the lower float32 element in a to a 32-bit integer with truncation, and stores the result.

_mm_cvttss_i64

    	 extern __int64 __cdecl _mm_cvttss_i64(__m128 a);

Convert the lower float32 element in a to a 64-bit integer with truncation, and stores the result.

_mm_cvtt_roundss_u32

    	 extern unsigned int __cdecl _mm_cvtt_roundss_u32(__m128 a, int);

Convert the lower float32 element in a to an unsigned 32-bit integer with truncation, and stores the result.

_mm_cvtt_roundss_u64

    	 extern unsigned __int64 __cdecl _mm_cvtt_roundss_u64(__m128, int);

Convert the lower float32 element in a to an unsigned 64-bit integer with truncation, and stores the result.

_mm_cvttss_u32

    	 extern unsigned int __cdecl _mm_cvttss_u32(__m128 a);

Convert the lower float32 element in a to an unsigned 32-bit integer with truncation, and stores the result.

_mm_cvttss_u64

    	 extern unsigned __int64 __cdecl _mm_cvttss_u64(__m128);

Convert the lower float32 element in a to an unsigned 64-bit integer with truncation, and stores the result.

_mm512_cvtepi32_epi8

    	 extern __m128i __cdecl _mm512_cvtepi32_epi8(__m512i a);

Converts packed int32 elements in a to packed 8-bit integers with truncation, and stores the result.

_mm512_mask_cvtepi32_epi8

    	 extern __m128i __cdecl _mm512_mask_cvtepi32_epi8(__m128i src, __mmask16 k, __m512i a);

Converts packed int32 elements in a to packed 8-bit integers with truncation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtepi32_storeu_epi8

    	 extern void __cdecl _mm512_mask_cvtepi32_storeu_epi8(void* base_addr, __mmask16 k, __m512i a);

Converts packed int32 elements in a to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtepi32_epi8

    	 extern __m128i __cdecl _mm512_maskz_cvtepi32_epi8(__mmask16 k, __m512i a);

Converts packed int32 elements in a to packed 8-bit integers with truncation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepi32_epi16

    	 extern __m256i __cdecl _mm512_cvtepi32_epi16(__m512i a);

Converts packed int32 elements in a to packed 16-bit integers with truncation, and stores the result.

_mm512_mask_cvtepi32_epi16

    	 extern __m256i __cdecl _mm512_mask_cvtepi32_epi16(__m256i src, __mmask16 k, __m512i a);

Converts packed int32 elements in a to packed 16-bit integers with truncation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtepi32_storeu_epi16

    	 extern void __cdecl _mm512_mask_cvtepi32_storeu_epi16(void* base_addr, __mmask16 k, __m512i a);

Converts packed int32 elements in a to packed 16-bit integers with truncation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtepi32_epi16

    	 extern __m256i __cdecl _mm512_maskz_cvtepi32_epi16(__mmask16 k, __m512i a);

Converts packed int32 elements in a to packed 16-bit integers with truncation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepi64_epi8

    	 extern __m128i __cdecl _mm512_cvtepi64_epi8(__m512i a);

Converts packed int64 elements in a to packed 8-bit integers with truncation, and stores the result.

_mm512_mask_cvtepi64_epi8

    	 extern __m128i __cdecl _mm512_mask_cvtepi64_epi8(__m128i src, __mmask8 k, __m512i a);

Converts packed int64 elements in a to packed 8-bit integers with truncation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtepi64_storeu_epi8

    	 extern void __cdecl _mm512_mask_cvtepi64_storeu_epi8(void* base_addr, __mmask8 k, __m512i a);

Converts packed int64 elements in a to packed 8-bit integers with truncation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtepi64_epi8

    	 extern __m128i __cdecl _mm512_maskz_cvtepi64_epi8(__mmask8 k, __m512i a);

Converts packed int64 elements in a to packed 8-bit integers with truncation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepi64_epi32

    	 extern __m256i __cdecl _mm512_cvtepi64_epi32(__m512i a);

Converts packed int64 elements in a to packed int32 elements with truncation, and stores the result.

_mm512_mask_cvtepi64_epi32

    	 extern __m256i __cdecl _mm512_mask_cvtepi64_epi32(__m256i src, __mmask8 k, __m512i a);

Converts packed int64 elements in a to packed int32 elements with truncation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtepi64_storeu_epi32

    	 extern void __cdecl _mm512_mask_cvtepi64_storeu_epi32(void* base_addr, __mmask8 k, __m512i a);

Converts packed int64 elements in a to packed int32 elements with truncation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtepi64_epi32

    	 extern __m256i __cdecl _mm512_maskz_cvtepi64_epi32(__mmask8 k, __m512i a);

Converts packed int64 elements in a to packed int32 elements with truncation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepi64_epi16

    	 extern __m128i __cdecl _mm512_cvtepi64_epi16(__m512i a);

Converts packed int64 elements in a to packed 16-bit integers with truncation, and stores the result.

_mm512_mask_cvtepi64_epi16

    	 extern __m128i __cdecl _mm512_mask_cvtepi64_epi16(__m128i src, __mmask8 k, __m512i a);

Converts packed int64 elements in a to packed 16-bit integers with truncation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtepi64_storeu_epi16

    	 extern void __cdecl _mm512_mask_cvtepi64_storeu_epi16(void* base_addr, __mmask8 k, __m512i a);

Converts packed int64 elements in a to packed 16-bit integers with truncation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtepi64_epi16

    	 extern __m128i __cdecl _mm512_maskz_cvtepi64_epi16(__mmask8 k, __m512i a);

Converts packed int64 elements in a to packed 16-bit integers with truncation, and stores the result in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtsepi32_epi8

    	 extern __m128i __cdecl _mm512_cvtsepi32_epi8(__m512i a);

Converts packed int32 elements in a to packed 8-bit integers with signed saturation, and stores the result.

_mm512_mask_cvtsepi32_epi8

    	 extern __m128i __cdecl _mm512_mask_cvtsepi32_epi8(__m128i src, __mmask16 k, __m512i a);

Converts packed int32 elements in a to packed 8-bit integers with signed saturation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtsepi32_storeu_epi8

    	 extern void __cdecl _mm512_mask_cvtsepi32_storeu_epi8(void* base_addr, __mmask16 k, __m512i a);

Converts packed int32 elements in a to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtsepi32_epi8

    	 extern __m128i __cdecl _mm512_maskz_cvtsepi32_epi8(__mmask16 k, __m512i a);

Converts packed int32 elements in a to packed 8-bit integers with signed saturation, and stores the result in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtsepi32_epi16

    	 extern __m256i __cdecl _mm512_cvtsepi32_epi16(__m512i a);

Converts packed int32 elements in a to packed 16-bit integers with signed saturation, and stores the result.

_mm512_mask_cvtsepi32_epi16

    	 extern __m256i __cdecl _mm512_mask_cvtsepi32_epi16(__m256i src, __mmask16 k, __m512i a);

Converts packed int32 elements in a to packed 16-bit integers with signed saturation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtsepi32_storeu_epi16

    	 extern void __cdecl _mm512_mask_cvtsepi32_storeu_epi16(void* base_addr, __mmask16 k, __m512i a);

Converts packed int32 elements in a to packed 16-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtsepi32_epi16

    	 extern __m256i __cdecl _mm512_maskz_cvtsepi32_epi16(__mmask16 k, __m512i a);

Converts packed int32 elements in a to packed 16-bit integers with signed saturation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtsepi64_epi8

    	 extern __m128i __cdecl _mm512_cvtsepi64_epi8(__m512i a);

Converts packed int64 elements in a to packed 8-bit integers with signed saturation, and stores the result.

_mm512_mask_cvtsepi64_epi8

    	 extern __m128i __cdecl _mm512_mask_cvtsepi64_epi8(__m128i src, __mmask8 k, __m512i a);

Converts packed int64 elements in a to packed 8-bit integers with signed saturation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtsepi64_storeu_epi8

    	 extern void __cdecl _mm512_mask_cvtsepi64_storeu_epi8(void* base_addr, __mmask8 k, __m512i a);

Converts packed int64 elements in a to packed 8-bit integers with signed saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtsepi64_epi8

    	 extern __m128i __cdecl _mm512_maskz_cvtsepi64_epi8(__mmask8 k, __m512i a);

Converts packed int64 elements in a to packed 8-bit integers with signed saturation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtsepi64_epi32

    	 extern __m256i __cdecl _mm512_cvtsepi64_epi32(__m512i a);

Converts packed int64 elements in a to packed int32 elements with signed saturation, and stores the result.

_mm512_mask_cvtsepi64_epi32

    	 extern __m256i __cdecl _mm512_mask_cvtsepi64_epi32(__m256i src, __mmask8 k, __m512i a);

Converts packed int64 elements in a to packed int32 elements with signed saturation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtsepi64_storeu_epi32

    	 extern void __cdecl _mm512_mask_cvtsepi64_storeu_epi32(void* base_addr, __mmask8 k, __m512i a);

Converts packed int64 elements in a to packed int32 elements with signed saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtsepi64_epi32

    	 extern __m256i __cdecl _mm512_maskz_cvtsepi64_epi32(__mmask8 k, __m512i a);

Converts packed int64 elements in a to packed int32 elements with signed saturation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtsepi64_epi16

    	 extern __m128i __cdecl _mm512_cvtsepi64_epi16(__m512i a);

Converts packed int64 elements in a to packed 16-bit integers with signed saturation, and stores the result.

_mm512_mask_cvtsepi64_epi16

    	 extern __m128i __cdecl _mm512_mask_cvtsepi64_epi16(__m128i src, __mmask8 k, __m512i a);

Converts packed int64 elements in a to packed 16-bit integers with signed saturation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtsepi64_storeu_epi16

    	 extern void __cdecl _mm512_mask_cvtsepi64_storeu_epi16(void* base_addr, __mmask8 k, __m512i a);

Converts packed int64 elements in a to packed 16-bit integers with signed saturation, and stores the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtsepi64_epi16

    	 extern __m128i __cdecl _mm512_maskz_cvtsepi64_epi16(__mmask8 k, __m512i a);

Converts packed int64 elements in a to packed 16-bit integers with signed saturation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepi8_epi32

    	 extern __m512i __cdecl _mm512_cvtepi8_epi32(__m128i a);

Sign extend packed 8-bit integers in a to packed 32-bit integers, and stores the result.

_mm512_mask_cvtepi8_epi32

    	 extern __m512i __cdecl _mm512_mask_cvtepi8_epi32(__m512i src, __mmask16 k, __m128i a);

Sign extend packed 8-bit integers in a to packed 32-bit integers, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtepi8_epi32

    	 extern __m512i __cdecl _mm512_maskz_cvtepi8_epi32(__mmask16 k, __m128i a);

Sign extend packed 8-bit integers in a to packed 32-bit integers, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepi8_epi64

    	 extern __m512i __cdecl _mm512_cvtepi8_epi64(__m128i a);

Sign extend packed 8-bit integers in the low 8 bytes of a to packed int64 elements, and stores the result.

_mm512_mask_cvtepi8_epi64

    	 extern __m512i __cdecl _mm512_mask_cvtepi8_epi64(__m512i src, __mmask8 k, __m128i a);

Sign extend packed 8-bit integers in the low 8 bytes of a to packed int64 elements, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtepi8_epi64

    	 extern __m512i __cdecl _mm512_maskz_cvtepi8_epi64(__mmask8 k, __m128i a);

Sign extend packed 8-bit integers in the low 8 bytes of a to packed int64 elements, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepi32_epi64

    	 extern __m512i __cdecl _mm512_cvtepi32_epi64(__m256i a);

Sign extend packed int32 elements in a to packed int64 elements, and stores the result.

_mm512_mask_cvtepi32_epi64

    	 extern __m512i __cdecl _mm512_mask_cvtepi32_epi64(__m512i src, __mmask8 k, __m256i a);

Sign extend packed int32 elements in a to packed int64 elements, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtepi32_epi64

    	 extern __m512i __cdecl _mm512_maskz_cvtepi32_epi64(__mmask8 k, __m256i a);

Sign extend packed int32 elements in a to packed int64 elements, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepi16_epi32

    	 extern __m512i __cdecl _mm512_cvtepi16_epi32(__m256i a);

Sign extend packed 16-bit integers in a to packed 32-bit integers, and stores the result.

_mm512_mask_cvtepi16_epi32

    	 extern __m512i __cdecl _mm512_mask_cvtepi16_epi32(__m512i src, __mmask16 k, __m256i a);

Sign extend packed 16-bit integers in a to packed 32-bit integers, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtepi16_epi32

    	 extern __m512i __cdecl _mm512_maskz_cvtepi16_epi32(__mmask16 k, __m256i a);

Sign extend packed 16-bit integers in a to packed 32-bit integers, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepi16_epi64

    	 extern __m512i __cdecl _mm512_cvtepi16_epi64(__m128i a);

Sign extend packed 16-bit integers in a to packed int64 elements, and stores the result.

_mm512_mask_cvtepi16_epi64

    	 extern __m512i __cdecl _mm512_mask_cvtepi16_epi64(__m512i src, __mmask8 k, __m128i a);

Sign extend packed 16-bit integers in a to packed int64 elements, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtepi16_epi64

    	 extern __m512i __cdecl _mm512_maskz_cvtepi16_epi64(__mmask8 k, __m128i a);

Sign extend packed 16-bit integers in a to packed int64 elements, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtusepi32_epi8

    	 extern __m128i __cdecl _mm512_cvtusepi32_epi8(__m512i a);

Converts packed unsigned int32 elements in a to packed unsigned 8-bit integers with unsigned saturation, and stores the result.

_mm512_mask_cvtusepi32_epi8

    	 extern __m128i __cdecl _mm512_mask_cvtusepi32_epi8(__m128i src, __mmask16 k, __m512i a);

Converts packed unsigned int32 elements in a to packed unsigned 8-bit integers with unsigned saturation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtusepi32_storeu_epi8

    	 extern void __cdecl _mm512_mask_cvtusepi32_storeu_epi8(void* base_addr, __mmask16 k, __m512i a);

Converts packed unsigned int32 elements in a to packed 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtusepi32_epi8

    	 extern __m128i __cdecl _mm512_maskz_cvtusepi32_epi8(__mmask16 k, __m512i a);

Converts packed unsigned int32 elements in a to packed unsigned 8-bit integers with unsigned saturation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtusepi32_epi16

    	 extern __m256i __cdecl _mm512_cvtusepi32_epi16(__m512i a);

Converts packed unsigned int32 elements in a to packed unsigned 16-bit integers with unsigned saturation, and stores the result.

_mm512_mask_cvtusepi32_epi16

    	 extern __m256i __cdecl _mm512_mask_cvtusepi32_epi16(__m256i src, __mmask16 k, __m512i a);

Converts packed unsigned int32 elements in a to packed unsigned 16-bit integers with unsigned saturation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtusepi32_storeu_epi16

    	 extern void __cdecl _mm512_mask_cvtusepi32_storeu_epi16(void* base_addr, __mmask16 k, __m512i a);

Converts packed unsigned int32 elements in a to packed 16-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtusepi32_epi16

    	 extern __m256i __cdecl _mm512_maskz_cvtusepi32_epi16(__mmask16 k, __m512i a);

Converts packed unsigned int32 elements in a to packed unsigned 16-bit integers with unsigned saturation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtusepi64_epi8

    	 extern __m128i __cdecl _mm512_cvtusepi64_epi8(__m512i a);

Converts packed unsigned int64 elements in a to packed unsigned 8-bit integers with unsigned saturation, and stores the result.

_mm512_mask_cvtusepi64_epi8

    	 extern __m128i __cdecl _mm512_mask_cvtusepi64_epi8(__m128i src, __mmask8 k, __m512i a);

Converts packed unsigned int64 elements in a to packed unsigned 8-bit integers with unsigned saturation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtusepi64_storeu_epi8

    	 extern void __cdecl _mm512_mask_cvtusepi64_storeu_epi8(void* base_addr, __mmask8 k, __m512i a);

Converts packed unsigned int64 elements in a to packed 8-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtusepi64_epi8

    	 extern __m128i __cdecl _mm512_maskz_cvtusepi64_epi8(__mmask8 k, __m512i a);

Converts packed unsigned int64 elements in a to packed unsigned 8-bit integers with unsigned saturation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtusepi64_epi32

    	 extern __m256i __cdecl _mm512_cvtusepi64_epi32(__m512i a);

Converts packed unsigned int64 elements in a to packed unsigned int32 elements with unsigned saturation, and stores the result.

_mm512_mask_cvtusepi64_epi32

    	 extern __m256i __cdecl _mm512_mask_cvtusepi64_epi32(__m256i src, __mmask8 k, __m512i a);

Converts packed unsigned int64 elements in a to packed unsigned int32 elements with unsigned saturation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtusepi64_storeu_epi32

    	 extern void __cdecl _mm512_mask_cvtusepi64_storeu_epi32(void* base_addr, __mmask8 k, __m512i a);

Converts packed unsigned int64 elements in a to packed int32 elements with unsigned saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtusepi64_epi32

    	 extern __m256i __cdecl _mm512_maskz_cvtusepi64_epi32(__mmask8 k, __m512i a);

Converts packed unsigned int64 elements in a to packed unsigned int32 elements with unsigned saturation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtusepi64_epi16

    	 extern __m128i __cdecl _mm512_cvtusepi64_epi16(__m512i a);

Converts packed unsigned int64 elements in a to packed unsigned 16-bit integers with unsigned saturation, and stores the result.

_mm512_mask_cvtusepi64_epi16

    	 extern __m128i __cdecl _mm512_mask_cvtusepi64_epi16(__m128i src, __mmask8 k, __m512i a);

Converts packed unsigned int64 elements in a to packed unsigned 16-bit integers with unsigned saturation, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_cvtusepi64_storeu_epi16

    	 extern void __cdecl _mm512_mask_cvtusepi64_storeu_epi16(void* base_addr, __mmask8 k, __m512i a);

Converts packed unsigned int64 elements in a to packed 16-bit integers with unsigned saturation, and store the active results (those with their respective bit set in writemask k) to unaligned memory at base_addr.

_mm512_maskz_cvtusepi64_epi16

    	 extern __m128i __cdecl _mm512_maskz_cvtusepi64_epi16(__mmask8 k, __m512i a);

Converts packed unsigned int64 elements in a to packed unsigned 16-bit integers with unsigned saturation, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepu8_epi32

    	 extern __m512i __cdecl _mm512_cvtepu8_epi32(__m128i a);

Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, and stores the result.

_mm512_mask_cvtepu8_epi32

    	 extern __m512i __cdecl _mm512_mask_cvtepu8_epi32(__m512i src, __mmask16 k, __m128i a);

Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtepu8_epi32

    	 extern __m512i __cdecl _mm512_maskz_cvtepu8_epi32(__mmask16 k, __m128i a);

Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepu8_epi64

    	 extern __m512i __cdecl _mm512_cvtepu8_epi64(__m128i a);

Zero extend packed unsigned 8-bit integers in the low 8 byte sof a to packed int64 elements, and stores the result.

_mm512_mask_cvtepu8_epi64

    	 extern __m512i __cdecl _mm512_mask_cvtepu8_epi64(__m512i src, __mmask8 k, __m128i a);

Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed int64 elements, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtepu8_epi64

    	 extern __m512i __cdecl _mm512_maskz_cvtepu8_epi64(__mmask8 k, __m128i a);

Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed int64 elements, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepu32_epi64

    	 extern __m512i __cdecl _mm512_cvtepu32_epi64(__m256i a);

Zero extend packed unsigned int32 elements in a to packed int64 elements, and stores the result.

_mm512_mask_cvtepu32_epi64

    	 extern __m512i __cdecl _mm512_mask_cvtepu32_epi64(__m512i src, __mmask8 k, __m256i a);

Zero extend packed unsigned int32 elements in a to packed int64 elements, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtepu32_epi64

    	 extern __m512i __cdecl _mm512_maskz_cvtepu32_epi64(__mmask8 k, __m256i a);

Zero extend packed unsigned int32 elements in a to packed int64 elements, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepu16_epi32

    	 extern __m512i __cdecl _mm512_cvtepu16_epi32(__m256i a);

Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, and stores the result.

_mm512_mask_cvtepu16_epi32

    	 extern __m512i __cdecl _mm512_mask_cvtepu16_epi32(__m512i src, __mmask16 k, __m256i a);

Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtepu16_epi32

    	 extern __m512i __cdecl _mm512_maskz_cvtepu16_epi32(__mmask16 k, __m256i a);

Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtepu16_epi64

    	 extern __m512i __cdecl _mm512_cvtepu16_epi64(__m128i a);

Zero extend packed unsigned 16-bit integers in a to packed int64 elements, and stores the result.

_mm512_mask_cvtepu16_epi64

    	 extern __m512i __cdecl _mm512_mask_cvtepu16_epi64(__m512i src, __mmask8 k, __m128i a);

Zero extend packed unsigned 16-bit integers in a to packed int64 elements, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_cvtepu16_epi64

    	 extern __m512i __cdecl _mm512_maskz_cvtepu16_epi64(__mmask8 k, __m128i a);

Zero extend packed unsigned 16-bit integers in a to packed int64 elements, and stores the result using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_cvtsi512_si32

    	 int _mm512_cvtsi512_si32(__m512i a);

Moves the least significant 32 bits of a to a 32-bit integer.

Parent topic: Intrinsics for Conversion Operations