x86 Compiler Intrinsics
3623 intrinsics from the Intel® SDM, each mapped to the instruction it compiles to - page 25 of 37, alphabetical. The global search in the top nav also matches intrinsic names directly.
| Intrinsic | Instruction | Signature |
|---|---|---|
| _mm_cvtsd_si32 | cvtsd2si | CVTSD2SI int _mm_cvtsd_si32(__m128d a) |
| _mm_cvtsd_si64 | cvtsd2si | CVTSD2SI __int64 _mm_cvtsd_si64(__m128d); |
| _mm_cvtsd_ss | cvtsd2ss | CVTSD2SS __m128_mm_cvtsd_ss(__m128 a, __m128d b) |
| _mm_cvtsepi16_epi8 | vpmovswb | VPMOVSWB __m128i _mm_cvtsepi16_epi8(__m128i a); |
| _mm_cvtsepi32_epi8 | vpmovdb | VPMOVSDB __m128i _mm_cvtsepi32_epi8(__m128i a); |
| _mm_cvtsepi64_epi8 | vpmovsqb | VPMOVSQB __m128i _mm_cvtsepi64_epi8(__m128i a); |
| _mm_cvtsi128_si32 | movd | MOVD int _mm_cvtsi128_si32 ( __m128i a) |
| _mm_cvtsi128_si64 | movq | MOVQ __int64 _mm_cvtsi128_si64(__m128i); |
| _mm_cvtsi32_sd | cvtsi2sd | CVTSI2SD __m128d_mm_cvtsi32_sd(__m128d a, int b) |
| _mm_cvtsi32_si128 | movd | MOVD __m128i _mm_cvtsi32_si128 (int a) |
| _mm_cvtsi32_si64 | movd | MOVD __m64 _mm_cvtsi32_si64 (int i ) |
| _mm_cvtsi32_ss | cvtsi2ss | CVTSI2SS __m128 _mm_cvtsi32_ss(__m128 a, int b); |
| _mm_cvtsi64_sd | cvtsi2sd | CVTSI2SD __m128d _mm_cvtsi64_sd(__m128d s, __int64 a); |
| _mm_cvtsi64_si128 | movq | MOVQ __m128i _mm_cvtsi64_si128(__int64); |
| _mm_cvtsi64_si32 | movd | MOVD int _mm_cvtsi64_si32 ( __m64m ) |
| _mm_cvtsi64_ss | cvtsi2ss | CVTSI2SS __m128 _mm_cvtsi64_ss(__m128 s, __int64 a); |
| _mm_cvtss_i32 | cvtss2si | VCVTSS2SI int _mm_cvtss_i32( __m128 a); |
| _mm_cvtss_i64 | cvtss2si | VCVTSS2SI __int64 _mm_cvtss_i64( __m128 a); |
| _mm_cvtss_sd | cvtss2sd | CVTSS2SD __m128d_mm_cvtss_sd(__m128d a, __m128 a); |
| _mm_cvtt_roundsd_i32 | cvttsd2sq | VCVTTSD2SI int _mm_cvtt_roundsd_i32( __m128d a, int sae); |
| _mm_cvtt_roundsd_i64 | cvttsd2sq | VCVTTSD2SI __int64 _mm_cvtt_roundsd_i64( __m128d a, int sae); |
| _mm_cvtt_roundss_i32 | cvttss2sq | VCVTTSS2SI int _mm_cvtt_roundss_i32( __m128 a, int sae); |
| _mm_cvtt_roundss_i64 | cvttss2sq | VCVTTSS2SI __int64 _mm_cvtt_roundss_i64( __m128 a, int sae); |
| _mm_cvttpd_epi32 | cvttpd2dq | CVTTPD2DQ __m128i _mm_cvttpd_epi32 (__m128d src); |
| _mm_cvttps_epi32 | cvttps2dq | CVTTPS2DQ __m128i _mm_cvttps_epi32 (__m128 a) |
| _mm_cvttps_pi32 | cvttps2pi | CVTTPS2PI __m64 _mm_cvttps_pi32(__m128 a) |
| _mm_cvttsd_i32 | cvttsd2sq | VCVTTSD2SI int _mm_cvttsd_i32( __m128d a); |
| _mm_cvttsd_i64 | cvttsd2sq | VCVTTSD2SI __int64 _mm_cvttsd_i64( __m128d a); |
| _mm_cvttsd_si32 | cvttsd2si | CVTTSD2SI int _mm_cvttsd_si32( __m128d a); |
| _mm_cvttsd_si64 | cvttsd2si | CVTTSD2SI __int64 _mm_cvttsd_si64( __m128d a); |
| _mm_cvttss_i32 | cvttss2sq | VCVTTSS2SI int _mm_cvttss_i32( __m128 a); |
| _mm_cvttss_i64 | cvttss2sq | VCVTTSS2SI __int64 _mm_cvttss_i64( __m128 a); |
| _mm_cvttss_si32 | cvttss2si | CVTTSS2SI int _mm_cvttss_si32( __m128 a); |
| _mm_cvttss_si64 | cvttss2si | CVTTSS2SI __int64 _mm_cvttss_si64( __m128 a); |
| _mm_cvtusepi16_epi8 | vpmovuswb | VPMOVUSWB __m128i _mm_cvtusepi16_epi8(__m128i a); |
| _mm_cvtusepi32_epi8 | vpmovusdb | VPMOVUSDB __m128i _mm_cvtusepi32_epi8(__m128i a); |
| _mm_cvtusepi64_epi8 | vpmovusqb | VPMOVUSQB __m128i _mm_cvtusepi64_epi8(__m128i a); |
| _mm_cvtxph_ps | vcvtph2ps | VCVTPH2PSX __m128 _mm_cvtxph_ps (__m128h a); |
| _mm_dbsad_epu8 | vdbpsadbw | VDBPSADBW __m128i _mm_dbsad_epu8(__m128i a, __m128i b int imm8); |
| _mm_div_pd | divpd | DIVPD __m128d _mm_div_pd (__m128d a, __m128d b); |
| _mm_div_ph | vdivph | VDIVPH __m128h _mm_div_ph (__m128h a, __m128h b); |
| _mm_div_ps | divps | DIVPS __m128 _mm_div_ps (__m128 a, __m128 b); |
| _mm_div_round_sd | divsd | VDIVSD __m128d _mm_div_round_sd( __m128d a, __m128d b, int); |
| _mm_div_round_sh | vdivsh | VDIVSH __m128h _mm_div_round_sh (__m128h a, __m128h b, int rounding); |
| _mm_div_round_ss | divss | VDIVSS __m128 _mm_div_round_ss( __m128 a, __m128 b, int); |
| _mm_div_sd | divsd | DIVSD __m128d _mm_div_sd (__m128d a, __m128d b); |
| _mm_div_sh | vdivsh | VDIVSH __m128h _mm_div_sh (__m128h a, __m128h b); |
| _mm_div_ss | divss | DIVSS __m128 _mm_div_ss(__m128 a, __m128 b); |
| _mm_dp_pd | dppd | DPPD __m128d _mm_dp_pd ( __m128d a, __m128d b, const int mask); |
| _mm_dp_ps | dpps | (V)DPPS __m128 _mm_dp_ps ( __m128 a, __m128 b, const int mask); |
| _mm_dpbf16_ps | vdpbf16ps | VDPBF16PS __m128 _mm_dpbf16_ps(__m128, __m128bh, __m128bh); |
| _mm_dpbusd_avx_epi32 | vpdpbusd | VPDPBUSD __m128i _mm_dpbusd_avx_epi32(__m128i, __m128i, __m128i); |
| _mm_dpbusd_epi32 | vpdpbusd | VPDPBUSD __m128i _mm_dpbusd_epi32(__m128i, __m128i, __m128i); |
| _mm_dpbusds_avx_epi32 | vpdpbusds | VPDPBUSDS __m128i _mm_dpbusds_avx_epi32(__m128i, __m128i, __m128i); |
| _mm_dpbusds_epi32 | vpdpbusds | VPDPBUSDS __m128i _mm_dpbusds_epi32(__m128i, __m128i, __m128i); |
| _mm_dpwssd_avx_epi32 | vpdpwssd | VPDPWSSD __m128i _mm_dpwssd_avx_epi32(__m128i, __m128i, __m128i); |
| _mm_dpwssd_epi32 | vpdpwssd | VPDPWSSD __m128i _mm_dpwssd_epi32(__m128i, __m128i, __m128i); |
| _mm_dpwssds_avx_epi32 | vpdpwssds | VPDPWSSDS __m128i _mm_dpwssds_avx_epi32(__m128i, __m128i, __m128i); |
| _mm_dpwssds_epi32 | vpdpwssds | VPDPWSSDS __m128i _mm_dpwssds_epi32(__m128i, __m128i, __m128i); |
| _mm_empty | emms | void _mm_empty() |
| _mm_encodekey128_u32 | encodekey128 | ENCODEKEY128 unsigned int _mm_encodekey128_u32(unsigned int htype, __m128i key, void* h); |
| _mm_encodekey256_u32 | encodekey256 | ENCODEKEY256 unsigned int _mm_encodekey256_u32(unsigned int htype, __m128i key_lo, __m128i key_hi, void* h); |
| _mm_extract_epi16 | pextrw | PEXTRW int _mm_extract_epi16 ( __m128i a, int imm) |
| _mm_extract_epi32 | pextrd | PEXTRD int _mm_extract_epi32 (__m128i src, const int ndx); |
| _mm_extract_epi64 | pextrq | PEXTRQ __int64 _mm_extract_epi64 (__m128i src, const int ndx); |
| _mm_extract_epi8 | pextrb | PEXTRB int _mm_extract_epi8 (__m128i src, const int ndx); |
| _mm_extract_pi16 | pextrw | PEXTRW int _mm_extract_pi16 (__m64 a, int n) |
| _mm_extract_ps | extractps | EXTRACTPS int _mm_extract_ps (__m128 a, const int nidx); |
| _mm_fcmadd_pch | vfcmaddcph | VFCMADDCPH __m128h _mm_fcmadd_pch (__m128h a, __m128h b, __m128h c); |
| _mm_fcmadd_round_sch | vfmaddcsh | VFCMADDCSH __m128h _mm_fcmadd_round_sch (__m128h a, __m128h b, __m128h c, const int rounding); |
| _mm_fcmadd_sch | vfmaddcsh | VFCMADDCSH __m128h _mm_fcmadd_sch (__m128h a, __m128h b, __m128h c); |
| _mm_fixupimm_pd | vfixupimmpd | VFIXUPIMMPD __m128d _mm_fixupimm_pd( __m128d a, __m128d b, __m128i c, int imm8); |
| _mm_fixupimm_ps | vfixupimmps | VFIXUPIMMPS __m128 _mm_fixupimm_ps( __m128 a, __m128 b, __m128i c, int imm8); |
| _mm_fixupimm_round_ss | vfixupimmss | VFIXUPIMMSS __m128 _mm_fixupimm_round_ss( __m128 a, __m128 b, __m128i c, int imm8, int sae); |
| _mm_fixupimm_ss | vfixupimmss | VFIXUPIMMSS __m128 _mm_fixupimm_ss( __m128 a, __m128 b, __m128i c, int imm8); |
| _mm_floor_pd | roundpd | __m128 _mm_floor_pd(__m128d s1); |
| _mm_floor_ps | roundps | __m128 _mm_floor_ps(__m128 s1); |
| _mm_fmadd_pch | vfmaddcph | VFMADDCPH __m128h _mm_fmadd_pch (__m128h a, __m128h b, __m128h c); |
| _mm_fmadd_ph | vfmadd132ph | __m128h _mm_fmadd_ph (__m128h a, __m128h b, __m128h c); |
| _mm_fmadd_ps | vfmadd231ps | VFMADDxxxPS __m128 _mm_fmadd_ps (__m128 a, __m128 b, __m128 c); |
| _mm_fmadd_round_sch | vfmaddcsh | VFMADDCSH __m128h _mm_fmadd_round_sch (__m128h a, __m128h b, __m128h c, const int rounding); |
| _mm_fmadd_round_sh | vfmadd132sh | __m128h _mm_fmadd_round_sh (__m128h a, __m128h b, __m128h c, const int rounding); |
| _mm_fmadd_round_ss | vfmadd132ss | VFMADDxxxSS __m128 _mm_fmadd_round_ss(__m128 a, __m128 b, __m128 c, int r); |
| _mm_fmadd_sch | vfmaddcsh | VFMADDCSH __m128h _mm_fmadd_sch (__m128h a, __m128h b, __m128h c); |
| _mm_fmadd_sh | vfmadd132sh | __m128h _mm_fmadd_sh (__m128h a, __m128h b, __m128h c); |
| _mm_fmadd_ss | vfmadd132ss | VFMADDxxxSS __m128 _mm_fmadd_ss (__m128 a, __m128 b, __m128 c); |
| _mm_fmsub_ps | vfmsub132ps | VFMSUBxxxPS __m128 _mm_fmsub_ps (__m128 a, __m128 b, __m128 c); |
| _mm_fnmadd_ph | vfmadd132ph | __m128h _mm_fnmadd_ph (__m128h a, __m128h b, __m128h c); |
| _mm_fnmadd_ps | vfnmadd132ps | VFNMADDxxxPS __m128 _mm_fnmadd_ps (__m128 a, __m128 b, __m128 c); |
| _mm_fnmadd_round_sh | vfmadd132sh | __m128h _mm_fnmadd_round_sh (__m128h a, __m128h b, __m128h c, const int rounding); |
| _mm_fnmadd_sh | vfmadd132sh | __m128h _mm_fnmadd_sh (__m128h a, __m128h b, __m128h c); |
| _mm_fpclass_pd_mask | vfpclasspd | VFPCLASSPD __mmask8 _mm_fpclass_pd_mask( __m128d a, int c) |
| _mm_fpclass_ps_mask | vfpclassps | VFPCLASSPS __mmask8 _mm_fpclass_ps_mask( __m128 a, int c) |
| _mm_getcsr | stmxcsr | _mm_getcsr(void) |
| _mm_getexp_pd | vgetexppd | VGETEXPPD __m128d _mm_getexp_pd(__m128d a); |
| _mm_getexp_round_ss | vgetexpss | VGETEXPSS __m128 _mm_getexp_round_ss( __m128 a, __m128 b, int sae); |
| _mm_getexp_ss | vgetexpss | VGETEXPSS __m128 _mm_getexp_ss( __m128 a, __m128 b); |
| _mm_getmant_pd | vgetmantpd | VGETMANTPD __m128d _mm_getmant_pd( __m128d a, enum intv, enum sgn); |
| _mm_getmant_round_sd | vgetmantsd | VGETMANTSD __m128d _mm_getmant_round_sd( __m128d a, __m128 b, enum intv, enum sgn, int r); |
| _mm_getmant_sd | vgetmantsd | VGETMANTSD __m128d _mm_getmant_sd( __m128d a, __m128 b, enum intv, enum sgn); |