summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-10-05 21:55:32 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-10-05 21:55:32 +0000
commitd3ccf00870355fdc82bf30ccd7f5d194d0591b72 (patch)
tree7b5451395cde9b32a8b9969adfb64aad9b096a71 /llvm/lib
parent9f413446de1ef758b7e44ca8931e60834fdcfa89 (diff)
downloadbcm5719-llvm-d3ccf00870355fdc82bf30ccd7f5d194d0591b72.tar.gz
bcm5719-llvm-d3ccf00870355fdc82bf30ccd7f5d194d0591b72.zip
INC64_32r -> LEA64_32r is better than INC64_32r -> LEA32r, but it still can
cause performance degradation. llvm-svn: 42653
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp
index e5223d9dce7..8836c9e9cc4 100644
--- a/llvm/lib/Target/X86/X86InstrInfo.cpp
+++ b/llvm/lib/Target/X86/X86InstrInfo.cpp
@@ -283,11 +283,9 @@ X86InstrInfo::convertToThreeAddress(MachineFunction::iterator &MFI,
switch (MIOpc) {
default: return 0;
case X86::INC64r:
- case X86::INC32r:
- case X86::INC64_32r: {
+ case X86::INC32r: {
assert(MI->getNumOperands() >= 2 && "Unknown inc instruction!");
- unsigned Opc = MIOpc == X86::INC64r ? X86::LEA64r
- : (MIOpc == X86::INC64_32r ? X86::LEA64_32r : X86::LEA32r);
+ unsigned Opc = MIOpc == X86::INC64r ? X86::LEA64r : X86::LEA32r;
NewMI = addRegOffset(BuildMI(get(Opc), Dest), Src, 1);
break;
}
@@ -298,11 +296,9 @@ X86InstrInfo::convertToThreeAddress(MachineFunction::iterator &MFI,
NewMI = addRegOffset(BuildMI(get(X86::LEA16r), Dest), Src, 1);
break;
case X86::DEC64r:
- case X86::DEC32r:
- case X86::DEC64_32r: {
+ case X86::DEC32r: {
assert(MI->getNumOperands() >= 2 && "Unknown dec instruction!");
- unsigned Opc = MIOpc == X86::DEC64r ? X86::LEA64r
- : (MIOpc == X86::DEC64_32r ? X86::LEA64_32r : X86::LEA32r);
+ unsigned Opc = MIOpc == X86::DEC64r ? X86::LEA64r : X86::LEA32r;
NewMI = addRegOffset(BuildMI(get(Opc), Dest), Src, -1);
break;
}
OpenPOWER on IntegriCloud