x86 Compiler Intrinsics
3623 intrinsics from the Intel® SDM, each mapped to the instruction it compiles to - page 13 of 37, alphabetical. The global search in the top nav also matches intrinsic names directly.
| Intrinsic | Instruction | Signature |
|---|---|---|
| _mm512_extractf32x4_ps | vexpandps | VEXTRACTF32x4 __m128 _mm512_extractf32x4_ps(__m512 a, const int nidx); |
| _mm512_extractf32x8_ps | vexpandps | VEXTRACTF32x8 __m256 _mm512_extractf32x8_ps(__m512 a, const int nidx); |
| _mm512_extractf64x2_pd | vexpandps | VEXTRACTF64x2 __m128d _mm512_extractf64x2_pd(__m512d a, const int nidx); |
| _mm512_extractf64x4_pd | vexpandps | VEXTRACTF64x4 __m256d _mm512_extractf64x4_pd( __m512d a, const int nidx); |
| _mm512_extracti32x4_epi32 | vextracti128 | VEXTRACTI32x4 __m128i _mm512_extracti32x4_epi32(__m512i a, const int nidx); |
| _mm512_extracti32x8_epi32 | vextracti128 | VEXTRACTI32x8 __m256i _mm512_extracti32x8_epi32(__m512i a, const int nidx); |
| _mm512_extracti64x2_epi64 | vextracti128 | VEXTRACTI64x2 __m128i _mm512_extracti64x2_epi64(__m512i a, const int nidx); |
| _mm512_extracti64x4_epi64 | vextracti128 | VEXTRACTI64x4 __m256i _mm512_extracti64x4_epi64(__m512i a, const int nidx); |
| _mm512_fcmadd_pch | vfcmaddcph | VFCMADDCPH __m512h _mm512_fcmadd_pch (__m512h a, __m512h b, __m512h c); |
| _mm512_fcmadd_round_pch | vfcmaddcph | VFCMADDCPH __m512h _mm512_fcmadd_round_pch (__m512h a, __m512h b, __m512h c, const int rounding); |
| _mm512_fixupimm_pd | vfixupimmpd | VFIXUPIMMPD __m512d _mm512_fixupimm_pd( __m512d a, __m512d b, __m512i c, int imm8); |
| _mm512_fixupimm_ps | vfixupimmps | VFIXUPIMMPS __m512 _mm512_fixupimm_ps( __m512 a, __m512 b, __m512i c, int imm8); |
| _mm512_fixupimm_round_pd | vfixupimmpd | VFIXUPIMMPD __m512d _mm512_fixupimm_round_pd( __m512d a, __m512d b, __m512i c, int imm8, int sae); |
| _mm512_fixupimm_round_ps | vfixupimmps | VFIXUPIMMPS __m512 _mm512_fixupimm_round_ps( __m512 a, __m512 b, __m512i c, int imm8, int sae); |
| _mm512_fmadd_pch | vfmaddcph | VFMADDCPH __m512h _mm512_fmadd_pch (__m512h a, __m512h b, __m512h c); |
| _mm512_fmadd_ph | vfmadd132ph | __m512h _mm512_fmadd_ph (__m512h a, __m512h b, __m512h c); |
| _mm512_fmadd_ps | vfmadd231ps | VFMADDxxxPS __m512 _mm512_fmadd_ps(__m512 a, __m512 b, __m512 c); |
| _mm512_fmadd_round_pch | vfmaddcph | VFMADDCPH __m512h _mm512_fmadd_round_pch (__m512h a, __m512h b, __m512h c, const int rounding); |
| _mm512_fmadd_round_ph | vfmadd132ph | __m512h _mm512_fmadd_round_ph (__m512h a, __m512h b, __m512h c, const int rounding); |
| _mm512_fmadd_round_ps | vfmadd231ps | VFMADDxxxPS __m512 _mm512_fmadd_round_ps(__m512 a, __m512 b, __m512 c, int r); |
| _mm512_fmsub_ps | vfmsub132ps | VFMSUBxxxPS __m512 _mm512_fmsub_ps(__m512 a, __m512 b, __m512 c); |
| _mm512_fmsub_round_ps | vfmsub132ps | VFMSUBxxxPS __m512 _mm512_fmsub_round_ps(__m512 a, __m512 b, __m512 c, int r); |
| _mm512_fnmadd_ph | vfmadd132ph | __m512h _mm512_fnmadd_ph (__m512h a, __m512h b, __m512h c); |
| _mm512_fnmadd_ps | vfnmadd132ps | VFNMADDxxxPS __m512 _mm512_fnmadd_ps(__m512 a, __m512 b, __m512 c); |
| _mm512_fnmadd_round_ph | vfmadd132ph | __m512h _mm512_fnmadd_round_ph (__m512h a, __m512h b, __m512h c, const int rounding); |
| _mm512_fnmadd_round_ps | vfnmadd132ps | VFNMADDxxxPS __m512 _mm512_fnmadd_round_ps(__m512 a, __m512 b, __m512 c, int r); |
| _mm512_fpclass_pd_mask | vfpclasspd | VFPCLASSPD __mmask8 _mm512_fpclass_pd_mask( __m512d a, int c); |
| _mm512_fpclass_ps_mask | vfpclassps | VFPCLASSPS __mmask16 _mm512_fpclass_ps_mask( __m512 a, int c); |
| _mm512_getexp_pd | vgetexppd | VGETEXPPD __m512d _mm512_getexp_pd(__m512d a); |
| _mm512_getexp_round_pd | vgetexppd | VGETEXPPD __m512d _mm512_getexp_round_pd(__m512d a, int sae); |
| _mm512_getmant_pd | vgetmantpd | VGETMANTPD __m512d _mm512_getmant_pd( __m512d a, enum intv, enum sgn); |
| _mm512_getmant_round_pd | vgetmantpd | VGETMANTPD __m512d _mm512_getmant_round_pd( __m512d a, enum intv, enum sgn, int r); |
| _mm512_gf2p8affine_epi64_epi8 | gf2p8affineqb | VGF2P8AFFINEQB __m512i _mm512_gf2p8affine_epi64_epi8(__m512i, __m512i, int); |
| _mm512_gf2p8affineinv_epi64_epi8 | gf2p8affineinvqb | VGF2P8AFFINEINVQB __m512i _mm512_gf2p8affineinv_epi64_epi8(__m512i, __m512i, int); |
| _mm512_gf2p8mul_epi8 | gf2p8mulb | VGF2P8MULB __m512i _mm512_gf2p8mul_epi8(__m512i, __m512i); |
| _mm512_i32gather_epi32 | vpgatherdd | VPGATHERDD __m512i _mm512_i32gather_epi32( __m512i vdx, void * base, int scale); |
| _mm512_i32gather_pd | vgatherdpd | VGATHERDPD __m512d _mm512_i32gather_pd( __m256i vdx, void * base, int scale); |
| _mm512_i32gather_ps | vgatherdps | VGATHERDPS __m512 _mm512_i32gather_ps( __m512i vdx, void * base, int scale); |
| _mm512_i32logather_epi64 | vpgatherdq | VPGATHERDQ __m512i _mm512_i32logather_epi64( __m256i vdx, void * base, int scale); |
| _mm512_i32scatter_pd | vscatterdpd | VSCATTERDPD void _mm512_i32scatter_pd(void * base, __m512i vdx, __m512d a, int scale); |
| _mm512_i32scatter_ps | vscatterdps | VSCATTERDPS void _mm512_i32scatter_ps(void * base, __m512i vdx, __m512 a, int scale); |
| _mm512_i64gather_epi32 | vpgatherqd | VPGATHERQD __m256i _mm512_i64gather_epi32(__m512i vdx, void * base, int scale); |
| _mm512_i64gather_epi64 | vpgatherqq | VPGATHERQQ __m512i _mm512_i64gather_epi64( __m512i vdx, void * base, int scale); |
| _mm512_i64scatter_pd | vscatterqpd | VSCATTERQPD void _mm512_i64scatter_pd(void * base, __m512i vdx, __m512d a, int scale); |
| _mm512_i64scatter_ps | vscatterqps | VSCATTERQPS void _mm512_i64scatter_ps(void * base, __m512i vdx, __m512 a, int scale); |
| _mm512_insertf32x4 | vinsertf128 | VINSERTF32x4 __m512 _mm512_insertf32x4( __m512 a, __m128 b, int imm); |
| _mm512_insertf32x8 | vinsertf128 | VINSERTF32x8 __m512 _mm512_insertf32x8( __m512 a, __m256 b, int imm); |
| _mm512_insertf64x2 | vinsertf128 | VINSERTF64x2 __m512d _mm512_insertf64x2( __m512d a, __m128d b, int imm); |
| _mm512_insertf64x4 | vinsertf128 | VINSERTF64x4 __m512d _mm512_insertf64x4( __m512d a, __m256d b, int imm); |
| _mm512_inserti32x8 | vinserti128 | VINSERTI32x8 __m512i _mm512_inserti32x8( __m512i a, __m256i b, int imm); |
| _mm512_inserti64x2 | vinserti128 | VINSERTI64x2 __m512i _mm512_inserti64x2( __m512i a, __m128i b, int imm); |
| _mm512_inserti64x4 | vinserti128 | VINSERTI64x4 _mm512_inserti64x4( __m512i a, __m256i b, int imm); |
| _mm512_kand | kandw | KANDW __mmask16 _mm512_kand(__mmask16 a, __mmask16 b); |
| _mm512_kandn | kandnw | KANDNW __mmask16 _mm512_kandn(__mmask16 a, __mmask16 b); |
| _mm512_kmov | kmovw | KMOVW __mmask16 _mm512_kmov(__mmask16 a); |
| _mm512_knot | knotw | KNOTW __mmask16 _mm512_knot(__mmask16 a); |
| _mm512_kor | korw | KORW __mmask16 _mm512_kor(__mmask16 a, __mmask16 b); |
| _mm512_kunpackb | kunpckbw | KUNPCKBW __mmask16 _mm512_kunpackb(__mmask16 a, __mmask16 b); |
| _mm512_kunpackd | kunpckdq | KUNPCKDQ __mmask64 _mm512_kunpackd(__mmask64 a, __mmask64 b); |
| _mm512_kunpackw | kunpckwd | KUNPCKWD __mmask32 _mm512_kunpackw(__mmask32 a, __mmask32 b); |
| _mm512_kxor | kxorw | KXORW __mmask16 _mm512_kxor(__mmask16 a, __mmask16 b); |
| _mm512_load_epi32 | movdqa | VMOVDQA32 __m512i _mm512_load_epi32( void * sa); |
| _mm512_load_epi64 | movdqa | VMOVDQA64 __m512i _mm512_load_epi64( void * sa); |
| _mm512_load_pd | movapd | VMOVAPD __m512d _mm512_load_pd( void * m); |
| _mm512_load_ps | movaps | VMOVAPS __m512 _mm512_load_ps( void * m); |
| _mm512_loadu_epi32 | movdqu | VMOVDQU32 __m512i _mm512_loadu_epi32( void * sa); |
| _mm512_loadu_epi64 | movdqu | VMOVDQU64 __m512i _mm512_loadu_epi64( void * sa); |
| _mm512_loadu_pd | movupd | VMOVUPD __m512d _mm512_loadu_pd( void * s); |
| _mm512_loadu_ps | movups | VMOVUPS __m512 _mm512_loadu_ps( void * s); |
| _mm512_lzcnt_epi32 | vplzcntd | VPLZCNTD __m512i _mm512_lzcnt_epi32(__m512i a); |
| _mm512_lzcnt_epi64 | vplzcntq | VPLZCNTQ __m512i _mm512_lzcnt_epi64(__m512i a); |
| _mm512_madd52hi_epu64 | vpmadd52huq | VPMADD52HUQ __m512i _mm512_madd52hi_epu64( __m512i a, __m512i b, __m512i c); |
| _mm512_madd52lo_epu64 | vpmadd52luq | VPMADD52LUQ __m512i _mm512_madd52lo_epu64( __m512i a, __m512i b, __m512i c); |
| _mm512_madd_epi16 | pmaddwd | VPMADDWD __m512i _mm512_madd_epi16( __m512i a, __m512i b); |
| _mm512_maddubs_epi16 | pmaddubsw | VPMADDUBSW __m512i _mm512_maddubs_epi16( __m512i a, __m512i b); |
| _mm512_mask2_permutex2var_epi16 | vpermi2q | VPERMI2W __m512i _mm512_mask2_permutex2var_epi16(__m512i a, __m512i idx, __mmask32 k, __m512i b); |
| _mm512_mask2_permutex2var_epi32 | vpermi2d | VPERMI2D __m512i _mm512_mask2_permutex2var_epi32(__m512i a, __m512i idx, __mmask16 k, __m512i b); |
| _mm512_mask2_permutex2var_epi64 | vpermi2q | VPERMI2Q __m512i _mm512_mask2_permutex2var_epi64(__m512i a, __m512i idx, __mmask8 k, __m512i b); |
| _mm512_mask2_permutex2var_epi8 | vpermi2b | VPERMI2B __m512i _mm512_mask2_permutex2var_epi8(__m512i a, __m512i idx, __mmask64 k, __m512i b); |
| _mm512_mask2_permutex2var_pd | vpermi2q | VPERMI2PD __m512d _mm512_mask2_permutex2var_pd(__m512d a, __m512i idx, __mmask8 k, __m512d b); |
| _mm512_mask2_permutex2var_ps | vpermi2q | VPERMI2PS __m512 _mm512_mask2_permutex2var_ps(__m512 a, __m512i idx, __mmask16 k, __m512 b); |
| _mm512_mask3_fcmadd_pch | vfcmaddcph | VFCMADDCPH __m512h _mm512_mask3_fcmadd_pch (__m512h a, __m512h b, __m512h c, __mmask16 k); |
| _mm512_mask3_fcmadd_round_pch | vfcmaddcph | VFCMADDCPH __m512h _mm512_mask3_fcmadd_round_pch (__m512h a, __m512h b, __m512h c, __mmask16 k, const int rounding); |
| _mm512_mask3_fmadd_pch | vfmaddcph | VFMADDCPH __m512h _mm512_mask3_fmadd_pch (__m512h a, __m512h b, __m512h c, __mmask16 k); |
| _mm512_mask3_fmadd_ph | vfmadd132ph | __m512h _mm512_mask3_fmadd_ph (__m512h a, __m512h b, __m512h c, __mmask32 k); |
| _mm512_mask3_fmadd_ps | vfmadd231ps | VFMADDxxxPS __m512 _mm512_mask3_fmadd_ps(__m512 a, __m512 b, __m512 c, __mmask16 k); |
| _mm512_mask3_fmadd_round_pch | vfmaddcph | VFMADDCPH __m512h _mm512_mask3_fmadd_round_pch (__m512h a, __m512h b, __m512h c, __mmask16 k, const int rounding); |
| _mm512_mask3_fmadd_round_ph | vfmadd132ph | __m512h _mm512_mask3_fmadd_round_ph (__m512h a, __m512h b, __m512h c, __mmask32 k, const int rounding); |
| _mm512_mask3_fmadd_round_ps | vfmadd231ps | VFMADDxxxPS __m512 _mm512_mask3_fmadd_round_ps(__m512 a, __m512 b, __m512 c, __mmask16 k, int r); |
| _mm512_mask3_fmsub_ps | vfmsub132ps | VFMSUBxxxPS __m512 _mm512_mask3_fmsub_ps(__m512 a, __m512 b, __m512 c, __mmask16 k); |
| _mm512_mask3_fmsub_round_ps | vfmsub132ps | VFMSUBxxxPS __m512 _mm512_mask3_fmsub_round_ps(__m512 a, __m512 b, __m512 c, __mmask16 k, int r); |
| _mm512_mask3_fnmadd_ph | vfmadd132ph | __m512h _mm512_mask3_fnmadd_ph (__m512h a, __m512h b, __m512h c, __mmask32 k); |
| _mm512_mask3_fnmadd_ps | vfnmadd132ps | VFNMADDxxxPS __m512 _mm512_mask3_fnmadd_ps(__m512 a, __m512 b, __m512 c, __mmask16 k); |
| _mm512_mask3_fnmadd_round_ph | vfmadd132ph | __m512h _mm512_mask3_fnmadd_round_ph (__m512h a, __m512h b, __m512h c, __mmask32 k, const int rounding); |
| _mm512_mask3_fnmadd_round_ps | vfnmadd132ps | VFNMADDxxxPS __m512 _mm512_mask3_fnmadd_round_ps(__m512 a, __m512 b, __m512 c, __mmask16 k, int r); |
| _mm512_mask_4dpwssd_epi32 | vp4dpwssd | VP4DPWSSD __m512i _mm512_mask_4dpwssd_epi32(__m512i, __mmask16, __m512ix4, __m128i *); |
| _mm512_mask_4dpwssds_epi32 | vp4dpwssds | VP4DPWSSDS __m512i _mm512_mask_4dpwssds_epi32(__m512i, __mmask16, __m512ix4, __m128i *); |
| _mm512_mask_4fmadd_ps | v4fmaddps | V4FMADDPS __m512 _mm512_mask_4fmadd_ps(__m512, __mmask16, __m512x4, __m128 *); |
| _mm512_mask_4fnmadd_ps | v4fnmaddps | V4FNMADDPS __m512 _mm512_mask_4fnmadd_ps(__m512, __mmask16, __m512x4, __m128 *); |
| _mm512_mask_abs_epi16 | pabsb | VPABSW__m512i _mm512_mask_abs_epi16 ( __m512i s, __mmask32 m, __m512i a) |