Intel® Instruction Set Extensions are additional instructions that can increase performance when the same operations are performed on multiple data objects.
Detailed instructions are listed in Intel® Architecture Instruction Set Extensions Programming Reference.
Instruction Set Extensions can include:
- Single Instruction Multiple Data (SIMD)
- Intel® Streaming SIMD Extensions (Intel® SSE,Intel® SSE2,Intel® SSE3, and Intel® SSE4)
- Intel® Advanced Vector Extensions (Intel® AVX, Intel® AVX2, and Intel® AVX-512)
Click or the topic for details
Find the instruction set extension supported in your Intel® Processor
- Identify Intel® Processor and note the processor number.
- Go to the Product Specification Page and enter the number of the Intel processor in the search box.
- Look in the Advanced Technologies section and look for Instruction Set Extensions.
You can use the Intel® Processor Identification Utility. Follow the steps below:
- Install Intel identification utility.
- Click CPU Technologies tab.
- Look up the Intel® Instruction Set Extensions.
Streaming SIMD Extensions (SSE)
SSE is a process or technology that enables single instruction multiple data. Older processors only process a single data element per instruction. SSE enables the instruction to handle multiple data elements. It's used in intensive applications, such as 3D graphics, for faster processing. SSE is designed to replace MMX™ Technology. It expanded over the generations of Intel® Processors to include SSE2, SSE3/SSE3S, and SSE4. Each iteration has brought new instructions and increased performance.
Streaming SIMD Extensions 2 (SSE2)
SSE2 extends the MMX Technology and SSE technology with the addition of 144 instructions that deliver performance increases across a broad range of applications. The SIMD integer instructions introduced with MMX technology are extended from 64 to 128 bits. This doubles the effective execution rate of SIMD integer-type operations.
Double-precision floating-point SIMD instructions allow simultaneous execution of two floating-point operations in the SIMD format. This support for double-precision operations helps accelerate content creation, financial, engineering, and scientific applications.
Original SSE instructions are enhanced to support a flexible and higher dynamic range of computational power. This is done by supporting arithmetic operations on multiple data types. Examples include double words and quad words. SSE2 instructions allow software developers maximum flexibility. They can implement algorithms and provide performance enhancements when running software such as MPEG-2, MP3, and 3D graphics.
Streaming SIMD Extensions 3 (SSE3)
The launch of 90-nm process-based Intel® Pentium® 4 Processor introduces the Streaming SIMD Extensions 3 (SSE3), which includes 13 more SIMD instructions than SSE2. The 13 new instructions are primarily designed to improve thread synchronization and specific application areas such as media and gaming.
Streaming SIMD Extensions 4 (SSE4)
SSE4 consists of 54 instructions. A subset consisting of 47 instructions, referred to as SSE4.1 in Intel documentation, is available in Penryn. SSE4.2, a second subset consisting of the seven remaining instructions, is first available in the Nehalem-based Intel® Core™ i7 Processor. Intel credits feedback from developers in the development of the instruction set.
Intel® Advanced Vector Extensions (Intel® AVX and AVX2)
Intel® AVX is a 256-bit instruction set extension to Intel® SSE designed for applications that are Floating Point (FP) intensive. Intel AVX improves performance due to wider vectors, new extensible syntax, and rich functionality. Intel AVX2 was released in 2013, extending vector processing capability across floating-point and integer data domains. This results in higher performance and more efficient data management across a wide range of applications. Examples are image and audio/video processing, scientific simulations, financial analytics, and 3D modeling and analysis.
Intel® Advanced Vector Extensions 512 (Intel® AVX-512)
The Intel® AVX-512 enables processing of twice the number of data elements that Intel AVX/AVX2 can process with a single instruction and four times the capabilities of Intel SSE. Intel AVX-512 instructions are important because they open up higher performance capabilities for the most demanding computational tasks. Intel AVX-512 instructions offer the highest degree of compiler support in the design of the instruction capabilities.
How can I get a list of processors that support a selected Instruction Set Extensions?
- Go to the Product Specification Page.
- Click Find products by features located bottom right of the page.
- Under Choose a Filter, choose Instruction Set Extension.
- A drop-down menu will show all the supported instructions in the right box.
- Pick one of the instructions from the list and a list of processors with the selection will be listed.
Here is an example: