x86 Compiler Intrinsics
3623 intrinsics from the Intel® SDM, each mapped to the instruction it compiles to - page 30 of 37, alphabetical. The global search in the top nav also matches intrinsic names directly.
| Intrinsic | Instruction | Signature |
|---|---|---|
| _mm_mask_srlv_epi64 | vpsrlvq | VPSRLVQ __m128i _mm_mask_srlv_epi64(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_store_epi32 | movdqa | VMOVDQA32 void _mm_mask_store_epi32(void * d, __mmask8 k, __m128i a); |
| _mm_mask_store_epi64 | movdqa | VMOVDQA64 void _mm_mask_store_epi64(void * d, __mmask8 k, __m128i a); |
| _mm_mask_store_pd | movapd | VMOVAPD void _mm_mask_store_pd( void * d, __mmask8 k, __m128d a); |
| _mm_mask_store_ps | movaps | VMOVAPS void _mm_mask_store_ps( void * d, __mmask8 k, __m128 a); |
| _mm_mask_store_sd | movsd | VMOVSD void _mm_mask_store_sd(double * p, __mmask8 k, __m128d s); |
| _mm_mask_store_ss | movss | VMOVSS void _mm_mask_store_ss(float * p, __mmask8 k, __m128 a); |
| _mm_mask_storeu_epi16 | movdqu | VMOVDQU16 void _mm_mask_storeu_epi16(void * d, __mmask8 k, __m128i a); |
| _mm_mask_storeu_epi32 | movdqu | VMOVDQU32 void _mm_mask_storeu_epi32(void * d, __mmask8 k, __m128i a); |
| _mm_mask_storeu_epi64 | movdqu | VMOVDQU64 void _mm_mask_storeu_epi64(void * d, __mmask8 k, __m128i a); |
| _mm_mask_storeu_epi8 | movdqu | VMOVDQU8 void _mm_mask_storeu_epi8(void * d, __mmask16 k, __m128i a); |
| _mm_mask_storeu_pd | movupd | VMOVUPD void _mm_mask_storeu_pd( void * d, __mmask8 k, __m128d a); |
| _mm_mask_storeu_ps | movups | VMOVUPS void _mm_mask_storeu_ps( void * d, __mmask8 k, __m128 a); |
| _mm_mask_sub_epi16 | psubb | VPSUBW __m128i _mm_mask_sub_epi16(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_sub_epi32 | vpsubd | VPSUBD __m128i _mm_mask_sub_epi32(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_sub_epi64 | psubq | VPSUBQ __m128i _mm_mask_sub_epi64(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_sub_epi8 | psubb | VPSUBB __m128i _mm_mask_sub_epi8(__m128i s, __mmask16 k, __m128i a, __m128i b); |
| _mm_mask_sub_pd | subpd | VSUBPD __m128d _mm_mask_sub_pd (__m128d s, __mmask8 k, __m128d a, __m128d b); |
| _mm_mask_sub_ph | vsubph | VSUBPH __m128h _mm_mask_sub_ph (__m128h src, __mmask8 k, __m128h a, __m128h b); |
| _mm_mask_sub_ps | subps | VSUBPS __m128 _mm_mask_sub_ps (__m128 s, __mmask8 k, __m128 a, __m128 b); |
| _mm_mask_sub_round_sd | subsd | VSUBSD __m128d _mm_mask_sub_round_sd (__m128d s, __mmask8 k, __m128d a, __m128d b, int); |
| _mm_mask_sub_round_sh | vsubsh | VSUBSH __m128h _mm_mask_sub_round_sh (__m128h src, __mmask8 k, __m128h a, __m128h b, int rounding); |
| _mm_mask_sub_round_ss | subss | VSUBSS __m128 _mm_mask_sub_round_ss (__m128 s, __mmask8 k, __m128 a, __m128 b, int); |
| _mm_mask_sub_sd | subsd | VSUBSD __m128d _mm_mask_sub_sd (__m128d s, __mmask8 k, __m128d a, __m128d b); |
| _mm_mask_sub_sh | vsubsh | VSUBSH __m128h _mm_mask_sub_sh (__m128h src, __mmask8 k, __m128h a, __m128h b); |
| _mm_mask_sub_ss | subss | VSUBSS __m128 _mm_mask_sub_ss (__m128 s, __mmask8 k, __m128 a, __m128 b); |
| _mm_mask_subs_epi16 | psubsb | VPSUBSW __m128i _mm_mask_subs_epi16(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_subs_epi8 | psubsb | VPSUBSB __m128i _mm_mask_subs_epi8(__m128i s, __mmask16 k, __m128i a, __m128i b); |
| _mm_mask_subs_epu16 | psubusb | VPSUBUSW __m128i _mm_mask_subs_epu16(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_subs_epu8 | psubusb | VPSUBUSB __m128i _mm_mask_subs_epu8(__m128i s, __mmask16 k, __m128i a, __m128i b); |
| _mm_mask_ternarylogic_epi32 | vpternlogd | VPTERNLOGD __m128i _mm_mask_ternarylogic_epi32(__m128i s, __mmask8 m, __m128i a, __m128i b, int imm); |
| _mm_mask_ternarylogic_epi64 | vpternlogq | VPTERNLOGQ __m128i _mm_mask_ternarylogic_epi64(__m128i s, __mmask8 m, __m128i a, __m128i b, int imm); |
| _mm_mask_unpackhi_epi16 | punpckhbw | VPUNPCKHWD __m128i _mm_mask_unpackhi_epi16(v s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_unpackhi_epi32 | punpckhbw | VPUNPCKHDQ __m128i _mm_mask_unpackhi_epi32(__m512i s, __mmask8 k, __m512i a, __m512i b); |
| _mm_mask_unpackhi_epi64 | punpckhbw | VPUNPCKHQDQ __m128i _mm_mask_unpackhi_epi64(__m512i s, __mmask8 k, __m512i a, __m512i b); |
| _mm_mask_unpackhi_epi8 | punpckhbw | VPUNPCKHBW __m128i _mm_mask_unpackhi_epi8(v s, __mmask16 k, __m128i a, __m128i b); |
| _mm_mask_unpackhi_pd | unpckhpd | VUNPCKHPD __m128d _mm_mask_unpackhi_pd(__m128d s, __mmask8 k, __m128d a, __m128d b); |
| _mm_mask_unpackhi_ps | unpckhps | VUNPCKHPS __m128 _mm_mask_unpackhi_ps(__m128 s, __mmask8 k, __m128 a, __m128 b); |
| _mm_mask_unpacklo_epi16 | punpcklbw | VPUNPCKLWD __m128i _mm_mask_unpacklo_epi16(v s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_unpacklo_epi32 | punpcklbw | VPUNPCKLDQ __m128i _mm_mask_unpacklo_epi32(v s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_unpacklo_epi64 | punpcklbw | VPUNPCKLQDQ __m128i _mm_mask_unpacklo_epi64(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_unpacklo_epi8 | punpcklbw | VPUNPCKLBW __m128i _mm_mask_unpacklo_epi8(v s, __mmask16 k, __m128i a, __m128i b); |
| _mm_mask_unpacklo_pd | unpcklpd | VUNPCKLPD __m128d _mm_mask_unpacklo_pd(__m128d s, __mmask8 k, __m128d a, __m128d b); |
| _mm_mask_unpacklo_ps | unpcklps | VUNPCKLPS __m128 _mm_mask_unpacklo_ps(__m128 s, __mmask8 k, __m128 a, __m128 b); |
| _mm_mask_xor_epi32 | pxor | VPXORD __m128i _mm_mask_xor_epi32(__m128i s, __mmask8 m, __m128i a, __m128i b) |
| _mm_mask_xor_epi64 | pxor | VPXORQ __m128i _mm_mask_xor_epi64(__m128i s, __mmask8 m, __m128i a, __m128i b); |
| _mm_mask_xor_ps | xorps | VXORPS __m128 _mm_mask_xor_ps (__m128 a, __mmask8 m, __m128 b); |
| _mm_maskload_pd | vmaskmovpd | __m128d _mm_maskload_pd(double const *a, __m128i mask); |
| _mm_maskload_ps | vmaskmovps | __m128 _mm_maskload_ps(float const *a, __m128i mask) |
| _mm_maskmove_si64 | maskmovq | void _mm_maskmove_si64(__m64d, __m64n, char * p) |
| _mm_maskmoveu_si128 | maskmovdqu | void _mm_maskmoveu_si128(__m128i d, __m128i n, char * p) |
| _mm_maskstore_pd | vmaskmovpd | void _mm_maskstore_pd(double *a, __m128i mask, __m128d b); |
| _mm_maskstore_ps | vmaskmovps | void _mm_maskstore_ps(float *a, __m128i mask, __m128 b) |
| _mm_maskz_4fmadd_ss | v4fmaddss | V4FMADDSS __m128 _mm_maskz_4fmadd_ss(__mmask8, __m128, __m128x4, __m128 *); |
| _mm_maskz_4fnmadd_ss | v4fnmaddss | V4FNMADDSS __m128 _mm_maskz_4fnmadd_ss(__mmask8, __m128, __m128x4, __m128 *); |
| _mm_maskz_abs_epi16 | pabsb | VPABSW__m128i _mm_maskz_abs_epi16 (__mmask8 m, __m128i a) |
| _mm_maskz_abs_epi32 | vpabsd | VPABSD __m128i _mm_maskz_abs_epi32( __mmask8 k, __m128i a); |
| _mm_maskz_abs_epi64 | vpabsq | VPABSQ __m128i _mm_maskz_abs_epi64( __mmask8 k, __m128i a); |
| _mm_maskz_abs_epi8 | pabsb | VPABSB__m128i _mm_maskz_abs_epi8 (__mmask16 m, __m128i a) |
| _mm_maskz_add_epi16 | paddb | VPADDW__m128i _mm_maskz_add_epi16 (__mmask8 m, __m128i a, __m128i b) |
| _mm_maskz_add_epi32 | vpaddd | VPADDD __m128i _mm_maskz_add_epi32( __mmask8 k, __m128i a, __m128i b); |
| _mm_maskz_add_epi64 | paddb | VPADDQ __m128i _mm_maskz_add_epi64( __mmask8 k, __m128i a, __m128i b); |
| _mm_maskz_add_epi8 | paddb | VPADDB__m128i _mm_maskz_add_epi8 (__mmask16 m, __m128i a, __m128i b) |
| _mm_maskz_add_pd | addpd | VADDPD __m128d _mm_maskz_add_pd (__mmask8 k, __m128d a, __m128d b); |
| _mm_maskz_add_ph | vaddph | VADDPH __m128h _mm_maskz_add_ph (__mmask8 k, __m128h a, __m128h b); |
| _mm_maskz_add_ps | vaddps | VADDPS __m128 _mm_maskz_add_ps (__mmask8 k, __m128 a, __m128 b); |
| _mm_maskz_add_round_sd | addsd | VADDSD __m128d _mm_maskz_add_round_sd (__mmask8 k, __m128d a, __m128d b, int); |
| _mm_maskz_add_round_sh | vaddsh | VADDSH ___m128h _mm_maskz_add_round_sh (__mmask8 k, __m128h a, __m128h b, int rounding); |
| _mm_maskz_add_round_ss | vaddss | VADDSS __m128 _mm_maskz_add_round_ss (__mmask8 k, __m128 a, __m128 b, int); |
| _mm_maskz_add_sd | addsd | VADDSD __m128d _mm_maskz_add_sd (__mmask8 k, __m128d a, __m128d b); |
| _mm_maskz_add_sh | vaddsh | VADDSH ___m128h _mm_maskz_add_sh (__mmask8 k, __m128h a, __m128h b); |
| _mm_maskz_add_ss | vaddss | VADDSS __m128 _mm_maskz_add_ss (__mmask8 k, __m128 a, __m128 b); |
| _mm_maskz_adds_epi16 | paddsb | VPADDSW __m128i _mm_maskz_adds_epi16 (__mmask8 m, __m128i a, __m128i b) |
| _mm_maskz_adds_epi8 | paddsb | VPADDSB __m128i _mm_maskz_adds_epi8 (__mmask16 m, __m128i a, __m128i b) |
| _mm_maskz_adds_epu16 | paddusb | VPADDUSW __m128i _mm_maskz_adds_epu16 (__mmask8 m, __m128i a, __m128i b) |
| _mm_maskz_adds_epu8 | paddusb | VPADDUSB __m128i _mm_maskz_adds_epu8 (__mmask16 m, __m128i a, __m128i b) |
| _mm_maskz_alignr_epi32 | valignd | VALIGND __m128i _mm_maskz_alignr_epi32( __mmask8 k, __m128i a, __m128i b, int cnt); |
| _mm_maskz_alignr_epi64 | valignq | VALIGNQ __m128i _mm_maskz_alignr_epi64( __mmask8 k, __m128i a, __m128i b, int cnt); |
| _mm_maskz_alignr_epi8 | palignr | VPALIGNR __m128i _mm_maskz_alignr_epi8 (__mmask16 m, __m128i a, __m128i b, const int n) |
| _mm_maskz_and_epi32 | pand | VPANDND __m128i _mm_maskz_and_epi32( __mmask8 k, __m128i a, __m128i b); |
| _mm_maskz_and_epi64 | pand | VPANDNQ __m128i _mm_maskz_and_epi64( __mmask8 k, __m128i a, __m128i b); |
| _mm_maskz_and_pd | andpd | VANDPD __m128d _mm_maskz_and_pd (__mmask8 k, __m128d a, __m128d b); |
| _mm_maskz_and_ps | andps | VANDPS __m128 _mm_maskz_and_ps (__mmask8 k, __m128 a, __m128 b); |
| _mm_maskz_andnot_epi32 | pandn | VPANDND __m128i _mm_maskz_andnot_epi32( __mmask8 k, __m128i a, __m128i b); |
| _mm_maskz_andnot_epi64 | pandn | VPANDNQ __m128i _mm_maskz_andnot_epi64( __mmask8 k, __m128i a, __m128i b); |
| _mm_maskz_avg_epu16 | pavgb | VPAVGW __m128i _mm_maskz_avg_epu16( __mmask8 m, __m128i a, __m128i b); |
| _mm_maskz_avg_epu8 | pavgb | VPAVGB __m128i _mm_maskz_avg_epu8( __mmask16 m, __m128i a, __m128i b); |
| _mm_maskz_broadcastss_ps | vbroadcastss | VBROADCASTSS __m128 _mm_maskz_broadcastss_ps( __mmask8 k, __m128 a); |
| _mm_maskz_compress_epi16 | vpcompressw | VPCOMPRESSW __m128i _mm_maskz_compress_epi16(__mmask8, __m128i); |
| _mm_maskz_compress_epi8 | vpcompressb | VPCOMPRESSB __m128i _mm_maskz_compress_epi8(__mmask16, __m128i); |
| _mm_maskz_compress_pd | vcompresspd | VCOMPRESSPD __m128d _mm_maskz_compress_pd( __mmask8 k, __m128d a); |
| _mm_maskz_compress_ps | vcompressps | VCOMPRESSPS __m128 _mm_maskz_compress_ps( __mmask8 k, __m128 a); |
| _mm_maskz_conflict_epi32 | vpconflictd | VPCONFLICTD __m128i _mm_maskz_conflict_epi32(__mmask8 m, __m128i a); |
| _mm_maskz_conflict_epi64 | vpconflictq | VPCONFLICTQ __m128i _mm_maskz_conflict_epi64(__mmask8 m, __m128i a); |
| _mm_maskz_cvt_roundsd_ss | cvtsd2ss | VCVTSD2SS __m128 _mm_maskz_cvt_roundsd_ss( __mmask8 k, __m128 a,__m128d b, int r); |
| _mm_maskz_cvt_roundss_sd | cvtss2sd | VCVTSS2SD __m128d _mm_maskz_cvt_roundss_sd(__mmask8 k, __m128d a, __m128 a, int r); |
| _mm_maskz_cvtepi16_epi32 | pmovsxbw | VPMOVSXWD __m128i _mm_maskz_cvtepi16_epi32(__mmask16 k, __m128i a); |
| _mm_maskz_cvtepi16_epi64 | pmovsxbw | VPMOVSXWQ __m128i _mm_maskz_cvtepi16_epi64( __mmask8 k, __m128i a); |
| _mm_maskz_cvtepi16_epi8 | vpmovswb | VPMOVWB __m128i _mm_maskz_cvtepi16_epi8( __mmask8 k, __m128i b); |
| _mm_maskz_cvtepi32_epi64 | pmovsxbw | VPMOVSXDQ __m128i _mm_maskz_cvtepi32_epi64( __mmask8 k, __m128i a); |