Draft:Advanced Performance Extensions

Advanced Performance Extensions (APX), also known as Intel Advanced Performance Extensions (Intel APX), are extensions to the x86 instruction set architecture (ISA) for microprocessors from Intel. Called "generational" and "the biggest x86 addition since 64 bits", the improvements double the number of general-purpose registers from 16 to 32 and add new features to improve general-purpose performance.

Intel contributed APX support to GNU Compiler Collection (GCC) 14. Support is also in GNU Binutils 2.42.

Extensions
According to the architecture specification, the main features of APX follow:


 * 16 additional general-purpose registers, called the Extended GPRs (EGPRs)
 * Three-operand instruction formats for many integer instructions
 * New conditional instructions for loads, stores, and comparisons with common instructions that don't modify flags
 * Optimized register save/restore operations
 * A 64-bit absolute direct jump instruction

Extended GPRs for general purpose instructions are encoded using 2-byte REX2 prefix, while new instructions and extended operands for existing AVX/AVX2/AVX-512 instructions are encoded with extended EVEX prefix which has four variants used for different groups of instructions.