Intrinsics
A detailed introduction and information about Intel intrinsics is provided in the
Intel® C++ Compiler Classic Developer Guide and Reference.
The
Intel® Intrinsics Guide provides detailed information and a lookup tool for viewing the available Intel intrinsics.
The following is some general information:
- Intrinsics are assembly-coded functions that let you use C++ function calls and variables in place of assembly instructions.
- Intrinsics can be used only on the host.
- 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.
To use intrinsic-based code with the
Intel® oneAPI
, do the following:
DPC++/C++
Compiler- Specify compiler optionmarchso that the compiler recognizes the processor-specific or architecture-specific intrinsic.
- Include the immintrin.h header file that comes with the intrinsic declarations.
Availability of Intrinsics on Intel Processors
Not all Intel® processors support all intrinsics. For information on which intrinsics are supported on Intel® processors, visit the
Product Specification, Processors page. The Processor Spec Finder tool links directly to all processor documentation and the datasheets list the features, including intrinsics, supported by each processor.