Intel Intrinsic Headers

The Intel Intrinsic headers provide optimized functions that take advantage of the processor’s specialized features. Each intrinsic family has its own header. However, the <immintrin.h> header includes all other supported intrinsic headers.

  • Intel Intrinsics (including RDRND & FSGSBASE) – <immintrin.h>
  • I32 Intrinsics – <ia32intrin.h>
  • 3DNow! – <mm3dnow.h>
  • MMX – <mmintrin.h>
  • SSE –  <xmmintrin.h>
  • SSE2 – <emmintrin.h>
  • SSE3 – <pmmintrin.h>
  • SSSE3 – <tmmintrin.h>
  • SSE4.1 or SSE4.2 – <smmintrin.h>
  • ADX – <adxintrin.h>
  • AES or PCLMUL – <wmmintrin.h>
  • AVX – <avxintrin.h>
  • AVX2 – <avx2intrin.h>
  • AVX512BW – <avx512bwintrin.h>
  • AVX512ER – <avx512erintrin.h>
  • AVX512F – <avx512fintrin.h>
  • AVX512PF – <avx512pfintrin.h>
  • AVX512VL – <avx512vlintrin.h>
  • AVX512BW or AVX512VL – <avx512vlbwintrin.h>
  • BMI – <bmiintrin.h>
  • BMI2 – <bmi2intrin.h>
  • F16C – <f16cintrin.h>
  • FMA – <fmaintrin.h>
  • FMA4 – <fma4intrin.h>
  • FXSR – <fxsrintrin.h>
  • LWP – <lwpintrin.h>
  • LZCNT – <lzcntintrin.h>
  • POPCNT – <popcntintrin.h>
  • PREFETCHW – <prfchwintrin.h>
  • RDSEED – <rdseedintrin.h>
  • RTM – <rtmintrin.h>
  • SHA – <shaintrin.h>
  • XOP – <xopintrin.h>
  • XSAVE – <xsaveintrin.h>
  • XSAVEOPT – <xsaveoptintrin.h>
  • XTEST – <xtestintrin.h>

NOTE: Some intrinsics inside adxintrin.h are available only if ADX defined, while others are available if ADX undefined

Data Format Notations

  • ep – extended packed
  • p – packed
  • s – scalar

Datatype Notations

  • s – single-precision floating point
  • d – double-precision floating point
  • i128 – signed 128-bit integer
  • i64 – signed 64-bit integer
  • u64 – unsigned 64-bit integer
  • i32 – signed 32-bit integer
  • u32 – unsigned 32-bit integer
  • i16 – signed 16-bit integer
  • u16 – unsigned 16-bit integer
  • i8 – signed 8-bit integer
  • u8 – unsigned 8-bit integer
Sharing: