summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2009-04-17 22:40:38 +0000
committerBill Wendling <isanbard@gmail.com>2009-04-17 22:40:38 +0000
commit06684350c4428df2d18fce93e8b68379da9798dc (patch)
tree926c02b98b08410b66ecf093eb1c4133ee488f66
parent08f012900320664f6bc41082cc0e14460b35422f (diff)
downloadbcm5719-llvm-06684350c4428df2d18fce93e8b68379da9798dc.tar.gz
bcm5719-llvm-06684350c4428df2d18fce93e8b68379da9798dc.zip
Recommit r69335 and r69336. These were not causing problems.
llvm-svn: 69394
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.cpp8
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;
OpenPOWER on IntegriCloud