Home | History | Annotate | Download | only in x86_64

Lines Matching refs:rex

1023 void X86_64Assembler::rex(bool force, bool w, Register* r, Register* x, Register* b) {
1024 // REX.WRXB
1029 uint8_t rex = force ? 0x40 : 0;
1031 rex |= 0x48; // REX.W000
1034 rex |= 0x44; // REX.0R00
1038 rex |= 0x42; // REX.00X0
1042 rex |= 0x41; // REX.000B
1045 if (rex != 0) {
1046 EmitUint8(rex);
1051 // REX.WRXB
1056 uint8_t rex = mem->rex();
1058 rex |= 0x40; // REX.0000
1061 rex |= 0x48; // REX.W000
1064 rex |= 0x44; // REX.0R00
1067 if (rex != 0) {
1068 EmitUint8(rex);
1446 // RSP, RBP, RDI, RSI need rex prefix (else the pattern encodes ah/bh/ch/dh).
1615 // REX.WRXB
1620 uint8_t rex = force ? 0x40 : 0;
1622 rex |= 0x48; // REX.W000
1625 rex |= 0x44; // REX.0R00
1628 rex |= 0x42; // REX.00X0
1631 rex |= 0x41; // REX.000B
1633 if (rex != 0) {
1634 EmitUint8(rex);
1659 uint8_t rex = operand.rex();
1660 if (rex != 0) {
1661 EmitUint8(rex);
1666 uint8_t rex = operand.rex();
1668 rex |= 0x44; // REX.0R00
1670 if (rex != 0) {
1671 EmitUint8(rex);
1676 uint8_t rex = operand.rex();
1678 rex |= 0x44; // REX.0R00
1680 if (rex != 0) {
1681 EmitUint8(rex);
1694 uint8_t rex = 0x48 | operand.rex(); // REX.W000
1696 rex |= 0x44; // REX.0R00
1698 if (rex != 0) {
1699 EmitUint8(rex);
1708 uint8_t rex = 0x40 | operand.rex(); // REX.0000
1710 rex |= 0x44; // REX.0R00
1712 if (rex != 0) {
1713 EmitUint8(rex);