diff options
| author | Sean Callanan <scallanan@apple.com> | 2009-09-12 00:37:19 +0000 |
|---|---|---|
| committer | Sean Callanan <scallanan@apple.com> | 2009-09-12 00:37:19 +0000 |
| commit | 4dc00d3781f0bb6964cbda691d5d8845d797e077 (patch) | |
| tree | 29092036359b12a62f466cffcb389ce9eb08f3e1 /llvm/lib | |
| parent | 15fc956ca0936fb8ac06c463093ee0ed4a2262cb (diff) | |
| download | bcm5719-llvm-4dc00d3781f0bb6964cbda691d5d8845d797e077.tar.gz bcm5719-llvm-4dc00d3781f0bb6964cbda691d5d8845d797e077.zip | |
Added SCAS instructions in their 8, 16, 32, and
64-bit variants for the disassembler.
llvm-svn: 81591
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86Instr64bit.td | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrInfo.td | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86Instr64bit.td b/llvm/lib/Target/X86/X86Instr64bit.td index 13e7dc7af81..f165336fdb0 100644 --- a/llvm/lib/Target/X86/X86Instr64bit.td +++ b/llvm/lib/Target/X86/X86Instr64bit.td @@ -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; diff --git a/llvm/lib/Target/X86/X86InstrInfo.td b/llvm/lib/Target/X86/X86InstrInfo.td index 35ba650f875..8c22bc61e6c 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.td +++ b/llvm/lib/Target/X86/X86InstrInfo.td @@ -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; |

