x86 Compiler Intrinsics
3623 intrinsics from the Intel® SDM, each mapped to the instruction it compiles to - page 29 of 37, alphabetical. The global search in the top nav also matches intrinsic names directly.
| Intrinsic | Instruction | Signature |
|---|---|---|
| _mm_mask_mul_round_ss | vmulss | VMULSS __m128 _mm_mask_mul_round_ss(__m128 s, __mmask8 k, __m128 a, __m128 b, int); |
| _mm_mask_mul_sd | mulsd | VMULSD __m128d _mm_mask_mul_sd(__m128d s, __mmask8 k, __m128d a, __m128d b); |
| _mm_mask_mul_sh | vmulsh | VMULSH __m128h _mm_mask_mul_sh (__m128h src, __mmask8 k, __m128h a, __m128h b); |
| _mm_mask_mul_ss | vmulss | VMULSS __m128 _mm_mask_mul_ss(__m128 s, __mmask8 k, __m128 a, __m128 b); |
| _mm_mask_mulhi_epi16 | pmulhw | VPMULHW __m128i _mm_mask_mulhi_epi16(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_mulhi_epu16 | pmulhuw | VPMULHUW __m128i _mm_mask_mulhi_epu16(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_mulhrs_epi16 | pmulhrsw | VPMULHRSW __m128i _mm_mask_mulhrs_epi16(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_mullo_epi16 | pmullw | VPMULLW __m128i _mm_mask_mullo_epi16(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_mullo_epi32 | vpmulld | VPMULLD __m128i _mm_mask_mullo_epi32(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_mullo_epi64 | vpmullq | VPMULLQ __m128i _mm_mask_mullo_epi64(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_multishift_epi64_epi8 | vpmultishiftqb | VPMULTISHIFTQB __m128i _mm_mask_multishift_epi64_epi8(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_or_epi32 | por | VPORD __m128i _mm_mask_or_epi32(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_or_epi64 | por | VPORQ __m128i _mm_mask_or_epi64(__m128i s, __mmask8 k, __m128i a, __m128i b); |
| _mm_mask_or_ps | orps | VORPS __m128 _mm_mask_or_ps ( __m128 s, __mmask8 k, __m128 a, __m128 b); |
| _mm_mask_packs_epi16 | packsswb | VPACKSSWB__m128i _mm_mask_packs_epi16( __m128i s, __mmask8 k, __m128i m1, __m128i m2); |
| _mm_mask_packs_epi32 | packsswb | VPACKSSDW__m128i _mm_mask_packs_epi32( __m128i s, __mmask8 k, __m128i m1, __m128i m2); |
| _mm_mask_packus_epi16 | packuswb | VPACKUSWB __m128i _mm_mask_packus_epi16(__m128i s, __mmask16 k, __m128i m1, __m128i m2); |
| _mm_mask_packus_epi32 | packusdw | VPACKUSDW__m128i _mm_mask_packus_epi32( __m128i s, __mmask8 k, __m128i m1, __m128i m2); |
| _mm_mask_permute_pd | vpermilpd | VPERMILPD __m128d _mm_mask_permute_pd(__m128d s, __mmask8 k, __m128d a, int imm); |
| _mm_mask_permute_ps | vpermilps | VPERMILPS __m128 _mm_mask_permute_ps(__m128 s, __mmask8 k, __m128 a, int imm); |
| _mm_mask_permutevar_pd | vpermilpd | VPERMILPD __m128d _mm_mask_permutevar_pd(__m128d s, __mmask8 k, __m128d i, __m128d a); |
| _mm_mask_permutevar_ps | vpermilps | VPERMILPS __m128 _mm_mask_permutevar_ps(__m128 s, __mmask8 k, __m128 i, __m128 a); |
| _mm_mask_permutex2var_epi16 | vpermi2q | VPERMI2W __m128i _mm_mask_permutex2var_epi16(__m128i a, __mmask8 k, __m128i idx, __m128i b); |
| _mm_mask_permutex2var_epi32 | vpermi2d | VPERMI2D __m128i _mm_mask_permutex2var_epi32(__m128i a, __mmask8 k, __m128i idx, __m128i b); |
| _mm_mask_permutex2var_epi64 | vpermi2q | VPERMI2Q __m128i _mm_mask_permutex2var_epi64(__m128i a, __mmask8 k, __m128i idx, __m128i b); |
| _mm_mask_permutex2var_epi8 | vpermt2b | VPERMT2B __m128i _mm_mask_permutex2var_epi8(__m128i a, __mmask16 k, __m128i idx, __m128i b); |
| _mm_mask_permutex2var_pd | vpermi2q | VPERMI2PD __m128d _mm_mask_permutex2var_pd(__m128d a, __mmask8 k, __m128i idx, __m128d b); |
| _mm_mask_permutex2var_ps | vpermi2q | VPERMI2PS __m128 _mm_mask_permutex2var_ps(__m128 a, __mmask8 k, __m128i idx, __m128 b); |
| _mm_mask_permutexvar_epi16 | vpermw | VPERMW __m128i _mm_mask_permutexvar_epi16(__m128i s, __mmask8 k, __m128i idx, __m128i a); |
| _mm_mask_permutexvar_epi8 | vpermb | VPERMB __m128i _mm_mask_permutexvar_epi8(__m128i s, __mmask16 k, __m128i idx, __m128i a); |
| _mm_mask_popcnt_epi16 | vpopcntw | VPOPCNTW __m128i _mm_mask_popcnt_epi16(__m128i, __mmask8, __m128i); |
| _mm_mask_popcnt_epi32 | vpopcntd | VPOPCNTD __m128i _mm_mask_popcnt_epi32(__m128i, __mmask8, __m128i); |
| _mm_mask_popcnt_epi64 | vpopcntq | VPOPCNTQ __m128i _mm_mask_popcnt_epi64(__m128i, __mmask8, __m128i); |
| _mm_mask_popcnt_epi8 | vpopcntb | VPOPCNTB __m128i _mm_mask_popcnt_epi8(__m128i, __mmask16, __m128i); |
| _mm_mask_range_ps | vrangeps | VRANGEPS __m128 _mm_mask_range_ps (__m128 s, __mmask8 k, __m128 a, __m128 b, int imm); |
| _mm_mask_range_round_ss | vrangess | VRANGESS __m128 _mm_mask_range_round_ss (__m128 s, __mmask8 k, __m128 a, __m128 b, int imm, int sae); |
| _mm_mask_range_ss | vrangess | VRANGESS __m128 _mm_mask_range_ss (__m128 s, __mmask8 k, __m128 a, __m128 b, int imm); |
| _mm_mask_rcp14_ps | vrcp14ps | VRCP14PS __m128 _mm_mask_rcp14_ps(__m128 s, __mmask8 k, __m128 a); |
| _mm_mask_reduce_ps | vreduceps | VREDUCEPS __m128 _mm_mask_reduce_ps( __m128 a, int imm) |
| _mm_mask_reduce_ss | vreducess | VREDUCESS __m128 _mm_mask_reduce_ss( __m128 a, __m128 b, int imm, int sae) |
| _mm_mask_rol_epi32 | vprolvq | VPROLD __m128i _mm_mask_rol_epi32(__m128i a, __mmask8 k, __m128i b, int imm); |
| _mm_mask_rol_epi64 | vprolq | VPROLQ __m128i _mm_mask_rol_epi64(__m128i a, __mmask8 k, __m128i b, int imm); |
| _mm_mask_rolv_epi32 | vprolvd | VPROLVD __m128i _mm_mask_rolv_epi32(__m128i a, __mmask8 k, __m128i b, __m128i cnt); |
| _mm_mask_rolv_epi64 | vprolvq | VPROLVQ __m128i _mm_mask_rolv_epi64(__m128i a, __mmask8 k, __m128i b, __m128i cnt); |
| _mm_mask_ror_epi32 | vprorvd | VPRORD __m128i _mm_mask_ror_epi32(__m128i a, __mmask8 k, __m128i b, int imm); |
| _mm_mask_ror_epi64 | vprorq | VPRORQ __m128i _mm_mask_ror_epi64(__m128i a, __mmask8 k, __m128i b, int imm); |
| _mm_mask_rorv_epi32 | vprorvd | VPRORVD __m128i _mm_mask_rorv_epi32(__m128i a, __mmask8 k, __m128i b, __m128i cnt); |
| _mm_mask_rorv_epi64 | vprorvq | VPRORVQ __m128i _mm_mask_rorv_epi64(__m128i a, __mmask8 k, __m128i b, __m128i cnt); |
| _mm_mask_roundscale_pd | vrndscalepd | VRNDSCALEPD __m128d _mm_mask_roundscale_pd(__m128d s, __mmask8 k, __m128d a, int imm); |
| _mm_mask_rsqrt14_ps | vrsqrt14ps | VRSQRT14PS __m128 _mm_mask_rsqrt14_ps(__m128 s, __mmask8 k, __m128 a); |
| _mm_mask_scalef_pd | vscalefpd | VSCALEFPD __m128d _mm_mask_scalef_pd(__m128d s, __mmask8 k, __m128d a, __m128d b); |
| _mm_mask_set1_epi16 | vpbroadcastw | VPBROADCASTW __m128i _mm_mask_set1_epi16(__m128i s, __mmask8 k, int a); |
| _mm_mask_set1_epi32 | vpbroadcastd | VPBROADCASTD __m128i _mm_mask_set1_epi32(__m128i s, __mmask8 k, int a); |
| _mm_mask_set1_epi64 | vpbroadcastq | VPBROADCASTQ __m128i _mm_mask_set1_epi64(__m128i s, __mmask8 k, __int64 a); |
| _mm_mask_set1_epi8 | vpbroadcastb | VPBROADCASTB __m128i _mm_mask_set1_epi8(__m128i s, __mmask16 k, int a); |
| _mm_mask_shldi_epi16 | vpshldw | VPSHLDW __m128i _mm_mask_shldi_epi16(__m128i, __mmask8, __m128i, __m128i, int); |
| _mm_mask_shldi_epi32 | vpshldd | VPSHLDD __m128i _mm_mask_shldi_epi32(__m128i, __mmask8, __m128i, __m128i, int); |
| _mm_mask_shldi_epi64 | vpshldq | VPSHLDQ __m128i _mm_mask_shldi_epi64(__m128i, __mmask8, __m128i, __m128i, int); |
| _mm_mask_shrdi_epi16 | vpshrdw | VPSHRDW __m128i _mm_mask_shrdi_epi16(__m128i, __mmask8, __m128i, __m128i, int); |
| _mm_mask_shrdi_epi32 | vpshrdd | VPSHRDD __m128i _mm_mask_shrdi_epi32(__m128i, __mmask8, __m128i, __m128i, int); |
| _mm_mask_shrdi_epi64 | vpshrdq | VPSHRDQ __m128i _mm_mask_shrdi_epi64(__m128i, __mmask8, __m128i, __m128i, int); |
| _mm_mask_shuffle_epi32 | pshufd | VPSHUFD __m128i _mm_mask_shuffle_epi32(__m128i s, __mmask8 k, __m128i a, int n ); |
| _mm_mask_shuffle_epi8 | vpshufb | VPSHUFB __m128i _mm_mask_shuffle_epi8(__m128i s, __mmask16 k, __m128i a, __m128i b); |
| _mm_mask_shuffle_pd | shufpd | VSHUFPD __m128d _mm_mask_shuffle_pd(__m128d s, __mmask8 k, __m128d a, __m128d b, int imm); |
| _mm_mask_shuffle_ps | shufps | VSHUFPS __m128 _mm_mask_shuffle_ps(__m128 s, __mmask8 k, __m128 a, __m128 b, int imm); |
| _mm_mask_shufflehi_epi16 | pshufhw | VPSHUFHW __m128i _mm_mask_shufflehi_epi16(__m128i s, __mmask8 k, __m128i a, int n ); |
| _mm_mask_shufflelo_epi16 | pshuflw | VPSHUFLW __m128i _mm_mask_shufflelo_epi16(__m128i s, __mmask8 k, __m128i a, int n ); |
| _mm_mask_sll_epi16 | psllw | VPSLLW __m128i _mm_mask_sll_epi16(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_sll_epi32 | psllw | VPSLLD __m128i _mm_mask_sll_epi32(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_sll_epi64 | psllw | VPSLLQ __m128i _mm_mask_sll_epi64(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_slli_epi16 | psllw | VPSLLW __m128i _mm_mask_slli_epi16(__m128i s, __mmask8 k, __m128i a, unsigned int imm); |
| _mm_mask_slli_epi32 | psllw | VPSLLD __m128i _mm_mask_slli_epi32(__m128i s, __mmask8 k, __m128i a, unsigned int imm); |
| _mm_mask_slli_epi64 | psllw | VPSLLQ __m128i _mm_mask_slli_epi64(__m128i s, __mmask8 k, __m128i a, unsigned int imm); |
| _mm_mask_sllv_epi16 | vpsllvd | VPSLLVW __m128i _mm_mask_sllv_epi16(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_sllv_epi32 | vpsllvd | VPSLLVD __m128i _mm_mask_sllv_epi32(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_sllv_epi64 | vpsllvd | VPSLLVD __m128i _mm_mask_sllv_epi64(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_sqrt_pd | sqrtpd | VSQRTPD __m128d _mm_mask_sqrt_pd(__m128d s, __mmask8 k, __m128d a, int r); |
| _mm_mask_sqrt_ph | vsqrtph | VSQRTPH __m128h _mm_mask_sqrt_ph (__m128h src, __mmask8 k, __m128h a); |
| _mm_mask_sqrt_ps | sqrtps | VSQRTPS __m128 _mm_mask_sqrt_ps(__m128 s, __mmask8 k, __m128 a, int r); |
| _mm_mask_sqrt_round_sd | sqrtsd | VSQRTSD __m128d _mm_mask_sqrt_round_sd(__m128d s, __mmask8 k, __m128d a, __m128d b, int r); |
| _mm_mask_sqrt_round_sh | vsqrtsh | VSQRTSH __m128h _mm_mask_sqrt_round_sh (__m128h src, __mmask8 k, __m128h a, __m128h b, const int rounding); |
| _mm_mask_sqrt_round_ss | sqrtss | VSQRTSS __m128 _mm_mask_sqrt_round_ss(__m128 s, __mmask8 k, __m128 a, __m128 b, int r); |
| _mm_mask_sqrt_sh | vsqrtsh | VSQRTSH __m128h _mm_mask_sqrt_sh (__m128h src, __mmask8 k, __m128h a, __m128h b); |
| _mm_mask_sra_epi16 | psraw | VPSRAW __m128i _mm_mask_sra_epi16(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_sra_epi32 | psraw | VPSRAD __m128i _mm_mask_sra_epi32(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_sra_epi64 | psraw | VPSRAQ __m128i _mm_mask_sra_epi64(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_srai_epi16 | psraw | VPSRAW __m128i _mm_mask_srai_epi16(__m128i s, __mmask8 k, __m128i a, unsigned int imm); |
| _mm_mask_srai_epi32 | psraw | VPSRAD __m128i _mm_mask_srai_epi32(__m128i s, __mmask8 k, __m128i a, unsigned int imm); |
| _mm_mask_srai_epi64 | psraw | VPSRAQ __m128i _mm_mask_srai_epi64(__m128i s, __mmask8 k, __m128i a, unsigned int imm); |
| _mm_mask_srav_epi16 | vpsravd | VPSRAVW __m128i _mm_mask_srav_epi16(__m128i s, __mmask8 m, __m128i a, __m128i cnt); |
| _mm_mask_srav_epi32 | vpsravd | VPSRAVD __m128i _mm_mask_srav_epi32(__m128i s, __mmask8 m, __m128i a, __m128i cnt); |
| _mm_mask_srav_epi64 | vpsravq | VPSRAVQ __m128i _mm_mask_srav_epi64(__m128i s, __mmask8 m, __m128i a, __m128i cnt); |
| _mm_mask_srl_epi16 | psrlw | VPSRLW __m128i _mm_mask_srl_epi16(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_srl_epi32 | psrlw | VPSRLD __m128i _mm_mask_srl_epi32(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_srl_epi64 | psrlw | VPSRLQ __m128i _mm_mask_srl_epi64(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_srli_epi16 | psrlw | VPSRLW __m128i _mm_mask_srli_epi16(__m128i s, __mmask8 k, __m128i a, unsigned int imm); |
| _mm_mask_srli_epi32 | psrlw | VPSRLD __m128i _mm_mask_srli_epi32(__m128i s, __mmask8 k, __m128i a, unsigned int imm); |
| _mm_mask_srli_epi64 | psrlw | VPSRLQ __m128i _mm_mask_srli_epi64(__m128i s, __mmask8 k, __m128i a, unsigned int imm); |
| _mm_mask_srlv_epi16 | vpsrlvd | VPSRLVW __m128i _mm_mask_srlv_epi16(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |
| _mm_mask_srlv_epi32 | vpsrlvd | VPSRLVD __m128i _mm_mask_srlv_epi32(__m128i s, __mmask8 k, __m128i a, __m128i cnt); |