x86 Compiler Intrinsics
3623 intrinsics from the Intel® SDM, each mapped to the instruction it compiles to - page 10 of 37, alphabetical. The global search in the top nav also matches intrinsic names directly.
| Intrinsic | Instruction | Signature |
|---|---|---|
| _mm256_mpsadbw_epu8 | mpsadbw | VMPSADBW __m256i _mm256_mpsadbw_epu8 (__m256i s1, __m256i s2, const int mask); |
| _mm256_mul_epu32 | pmuludq | VPMULUDQ __m256i _mm256_mul_epu32( __m256i a, __m256i b); |
| _mm256_mul_pd | mulpd | VMULPD __m256d _mm256_mul_pd (__m256d a, __m256d b); |
| _mm256_mul_ph | vmulph | VMULPH __m256h _mm256_mul_ph (__m256h a, __m256h b); |
| _mm256_mul_ps | vmulps | VMULPS __m256 _mm256_mul_ps (__m256 a, __m256 b); |
| _mm256_mulhi_epi16 | pmulhw | VPMULHW __m256i _mm256_mulhi_epi16 ( __m256i a, __m256i b) |
| _mm256_mulhi_epu16 | pmulhuw | VPMULHUW __m256i _mm256_mulhi_epu16 ( __m256i a, __m256i b) |
| _mm256_mulhrs_epi16 | pmulhrsw | VPMULHRSW __m256i _mm256_mulhrs_epi16 (__m256i a, __m256i b) |
| _mm256_mullo_epi16 | pmullw | VPMULLW __m256i _mm256_mullo_epi16 ( __m256i a, __m256i b); |
| _mm256_mullo_epi32 | vpmulld | VPMULLD __m256i _mm256_mullo_epi32(__m256i a, __m256i b); |
| _mm256_mullo_epi64 | vpmullq | VPMULLQ __m256i _mm256_mullo_epi64(__m256i a, __m256i b); |
| _mm256_multishift_epi64_epi8 | vpmultishiftqb | VPMULTISHIFTQB __m256i _mm256_multishift_epi64_epi8( __m256i a, __m256i b); |
| _mm256_or_epi32 | por | VPORD __m256i _mm256_or_epi32(__m256i a, __m256i b); |
| _mm256_or_epi64 | por | VPORQ __m256i _mm256_or_epi64(__m256i a, int imm); |
| _mm256_or_ps | orps | VORPS __m256 _mm256_or_ps (__m256 a, __m256 b); |
| _mm256_or_si256 | por | VPOR __m256i _mm256_or_si256 ( __m256i a, __m256i b) |
| _mm256_packs_epi16 | packsswb | VPACKSSWB __m256i _mm256_packs_epi16(__m256i m1, __m256i m2) |
| _mm256_packs_epi32 | packsswb | VPACKSSDW __m256i _mm256_packs_epi32(__m256i m1, __m256i m2) |
| _mm256_packus_epi16 | packuswb | VPACKUSWB __m256i _mm256_packus_epi16(__m256i m1, __m256i m2); |
| _mm256_packus_epi32 | packusdw | VPACKUSDW__m256i _mm256_packus_epi32(__m256i m1, __m256i m2); |
| _mm256_permute2f128_pd | vperm2f128 | VPERM2F128: __m256d _mm256_permute2f128_pd (__m256d a, __m256d b, int control) |
| _mm256_permute2f128_ps | vperm2f128 | VPERM2F128: __m256 _mm256_permute2f128_ps (__m256 a, __m256 b, int control) |
| _mm256_permute2f128_si256 | vperm2f128 | VPERM2F128: __m256i _mm256_permute2f128_si256 (__m256i a, __m256i b, int control) |
| _mm256_permute2x128_si256 | vperm2i128 | VPERM2I128: __m256i _mm256_permute2x128_si256 (__m256i a, __m256i b, int control) |
| _mm256_permute_pd | vpermilpd | VPERMILPD __m256d _mm256_permute_pd (__m256d a, int control) |
| _mm256_permute_ps | vpermilps | VPERMILPS __m256 _mm256_permute_ps (__m256 a, int control); |
| _mm256_permutevar_pd | vpermilpd | VPERMILPD __m256d _mm256_permutevar_pd (__m256d a, __m256i control); |
| _mm256_permutevar_ps | vpermilps | VPERMILPS __m256 _mm256_permutevar_ps (__m256 a, __m256i control); |
| _mm256_permutex2var_epi16 | vpermi2q | VPERMI2W __m256i _mm256_permutex2var_epi16(__m256i a, __m256i idx, __m256i b); |
| _mm256_permutex2var_epi32 | vpermt2d | VPERMT2D __m256i _mm256_permutex2var_epi32(__m256i a, __m256i idx, __m256i b); |
| _mm256_permutex2var_epi64 | vpermi2q | VPERMI2Q __m256i _mm256_permutex2var_epi64(__m256i a, __m256i idx, __m256i b); |
| _mm256_permutex2var_epi8 | vpermi2b | VPERMI2B __m256i _mm256_permutex2var_epi8(__m256i a, __m256i idx, __m256i b); |
| _mm256_permutex2var_pd | vpermi2q | VPERMI2PD __m256d _mm256_permutex2var_pd(__m256d a, __m256i idx, __m256d b); |
| _mm256_permutex2var_ps | vpermi2q | VPERMI2PS __m256 _mm256_permutex2var_ps(__m256 a, __m256i idx, __m256 b); |
| _mm256_permutex_epi64 | vpermq | VPERMQ __m256i _mm256_permutex_epi64( __m256i a, int imm); |
| _mm256_permutexvar_epi16 | vpermw | VPERMW __m256i _mm256_permutexvar_epi16( __m256i idx, __m256i a); |
| _mm256_permutexvar_epi32 | vpermd | VPERMD __m256i _mm256_permutexvar_epi32( __m256i idx, __m256i a); |
| _mm256_permutexvar_epi64 | vpermq | VPERMQ __m256i _mm256_permutexvar_epi64( __m256i a, __m256i b); |
| _mm256_permutexvar_epi8 | vpermb | VPERMB __m256i _mm256_permutexvar_epi8( __m256i idx, __m256i a); |
| _mm256_permutexvar_ps | vpermps | VPERMPS __m256 _mm256_permutexvar_ps(__m256 i, __m256 a); |
| _mm256_popcnt_epi16 | vpopcntw | VPOPCNTW __m256i _mm256_popcnt_epi16(__m256i); |
| _mm256_popcnt_epi32 | vpopcntd | VPOPCNTD __m256i _mm256_popcnt_epi32(__m256i); |
| _mm256_popcnt_epi64 | vpopcntq | VPOPCNTQ __m256i _mm256_popcnt_epi64(__m256i); |
| _mm256_popcnt_epi8 | vpopcntb | VPOPCNTB __m256i _mm256_popcnt_epi8(__m256i); |
| _mm256_range_ps | vrangeps | VRANGEPS __m256 _mm256_range_ps ( __m256 a, __m256 b, int imm); |
| _mm256_rcp14_ps | vrcp14ps | VRCP14PS __m256 _mm256_rcp14_ps( __m256 a); |
| _mm256_rcp_ps | rcpps | RCPPS __m256 _mm256_rcp_ps (__m256 a); |
| _mm256_rol_epi32 | vprolvq | VPROLD __m256i _mm256_rol_epi32(__m256i a, int imm); |
| _mm256_rol_epi64 | vprolq | VPROLQ __m256i _mm256_rol_epi64(__m256i a, int imm); |
| _mm256_rolv_epi32 | vprolvd | VPROLVD __m256i _mm256_rolv_epi32(__m256i a, __m256i cnt); |
| _mm256_rolv_epi64 | vprolvq | VPROLVQ __m256i _mm256_rolv_epi64(__m256i a, __m256i cnt); |
| _mm256_ror_epi32 | vprorvd | VPRORD __m256i _mm256_ror_epi32(__m256i a, int imm); |
| _mm256_ror_epi64 | vprorq | VPRORQ __m256i _mm256_ror_epi64(__m256i a, int imm); |
| _mm256_rorv_epi32 | vprorvd | VPRORVD __m256i _mm256_rorv_epi32(__m256i a, __m256i cnt); |
| _mm256_rorv_epi64 | vprorvq | VPRORVQ __m256i _mm256_rorv_epi64(__m256i a, __m256i cnt); |
| _mm256_round_pd | roundpd | __m256 _mm256_round_pd(__m256d s1, int iRoundMode); |
| _mm256_round_ps | roundps | __m256 _mm256_round_ps(__m256 s1, int iRoundMode); |
| _mm256_roundscale_pd | vrndscalepd | VRNDSCALEPD __m256d _mm256_roundscale_pd( __m256d a, int imm); |
| _mm256_rsqrt14_ps | vrsqrt14ps | VRSQRT14PS __m256 _mm256_rsqrt14_ps( __m256 a); |
| _mm256_rsqrt_ps | rsqrtps | RSQRTPS __m256 _mm256_rsqrt_ps (__m256 a); |
| _mm256_sad_epu8 | psadbw | VPSADBW __m256i _mm256_sad_epu8( __m256i a, __m256i b) |
| _mm256_scalef_pd | vscalefpd | VSCALEFPD __m256d _mm256_scalef_pd(__m256d a, __m256d b); |
| _mm256_sha512msg1_epi64 | vsha512msg1 | VSHA512MSG1 __m256i _mm256_sha512msg1_epi64 (__m256i __A, __m128i __B); |
| _mm256_sha512msg2_epi64 | vsha512msg2 | VSHA512MSG2 __m256i _mm256_sha512msg2_epi64 (__m256i __A, __m256i __B); |
| _mm256_sha512rnds2_epi64 | vsha512rnds2 | VSHA512RNDS2 __m256i _mm256_sha512rnds2_epi64 (__m256i __A, __m256i __B, __m128i __C); |
| _mm256_shldi_epi16 | vpshldw | VPSHLDW __m256i _mm256_shldi_epi16(__m256i, __m256i, int); |
| _mm256_shldi_epi32 | vpshldd | VPSHLDD __m256i _mm256_shldi_epi32(__m256i, __m256i, int); |
| _mm256_shldi_epi64 | vpshldq | VPSHLDQ __m256i _mm256_shldi_epi64(__m256i, __m256i, int); |
| _mm256_shrdi_epi16 | vpshrdw | VPSHRDW __m256i _mm256_shrdi_epi16(__m256i, __m256i, int); |
| _mm256_shrdi_epi32 | vpshrdd | VPSHRDD __m256i _mm256_shrdi_epi32(__m256i, __m256i, int); |
| _mm256_shrdi_epi64 | vpshrdq | VPSHRDQ __m256i _mm256_shrdi_epi64(__m256i, __m256i, int); |
| _mm256_shuffle_epi32 | pshufd | VPSHUFD __m256i _mm256_shuffle_epi32(__m256i a, const int n) |
| _mm256_shuffle_epi8 | pshufb | VPSHUFB:__m256i _mm256_shuffle_epi8(__m256i a, __m256i b) |
| _mm256_shuffle_i32x4 | vshuff32x4 | VSHUFI32x4 __m256i _mm256_shuffle_i32x4(__m256i a, __m256i b, int imm); |
| _mm256_shuffle_pd | shufpd | VSHUFPD __m256d _mm256_shuffle_pd (__m256d a, __m256d b, const int select); |
| _mm256_shuffle_ps | shufps | VSHUFPS __m256 _mm256_shuffle_ps (__m256 a, __m256 b, const int select); |
| _mm256_shufflehi_epi16 | pshufhw | VPSHUFHW __m256i _mm256_shufflehi_epi16(__m256i a, const int n) |
| _mm256_shufflelo_epi16 | pshuflw | VPSHUFLW:__m256i _mm256_shufflelo_epi16(__m256i a, const int n) |
| _mm256_sign_epi16 | psignb | VPSIGNW __m256i _mm256_sign_epi16 (__m256i a, __m256i b) |
| _mm256_sign_epi32 | psignb | VPSIGND __m256i _mm256_sign_epi32 (__m256i a, __m256i b) |
| _mm256_sign_epi8 | psignb | VPSIGNB __m256i _mm256_sign_epi8 (__m256i a, __m256i b) |
| _mm256_sll_epi16 | psllw | VPSLLW __m256i _mm256_sll_epi16 (__m256i m, __m128i count) |
| _mm256_sll_epi32 | psllw | VPSLLD __m256i _mm256_sll_epi32 (__m256i m, __m128i count) |
| _mm256_sll_epi64 | psllw | VPSLLQ __m256i _mm256_sll_epi64 (__m256i m, __m128i count) |
| _mm256_slli_epi16 | psllw | VPSLLW __m256i _mm256_slli_epi16 (__m256i m, int count) |
| _mm256_slli_epi32 | psllw | VPSLLD __m256i _mm256_slli_epi32 (__m256i m, int count) |
| _mm256_slli_epi64 | psllw | VPSLLQ __m256i _mm256_slli_epi64 (__m256i m, int count) |
| _mm256_slli_si256 | pslldq | VPSLLDQ __m256i _mm256_slli_si256 ( __m256i a, const int imm) |
| _mm256_sllv_epi32 | vpsllvd | VPSLLVD __m256i _mm256_sllv_epi32 (__m256i m, __m256i count) |
| _mm256_sllv_epi64 | vpsllvq | VPSLLVQ __m256i _mm256_sllv_epi64 (__m256i m, __m256i count) |
| _mm256_sm4key4_epi32 | vsm4key4 | VSM4KEY4 __m256i _mm256_sm4key4_epi32 (__m256i __A, __m256i __B); |
| _mm256_sm4rnds4_epi32 | vsm4rnds4 | VSM4RNDS4 __m256i _mm256_sm4rnds4_epi32 (__m256i __A, __m256i __B); |
| _mm256_sqrt_pd | sqrtpd | VSQRTPD __m256d _mm256_sqrt_pd (__m256d a); |
| _mm256_sqrt_ph | vsqrtph | VSQRTPH __m256h _mm256_sqrt_ph (__m256h a); |
| _mm256_sqrt_ps | sqrtps | VSQRTPS __m256 _mm256_sqrt_ps (__m256 a); |
| _mm256_sra_epi16 | psraw | VPSRAW __m256i _mm256_sra_epi16 (__m256i m, __m128i count) |
| _mm256_sra_epi32 | psraw | VPSRAD __m256i _mm256_sra_epi32 (__m256i m, __m128i count) |
| _mm256_srai_epi16 | psraw | VPSRAW __m256i _mm256_srai_epi16 (__m256i m, int count) |
| _mm256_srai_epi32 | psraw | VPSRAD __m256i _mm256_srai_epi32 (__m256i m, int count) |
| _mm256_srav_epi16 | vpsravd | VPSRAVW __m256i _mm256_srav_epi16(__m256i a, __m256i cnt); |