x86 Compiler Intrinsics
3623 intrinsics from the Intel® SDM, each mapped to the instruction it compiles to - page 11 of 37, alphabetical. The global search in the top nav also matches intrinsic names directly.
| Intrinsic | Instruction | Signature |
|---|---|---|
| _mm256_srav_epi32 | vpsravd | VPSRAVD __m256i _mm256_srav_epi32(__m256i a, __m256i cnt); |
| _mm256_srav_epi64 | vpsravq | VPSRAVQ __m256i _mm256_srav_epi64(__m256i a, __m256i cnt); |
| _mm256_srl_epi16 | psrlw | VPSRLW __m256i _mm256_srl_epi16 (__m256i m, __m128i count) |
| _mm256_srl_epi32 | psrlw | VPSRLD __m256i _mm256_srl_epi32 (__m256i m, __m128i count) |
| _mm256_srl_epi64 | psrlw | VPSRLQ __m256i _mm256_srl_epi64 (__m256i m, __m128i count) |
| _mm256_srli_epi16 | psrlw | VPSRLW __m256i _mm256_srli_epi16 (__m256i m, int count) |
| _mm256_srli_epi32 | psrlw | VPSRLD __m256i _mm256_srli_epi32 (__m256i m, int count) |
| _mm256_srli_epi64 | psrlw | VPSRLQ __m256i _mm256_srli_epi64 (__m256i m, int count) |
| _mm256_srlv_epi32 | vpsrlvd | VPSRLVW __m256i _mm256_srlv_epi32 (__m256i m, __m256i count) |
| _mm256_srlv_epi64 | vpsrlvq | VPSRLVQ __m256i _mm256_srlv_epi64 (__m256i m, __m256i count) |
| _mm256_store_epi32 | movdqa | VMOVDQA32 void _mm256_store_epi32(void * d, __m256i a); |
| _mm256_store_epi64 | movdqa | VMOVDQA64 void _mm256_store_epi64(void * d, __m256i a); |
| _mm256_store_pd | movapd | MOVAPD void _mm256_store_pd(double * p, __m256d a); |
| _mm256_store_ps | movaps | MOVAPS void _mm256_store_ps(float * p, __m256 a); |
| _mm256_store_si256 | movdqa | MOVDQA _mm256_store_si256(_m256i *p, __m256i a); |
| _mm256_storeu_epi32 | movdqu | VMOVDQU32 void _mm256_storeu_epi32(void * d, __m256i a); |
| _mm256_storeu_epi64 | movdqu | VMOVDQU64 void _mm256_storeu_epi64(void * d, __m256i a); |
| _mm256_storeu_pd | movupd | MOVUPD void _mm256_storeu_pd( double *p, __m256d a); |
| _mm256_storeu_si256 | movdqu | MOVDQU _mm256_storeu_si256(_m256i *p, __m256i a); |
| _mm256_stream_load_si256 | movntdqa | VMOVNTDQA __m256i _mm256_stream_load_si256 (__m256i const* p); |
| _mm256_stream_pd | movntpd | VMOVNTPD void _mm256_stream_pd (double * p, __m256d a); |
| _mm256_stream_ps | movntps | VMOVNTPS void _mm256_stream_ps (float * p, __m256 a); |
| _mm256_sub_epi16 | psubb | VPSUBW __m256i _mm256_sub_epi16 ( __m256i a, __m256i b) |
| _mm256_sub_epi32 | vpsubd | VPSUBD __m256i _mm256_sub_epi32 ( __m256i a, __m256i b) |
| _mm256_sub_epi64 | psubq | VPSUBQ __m256i _mm256_sub_epi64(__m256i m1, __m256i m2) |
| _mm256_sub_epi8 | psubb | VPSUBB __m256i _mm256_sub_epi8 ( __m256i a, __m256i b) |
| _mm256_sub_pd | subpd | VSUBPD __m256d _mm256_sub_pd (__m256d a, __m256d b); |
| _mm256_sub_ph | vsubph | VSUBPH __m256h _mm256_sub_ph (__m256h a, __m256h b); |
| _mm256_sub_ps | subps | VSUBPS __m256 _mm256_sub_ps (__m256 a, __m256 b); |
| _mm256_subs_epi16 | psubsb | VPSUBSW __m256i _mm256_subs_epi16(__m256i m1, __m256i m2) |
| _mm256_subs_epi8 | psubsb | VPSUBSB __m256i _mm256_subs_epi8(__m256i m1, __m256i m2) |
| _mm256_subs_epu16 | psubusb | VPSUBUSW __m256i _mm256_subs_epu16(__m256i m1, __m256i m2) |
| _mm256_subs_epu8 | psubusb | VPSUBUSB __m256i _mm256_subs_epu8(__m256i m1, __m256i m2) |
| _mm256_ternarylogic_epi32 | vpternlogd | VPTERNLOGD __m256i _mm256_ternarylogic_epi32(__m256i a, __m256i b, int imm); |
| _mm256_ternarylogic_epi64 | vpternlogq | VPTERNLOGQ __m256i _mm256_ternarylogic_epi64(__m256i a, __m256i b, int imm); |
| _mm256_testc_pd | vtestpd | int _mm256_testc_pd (__m256d s1, __m256d s2); |
| _mm256_testc_ps | vtestps | int _mm256_testc_ps (__m256 s1, __m256 s2); |
| _mm256_testc_si256 | ptest | VPTEST int _mm256_testc_si256 (__m256i s1, __m256i s2); |
| _mm256_testnzc_pd | vtestpd | int _mm256_testnzc_pd (__m256d s1, __m256d s2); |
| _mm256_testnzc_ps | vtestps | int _mm256_testnzc_ps (__m256 s1, __m128 s2); |
| _mm256_testnzc_si256 | ptest | VPTEST int _mm256_testnzc_si256 (__m256i s1, __m256i s2); |
| _mm256_testz_pd | vtestpd | int _mm256_testz_pd (__m256d s1, __m256d s2); |
| _mm256_testz_ps | vtestps | int _mm256_testz_ps (__m256 s1, __m256 s2); |
| _mm256_testz_si256 | ptest | VPTEST int _mm256_testz_si256 (__m256i s1, __m256i s2); |
| _mm256_unpackhi_epi16 | punpckhbw | VPUNPCKHWD __m256i _mm256_unpackhi_epi16(__m256i m1,__m256i m2) |
| _mm256_unpackhi_epi32 | punpckhbw | VPUNPCKHDQ __m256i _mm256_unpackhi_epi32(__m256i m1, __m256i m2) |
| _mm256_unpackhi_epi64 | punpckhbw | VPUNPCKHQDQ __m256i _mm256_unpackhi_epi64 ( __m256i a, __m256i b) |
| _mm256_unpackhi_epi8 | punpckhbw | VPUNPCKHBW __m256i _mm256_unpackhi_epi8(__m256i m1, __m256i m2) |
| _mm256_unpackhi_pd | unpckhpd | VUNPCKHPD __m256d _mm256_unpackhi_pd(__m256d a, __m256d b) |
| _mm256_unpackhi_ps | unpckhps | VUNPCKHPS __m256 _mm256_unpackhi_ps (__m256 a, __m256 b); |
| _mm256_unpacklo_epi16 | punpcklbw | VPUNPCKLWD __m256i _mm256_unpacklo_epi16 (__m256i m1, __m256i m2) |
| _mm256_unpacklo_epi32 | punpcklbw | VPUNPCKLDQ __m256i _mm256_unpacklo_epi32 (__m256i m1, __m256i m2) |
| _mm256_unpacklo_epi64 | punpcklbw | VPUNPCKLQDQ __m256i _mm256_unpacklo_epi64 (__m256i m1, __m256i m2) |
| _mm256_unpacklo_epi8 | punpcklbw | VPUNPCKLBW __m256i _mm256_unpacklo_epi8 (__m256i m1, __m256i m2) |
| _mm256_unpacklo_pd | unpcklpd | VUNPCKLPD __m256d _mm256_unpacklo_pd(__m256d a, __m256d b) |
| _mm256_unpacklo_ps | unpcklps | VUNPCKLPS __m256 _mm256_unpacklo_ps (__m256 a, __m256 b); |
| _mm256_xor_epi32 | pxor | VPXORD __m256i _mm256_xor_epi32(__m256i a, __m256i b) |
| _mm256_xor_epi64 | pxor | VPXORQ __m256i _mm256_xor_epi64( __m256i a, __m256i b); |
| _mm256_xor_ps | xorps | VXORPS __m256 _mm256_xor_ps (__m256 a, __m256 b); |
| _mm256_xor_si256 | pxor | VPXOR:__m256i _mm256_xor_si256 ( __m256i a, __m256i b) |
| _mm256_zeroall | vzeroall | VZEROALL: _mm256_zeroall() |
| _mm256_zeroupper | vzeroupper | VZEROUPPER: _mm256_zeroupper() |
| _mm512_2intersect_epi32 | vp2intersectd | VP2INTERSECTD void _mm512_2intersect_epi32(__m512i, __m512i, __mmask16 *, __mmask16 *); |
| _mm512_2intersect_epi64 | vp2intersectq | VP2INTERSECTQ void _mm512_2intersect_epi64(__m512i, __m512i, __mmask8 *, __mmask8 *); |
| _mm512_4dpwssd_epi32 | vp4dpwssd | VP4DPWSSD __m512i _mm512_4dpwssd_epi32(__m512i, __m512ix4, __m128i *); |
| _mm512_4dpwssds_epi32 | vp4dpwssds | VP4DPWSSDS __m512i _mm512_4dpwssds_epi32(__m512i, __m512ix4, __m128i *); |
| _mm512_4fmadd_ps | v4fmaddps | V4FMADDPS __m512 _mm512_4fmadd_ps( __m512, __m512x4, __m128 *); |
| _mm512_4fnmadd_ps | v4fnmaddps | V4FNMADDPS __m512 _mm512_4fnmadd_ps(__m512, __m512x4, __m128 *); |
| _mm512_abs_epi16 | pabsb | VPABSW__m512i _mm512_abs_epi16 ( __m512i a) |
| _mm512_abs_epi32 | vpabsd | VPABSD __m512i _mm512_abs_epi32( __m512i a); |
| _mm512_abs_epi64 | vpabsq | VPABSQ __m512i _mm512_abs_epi64( __m512i a); |
| _mm512_abs_epi8 | pabsb | VPABSB__m512i _mm512_abs_epi8 ( __m512i a) |
| _mm512_add_epi16 | paddb | VPADDW__m512i _mm512_add_epi16 ( __m512i a, __m512i b) |
| _mm512_add_epi32 | vpaddd | VPADDD __m512i _mm512_add_epi32( __m512i a, __m512i b); |
| _mm512_add_epi64 | paddb | VPADDQ __m512i _mm512_add_epi64( __m512i a, __m512i b); |
| _mm512_add_epi8 | paddb | VPADDB__m512i _mm512_add_epi8 ( __m512i a, __m512i b) |
| _mm512_add_pd | addpd | VADDPD __m512d _mm512_add_pd (__m512d a, __m512d b); |
| _mm512_add_ph | vaddph | VADDPH __m512h _mm512_add_ph (__m512h a, __m512h b); |
| _mm512_add_ps | vaddps | VADDPS __m512 _mm512_add_ps (__m512 a, __m512 b); |
| _mm512_add_round_pd | addpd | VADDPD __m512d _mm512_add_round_pd (__m512d a, __m512d b, int); |
| _mm512_add_round_ph | vaddph | VADDPH __m512h _mm512_add_round_ph (__m512h a, __m512h b, int rounding); |
| _mm512_add_round_ps | vaddps | VADDPS __m512 _mm512_add_round_ps (__m512 a, __m512 b, int); |
| _mm512_adds_epi16 | paddsb | VPADDSW __m512i _mm512_adds_epi16 ( __m512i a, __m512i b) |
| _mm512_adds_epi8 | paddsb | VPADDSB __m512i _mm512_adds_epi8 ( __m512i a, __m512i b) |
| _mm512_adds_epu16 | paddusb | VPADDUSW __m512i _mm512_adds_epu16 ( __m512i a, __m512i b) |
| _mm512_adds_epu8 | paddusb | VPADDUSB __m512i _mm512_adds_epu8 ( __m512i a, __m512i b) |
| _mm512_aesdec_epi128 | vaesdec | VAESDEC __m512i _mm512_aesdec_epi128(__m512i, __m512i); |
| _mm512_aesenc_epi128 | vaesenc | VAESENC __m512i _mm512_aesenc_epi128(__m512i, __m512i); |
| _mm512_aesenclast_epi128 | aesenclast | VAESENCLAST __m512i _mm512_aesenclast_epi128(__m512i, __m512i); |
| _mm512_alignr_epi32 | valignd | VALIGND __m512i _mm512_alignr_epi32( __m512i a, __m512i b, int cnt); |
| _mm512_alignr_epi64 | valignq | VALIGNQ __m512i _mm512_alignr_epi64( __m512i a, __m512i b, int cnt); |
| _mm512_alignr_epi8 | palignr | VPALIGNR __m512i _mm512_alignr_epi8 (__m512i a, __m512i b, const int n) |
| _mm512_and_epi32 | pand | VPANDD __m512i _mm512_and_epi32( __m512i a, __m512i b); |
| _mm512_and_epi64 | pand | VPANDQ __m512i _mm512_and_epi64( __m512i a, __m512i b); |
| _mm512_and_pd | andpd | VANDPD __m512d _mm512_and_pd (__m512d a, __m512d b); |
| _mm512_and_ps | andps | VANDPS __m512 _mm512_and_ps (__m512 a, __m512 b); |
| _mm512_andnot_epi32 | pandn | VPANDND __m512i _mm512_andnot_epi32( __m512i a, __m512i b); |
| _mm512_andnot_epi64 | pandn | VPANDNQ __m512i _mm512_andnot_epi64( __m512i a, __m512i b); |
| _mm512_avg_epu16 | pavgb | VPAVGW __m512i _mm512_avg_epu16( __m512i a, __m512i b); |
| _mm512_avg_epu8 | pavgb | VPAVGB __m512i _mm512_avg_epu8( __m512i a, __m512i b); |