Added SCAS instructions in their 8, 16, 32, and
authorSean Callanan <scallanan@apple.com>
Sat, 12 Sep 2009 00:37:19 +0000 (00:37 +0000)
committerSean Callanan <scallanan@apple.com>
Sat, 12 Sep 2009 00:37:19 +0000 (00:37 +0000)
64-bit variants for the disassembler.

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

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

index 13e7dc7af81c66bc867b8eced12c6a2b0df1d30a..f165336fdb042d795c51cbf86e6e05453a7edefe 100644 (file)
@@ -284,6 +284,8 @@ let Defs = [RCX,RDI], Uses = [RAX,RCX,RDI] in
 def REP_STOSQ : RI<0xAB, RawFrm, (outs), (ins), "{rep;stosq|rep stosq}",
                    [(X86rep_stos i64)]>, REP;
 
+def SCAS64 : RI<0xAF, RawFrm, (outs), (ins), "scas{q}", []>;
+
 // Fast system-call instructions
 def SYSEXIT64 : RI<0x35, RawFrm,
                    (outs), (ins), "sysexit", []>, TB;
index 35ba650f875d21063437588cf6214b0d4266db67..8c22bc61e6c306ab417bf3ae67ab8284ee26e325 100644 (file)
@@ -814,6 +814,10 @@ let Defs = [ECX,EDI], Uses = [EAX,ECX,EDI] in
 def REP_STOSD : I<0xAB, RawFrm, (outs), (ins), "{rep;stosl|rep stosd}",
                   [(X86rep_stos i32)]>, REP;
 
+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}", []>;
+
 let Defs = [RAX, RDX] in
 def RDTSC : I<0x31, RawFrm, (outs), (ins), "rdtsc", [(X86rdtsc)]>,
             TB;