Added CMPS (string comparison) instructions for all
authorSean Callanan <scallanan@apple.com>
Sat, 12 Sep 2009 02:25:20 +0000 (02:25 +0000)
committerSean Callanan <scallanan@apple.com>
Sat, 12 Sep 2009 02:25:20 +0000 (02:25 +0000)
operand widths to the Intel instruction tables, for
the purposes of the disassembler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81601 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86Instr64bit.td
lib/Target/X86/X86InstrInfo.td

index f165336fdb042d795c51cbf86e6e05453a7edefe..353868a407aff754bef7210ecb575e58873c20d7 100644 (file)
@@ -286,6 +286,8 @@ def REP_STOSQ : RI<0xAB, RawFrm, (outs), (ins), "{rep;stosq|rep stosq}",
 
 def SCAS64 : RI<0xAF, RawFrm, (outs), (ins), "scas{q}", []>;
 
+def CMPS64 : RI<0xA7, RawFrm, (outs), (ins), "cmps{q}", []>;
+
 // Fast system-call instructions
 def SYSEXIT64 : RI<0x35, RawFrm,
                    (outs), (ins), "sysexit", []>, TB;
index 8c22bc61e6c306ab417bf3ae67ab8284ee26e325..fbb5fa938efd722e669c76be1233fbafb7773f4e 100644 (file)
@@ -818,6 +818,10 @@ def SCAS8 : I<0xAE, RawFrm, (outs), (ins), "scas{b}", []>;
 def SCAS16 : I<0xAF, RawFrm, (outs), (ins), "scas{w}", []>, OpSize;
 def SCAS32 : I<0xAF, RawFrm, (outs), (ins), "scas{l}", []>;
 
+def CMPS8 : I<0xA6, RawFrm, (outs), (ins), "cmps{b}", []>;
+def CMPS16 : I<0xA7, RawFrm, (outs), (ins), "cmps{w}", []>, OpSize;
+def CMPS32 : I<0xA7, RawFrm, (outs), (ins), "cmps{l}", []>;
+
 let Defs = [RAX, RDX] in
 def RDTSC : I<0x31, RawFrm, (outs), (ins), "rdtsc", [(X86rdtsc)]>,
             TB;