summaryrefslogtreecommitdiff
path: root/lib/Target/X86/PeepholeOptimizer.cpp
diff options
context:
space:
mode:
authorAlkis Evlogimenos <alkis@evlogimenos.com>2004-04-02 07:11:10 +0000
committerAlkis Evlogimenos <alkis@evlogimenos.com>2004-04-02 07:11:10 +0000
commit8b28b6d187282367e1d1c8f9a155a10bcfef52de (patch)
tree978aa589e83eb6ae98deb837b22e0f4c1acc85e9 /lib/Target/X86/PeepholeOptimizer.cpp
parent02bb481881fe6aaa876f9bf79f38f40f56a35a01 (diff)
downloadllvm-8b28b6d187282367e1d1c8f9a155a10bcfef52de.tar.gz
llvm-8b28b6d187282367e1d1c8f9a155a10bcfef52de.tar.bz2
llvm-8b28b6d187282367e1d1c8f9a155a10bcfef52de.tar.xz
Add more ADC and SBB variants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12607 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/PeepholeOptimizer.cpp')
-rw-r--r--lib/Target/X86/PeepholeOptimizer.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/Target/X86/PeepholeOptimizer.cpp b/lib/Target/X86/PeepholeOptimizer.cpp
index bc29472621..a1ef1c763e 100644
--- a/lib/Target/X86/PeepholeOptimizer.cpp
+++ b/lib/Target/X86/PeepholeOptimizer.cpp
@@ -123,8 +123,8 @@ bool PH::PeepholeOptimize(MachineBasicBlock &MBB,
return false;
#endif
- case X86::ADD16ri: case X86::ADD32ri:
- case X86::SUB16ri: case X86::SUB32ri:
+ case X86::ADD16ri: case X86::ADD32ri: case X86::ADC32ri:
+ case X86::SUB16ri: case X86::SUB32ri: case X86::SBB32ri:
case X86::AND16ri: case X86::AND32ri:
case X86::OR16ri: case X86::OR32ri:
case X86::XOR16ri: case X86::XOR32ri:
@@ -138,8 +138,10 @@ bool PH::PeepholeOptimize(MachineBasicBlock &MBB,
default: assert(0 && "Unknown opcode value!");
case X86::ADD16ri: Opcode = X86::ADD16ri8; break;
case X86::ADD32ri: Opcode = X86::ADD32ri8; break;
+ case X86::ADC32ri: Opcode = X86::ADC32ri8; break;
case X86::SUB16ri: Opcode = X86::SUB16ri8; break;
case X86::SUB32ri: Opcode = X86::SUB32ri8; break;
+ case X86::SBB32ri: Opcode = X86::SBB32ri8; break;
case X86::AND16ri: Opcode = X86::AND16ri8; break;
case X86::AND32ri: Opcode = X86::AND32ri8; break;
case X86::OR16ri: Opcode = X86::OR16ri8; break;
@@ -156,8 +158,8 @@ bool PH::PeepholeOptimize(MachineBasicBlock &MBB,
}
return false;
- case X86::ADD16mi: case X86::ADD32mi:
- case X86::SUB16mi: case X86::SUB32mi:
+ case X86::ADD16mi: case X86::ADD32mi: case X86::ADC32mi:
+ case X86::SUB16mi: case X86::SUB32mi: case X86::SBB32mi:
case X86::AND16mi: case X86::AND32mi:
case X86::OR16mi: case X86::OR32mi:
case X86::XOR16mi: case X86::XOR32mi:
@@ -171,8 +173,10 @@ bool PH::PeepholeOptimize(MachineBasicBlock &MBB,
default: assert(0 && "Unknown opcode value!");
case X86::ADD16mi: Opcode = X86::ADD16mi8; break;
case X86::ADD32mi: Opcode = X86::ADD32mi8; break;
+ case X86::ADC32mi: Opcode = X86::ADC32mi8; break;
case X86::SUB16mi: Opcode = X86::SUB16mi8; break;
case X86::SUB32mi: Opcode = X86::SUB32mi8; break;
+ case X86::SBB32mi: Opcode = X86::SBB32mi8; break;
case X86::AND16mi: Opcode = X86::AND16mi8; break;
case X86::AND32mi: Opcode = X86::AND32mi8; break;
case X86::OR16mi: Opcode = X86::OR16mi8; break;