From: Alkis Evlogimenos Date: Tue, 17 Feb 2004 08:17:40 +0000 (+0000) Subject: Add SUB{rm,mr,mi}{8,16,32} instructions. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=503770cfc3d7f4ec313723280eb75535d4c5de55;p=oota-llvm.git 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 --- diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index c3bea656251..59806dd354e 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