x86 Compiler Intrinsics
3623 intrinsics from the Intel® SDM, each mapped to the instruction it compiles to - page 28 of 37, alphabetical. The global search in the top nav also matches intrinsic names directly.
| Intrinsic | Instruction | Signature |
|---|---|---|
| _mm_mask_dpbusds_epi32 | vpdpbusds | VPDPBUSDS __m128i _mm_mask_dpbusds_epi32(__m128i, __mmask8, __m128i, __m128i); |
| _mm_mask_dpwssd_epi32 | vpdpwssd | VPDPWSSD __m128i _mm_mask_dpwssd_epi32(__m128i, __mmask8, __m128i, __m128i); |
| _mm_mask_expand_epi16 | vpexpandw | VPEXPANDW __m128i _mm_mask_expand_epi16(__m128i, __mmask8, __m128i); |
| _mm_mask_expand_epi8 | vpexpandb | VPEXPAND __m128i _mm_mask_expand_epi8(__m128i, __mmask16, __m128i); |
| _mm_mask_expand_pd | vexpandpd | VEXPANDPD __m128d _mm_mask_expand_pd( __m128d s, __mmask8 k, __m128d a); |
| _mm_mask_expand_ps | vexpandpd | VEXPANDPD __m128 _mm_mask_expand_ps( __m128 s, __mmask8 k, __m128 a); |
| _mm_mask_expandloadu_epi16 | vpexpandw | VPEXPANDW __m128i _mm_mask_expandloadu_epi16(__m128i, __mmask8, const void*); |
| _mm_mask_expandloadu_epi8 | vpexpandb | VPEXPAND __m128i _mm_mask_expandloadu_epi8(__m128i, __mmask16, const void*); |
| _mm_mask_expandloadu_pd | vexpandpd | VEXPANDPD __m128d _mm_mask_expandloadu_pd( __m128d s, __mmask8 k, void * a); |
| _mm_mask_expandloadu_ps | vexpandpd | VEXPANDPD __m128 _mm_mask_expandloadu_ps( __m128 s, __mmask8 k, void * a); |
| _mm_mask_fcmadd_pch | vfcmaddcph | VFCMADDCPH __m128h _mm_mask_fcmadd_pch (__m128h a, __mmask8 k, __m128h b, __m128h c); |
| _mm_mask_fcmadd_round_sch | vfmaddcsh | VFCMADDCSH __m128h _mm_mask_fcmadd_round_sch (__m128h a, __mmask8 k, __m128h b, __m128h c, const int rounding); |
| _mm_mask_fcmadd_sch | vfmaddcsh | VFCMADDCSH __m128h _mm_mask_fcmadd_sch (__m128h a, __mmask8 k, __m128h b, __m128h c); |
| _mm_mask_fixupimm_pd | vfixupimmpd | VFIXUPIMMPD __m128d _mm_mask_fixupimm_pd(__m128d a, __mmask8 k, __m128d b, __m128i c, int imm8); |
| _mm_mask_fixupimm_ps | vfixupimmps | VFIXUPIMMPS __m128 _mm_mask_fixupimm_ps(__m128 a, __mmask8 k, __m128 b, __m128i c, int imm8); |
| _mm_mask_fixupimm_round_ss | vfixupimmss | VFIXUPIMMSS __m128 _mm_mask_fixupimm_round_ss(__m128 a, __mmask8 k, __m128 b, __m128i c, int imm8, int sae); |
| _mm_mask_fixupimm_ss | vfixupimmss | VFIXUPIMMSS __m128 _mm_mask_fixupimm_ss(__m128 a, __mmask8 k, __m128 b, __m128i c, int imm8); |
| _mm_mask_fmadd_pch | vfmaddcph | VFMADDCPH __m128h _mm_mask_fmadd_pch (__m128h a, __mmask8 k, __m128h b, __m128h c); |
| _mm_mask_fmadd_ph | vfmadd132ph | __m128h _mm_mask_fmadd_ph (__m128h a, __mmask8 k, __m128h b, __m128h c); |
| _mm_mask_fmadd_ps | vfmadd231ps | VFMADDxxxPS __m128 _mm_mask_fmadd_ps(__m128 a, __mmask8 k, __m128 b, __m128 c); |
| _mm_mask_fmadd_round_sch | vfmaddcsh | VFMADDCSH __m128h _mm_mask_fmadd_round_sch (__m128h a, __mmask8 k, __m128h b, __m128h c, const int rounding); |
| _mm_mask_fmadd_round_sh | vfmadd132sh | __m128h _mm_mask_fmadd_round_sh (__m128h a, __mmask8 k, __m128h b, __m128h c, const int rounding); |
| _mm_mask_fmadd_round_ss | vfmadd132ss | VFMADDxxxSS __m128 _mm_mask_fmadd_round_ss(__m128 a, __mmask8 k, __m128 b, __m128 c, int r); |
| _mm_mask_fmadd_sch | vfmaddcsh | VFMADDCSH __m128h _mm_mask_fmadd_sch (__m128h a, __mmask8 k, __m128h b, __m128h c); |
| _mm_mask_fmadd_sh | vfmadd132sh | __m128h _mm_mask_fmadd_sh (__m128h a, __mmask8 k, __m128h b, __m128h c); |
| _mm_mask_fmadd_ss | vfmadd132ss | VFMADDxxxSS __m128 _mm_mask_fmadd_ss(__m128 a, __mmask8 k, __m128 b, __m128 c); |
| _mm_mask_fmsub_ps | vfmsub132ps | VFMSUBxxxPS __m128 _mm_mask_fmsub_ps(__m128 a, __mmask8 k, __m128 b, __m128 c); |
| _mm_mask_fnmadd_ph | vfmadd132ph | __m128h _mm_mask_fnmadd_ph (__m128h a, __mmask8 k, __m128h b, __m128h c); |
| _mm_mask_fnmadd_ps | vfnmadd132ps | VFNMADDxxxPS __m128 _mm_mask_fnmadd_ps(__m128 a, __mmask8 k, __m128 b, __m128 c); |
| _mm_mask_fnmadd_round_sh | vfmadd132sh | __m128h _mm_mask_fnmadd_round_sh (__m128h a, __mmask8 k, __m128h b, __m128h c, const int rounding); |
| _mm_mask_fnmadd_sh | vfmadd132sh | __m128h _mm_mask_fnmadd_sh (__m128h a, __mmask8 k, __m128h b, __m128h c); |
| _mm_mask_fpclass_pd_mask | vfpclasspd | VFPCLASSPD __mmask8 _mm_mask_fpclass_pd_mask( __mmask8 m, __m128d a, int c) |
| _mm_mask_fpclass_ps_mask | vfpclassps | VFPCLASSPS __mmask8 _mm_mask_fpclass_ps_mask( __mmask8 m, __m128 a, int c) |
| _mm_mask_getexp_pd | vgetexppd | VGETEXPPD __m128d _mm_mask_getexp_pd(__m128d s, __mmask8 k, __m128d a); |
| _mm_mask_getexp_round_ss | vgetexpss | VGETEXPSS __m128 _mm_mask_getexp_round_ss(__m128 s, __mmask8 k, __m128 a, __m128 b, int sae); |
| _mm_mask_getexp_ss | vgetexpss | VGETEXPSS __m128 _mm_mask_getexp_ss(__m128 s, __mmask8 k, __m128 a, __m128 b); |
| _mm_mask_getmant_pd | vgetmantpd | VGETMANTPD __m128d _mm_mask_getmant_pd(__m128d s, __mmask8 k, __m128d a, enum intv, enum sgn); |
| _mm_mask_getmant_round_sd | vgetmantsd | VGETMANTSD __m128d _mm_mask_getmant_round_sd(__m128d s, __mmask8 k, __m128d a, __m128d b, enum intv, enum sgn, int r); |
| _mm_mask_getmant_sd | vgetmantsd | VGETMANTSD __m128d _mm_mask_getmant_sd(__m128d s, __mmask8 k, __m128d a, __m128d b, enum intv, enum sgn); |
| _mm_mask_gf2p8affine_epi64_epi8 | gf2p8affineqb | (V)GF2P8AFFINEQB __m128i _mm_mask_gf2p8affine_epi64_epi8(__m128i, __mmask16, __m128i, __m128i, int); |
| _mm_mask_gf2p8affineinv_epi64_epi8 | gf2p8affineinvqb | (V)GF2P8AFFINEINVQB __m128i _mm_mask_gf2p8affineinv_epi64_epi8(__m128i, __mmask16, __m128i, __m128i, int); |
| _mm_mask_gf2p8mul_epi8 | gf2p8mulb | (V)GF2P8MULB __m128i _mm_mask_gf2p8mul_epi8(__m128i, __mmask16, __m128i, __m128i); |
| _mm_mask_i32scatter_pd | vscatterdpd | VSCATTERDPD void _mm_mask_i32scatter_pd(void * base, __mmask8 k, __m128i vdx, __m128d a, int scale); |
| _mm_mask_i32scatter_ps | vscatterdps | VSCATTERDPS void _mm_mask_i32scatter_ps(void * base, __mmask8 k, __m128i vdx, __m128 a, int scale); |
| _mm_mask_i64gather_epi32 | vpgatherqd | VPGATHERQD __m128i _mm_mask_i64gather_epi32(__m128i s, __mmask8 k, __m128i vdx, void * base, int scale); |
| _mm_mask_i64gather_epi64 | vpgatherqq | VPGATHERQQ __m128i _mm_mask_i64gather_epi64(__m128i s, __mmask8 k, __m128i vdx, void * base, int scale); |
| _mm_mask_i64scatter_pd | vscatterqpd | VSCATTERQPD void _mm_mask_i64scatter_pd(void * base, __mmask8 k, __m128i vdx, __m128d a, int scale); |
| _mm_mask_i64scatter_ps | vscatterqps | VSCATTERQPS void _mm_mask_i64scatter_ps(void * base, __mmask8 k, __m128i vdx, __m128 a, int scale); |
| _mm_mask_load_epi32 | movdqa | VMOVDQA32 __m128i _mm_mask_load_epi32(__m128i s, __mmask8 k, void * sa); |
| _mm_mask_load_epi64 | movdqa | VMOVDQA64 __m128i _mm_mask_load_epi64(__m128i s, __mmask8 k, void * sa); |
| _mm_mask_load_pd | movapd | VMOVAPD __m128d _mm_mask_load_pd(__m128d s, __mmask8 k, void * m); |
| _mm_mask_load_ps | movaps | VMOVAPS __m128 _mm_mask_load_ps(__m128 a, __mmask8 k, void * s); |
| _mm_mask_load_sd | movsd | VMOVSD __m128d _mm_mask_load_sd(__m128d s, __mmask8 k, double * p); |
| _mm_mask_load_ss | movss | VMOVSS __m128 _mm_mask_load_ss(__m128 s, __mmask8 k, float * p); |
| _mm_mask_loadu_epi16 | movdqu | VMOVDQU16 __m128i _mm_mask_loadu_epi16(__m128i s, __mmask8 k, void * sa); |
| _mm_mask_loadu_epi32 | movdqu | VMOVDQU32 __m128i _mm_mask_loadu_epi32(__m128i s, __mmask8 k, void * sa); |
| _mm_mask_loadu_epi64 | movdqu | VMOVDQU64 __m128i _mm_mask_loadu_epi64(__m128i s, __mmask8 k, void * sa); |
| _mm_mask_loadu_epi8 | movdqu | VMOVDQU8 __m128i _mm_mask_loadu_epi8(__m128i s, __mmask16 k, void * sa); |
| _mm_mask_loadu_pd | movupd | VMOVUPD __m128d _mm_mask_loadu_pd(__m128d s, __mmask8 k, void * m); |
| _mm_mask_loadu_ps | movups | VMOVUPS __m128 _mm_mask_loadu_ps(__m128 a, __mmask8 k, void * s); |
| _mm_mask_lzcnt_epi32 | vplzcntd | VPLZCNTD __m128i _mm_mask_lzcnt_epi32(__m128i s, __mmask8 m, __m128i a); |
| _mm_mask_lzcnt_epi64 | vplzcntq | VPLZCNTQ __m128i _mm_mask_lzcnt_epi64(__m128i s, __mmask8 m, __m128i a); |
| _mm_mask_madd52hi_epu64 | vpmadd52huq | VPMADD52HUQ __m128i _mm_mask_madd52hi_epu64(__m128i s, __mmask8 k, __m128i a, __m128i b, __m128i c); |
| _mm_mask_madd52lo_epu64 | vpmadd52luq | VPMADD52LUQ __m128i _mm_mask_madd52lo_epu64(__m128i s, __mmask8 k, __m128i a, __m128i b, __m128i c); |
| _mm_mask_madd_epi16 | pmaddwd | VPMADDWD __m128i _mm_mask_madd_epi16(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_maddubs_epi16 | pmaddubsw | VPMADDUBSW __m128i _mm_mask_maddubs_epi16(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_max_epi16 | pmaxsb | VPMAXSW __m128i _mm_mask_max_epi16(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_max_epi32 | pmaxsb | VPMAXSD __m128i _mm_mask_max_epi32(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_max_epi64 | vpmaxsq | VPMAXSQ __m128i _mm_mask_max_epi64(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_max_epi8 | pmaxsb | VPMAXSB __m128i _mm_mask_max_epi8(__m128i s, __mmask16 k, __m128i a, __m128i b); |
| _mm_mask_max_epu16 | pmaxuw | VPMAXUW __m128i _mm_mask_max_epu16(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_max_epu32 | pmaxud | VPMAXUD __m128i _mm_mask_max_epu32(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_max_epu64 | vpmaxuq | VPMAXUQ __m128i _mm_mask_max_epu64(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_max_epu8 | pmaxuw | VPMAXUB __m128i _mm_mask_max_epu8(__m128i s, __mmask16 k, __m128i a, __m128i b); |
| _mm_mask_max_ph | vmaxph | VMAXPH __m128h _mm_mask_max_ph (__m128h src, __mmask8 k, __m128h a, __m128h b); |
| _mm_mask_max_ps | maxps | VMAXPS __m128 _mm_mask_max_ps(__m128 s, __mmask8 k, __m128 a, __m128 b); |
| _mm_mask_max_round_sd | maxsd | VMAXSD __m128d _mm_mask_max_round_sd(__m128d s, __mmask8 k, __m128d a, __m128d b, int); |
| _mm_mask_max_round_ss | maxss | VMAXSS __m128 _mm_mask_max_round_ss(__m128 s, __mmask8 k, __m128 a, __m128 b, int); |
| _mm_mask_min_epi16 | pminsb | VPMINSW __m128i _mm_mask_min_epi16(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_min_epi32 | pminsd | VPMINSD __m128i _mm_mask_min_epi32(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_min_epi64 | vpminsq | VPMINSQ __m128i _mm_mask_min_epi64(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_min_epi8 | pminsb | VPMINSB __m128i _mm_mask_min_epi8(__m128i s, __mmask16 k, __m128i a, __m128i b); |
| _mm_mask_min_epu16 | pminuw | VPMINUW __m128i _mm_mask_min_epu16(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_min_epu32 | pminud | VPMINUD __m128i _mm_mask_min_epu32(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_min_epu64 | vpminuq | VPMINUQ __m128i _mm_mask_min_epu64(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_min_epu8 | pminuw | VPMINUB __m128i _mm_mask_min_epu8(__m128i s, __mmask16 k, __m128i a, __m128i b); |
| _mm_mask_min_ph | vminph | VMINPH __m128h _mm_mask_min_ph (__m128h src, __mmask8 k, __m128h a, __m128h b); |
| _mm_mask_min_ps | minps | VMINPS __m128 _mm_mask_min_ps(__m128 s, __mmask8 k, __m128 a, __m128 b); |
| _mm_mask_min_round_sd | minsd | VMINSD __m128d _mm_mask_min_round_sd(__m128d s, __mmask8 k, __m128d a, __m128d b, int); |
| _mm_mask_min_round_ss | minss | VMINSS __m128 _mm_mask_min_round_ss(__m128 s, __mmask8 k, __m128 a, __m128 b, int); |
| _mm_mask_move_sd | movsd | VMOVSD __m128d _mm_mask_move_sd(__m128d sh, __mmask8 k, __m128d sl, __m128d a); |
| _mm_mask_move_ss | movss | VMOVSS __m128 _mm_mask_move_ss(__m128 sh, __mmask8 k, __m128 sl, __m128 a); |
| _mm_mask_movedup_pd | movddup | VMOVDDUP __m128d _mm_mask_movedup_pd(__m128d s, __mmask8 k, __m128d a); |
| _mm_mask_movehdup_ps | movshdup | VMOVSHDUP __m128 _mm_mask_movehdup_ps(__m128 s, __mmask8 k, __m128 a); |
| _mm_mask_moveldup_ps | movsldup | VMOVSLDUP __m128 _mm_mask_moveldup_ps(__m128 s, __mmask8 k, __m128 a); |
| _mm_mask_mul_epu32 | pmuludq | VPMULUDQ __m128i _mm_mask_mul_epu32(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_mul_ph | vmulph | VMULPH __m128h _mm_mask_mul_ph (__m128h src, __mmask8 k, __m128h a, __m128h b); |
| _mm_mask_mul_ps | vmulps | VMULPS __m128 _mm_mask_mul_ps(__m128 s, __mmask8 k, __m128 a, __m128 b); |
| _mm_mask_mul_round_sd | mulsd | VMULSD __m128d _mm_mask_mul_round_sd(__m128d s, __mmask8 k, __m128d a, __m128d b, int); |
| _mm_mask_mul_round_sh | vmulsh | VMULSH __m128h _mm_mask_mul_round_sh (__m128h src, __mmask8 k, __m128h a, __m128h b, int rounding); |