summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlkis Evlogimenos <alkis@evlogimenos.com>2004-02-17 08:17:40 +0000
committerAlkis Evlogimenos <alkis@evlogimenos.com>2004-02-17 08:17:40 +0000
commit503770cfc3d7f4ec313723280eb75535d4c5de55 (patch)
tree0a80ea677bd1ce9d5c6d23dd4ed828fdc1b074ef /lib
parent11390e76e73d36e62c981069a67d1d33823262de (diff)
downloadllvm-503770cfc3d7f4ec313723280eb75535d4c5de55.tar.gz
llvm-503770cfc3d7f4ec313723280eb75535d4c5de55.tar.bz2
llvm-503770cfc3d7f4ec313723280eb75535d4c5de55.tar.xz
Add SUB{rm,mr,mi}{8,16,32} instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11543 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/X86/X86InstrInfo.td12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td
index c3bea65625..59806dd354 100644
--- a/lib/Target/X86/X86InstrInfo.td
+++ b/lib/Target/X86/X86InstrInfo.td
@@ -297,6 +297,18 @@ def SUBri32 : I2A32<"sub", 0x81, MRMS5r >, Pattern<(set R32, (minus
def SUBri16b : I2A8 <"sub", 0x83, MRMS5r >, OpSize;
def SUBri32b : I2A8 <"sub", 0x83, MRMS5r >;
+def SUBmr8 : I2A8 <"sub", 0x28, MRMDestMem>; // [mem8] -= R8
+def SUBmr16 : I2A16<"sub", 0x29, MRMDestMem>, OpSize; // [mem16] -= R16
+def SUBmr32 : I2A32<"sub", 0x29, MRMDestMem>; // [mem32] -= R32
+def SUBrm8 : I2A8 <"sub", 0x2A, MRMSrcMem >; // R8 -= [mem8]
+def SUBrm16 : I2A16<"sub", 0x2B, MRMSrcMem >, OpSize; // R16 -= [mem16]
+def SUBrm32 : I2A32<"sub", 0x2B, MRMSrcMem >; // R32 -= [mem32]
+def SUBmi8 : I2A8 <"sub", 0x80, MRMSrcMem >; // [mem8] -= I8
+def SUBmi16 : I2A16<"sub", 0x81, MRMSrcMem >, OpSize; // [mem16] -= I16
+def SUBmi32 : I2A32<"sub", 0x81, MRMSrcMem >; // [mem32] -= I8
+def SUBmi16b : I2A8 <"sub", 0x83, MRMSrcMem >, OpSize; // [mem16] -= I8
+def SUBmi32b : I2A8 <"sub", 0x83, MRMSrcMem >; // [mem32] -= I32
+
def SBBrr32 : I2A32<"sbb", 0x19, MRMDestReg>; // R32 -= R32+Borrow
def SBBrm32 : I2A32<"sbb", 0x19, MRMSrcMem >; // R32 -= [mem32]+Borrow
def SBBmr32 : I2A32<"sbb", 0x1B, MRMDestMem>; // [mem32] -= R32+Borrow