Add comment about potential partial register stall.
authorEvan Cheng <evan.cheng@apple.com>
Sat, 12 Dec 2009 18:55:26 +0000 (18:55 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Sat, 12 Dec 2009 18:55:26 +0000 (18:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91220 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86InstrInfo.cpp

index d45dccedb6a48c8e3f76a9746494d1cb24283621..87f6fc039bb0e141207fc9de44f2db93cd55272f 100644 (file)
@@ -1081,6 +1081,11 @@ X86InstrInfo::convertToThreeAddressWithLEA(unsigned MIOpc,
             
   // Build and insert into an implicit UNDEF value. This is OK because
   // well be shifting and then extracting the lower 16-bits. 
+  // This has the potential to cause partial stall. e.g.
+  //   movw    (%rbp,%rcx,2), %dx
+  //   leal    -65(%rdx), %esi
+  // But testing has shown this *does* help performance (at least on modern
+  // x86 machines).
   BuildMI(*MFI, MBBI, MI->getDebugLoc(), get(X86::IMPLICIT_DEF), leaInReg);
   MachineInstr *InsMI =
     BuildMI(*MFI, MBBI, MI->getDebugLoc(), get(X86::INSERT_SUBREG),leaInReg)