From 74835ce1cbacbef61ec5490e6a91b3670b864c71 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 17 Apr 2009 00:43:09 +0000 Subject: [PATCH] Don't use MOV8rr_NOREX on x86-32. It doesn't actually hurt anything at present, but it's inconsistent. llvm-svn: 69335 --- llvm/lib/Target/X86/X86InstrInfo.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp index e123ae7e24ac..c0243652bb7b 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.cpp +++ b/llvm/lib/Target/X86/X86InstrInfo.cpp @@ -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().is64Bit()) Opc = X86::MOV8rr_NOREX; else Opc = X86::MOV8rr;