diff options
author | Bill Wendling <isanbard@gmail.com> | 2009-04-17 22:40:38 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2009-04-17 22:40:38 +0000 |
commit | 06684350c4428df2d18fce93e8b68379da9798dc (patch) | |
tree | 926c02b98b08410b66ecf093eb1c4133ee488f66 /llvm | |
parent | 08f012900320664f6bc41082cc0e14460b35422f (diff) | |
download | bcm5719-llvm-06684350c4428df2d18fce93e8b68379da9798dc.tar.gz bcm5719-llvm-06684350c4428df2d18fce93e8b68379da9798dc.zip |
Recommit r69335 and r69336. These were not causing problems.
llvm-svn: 69394
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Target/X86/X86InstrInfo.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp index e123ae7e24a..ccec7b1c32c 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.cpp +++ b/llvm/lib/Target/X86/X86InstrInfo.cpp @@ -667,6 +667,7 @@ bool X86InstrInfo::isMoveInstr(const MachineInstr& MI, default: return false; case X86::MOV8rr: + case X86::MOV8rr_NOREX: case X86::MOV16rr: case X86::MOV32rr: case X86::MOV64rr: @@ -1664,9 +1665,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; |