INC64_32r -> LEA64_32r is better than INC64_32r -> LEA32r, but it still can
authorEvan Cheng <evan.cheng@apple.com>
Fri, 5 Oct 2007 21:55:32 +0000 (21:55 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 5 Oct 2007 21:55:32 +0000 (21:55 +0000)
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

index e5223d9dce76ff35afcf1299f6b0cfc15852ef13..8836c9e9cc410bcdfcb9eba6610a134d71af82e5 100644 (file)
@@ -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;
     }