summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-07-07 23:04:56 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-07-07 23:04:56 +0000
commit6213ab789fd029c0c7aecc9057692b049f89736e (patch)
tree89fa1bd2cef492db54a8d775f0efb5a5ad4f6c8d /llvm
parent73ef80f76f6b4e824b382b4e52e31e5477c2701f (diff)
downloadbcm5719-llvm-6213ab789fd029c0c7aecc9057692b049f89736e.tar.gz
bcm5719-llvm-6213ab789fd029c0c7aecc9057692b049f89736e.zip
fix copies to/from GR8_ABCD_H even more
llvm-svn: 107832
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp
index 91cec989469..acd214ed0ac 100644
--- a/llvm/lib/Target/X86/X86InstrInfo.cpp
+++ b/llvm/lib/Target/X86/X86InstrInfo.cpp
@@ -1932,7 +1932,9 @@ bool X86InstrInfo::copyRegToReg(MachineBasicBlock &MBB,
} else if (CommonRC == &X86::GR8RegClass) {
// Copying to or from a physical H register on x86-64 requires a NOREX
// move. Otherwise use a normal move.
- if ((isHReg(DestReg) || isHReg(SrcReg)) &&
+ if ((isHReg(DestReg) || isHReg(SrcReg) ||
+ SrcRC == &X86::GR8_ABCD_HRegClass ||
+ DestRC == &X86::GR8_ABCD_HRegClass) &&
TM.getSubtarget<X86Subtarget>().is64Bit())
Opc = X86::MOV8rr_NOREX;
else
OpenPOWER on IntegriCloud