Check out my first novel, midnight's simulacra!

VEX: Difference between revisions

From dankwiki
(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...')
(No difference)

Revision as of 09:09, 12 January 2011

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