x86 Compiler Intrinsics
3623 intrinsics from the Intel® SDM, each mapped to the instruction it compiles to - page 12 of 37, alphabetical. The global search in the top nav also matches intrinsic names directly.
| Intrinsic | Instruction | Signature |
|---|---|---|
| _mm512_bitshuffle_epi64_mask | vpshufbitqmb | VPSHUFBITQMB __mmask64 _mm512_bitshuffle_epi64_mask(__m512i, __m512i); |
| _mm512_broadcast_f32x2 | vbroadcastss | VBROADCASTF32x2 __m512 _mm512_broadcast_f32x2( __m128 a); |
| _mm512_broadcast_f32x4 | vbroadcastss | VBROADCASTF32x4 __m512 _mm512_broadcast_f32x4( __m128 a); |
| _mm512_broadcast_f32x8 | vbroadcastss | VBROADCASTF32x8 __m512 _mm512_broadcast_f32x8( __m256 a); |
| _mm512_broadcast_f64x2 | vbroadcastss | VBROADCASTF64x2 __m512d _mm512_broadcast_f64x2( __m128d a); |
| _mm512_broadcast_f64x4 | vbroadcastss | VBROADCASTF64x4 __m512d _mm512_broadcast_f64x4( __m256d a); |
| _mm512_broadcastsd_pd | vbroadcastsd | VBROADCASTSD __m512d _mm512_broadcastsd_pd( __m128d a); |
| _mm512_broadcastss_ps | vbroadcastss | VBROADCASTSS __m512 _mm512_broadcastss_ps( __m128 a); |
| _mm512_bslli_epi128 | pslldq | VPSLLDQ __m512i _mm512_bslli_epi128 ( __m512i a, const int imm) |
| _mm512_bsrli_epi128 | psrldq | VPSRLDQ __m512i _mm512_bsrli_epi128 ( __m512i, int) |
| _mm512_clmulepi64_epi128 | vpclmulqdq | VPCLMULQDQ __m512i _mm512_clmulepi64_epi128(__m512i, __m512i, const int); |
| _mm512_cmp_epi16_mask | vpcmpw | VPCMPW __mmask32 _mm512_cmp_epi16_mask( __m512i a, __m512i b, int cmp); |
| _mm512_cmp_epi32_mask | vpcmpd | VPCMPD __mmask16 _mm512_cmp_epi32_mask( __m512i a, __m512i b, int imm); |
| _mm512_cmp_epi64_mask | vpcmpq | VPCMPQ __mmask8 _mm512_cmp_epi64_mask( __m512i a, __m512i b, int imm); |
| _mm512_cmp_epi8_mask | vpcmpb | VPCMPB __mmask64 _mm512_cmp_epi8_mask( __m512i a, __m512i b, int cmp); |
| _mm512_cmp_epu16_mask | vpcmpuw | VPCMPUW __mmask32 _mm512_cmp_epu16_mask( __m512i a, __m512i b, int cmp); |
| _mm512_cmp_epu32_mask | vpcmpud | VPCMPUD __mmask16 _mm512_cmp_epu32_mask( __m512i a, __m512i b, int imm); |
| _mm512_cmp_epu64_mask | vpcmpuq | VPCMPUQ __mmask8 _mm512_cmp_epu64_mask( __m512i a, __m512i b, int imm); |
| _mm512_cmp_epu8_mask | vpcmpub | VPCMPUB __mmask64 _mm512_cmp_epu8_mask( __m512i a, __m512i b, int cmp); |
| _mm512_cmp_pd_mask | vcmppd | VCMPPD __mmask8 _mm512_cmp_pd_mask( __m512d a, __m512d b, int imm); |
| _mm512_cmp_ps_mask | vcmpps | VCMPPS __mmask16 _mm512_cmp_ps_mask( __m512 a, __m512 b, int imm); |
| _mm512_cmp_round_pd_mask | vcmppd | VCMPPD __mmask8 _mm512_cmp_round_pd_mask( __m512d a, __m512d b, int imm, int sae); |
| _mm512_cmp_round_ps_mask | vcmpps | VCMPPS __mmask16 _mm512_cmp_round_ps_mask( __m512 a, __m512 b, int imm, int sae); |
| _mm512_cmpeq_epi16_mask | pcmpeqb | VPCMPEQW __mmask32 _mm512_cmpeq_epi16_mask(__m512i a, __m512i b); |
| _mm512_cmpeq_epi32_mask | pcmpeqb | VPCMPEQD __mmask16 _mm512_cmpeq_epi32_mask( __m512i a, __m512i b); |
| _mm512_cmpeq_epi64_mask | pcmpeqq | VPCMPEQQ __mmask8 _mm512_cmpeq_epi64_mask( __m512i a, __m512i b); |
| _mm512_cmpeq_epi8_mask | pcmpeqb | VPCMPEQB __mmask64 _mm512_cmpeq_epi8_mask(__m512i a, __m512i b); |
| _mm512_cmpgt_epi16_mask | pcmpgtb | VPCMPGTW __mmask32 _mm512_cmpgt_epi16_mask(__m512i a, __m512i b); |
| _mm512_cmpgt_epi32_mask | pcmpgtb | VPCMPGTD __mmask16 _mm512_cmpgt_epi32_mask(__m512i a, __m512i b); |
| _mm512_cmpgt_epi64_mask | pcmpgtq | VPCMPGTQ __mmask8 _mm512_cmpgt_epi64_mask( __m512i a, __m512i b); |
| _mm512_cmpgt_epi8_mask | pcmpgtb | VPCMPGTB __mmask64 _mm512_cmpgt_epi8_mask(__m512i a, __m512i b); |
| _mm512_conflict_epi32 | vpconflictd | VPCONFLICTD __m512i _mm512_conflict_epi32( __m512i a); |
| _mm512_conflict_epi64 | vpconflictq | VPCONFLICTQ __m512i _mm512_conflict_epi64( __m512i a); |
| _mm512_cvt_roundepi32_ps | vcvtdq2ps | VCVTDQ2PS __m512 _mm512_cvt_roundepi32_ps( __m512i a, int r); |
| _mm512_cvt_roundepu32_ps | vcvtudq2ps | VCVTUDQ2PS __m512 _mm512_cvt_roundepu32_ps( __m512i a, int r); |
| _mm512_cvt_roundepu64_ps | vcvtuqq2ps | VCVTUQQ2PS __m256 _mm512_cvt_roundepu64_ps( __m512i a, int r); |
| _mm512_cvt_roundpd_epi32 | cvtpd2dq | VCVTPD2DQ __m256i _mm512_cvt_roundpd_epi32( __m512d a, int r); |
| _mm512_cvt_roundpd_epu32 | vcvtpd2udq | VCVTPD2UDQ __m256i _mm512_cvt_roundpd_epu32( __m512d a, int r); |
| _mm512_cvt_roundpd_epu64 | vcvtpd2uqq | VCVTPD2UQQ __m512i _mm512_cvt_roundpd_epu64( __m512d a, int r); |
| _mm512_cvt_roundpd_ps | cvtpd2ps | VCVTPD2PS __m256 _mm512_cvt_roundpd_ps( __m512d a, int r); |
| _mm512_cvt_roundph_ps | vcvtph2ps | VCVTPH2PS __m512 _mm512_cvt_roundph_ps( __m256i a, int sae); |
| _mm512_cvt_roundps_epi32 | vcvtps2dq | VCVTPS2DQ __m512i _mm512_cvt_roundps_epi32( __m512 a, int r); |
| _mm512_cvt_roundps_epu32 | vcvtps2udq | VCVTPS2UDQ __m512i _mm512_cvt_roundps_epu32( __m512 a, int r); |
| _mm512_cvt_roundps_epu64 | vcvtps2uqq | VCVTPS2UQQ __m512i _mm512_cvt_roundps_epu64( __m512 a, int r); |
| _mm512_cvt_roundps_pd | cvtps2pd | VCVTPS2PD __m512d _mm512_cvt_roundps_pd( __m256 a, int sae); |
| _mm512_cvt_roundps_ph | vcvtps2ph | VCVTPS2PH __m256i _mm512_cvt_roundps_ph(__m512 a, const int imm); |
| _mm512_cvtepi16_epi32 | pmovsxbw | VPMOVSXWD __m512i _mm512_cvtepi16_epi32(__m512i a); |
| _mm512_cvtepi16_epi64 | pmovsxbw | VPMOVSXWQ __m512i _mm512_cvtepi16_epi64(__m512i a); |
| _mm512_cvtepi16_epi8 | vpmovswb | VPMOVWB __m256i _mm512_cvtepi16_epi8(__m512i a); |
| _mm512_cvtepi32_epi64 | pmovsxbw | VPMOVSXDQ __m512i _mm512_cvtepi32_epi64(__m512i a); |
| _mm512_cvtepi32_epi8 | vpmovdb | VPMOVDB __m128i _mm512_cvtepi32_epi8( __m512i a); |
| _mm512_cvtepi32_pd | cvtdq2pd | VCVTDQ2PD __m512d _mm512_cvtepi32_pd( __m256i a); |
| _mm512_cvtepi32_ps | vcvtdq2ps | VCVTDQ2PS __m512 _mm512_cvtepi32_ps( __m512i a); |
| _mm512_cvtepi64_epi8 | vpmovsqb | VPMOVQB __m128i _mm512_cvtepi64_epi8( __m512i a); |
| _mm512_cvtepi8_epi16 | pmovsxbw | VPMOVSXBW __m512i _mm512_cvtepi8_epi16(__m512i a); |
| _mm512_cvtepi8_epi32 | pmovsxbw | VPMOVSXBD __m512i _mm512_cvtepi8_epi32(__m512i a); |
| _mm512_cvtepi8_epi64 | pmovsxbw | VPMOVSXBQ __m512i _mm512_cvtepi8_epi64(__m512i a); |
| _mm512_cvtepu16_epi32 | pmovzxbw | VPMOVZXWD __m512i _mm512_cvtepu16_epi32(__m128i a); |
| _mm512_cvtepu16_epi64 | pmovzxbw | VPMOVZXWQ __m512i _mm512_cvtepu16_epi64(__m256i a); |
| _mm512_cvtepu32_epi64 | pmovzxbw | VPMOVZXDQ __m512i _mm512_cvtepu32_epi64(__m256i a); |
| _mm512_cvtepu32_pd | vcvtudq2pd | VCVTUDQ2PD __m512d _mm512_cvtepu32_pd( __m256i a); |
| _mm512_cvtepu32_ps | vcvtudq2ps | VCVTUDQ2PS __m512 _mm512_cvtepu32_ps( __m512i a); |
| _mm512_cvtepu64_ps | vcvtuqq2ps | VCVTUQQ2PS __m256 _mm512_cvtepu64_ps( __m512i a); |
| _mm512_cvtepu8_epi16 | pmovzxbw | VPMOVZXBW __m512i _mm512_cvtepu8_epi16(__m256i a); |
| _mm512_cvtepu8_epi32 | pmovzxbw | VPMOVZXBD __m512i _mm512_cvtepu8_epi32(__m128i a); |
| _mm512_cvtepu8_epi64 | pmovzxbw | VPMOVZXBQ __m512i _mm512_cvtepu8_epi64(__m128i a); |
| _mm512_cvtne2ps_pbh | vcvtne2ps2bf16 | VCVTNE2PS2BF16 __m512bh _mm512_cvtne2ps_pbh (__m512, __m512); |
| _mm512_cvtpd_epi32 | cvtpd2dq | VCVTPD2DQ __m256i _mm512_cvtpd_epi32( __m512d a); |
| _mm512_cvtpd_epu32 | vcvtpd2udq | VCVTPD2UDQ __m256i _mm512_cvtpd_epu32( __m512d a); |
| _mm512_cvtpd_epu64 | vcvtpd2uqq | VCVTPD2UQQ __m512i _mm512_cvtpd_epu64( __m512d a); |
| _mm512_cvtpd_ps | cvtpd2ps | VCVTPD2PS __m256 _mm512_cvtpd_ps( __m512d a); |
| _mm512_cvtph_ps | vcvtph2ps | VCVTPH2PS __m512 _mm512_cvtph_ps( __m256i a); |
| _mm512_cvtps_epi32 | vcvtps2dq | VCVTPS2DQ __m512i _mm512_cvtps_epi32( __m512 a); |
| _mm512_cvtps_epu32 | vcvtps2udq | VCVTPS2UDQ __m512i _mm512_cvtps_epu32( __m512 a); |
| _mm512_cvtps_epu64 | vcvtps2uqq | VCVTPS2UQQ __m512i _mm512_cvtps_epu64( __m512 a); |
| _mm512_cvtps_pd | cvtps2pd | VCVTPS2PD __m512d _mm512_cvtps_pd( __m256 a); |
| _mm512_cvtps_ph | vcvtps2ph | VCVTPS2PH __m256i _mm512_cvtps_ph(__m512 a); |
| _mm512_cvtsepi16_epi8 | vpmovswb | VPMOVSWB __m256i _mm512_cvtsepi16_epi8(__m512i a); |
| _mm512_cvtsepi32_epi8 | vpmovdb | VPMOVSDB __m128i _mm512_cvtsepi32_epi8( __m512i a); |
| _mm512_cvtsepi64_epi8 | vpmovsqb | VPMOVSQB __m128i _mm512_cvtsepi64_epi8( __m512i a); |
| _mm512_cvtt_roundpd_epi32 | cvttpd2dq | VCVTTPD2DQ __m256i _mm512_cvtt_roundpd_epi32( __m512d a, int sae); |
| _mm512_cvtt_roundps_epi32 | vcvttps2dq | VCVTTPS2DQ __m512i _mm512_cvtt_roundps_epi32( __m512 a, int sae); |
| _mm512_cvttpd_epi32 | cvttpd2dq | VCVTTPD2DQ __m256i _mm512_cvttpd_epi32( __m512d a); |
| _mm512_cvttps_epi32 | vcvttps2dq | VCVTTPS2DQ __m512i _mm512_cvttps_epi32( __m512 a); |
| _mm512_cvtusepi16_epi8 | vpmovuswb | VPMOVUSWB __m256i _mm512_cvtusepi16_epi8(__m512i a); |
| _mm512_cvtusepi32_epi8 | vpmovusdb | VPMOVUSDB __m128i _mm512_cvtusepi32_epi8( __m512i a); |
| _mm512_cvtusepi64_epi8 | vpmovusqb | VPMOVUSQB __m128i _mm512_cvtusepi64_epi8( __m512i a); |
| _mm512_cvtx_roundph_ps | vcvtph2ps | VCVTPH2PSX __m512 _mm512_cvtx_roundph_ps (__m256h a, int sae); |
| _mm512_cvtxph_ps | vcvtph2ps | VCVTPH2PSX __m512 _mm512_cvtxph_ps (__m256h a); |
| _mm512_dbsad_epu8 | vdbpsadbw | VDBPSADBW __m512i _mm512_dbsad_epu8(__m512i a, __m512i b int imm8); |
| _mm512_div_pd | divpd | VDIVPD __m512d _mm512_div_pd( __m512d a, __m512d b); |
| _mm512_div_ph | vdivph | VDIVPH __m512h _mm512_div_ph (__m512h a, __m512h b); |
| _mm512_div_ps | divps | VDIVPS __m512 _mm512_div_ps( __m512 a, __m512 b); |
| _mm512_div_round_pd | divpd | VDIVPD __m512d _mm512_div_round_pd( __m512d a, __m512d b, int); |
| _mm512_div_round_ph | vdivph | VDIVPH __m512h _mm512_div_round_ph (__m512h a, __m512h b, int rounding); |
| _mm512_div_round_ps | divps | VDIVPS __m512 _mm512_div_round_ps( __m512 a, __m512 b, int); |
| _mm512_dpbf16_ps | vdpbf16ps | VDPBF16PS __m512 _mm512_dpbf16_ps(__m512, __m512bh, __m512bh); |
| _mm512_dpbusd_epi32 | vpdpbusd | VPDPBUSD __m512i _mm512_dpbusd_epi32(__m512i, __m512i, __m512i); |
| _mm512_dpbusds_epi32 | vpdpbusds | VPDPBUSDS __m512i _mm512_dpbusds_epi32(__m512i, __m512i, __m512i); |
| _mm512_dpwssd_epi32 | vpdpwssd | VPDPWSSD __m512i _mm512_dpwssd_epi32(__m512i, __m512i, __m512i); |