[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrInfo.td

Nate Begeman natebegeman at mac.com
Wed Mar 22 17:29:59 PST 2006



Changes in directory llvm/lib/Target/X86:

X86InstrInfo.td updated: 1.256 -> 1.257
---
Log message:

Add support for 8 bit immediates with 16/32 bit cmp instructions


---
Diffs of the changes:  (+16 -0)

 X86InstrInfo.td |   16 ++++++++++++++++
 1 files changed, 16 insertions(+)


Index: llvm/lib/Target/X86/X86InstrInfo.td
diff -u llvm/lib/Target/X86/X86InstrInfo.td:1.256 llvm/lib/Target/X86/X86InstrInfo.td:1.257
--- llvm/lib/Target/X86/X86InstrInfo.td:1.256	Fri Mar 17 19:23:20 2006
+++ llvm/lib/Target/X86/X86InstrInfo.td	Wed Mar 22 19:29:48 2006
@@ -2203,6 +2203,22 @@
                    (ops i32mem:$src1, i32imm:$src2),
                    "cmp{l} {$src2, $src1|$src1, $src2}",
                    [(X86cmp (loadi32 addr:$src1), imm:$src2)]>;
+def CMP16ri8 : Ii16<0x83, MRM7r,
+                   (ops R16:$src1, i16i8imm:$src2),
+                   "cmp{w} {$src2, $src1|$src1, $src2}",
+                   [(X86cmp R16:$src1, i16immSExt8:$src2)]>, OpSize;
+def CMP16mi8 : Ii16<0x83, MRM7m,
+                   (ops i16mem:$src1, i16i8imm:$src2),
+                   "cmp{w} {$src2, $src1|$src1, $src2}",
+                   [(X86cmp (loadi16 addr:$src1), i16immSExt8:$src2)]>, OpSize;
+def CMP32mi8 : Ii32<0x83, MRM7m,
+                   (ops i32mem:$src1, i32i8imm:$src2),
+                   "cmp{l} {$src2, $src1|$src1, $src2}",
+                   [(X86cmp (loadi32 addr:$src1), i32immSExt8:$src2)]>;
+def CMP32ri8 : Ii32<0x83, MRM7r,
+                   (ops R32:$src1, i32i8imm:$src2),
+                   "cmp{l} {$src2, $src1|$src1, $src2}",
+                   [(X86cmp R32:$src1, i32immSExt8:$src2)]>;
 
 // Sign/Zero extenders
 def MOVSX16rr8 : I<0xBE, MRMSrcReg, (ops R16:$dst, R8 :$src),






More information about the llvm-commits mailing list