Developer Guide and Reference

Contents

Intrinsics for FP 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_cvtps_pd
_mm512_mask_cvtps_pd
_mm512_maskz_cvtps_pd
_mm512_cvt_roundps_pd
,
_mm512_mask_cvt_roundps_pd
,
_mm512_maskz_cvt_roundps_pd
Converts rounded float32 to float 64.
VCVTPS2PD
_mm512_cvt_roundps_epi32
,
_mm512_mask_cvt_roundps_epi32
,
_mm512_maskz_cvt_roundps_epi32
_mm512_cvtt_roundps_epi32
,
_mm512_mask_cvtt_roundps_epi32
,
_mm512_maskz_cvtt_roundps_epi32
Converts rounded float32 to int32.
VCVTPS2DQ
/
VCVTTPS2DQ
_mm512_cvt_roundps_epu32
,
_mm512_mask_cvt_roundps_epu32
,
_mm512_maskz_cvt_roundps_epu32
_mm512_cvtt_roundps_epu32
,
_mm512_mask_cvtt_roundps_epu32
,
_mm512_maskz_cvtt_roundps_epu32
Converts rounded float32 to unsigned int32.
VCVTPS2UDQ
/
VCVTTPS2UDQ
_mm_cvt_roundsd_i32
,
_mm_cvt_roundsd_i64
_mm_cvtt_roundsd_i32
,
_mm_cvtt_roundsd_i64
Converts rounded scalar float64 to int32/int64.
VCVTSD2SI
/
VCVTTSD2SI
_mm_cvt_roundsd_u32
,
_mm_cvt_roundsd_u64
_mm_cvtt_roundsd_u32
,
_mm_cvtt_roundsd_u64
Converts rounded scalar float64 to unsigned int32/int64.
VCVTSD2USI
/
VCVTTSD2USI
_mm_cvt_roundss_i32
,
_mm_cvt_roundss_i64
_mm_cvtt_roundss_i32
,
_mm_cvtt_roundss_i64
Converts rounded scalar float32 to int32/int64.
VCVTSS2SI
/
VCVTTSS2SI
_mm_cvt_roundss_u32
,
_mm_cvt_roundss_u64
_mm_cvtt_roundss_u32
,
_mm_cvtt_roundss_u64
Converts rounded scalar float32 to unsigned int32/int64.
VCVTSS2USI
/
VCVTTSS2USI
_mm512_cvtpd_ps
_mm512_mask_cvtpd_ps
_mm512_maskz_cvtpd_ps
_mm512_cvt_roundpd_ps
,
_mm512_mask_cvt_roundpd_ps
,
_mm512_maskz_cvt_roundpd_ps
Converts rounded float64 to float32.
VCVTPD2PS
_mm512_cvt_roundpd_epi32
,
_mm512_mask_cvt_roundpd_epi32
,
_mm512_maskz_cvt_roundpd_epi32
_mm512_cvtt_roundpd_epi32
,
_mm512_mask_cvtt_roundpd_epi32
,
_mm512_maskz_cvtt_roundpd_epi32
Converts rounded float64 to int32.
VCVTPD2DQ
/
VCVTTPD2DQ
_mm512_cvt_roundpd_epu32
,
_mm512_mask_cvt_roundpd_epu32
,
_mm512_maskz_cvt_roundpd_epu32
_mm512_cvtt_roundpd_epu32
,
_mm512_mask_cvtt_roundpd_epu32
,
_mm512_maskz_cvtt_roundpd_epu32
Converts rounded float64 to unsigned int32.
VCVTPD2UDQ
/
VCVTTPD2UDQ
_mm512_cvtph_ps
_mm512_mask_cvtph_ps
_mm512_maskz_cvtph_ps
_mm512_cvt_roundph_ps
,
_mm512_mask_cvt_roundph_ps
,
_mm512_maskz_cvt_roundph_ps
Converts rounded float64 to float32.
VCVTPH2PS
_mm512_cvt_roundps_ph
,
_mm512_mask_cvt_roundps_ph
,
_mm512_maskz_cvt_roundps_ph
Converts rounded float32 to scalar float32.
VCVTPS2PH
_mm_mask_cvtss_sd
_mm_maskz_cvtss_sd
_mm_cvt_roundss_sd
,
_mm_mask_cvt_roundss_sd
,
_mm_maskz_cvt_roundss_sd
Converts rounded scalar float32 to scalar float64.
VCVTSS2SD
_mm_cvt_roundsd_ss
,
_mm_mask_cvt_roundsd_ss
,
_mm_maskz_cvt_roundsd_ss