# Intrinsics

This intrinsics section provides an introduction and information on Intel specific intrinsics. 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.

### Note

When developing and debugging your program with the Intel® C++ Compiler Classic, 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.

## 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.

Parent topic: Compiler Reference

- Details about Intrinsics
- Naming and Usage Syntax
- References
- Intrinsics for All Intel® Architectures
- Data Alignment, Memory Allocation Intrinsics, and Inline Assembly
- Intrinsics for Managing Extended Processor States and Registers
- Intrinsics for the Short Vector Random Number Generator Library
- Intrinsics for Instruction Set Architecture (ISA) Instructions
- Intrinsics for Intel® Advanced Matrix Extensions (Intel® AMX) Instructions
- Intrinsics for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) BF16 Instructions
- Intrinsics for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) 4VNNIW Instructions
- Intrinsics for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) 4FMAPS Instructions
- Intrinsics for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) VPOPCNTDQ Instructions
- Intrinsics for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Additional Instructions
- Intrinsics for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Instructions
- Intrinsics for Later Generation Intel® Core™ Processor Instruction Extensions
- Intrinsics for Intel® Advanced Vector Extensions 2 (Intel® AVX2)
- Intrinsics for Intel® Advanced Vector Extensions
- Intrinsics for Intel® Streaming SIMD Extensions 4 (Intel® SSE4)
- Intrinsics for Intel® Supplemental Streaming SIMD Extensions 3 (SSSE3)
- Intrinsics for Intel® Streaming SIMD Extensions 3 (Intel® SSE3)
- Intrinsics for Intel® Streaming SIMD Extensions 2 (Intel® SSE2)
- Intrinsics for Intel® Streaming SIMD Extensions (Intel® SSE)
- Intrinsics for MMX™ Technology
- Intrinsics for Advanced Encryption Standard Implementation
- Intrinsics for Converting Half Floats
- Intrinsics for Short Vector Math Library Operations (SVML)