Add some ADD instructions that take memory operands for Alkis
authorChris Lattner <sabre@nondot.org>
Mon, 16 Feb 2004 18:19:31 +0000 (18:19 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 16 Feb 2004 18:19:31 +0000 (18:19 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11502 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86InstrInfo.td

index 0919626bb06545f301723d14e447d0510d106356..dbd07fa18092d5a1fdc1b1d174df47ec6f554679 100644 (file)
@@ -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 ))>;