summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-12-12 18:55:26 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-12-12 18:55:26 +0000
commit3974c8de516d89b0ae5cd1ce48a54c829685a34c (patch)
tree92d5536bd3abf80327bf05319380bd38e1d1f8ed /llvm/lib
parent6d6eaafa8cc5d97c4c5525aa62179f330aac2f1a (diff)
downloadbcm5719-llvm-3974c8de516d89b0ae5cd1ce48a54c829685a34c.tar.gz
bcm5719-llvm-3974c8de516d89b0ae5cd1ce48a54c829685a34c.zip
Add comment about potential partial register stall.
llvm-svn: 91220
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp
index d45dccedb6a..87f6fc039bb 100644
--- a/llvm/lib/Target/X86/X86InstrInfo.cpp
+++ b/llvm/lib/Target/X86/X86InstrInfo.cpp
@@ -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)
OpenPOWER on IntegriCloud