CPUID
MPX
CPUID.(EAX=07H,ECX=0):EBX[14]
Instructions
7 mnemonics
Processors
Skylake, Comet Lake, Cannon Lake, Skylake-SP, Cascade Lake, Cooper Lake, Goldmont, Goldmont Plus, Tremont, Snow Ridge

Memory Protection Extensions tried to catch buffer overflows in hardware. Four bound registers, BND0 to BND3, hold the lower and upper bound of a pointer; BNDMK makes bounds, BNDCL, BNDCU and BNDCN check an address against them and raise a bound-range exception, and BNDLDX and BNDSTX keep bounds for pointers stored in memory in tables that the operating system allocates. The instructions use opcodes that older processors execute as NOPs, so instrumented code ran anywhere.

Intel has deprecated MPX: its manual says no future processor will have it, and XED’s chip model has it only on processors from Skylake to Cooper Lake and on the Goldmont to Tremont Atoms. The instructions are listed here for disassembly and for old binaries.

Instructions

Mnemonics with at least one form in MPX. Each page lists all forms of the mnemonic, including those of other extensions.
MnemonicSummaryForms
BNDCLRaises a bound-range exception (#BR) if an address is below the lower bound in an MPX bound register; MPX has been removed.3
BNDCNRaises #BR if an address is above the upper bound of an MPX bound register, taken as stored rather than complemented as BNDCU does; MPX has been removed.3
BNDCURaises #BR if an address is above the upper bound of an MPX bound register, which keeps it in one's complement; MPX has been removed.3
BNDLDXLoads the MPX bounds of a pointer from the bound tables in memory, found by the address the pointer is stored at; MPX has been removed.2
BNDMKMakes MPX bounds from a memory operand: the lower bound from its base, the upper from its address; MPX has been removed.1
BNDMOVCopies MPX bounds between bound registers, or between a bound register and memory; MPX has been removed.5
BNDSTXStores the MPX bounds of a pointer into the bound tables in memory, found by the address the pointer is stored at; MPX has been removed.2

CPUID and processors

XED splits MPX into 1 ISA set. Software can use a form when the processor reports every CPUID bit of one alternative of the form's ISA set.

XED ISA sets of MPX. Alternatives are separated by “or”; processors follow XED’s chip model, whose AMD processors end with Zen 2, and the CPU data of this site for Zen 3 to Zen 6.
ISA setCPUIDProcessors
MPX

MPX
CPUID.(EAX=07H,ECX=0):EBX[14] MPX

Skylake, Comet Lake, Cannon Lake, Skylake-SP, Cascade Lake, Cooper Lake, Goldmont, Goldmont Plus, Tremont, Snow Ridge

Sources

  1. Intel XED v2026.08.23 (commit 0bcb6237345c): forms, encodings, ISA sets, CPUID bits and chip model.
  2. Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2 (325383-093, September 2026)
  3. Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 1 (253665-093, September 2026)

The tables are derived from Intel XED, Copyright Intel Corporation, licensed under the Apache License 2.0; x86-64.net converted and reformatted them. The text is our own.