x86 Compiler Intrinsics
3623 intrinsics from the Intel® SDM, each mapped to the instruction it compiles to - page 24 of 37, alphabetical. The global search in the top nav also matches intrinsic names directly.
| Intrinsic | Instruction | Signature |
|---|---|---|
| _mm_blendv_epi8 | pblendvb | (V)PBLENDVB __m128i _mm_blendv_epi8 (__m128i v1, __m128i v2, __m128i mask); |
| _mm_blendv_pd | blendvpd | BLENDVPD __m128d _mm_blendv_pd(__m128d v1, __m128d v2, __m128d v3); |
| _mm_blendv_ps | blendvps | BLENDVPS __m128 _mm_blendv_ps(__m128 v1, __m128 v2, __m128 v3); |
| _mm_broadcast_ss | vbroadcastss | VBROADCASTSS __m128 _mm_broadcast_ss(float *a); |
| _mm_broadcastss_ps | vbroadcastss | VBROADCASTSS __m128 _mm_broadcastss_ps(__m128 a); |
| _mm_ceil_pd | roundpd | __m128 _mm_ceil_pd(__m128d s1) |
| _mm_ceil_ps | roundps | __m128 _mm_ceil_ps(__m128 s1) |
| _mm_clflush | clflush | CLFLUSH void _mm_clflush(void const *p) |
| _mm_clflushopt | clflushopt | CLFLUSHOPT void _mm_clflushopt(void const *p) |
| _mm_clmulepi64_si128 | vpclmulqdq | (V)PCLMULQDQ __m128i _mm_clmulepi64_si128 (__m128i, __m128i, const int) |
| _mm_cmp_epi16_mask | vpcmpw | VPCMPW __mmask8 _mm_cmp_epi16_mask( __m128i a, __m128i b, int cmp); |
| _mm_cmp_epi32_mask | vpcmpd | VPCMPD __mmask8 _mm_cmp_epi32_mask( __m128i a, __m128i b, int imm); |
| _mm_cmp_epi64_mask | vpcmpq | VPCMPQ __mmask8 _mm_cmp_epi64_mask( __m128i a, __m128i b, int imm); |
| _mm_cmp_epi8_mask | vpcmpb | VPCMPB __mmask16 _mm_cmp_epi8_mask( __m128i a, __m128i b, int cmp); |
| _mm_cmp_epu16_mask | vpcmpuw | VPCMPUW __mmask8 _mm_cmp_epu16_mask( __m128i a, __m128i b, int cmp); |
| _mm_cmp_epu32_mask | vpcmpud | VPCMPUD __mmask8 _mm_cmp_epu32_mask( __m128i a, __m128i b, int imm); |
| _mm_cmp_epu64_mask | vpcmpuq | VPCMPUQ __mmask8 _mm_cmp_epu64_mask( __m128i a, __m128i b, int imm); |
| _mm_cmp_epu8_mask | vpcmpub | VPCMPUB __mmask16 _mm_cmp_epu8_mask( __m128i a, __m128i b, int cmp); |
| _mm_cmp_pd | vcmppd | (V)CMPPD __m128 _mm_cmp_pd(__m128d a, __m128d b, int imm) |
| _mm_cmp_pd_mask | vcmppd | VCMPPD __mmask8 _mm_cmp_pd_mask( __m128d a, __m128d b, int imm); |
| _mm_cmp_ps | vcmpps | CMPPS __m128 _mm_cmp_ps(__m128 a, __m128 b, int imm) |
| _mm_cmp_ps_mask | vcmpps | VCMPPS __mmask8 _mm_cmp_ps_mask( __m128 a, __m128 b, int imm); |
| _mm_cmp_round_ss_mask | cmpss | VCMPSS __mmask8 _mm_cmp_round_ss_mask( __m128 a, __m128 b, int imm, int sae); |
| _mm_cmp_ss | cmpss | (V)CMPSS __m128 _mm_cmp_ss(__m128 a, __m128 b, const int imm) |
| _mm_cmp_ss_mask | cmpss | VCMPSS __mmask8 _mm_cmp_ss_mask( __m128 a, __m128 b, int imm); |
| _mm_cmpeq_epi16 | pcmpeqb | (V)PCMPEQW __m128i _mm_cmpeq_epi16 ( __m128i a, __m128i b) |
| _mm_cmpeq_epi16_mask | pcmpeqb | VPCMPEQW __mmask8 _mm_cmpeq_epi16_mask(__m128i a, __m128i b); |
| _mm_cmpeq_epi32 | pcmpeqb | (V)PCMPEQD __m128i _mm_cmpeq_epi32 ( __m128i a, __m128i b) |
| _mm_cmpeq_epi32_mask | pcmpeqb | VPCMPEQD __mmask8 _mm_cmpeq_epi32_mask(__m128i a, __m128i b); |
| _mm_cmpeq_epi64 | pcmpeqq | (V)PCMPEQQ __m128i _mm_cmpeq_epi64(__m128i a, __m128i b); |
| _mm_cmpeq_epi64_mask | pcmpeqq | VPCMPEQQ __mmask8 _mm_cmpeq_epi64_mask( __m128i a, __m128i b); |
| _mm_cmpeq_epi8 | pcmpeqb | (V)PCMPEQB __m128i _mm_cmpeq_epi8 ( __m128i a, __m128i b) |
| _mm_cmpeq_epi8_mask | pcmpeqb | VPCMPEQB __mmask16 _mm_cmpeq_epi8_mask(__m128i a, __m128i b); |
| _mm_cmpeq_pi16 | pcmpeqw | PCMPEQW __m64 _mm_cmpeq_pi16 (__m64 m1, __m64 m2) |
| _mm_cmpeq_pi32 | pcmpeqd | PCMPEQD __m64 _mm_cmpeq_pi32 (__m64 m1, __m64 m2) |
| _mm_cmpeq_pi8 | pcmpeqb | PCMPEQB __m64 _mm_cmpeq_pi8 (__m64 m1, __m64 m2) |
| _mm_cmpgt_epi16 | pcmpgtb | (V)PCMPGTW __m128i _mm_cmpgt_epi16 ( __m128i a, __m128i b) |
| _mm_cmpgt_epi16_mask | pcmpgtb | VPCMPGTW __mmask8 _mm_cmpgt_epi16_mask(__m128i a, __m128i b); |
| _mm_cmpgt_epi32 | pcmpgtb | (V)DCMPGTD __m128i _mm_cmpgt_epi32 ( __m128i a, __m128i b) |
| _mm_cmpgt_epi32_mask | pcmpgtb | VPCMPGTD __mmask8 _mm_cmpgt_epi32_mask(__m128i a, __m128i b); |
| _mm_cmpgt_epi64 | pcmpgtq | (V)PCMPGTQ __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) |
| _mm_cmpgt_epi64_mask | pcmpgtq | VPCMPGTQ __mmask8 _mm_cmpgt_epi64_mask( __m128i a, __m128i b); |
| _mm_cmpgt_epi8 | pcmpgtb | (V)PCMPGTB __m128i _mm_cmpgt_epi8 ( __m128i a, __m128i b) |
| _mm_cmpgt_epi8_mask | pcmpgtb | VPCMPGTB __mmask16 _mm_cmpgt_epi8_mask(__m128i a, __m128i b); |
| _mm_cmpgt_pi16 | pcmpgtw | PCMPGTW __m64 _mm_cmpgt_pi16 (__m64 m1, __m64 m2) |
| _mm_cmpgt_pi32 | pcmpgtd | PCMPGTD __m64 _mm_cmpgt_pi32 (__m64 m1, __m64 m2) |
| _mm_cmpgt_pi8 | pcmpgtb | PCMPGTB __m64 _mm_cmpgt_pi8 (__m64 m1, __m64 m2) |
| _mm_comi_round_sd | ucomisd | VUCOMISD int _mm_comi_round_sd(__m128d a, __m128d b, int imm, int sae); |
| _mm_comi_round_ss | ucomiss | VUCOMISS int _mm_comi_round_ss(__m128 a, __m128 b, int imm, int sae); |
| _mm_comieq_sd | comisd | VCOMISD int _mm_comieq_sd (__m128d a, __m128d b) |
| _mm_comieq_ss | comiss | VCOMISS int _mm_comieq_ss (__m128 a, __m128 b) |
| _mm_comige_sd | comisd | VCOMISD int _mm_comige_sd (__m128d a, __m128d b) |
| _mm_comige_ss | comiss | VCOMISS int _mm_comige_ss (__m128 a, __m128 b) |
| _mm_comigt_sd | comisd | VCOMISD int _mm_comigt_sd (__m128d a, __m128d b) |
| _mm_comigt_ss | comiss | VCOMISS int _mm_comigt_ss (__m128 a, __m128 b) |
| _mm_comile_sd | comisd | VCOMISD int _mm_comile_sd (__m128d a, __m128d b) |
| _mm_comile_ss | comiss | VCOMISS int _mm_comile_ss (__m128 a, __m128 b) |
| _mm_comilt_sd | comisd | VCOMISD int _mm_comilt_sd (__m128d a, __m128d b) |
| _mm_comilt_ss | comiss | VCOMISS int _mm_comilt_ss (__m128 a, __m128 b) |
| _mm_comineq_sd | comisd | VCOMISD int _mm_comineq_sd (__m128d a, __m128d b) |
| _mm_comineq_ss | comiss | VCOMISS int _mm_comineq_ss (__m128 a, __m128 b) |
| _mm_conflict_epi32 | vpconflictd | VPCONFLICTD __m128i _mm_conflict_epi32( __m128i a); |
| _mm_conflict_epi64 | vpconflictq | VPCONFLICTQ __m128i _mm_conflict_epi64( __m128i a); |
| _mm_crc32_u16 | crc32 | unsigned int _mm_crc32_u16( unsigned int crc, unsigned short data ) |
| _mm_crc32_u32 | crc32 | unsigned int _mm_crc32_u32( unsigned int crc, unsigned int data ) |
| _mm_crc32_u64 | crc32 | unsigned __int64 _mm_crc32_u64( unsigned __int64 crc, unsigned __int64 data ) |
| _mm_crc32_u8 | crc32 | unsigned int _mm_crc32_u8( unsigned int crc, unsigned char data ) |
| _mm_cvt_roundi32_ss | cvtsq2ss | VCVTSI2SS __m128 _mm_cvt_roundi32_ss(__m128 s, int a, int r); |
| _mm_cvt_roundi64_sd | cvtsq2sd | VCVTSI2SD __m128d _mm_cvt_roundi64_sd(__m128d s, __int64 a, int r); |
| _mm_cvt_roundi64_ss | cvtsq2ss | VCVTSI2SS __m128 _mm_cvt_roundi64_ss(__m128 s, __int64 a, int r); |
| _mm_cvt_roundsd_i32 | cvtsd2si | VCVTSD2SI int _mm_cvt_roundsd_i32(__m128d, int r); |
| _mm_cvt_roundsd_i64 | cvtsd2si | VCVTSD2SI __int64 _mm_cvt_roundsd_i64(__m128d, int r); |
| _mm_cvt_roundsd_ss | cvtsd2ss | VCVTSD2SS __m128 _mm_cvt_roundsd_ss(__m128 a, __m128d b, int r); |
| _mm_cvt_roundss_i32 | cvtss2si | VCVTSS2SI int _mm_cvt_roundss_i32( __m128 a, int r); |
| _mm_cvt_roundss_i64 | cvtss2si | VCVTSS2SI __int64 _mm_cvt_roundss_i64( __m128 a, int r); |
| _mm_cvt_roundss_sd | cvtss2sd | VCVTSS2SD __m128d _mm_cvt_roundss_sd(__m128d a, __m128 b, int r); |
| _mm_cvtepi16_epi8 | vpmovswb | VPMOVWB __m128i _mm_cvtepi16_epi8(__m128i a); |
| _mm_cvtepi32_epi8 | vpmovdb | VPMOVDB __m128i _mm_cvtepi32_epi8(__m128i a); |
| _mm_cvtepi32_pd | cvtdq2pd | CVTDQ2PD __m128d _mm_cvtepi32_pd (__m128i src) |
| _mm_cvtepi32_ps | cvtdq2ps | CVTDQ2PS __m128 _mm_cvtepi32_ps (__m128i src) |
| _mm_cvtepi64_epi8 | vpmovsqb | VPMOVQB __m128i _mm_cvtepi64_epi8(__m128i a); |
| _mm_cvtepu32_pd | vcvtudq2pd | VCVTUDQ2PD __m128d _mm_cvtepu32_pd( __m128i a); |
| _mm_cvtepu32_ps | vcvtudq2ps | VCVTUDQ2PS __m128 _mm_cvtepu32_ps( __m128i a); |
| _mm_cvtepu64_ps | vcvtuqq2ps | VCVTUQQ2PS __m128 _mm_cvtepu64_ps( __m128i a); |
| _mm_cvti32_sd | cvtsq2sd | VCVTSI2SD __m128d _mm_cvti32_sd(__m128d s, int a); |
| _mm_cvti32_ss | cvtsq2ss | VCVTSI2SS __m128 _mm_cvti32_ss(__m128 s, int a); |
| _mm_cvti64_sd | cvtsq2sd | VCVTSI2SD __m128d _mm_cvti64_sd(__m128d s, __int64 a); |
| _mm_cvti64_ss | cvtsq2ss | VCVTSI2SS __m128 _mm_cvti64_ss(__m128 s, __int64 a); |
| _mm_cvtne2ps_pbh | vcvtne2ps2bf16 | VCVTNE2PS2BF16 __m128bh _mm_cvtne2ps_pbh (__m128, __m128); |
| _mm_cvtpd_epi32 | cvtpd2dq | CVTPD2DQ __m128i _mm_cvtpd_epi32 (__m128d src) |
| _mm_cvtpd_epu64 | vcvtpd2uqq | VCVTPD2UQQ __m128i _mm_cvtpd_epu64 (__m128d src) |
| _mm_cvtpd_ps | cvtpd2ps | CVTPD2PS __m128 _mm_cvtpd_ps (__m128d a) |
| _mm_cvtph_ps | vcvtph2ps | VCVTPH2PS __m128 _mm_cvtph_ps ( __m128i m1); |
| _mm_cvtps_epi32 | cvtps2dq | CVTPS2DQ __m128i _mm_cvtps_epi32 (__m128 a) |
| _mm_cvtps_epu32 | vcvtps2udq | VCVTPS2UDQ __m128i _mm_cvtps_epu32( __m128 a); |
| _mm_cvtps_epu64 | vcvtps2uqq | VCVTPS2UQQ __m128i _mm_cvtps_epu64( __m128 a); |
| _mm_cvtps_pd | cvtps2pd | CVTPS2PD __m128d _mm_cvtps_pd (__m128 a) |
| _mm_cvtps_ph | vcvtps2ph | VCVTPS2PH __m128i _mm_cvtps_ph ( __m128 m1, const int imm); |
| _mm_cvtsd_i32 | cvtsd2si | VCVTSD2SI int _mm_cvtsd_i32(__m128d); |
| _mm_cvtsd_i64 | cvtsd2si | VCVTSD2SI __int64 _mm_cvtsd_i64(__m128d); |