From b75ed322c4d5fd3ca5ac2fb0cdcedb4413eb8cce Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Fri, 5 Oct 2007 21:55:32 +0000 Subject: [PATCH] INC64_32r -> LEA64_32r is better than INC64_32r -> LEA32r, but it still can cause performance degradation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42653 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrInfo.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lib/Target/X86/X86InstrInfo.cpp b/lib/Target/X86/X86InstrInfo.cpp index e5223d9dce7..8836c9e9cc4 100644 --- a/lib/Target/X86/X86InstrInfo.cpp +++ b/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; } -- 2.34.1