x86 Compiler Intrinsics
3623 intrinsics from the Intel® SDM, each mapped to the instruction it compiles to - page 26 of 37, alphabetical. The global search in the top nav also matches intrinsic names directly.
| Intrinsic | Instruction | Signature |
|---|---|---|
| _mm_gf2p8affine_epi64_epi8 | gf2p8affineqb | (V)GF2P8AFFINEQB __m128i _mm_gf2p8affine_epi64_epi8(__m128i, __m128i, int); |
| _mm_gf2p8affineinv_epi64_epi8 | gf2p8affineinvqb | (V)GF2P8AFFINEINVQB __m128i _mm_gf2p8affineinv_epi64_epi8(__m128i, __m128i, int); |
| _mm_gf2p8mul_epi8 | gf2p8mulb | (V)GF2P8MULB __m128i _mm_gf2p8mul_epi8(__m128i, __m128i); |
| _mm_hadd_epi16 | phaddw | (V)PHADDW __m128i _mm_hadd_epi16 (__m128i a, __m128i b) |
| _mm_hadd_epi32 | phaddw | (V)PHADDD __m128i _mm_hadd_epi32 (__m128i a, __m128i b) |
| _mm_hadd_pd | haddpd | HADDPD __m128d _mm_hadd_pd (__m128d a, __m128d b); |
| _mm_hadd_pi16 | phaddw | PHADDW __m64 _mm_hadd_pi16 (__m64 a, __m64 b) |
| _mm_hadd_pi32 | phaddw | PHADDD __m64 _mm_hadd_pi32 (__m64 a, __m64 b) |
| _mm_hadd_ps | haddps | HADDPS __m128 _mm_hadd_ps (__m128 a, __m128 b); |
| _mm_hsub_epi16 | phsubw | (V)PHSUBW __m128i _mm_hsub_epi16 (__m128i a, __m128i b) |
| _mm_hsub_epi32 | phsubw | (V)PHSUBD __m128i _mm_hsub_epi32 (__m128i a, __m128i b) |
| _mm_hsub_pd | hsubpd | HSUBPD __m128d _mm_hsub_pd(__m128d a, __m128d b) |
| _mm_hsub_pi16 | phsubw | PHSUBW __m64 _mm_hsub_pi16 (__m64 a, __m64 b) |
| _mm_hsub_pi32 | phsubd | PHSUBD __m64 _mm_hsub_pi32 (__m64 a, __m64 b) |
| _mm_hsub_ps | hsubps | HSUBPS __m128 _mm_hsub_ps(__m128 a, __m128 b); |
| _mm_i32scatter_pd | vscatterdpd | VSCATTERDPD void _mm_i32scatter_pd(void * base, __m128i vdx, __m128d a, int scale); |
| _mm_i32scatter_ps | vscatterdps | VSCATTERDPS void _mm_i32scatter_ps(void * base, __m128i vdx, __m128 a, int scale); |
| _mm_i64scatter_pd | vscatterqpd | VSCATTERQPD void _mm_i64scatter_pd(void * base, __m128i vdx, __m128d a, int scale); |
| _mm_i64scatter_ps | vscatterqps | VSCATTERQPS void _mm_i64scatter_ps(void * base, __m128i vdx, __m128 a, int scale); |
| _mm_insert_epi16 | pinsrw | PINSRW __m128i _mm_insert_epi16 ( __m128i a, int b, int imm) |
| _mm_insert_epi32 | pinsrd | PINSRD __m128i _mm_insert_epi32 (__m128i s2, int s, const int ndx); |
| _mm_insert_epi64 | pinsrq | PINSRQ __m128i _mm_insert_epi64(__m128i s2, __int64 s, const int ndx); |
| _mm_insert_epi8 | pinsrb | PINSRB __m128i _mm_insert_epi8 (__m128i s1, int s2, const int ndx); |
| _mm_insert_pi16 | pinsrw | PINSRW __m64 _mm_insert_pi16 (__m64 a, int d, int n) |
| _mm_insert_ps | insertps | VINSERTPS __m128 _mm_insert_ps(__m128 dst, __m128 src, const int nidx); |
| _mm_lddqu_si128 | lddqu | LDDQU __m128i _mm_lddqu_si128 (__m128i * p); |
| _mm_lfence | lfence | void _mm_lfence(void) |
| _mm_load_pd | movapd | MOVAPD __m128d _mm_load_pd (double * p); |
| _mm_load_ps | movaps | MOVAPS __m128 _mm_load_ps (float * p); |
| _mm_load_sd | movsd | MOVSD __m128d _mm_load_sd (double *p) |
| _mm_load_si128 | movdqa | MOVDQA __m128i _mm_load_si128 (__m128i * p); |
| _mm_load_ss | movss | MOVSS __m128 _mm_load_ss(float * p) |
| _mm_loadiwkey | loadiwkey | LOADIWKEY void _mm_loadiwkey(unsigned int ctl, __m128i intkey, __m128i enkey_lo, __m128i enkey_hi); |
| _mm_loadl_epi64 | movq | VMOVQ __m128i _mm_loadl_epi64( __m128i * s); |
| _mm_loadu_pd | movupd | MOVUPD __m128d _mm_loadu_pd (double * p); |
| _mm_loadu_ps | movups | MOVUPS __m128 _mm_loadu_ps ( float * p); |
| _mm_loadu_si128 | movdqu | MOVDQU __m128i _mm_loadu_si128 (__m128i * p); |
| _mm_lzcnt_epi32 | vplzcntd | VPLZCNTD __m128i _mm_lzcnt_epi32(__m128i a); |
| _mm_lzcnt_epi64 | vplzcntq | VPLZCNTQ __m128i _mm_lzcnt_epi64(__m128i a); |
| _mm_madd52hi_avx_epu64 | vpmadd52huq | VPMADD52HUQ __m128i _mm_madd52hi_avx_epu64 (__m128i __X, __m128i __Y, __m128i __Z); |
| _mm_madd52hi_epu64 | vpmadd52huq | VPMADD52HUQ __m128i _mm_madd52hi_epu64 (__m128i __X, __m128i __Y, __m128i __Z); |
| _mm_madd52lo_avx_epu64 | vpmadd52luq | VPMADD52LUQ __m128i _mm_madd52lo_avx_epu64 (__m128i __X, __m128i __Y, __m128i __Z); |
| _mm_madd52lo_epu64 | vpmadd52luq | VPMADD52LUQ __m128i _mm_madd52lo_epu64( __m128i a, __m128i b, __m128i c); |
| _mm_madd_epi16 | pmaddwd | (V)PMADDWD __m128i _mm_madd_epi16 ( __m128i a, __m128i b) |
| _mm_madd_pi16 | pmaddwd | PMADDWD __m64 _mm_madd_pi16(__m64 m1, __m64 m2) |
| _mm_maddubs_epi16 | pmaddubsw | (V)PMADDUBSW __m128i _mm_maddubs_epi16 (__m128i a, __m128i b) |
| _mm_maddubs_pi16 | pmaddubsw | PMADDUBSW __m64 _mm_maddubs_pi16 (__m64 a, __m64 b) |
| _mm_mask2_permutex2var_epi16 | vpermi2q | VPERMI2W __m128i _mm_mask2_permutex2var_epi16(__m128i a, __m128i idx, __mmask8 k, __m128i b); |
| _mm_mask2_permutex2var_epi32 | vpermi2d | VPERMI2D __m128i _mm_mask2_permutex2var_epi32(__m128i a, __m128i idx, __mmask8 k, __m128i b); |
| _mm_mask2_permutex2var_epi64 | vpermi2q | VPERMI2Q __m128i _mm_mask2_permutex2var_epi64(__m128i a, __m128i idx, __mmask8 k, __m128i b); |
| _mm_mask2_permutex2var_epi8 | vpermi2b | VPERMI2B __m128i _mm_mask2_permutex2var_epi8(__m128i a, __m128i idx, __mmask16 k, __m128i b); |
| _mm_mask2_permutex2var_pd | vpermi2q | VPERMI2PD __m128d _mm_mask2_permutex2var_pd(__m128d a, __m128i idx, __mmask8 k, __m128d b); |
| _mm_mask2_permutex2var_ps | vpermi2q | VPERMI2PS __m128 _mm_mask2_permutex2var_ps(__m128 a, __m128i idx, __mmask8 k, __m128 b); |
| _mm_mask3_fcmadd_pch | vfcmaddcph | VFCMADDCPH __m128h _mm_mask3_fcmadd_pch (__m128h a, __m128h b, __m128h c, __mmask8 k); |
| _mm_mask3_fcmadd_round_sch | vfmaddcsh | VFCMADDCSH __m128h _mm_mask3_fcmadd_round_sch (__m128h a, __m128h b, __m128h c, __mmask8 k, const int rounding); |
| _mm_mask3_fcmadd_sch | vfmaddcsh | VFCMADDCSH __m128h _mm_mask3_fcmadd_sch (__m128h a, __m128h b, __m128h c, __mmask8 k); |
| _mm_mask3_fmadd_pch | vfmaddcph | VFMADDCPH __m128h _mm_mask3_fmadd_pch (__m128h a, __m128h b, __m128h c, __mmask8 k); |
| _mm_mask3_fmadd_ph | vfmadd132ph | __m128h _mm_mask3_fmadd_ph (__m128h a, __m128h b, __m128h c, __mmask8 k); |
| _mm_mask3_fmadd_ps | vfmadd231ps | VFMADDxxxPS __m128 _mm_mask3_fmadd_ps(__m128 a, __m128 b, __m128 c, __mmask8 k); |
| _mm_mask3_fmadd_round_sch | vfmaddcsh | VFMADDCSH __m128h _mm_mask3_fmadd_round_sch (__m128h a, __m128h b, __m128h c, __mmask8 k, const int rounding); |
| _mm_mask3_fmadd_round_sh | vfmadd132sh | __m128h _mm_mask3_fmadd_round_sh (__m128h a, __m128h b, __m128h c, __mmask8 k, const int rounding); |
| _mm_mask3_fmadd_round_ss | vfmadd132ss | VFMADDxxxSS __m128 _mm_mask3_fmadd_round_ss(__m128 a, __m128 b, __m128 c, __mmask8 k, int r); |
| _mm_mask3_fmadd_sch | vfmaddcsh | VFMADDCSH __m128h _mm_mask3_fmadd_sch (__m128h a, __m128h b, __m128h c, __mmask8 k); |
| _mm_mask3_fmadd_sh | vfmadd132sh | __m128h _mm_mask3_fmadd_sh (__m128h a, __m128h b, __m128h c, __mmask8 k); |
| _mm_mask3_fmadd_ss | vfmadd132ss | VFMADDxxxSS __m128 _mm_mask3_fmadd_ss(__m128 a, __m128 b, __m128 c, __mmask8 k); |
| _mm_mask3_fmsub_ps | vfmsub132ps | VFMSUBxxxPS __m128 _mm_mask3_fmsub_ps(__m128 a, __m128 b, __m128 c, __mmask8 k); |
| _mm_mask3_fnmadd_ph | vfmadd132ph | __m128h _mm_mask3_fnmadd_ph (__m128h a, __m128h b, __m128h c, __mmask8 k); |
| _mm_mask3_fnmadd_ps | vfnmadd132ps | VFNMADDxxxPS __m128 _mm_mask3_fnmadd_ps(__m128 a, __m128 b, __m128 c, __mmask8 k); |
| _mm_mask3_fnmadd_round_sh | vfmadd132sh | __m128h _mm_mask3_fnmadd_round_sh (__m128h a, __m128h b, __m128h c, __mmask8 k, const int rounding); |
| _mm_mask3_fnmadd_sh | vfmadd132sh | __m128h _mm_mask3_fnmadd_sh (__m128h a, __m128h b, __m128h c, __mmask8 k); |
| _mm_mask_4fmadd_ss | v4fmaddss | V4FMADDSS __m128 _mm_mask_4fmadd_ss(__m128, __mmask8, __m128x4, __m128 *); |
| _mm_mask_4fnmadd_ss | v4fnmaddss | V4FNMADDSS __m128 _mm_mask_4fnmadd_ss(__m128, __mmask8, __m128x4, __m128 *); |
| _mm_mask_abs_epi16 | pabsb | VPABSW__m128i _mm_mask_abs_epi16 (__m128i s, __mmask8 m, __m128i a) |
| _mm_mask_abs_epi32 | vpabsd | VPABSD __m128i _mm_mask_abs_epi32(__m128i s, __mmask8 k, __m128i a); |
| _mm_mask_abs_epi64 | vpabsq | VPABSQ __m128i _mm_mask_abs_epi64(__m128i s, __mmask8 k, __m128i a); |
| _mm_mask_abs_epi8 | pabsb | VPABSB__m128i _mm_mask_abs_epi8 (__m128i s, __mmask16 m, __m128i a) |
| _mm_mask_add_epi16 | paddb | VPADDW__m128i _mm_mask_add_epi16 (__m128i s, __mmask8 m, __m128i a, __m128i b) |
| _mm_mask_add_epi32 | vpaddd | VPADDD __m128i _mm_mask_add_epi32(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_add_epi64 | paddb | VPADDQ __m128i _mm_mask_add_epi64(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_add_epi8 | paddb | VPADDB__m128i _mm_mask_add_epi8 (__m128i s, __mmask16 m, __m128i a, __m128i b) |
| _mm_mask_add_pd | addpd | VADDPD __m128d _mm_mask_add_pd (__m128d s, __mmask8 k, __m128d a, __m128d b); |
| _mm_mask_add_ph | vaddph | VADDPH __m128h _mm_mask_add_ph (__m128h src, __mmask8 k, __m128h a, __m128h b); |
| _mm_mask_add_ps | vaddps | VADDPS __m128 _mm_mask_add_ps (__m128d s, __mmask8 k, __m128 a, __m128 b); |
| _mm_mask_add_round_sd | addsd | VADDSD __m128d _mm_mask_add_round_sd (__m128d s, __mmask8 k, __m128d a, __m128d b, int); |
| _mm_mask_add_round_sh | vaddsh | VADDSH ___m128h _mm_mask_add_round_sh (__m128h src, __mmask8 k, __m128h a, __m128h b, int rounding); |
| _mm_mask_add_round_ss | vaddss | VADDSS __m128 _mm_mask_add_round_ss (__m128 s, __mmask8 k, __m128 a, __m128 b, int); |
| _mm_mask_add_sd | addsd | VADDSD __m128d _mm_mask_add_sd (__m128d s, __mmask8 k, __m128d a, __m128d b); |
| _mm_mask_add_sh | vaddsh | VADDSH ___m128h _mm_mask_add_sh (__m128h src, __mmask8 k, __m128h a, __m128h b); |
| _mm_mask_add_ss | vaddss | VADDSS __m128 _mm_mask_add_ss (__m128 s, __mmask8 k, __m128 a, __m128 b); |
| _mm_mask_adds_epi16 | paddsb | VPADDSW __m128i _mm_mask_adds_epi16 (__m128i s, __mmask8 m, __m128i a, __m128i b) |
| _mm_mask_adds_epi8 | paddsb | VPADDSB __m128i _mm_mask_adds_epi8 (__m128i s, __mmask16 m, __m128i a, __m128i b) |
| _mm_mask_adds_epu16 | paddusb | VPADDUSW __m128i _mm_mask_adds_epu16 (__m128i s, __mmask8 m, __m128i a, __m128i b) |
| _mm_mask_adds_epu8 | paddusb | VPADDUSB __m128i _mm_mask_adds_epu8 (__m128i s, __mmask16 m, __m128i a, __m128i b) |
| _mm_mask_alignr_epi32 | valignd | VALIGND __m128i _mm_mask_alignr_epi32(__m128i s, __mmask8 k, __m128i a, __m128i b, int cnt); |
| _mm_mask_alignr_epi64 | valignq | VALIGNQ __m128i _mm_mask_alignr_epi64(__m128i s, __mmask8 k, __m128i a, __m128i b, int cnt); |
| _mm_mask_alignr_epi8 | palignr | VPALIGNR __m128i _mm_mask_alignr_epi8 (__m128i s, __mmask16 m, __m128i a, __m128i b, const int n) |
| _mm_mask_and_epi32 | pand | VPANDND __m128i _mm_mask_and_epi32(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_and_epi64 | pand | VPANDNQ __m128i _mm_mask_and_epi64(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_and_pd | andpd | VANDPD __m128d _mm_mask_and_pd (__m128d s, __mmask8 k, __m128d a, __m128d b); |
| _mm_mask_and_ps | andps | VANDPS __m128 _mm_mask_and_ps (__m128 s, __mmask8 k, __m128 a, __m128 b); |