Intel Intrinsic Headers

This topic was published by and viewed 1079 times since "". The last page revision was "".

Viewing 1 post (of 1 total)
  • Author
    Posts
  • DevynCJohnson
    DevynCJohnson
    Keymaster
    • Topics - 444
    • @devyncjohnson

    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

    Further Reading

Viewing 1 post (of 1 total)