Don't use MOV8rr_NOREX on x86-32. It doesn't actually hurt anything at

present, but it's inconsistent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69335 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2009-04-17 00:43:09 +00:00
parent 9062d9a55b
commit d51def353c

View File

@ -1664,9 +1664,10 @@ bool X86InstrInfo::copyRegToReg(MachineBasicBlock &MBB,
} else if (DestRC == &X86::GR16RegClass) {
Opc = X86::MOV16rr;
} else if (DestRC == &X86::GR8RegClass) {
// Copying two or from a physical H register requires a NOREX move.
// Otherwise use a normal move.
if (isHReg(DestReg) || isHReg(SrcReg))
// Copying two or from a physical H register on x86-64 requires a NOREX
// move. Otherwise use a normal move.
if ((isHReg(DestReg) || isHReg(SrcReg)) &&
TM.getSubtarget<X86Subtarget>().is64Bit())
Opc = X86::MOV8rr_NOREX;
else
Opc = X86::MOV8rr;