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.



For more complete information about compiler optimizations, see our Optimization Notice.