Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does 'REX' stand for in an x86-64 REX prefix?

From Intel's SDM, section 2.2.1 specifies that the REX prefix is used to:

  • Specify GPRs and SSE registers.
  • Specify 64-bit operand size.
  • Specify extended control registers

But what do the letters REX stand for in the acronym?

like image 528
Omar Darwish Avatar asked Dec 03 '19 20:12

Omar Darwish


People also ask

What does the prefix Rex mean?

The Latin title rex has the meaning of "king, ruler" (monarch). It is derived from Proto-Indo-European *h₃rḗǵs. Its cognates include Sanskrit rājan, Gothic reiks, and Old Irish rí, etc. Its Greek equivalent is archon (ἄρχων), "leader, ruler, chieftain".

What is the purpose of Rex in microprocessor?

The REX prefix is also used for mov instructions with 64-bit immediate operands; the default operand size, even in 64-bit mode, is 32-bits. All of these have to do with extending existing instructions to support 64-bit operation.

What is prefix in assembly?

Instruction prefixes are used to modify the following instruction. They are used to repeat string instructions, to provide section overrides, to perform bus lock operations, and to change operand and address sizes. (

Is RAX a 64-bit register?

rax is the 64-bit, "long" size register. It was added in 2003 during the transition to 64-bit processors. eax is the 32-bit, "int" size register. It was added in 1985 during the transition to 32-bit processors with the 80386 CPU.


1 Answers

This 2002 Hot Chips presentation by AMD expands the acronym on slide 10: "REX (Register Extension)".

Kevin McGrath and Dave Christie, "The AMD x86-64 Architecture: Extending the x86 to 64 bits", Hot Chips 14, August 2002.

like image 192
njuffa Avatar answered Nov 15 '22 07:11

njuffa