Check out my first novel, midnight's simulacra!

VEX

From dankwiki
Revision as of 09:09, 12 January 2011 by Dank (talk | contribs) (Created page with 'The Vector Extensions instruction encoding was introduced along with AVX in Sandy Bridge and Bulldozer processors. It makes use of C4 and C5 bytes to indicate a 3-byt...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The Vector Extensions instruction encoding was introduced along with AVX in Sandy Bridge and Bulldozer processors. It makes use of C4 and C5 bytes to indicate a 3-byte or 2-byte, respectively, VEX prefix.

Prefix viz x86

The C4 and C5 bytes were traditionally used for LES (Load Extra Segment) and LDS (Load Data Segment) instructions. These are unavailable under x86's long mode, and thus C4/C5 clearly indicate VEX instructions in 64-bit programs. In 32-bit mode, the second byte is used to differentiate a LES/LDS from a VEX-encoded instruction. VEX is disabled in virtual-8086 or real mode, due to NTDVM's use of 0xC4+0xC0 as a trap instruction. Such are the costs of backwards compatibility.

Sources