summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-02-16 18:19:31 +0000
committerChris Lattner <sabre@nondot.org>2004-02-16 18:19:31 +0000
commite0f636a0686141818cb09fd62d3ff9a0ba352825 (patch)
tree679c106359bad9a4f2bc185919ffa5cf9edff91e /lib
parent542af5f4fb767e9ffcfc1895a0f5a47a2d7d303e (diff)
downloadllvm-e0f636a0686141818cb09fd62d3ff9a0ba352825.tar.gz
llvm-e0f636a0686141818cb09fd62d3ff9a0ba352825.tar.bz2
llvm-e0f636a0686141818cb09fd62d3ff9a0ba352825.tar.xz
Add some ADD instructions that take memory operands for Alkis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11502 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/X86/X86InstrInfo.td7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td
index 0919626bb0..dbd07fa180 100644
--- a/lib/Target/X86/X86InstrInfo.td
+++ b/lib/Target/X86/X86InstrInfo.td
@@ -272,6 +272,13 @@ def ADDri32 : I2A32<"add", 0x81, MRMS0r >, Pattern<(set R32, (plus R
def ADDri16b : I2A8 <"add", 0x83, MRMS0r >, OpSize; // ADDri with sign extended 8 bit imm
def ADDri32b : I2A8 <"add", 0x83, MRMS0r >;
+def ADDmr8 : I2A8 <"add", 0x00, MRMDestMem>; // [mem] += R8
+def ADDmr16 : I2A16<"add", 0x01, MRMDestMem>, OpSize; // [mem] += R16
+def ADDmr32 : I2A32<"add", 0x01, MRMDestMem>; // [mem] += R32
+def ADDrm8 : I2A8 <"add", 0x02, MRMSrcMem >; // R8 += [mem]
+def ADDrm16 : I2A16<"add", 0x03, MRMSrcMem >, OpSize; // R16 += [mem]
+def ADDrm32 : I2A32<"add", 0x03, MRMSrcMem >; // R32 += [mem]
+
def ADCrr32 : I2A32<"adc", 0x11, MRMDestReg>; // R32 += imm32+Carry
def SUBrr8 : I2A8 <"sub", 0x28, MRMDestReg>, Pattern<(set R8 , (minus R8 , R8 ))>;