Intrinsics are assembly-coded functions that allow you to use C++ function calls and variables in place of assembly instructions. For the latest information about available intrinsics, please see the interactive Intel® Intrinsics Guide at https://software.intel.com/sites/landingpage/IntrinsicsGuide/.
Intrinsics are expanded inline eliminating function call overhead. Providing the same benefit as using inline assembly, intrinsics improve code readability, assist instruction scheduling, and help reduce debugging.
Intrinsics provide access to instructions that cannot be generated using the standard constructs of the C and C++ languages.
When developing and debugging your program, compile your sources with ‑D__INTEL_COMPILER_USE_INTRINSIC_PROTOTYPES to take advantage of improved compile-time checking of the intrinsics functions. When done be sure to remove this option as it significantly increases compile time.
The compiler enables easy implementation of assembly instructions through the use of intrinsics. Intrinsics are provided for the following instructions:
The Short Vector Math Library (SVML) intrinsics are documented in this reference.
Many routines in the Short Vector Math Library (SVML) are more optimized for Intel® microprocessors than for non-Intel microprocessors.
The compiler supports Microsoft Visual Studio* intrinsics (for x86 and x64 architectures). For more information on Microsoft* intrinsics, visit https://docs.microsoft.com/en-us/cpp/intrinsics
Not all Intel® processors support all intrinsics. For information on which intrinsics are supported on Intel® processors, visit Product Specifications: Processors page. The Processor Spec Finder tool links directly to all processor documentation and the data sheets list the features, including intrinsics, supported by each processor.