diff options
| author | David Woodhouse <dwmw2@infradead.org> | 2014-01-22 15:08:55 +0000 |
|---|---|---|
| committer | David Woodhouse <dwmw2@infradead.org> | 2014-01-22 15:08:55 +0000 |
| commit | 4ce66069a0762bd7d443bb5f50a402948db54f19 (patch) | |
| tree | d64447ad1c3d13bf16fcb1d28c95bfbce830012c /llvm/lib/Target/X86/X86InstrSystem.td | |
| parent | c472b813bfa3d19c67661b50cd91fd1c5ed7253e (diff) | |
| download | bcm5719-llvm-4ce66069a0762bd7d443bb5f50a402948db54f19.tar.gz bcm5719-llvm-4ce66069a0762bd7d443bb5f50a402948db54f19.zip | |
[x86] Allow segment and address-size overrides for INS[BWLQ] (PR9385)
llvm-svn: 199809
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrSystem.td')
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrSystem.td | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86InstrSystem.td b/llvm/lib/Target/X86/X86InstrSystem.td index 6177d17b8f3..e1b008e7fad 100644 --- a/llvm/lib/Target/X86/X86InstrSystem.td +++ b/llvm/lib/Target/X86/X86InstrSystem.td @@ -116,9 +116,12 @@ let Uses = [EAX] in def OUT32ir : Ii8<0xE7, RawFrm, (outs), (ins i8imm:$port), "out{l}\t{%eax, $port|$port, eax}", [], IIC_OUT_IR>, OpSize16; -def IN8 : I<0x6C, RawFrm, (outs), (ins), "ins{b}", [], IIC_INS>; -def IN16 : I<0x6D, RawFrm, (outs), (ins), "ins{w}", [], IIC_INS>, OpSize; -def IN32 : I<0x6D, RawFrm, (outs), (ins), "ins{l}", [], IIC_INS>, OpSize16; +def IN8 : I<0x6C, RawFrmDst, (outs dstidx8:$dst), (ins), + "insb\t{%dx, $dst|$dst, dx}", [], IIC_INS>; +def IN16 : I<0x6D, RawFrmDst, (outs dstidx16:$dst), (ins), + "insw\t{%dx, $dst|$dst, dx}", [], IIC_INS>, OpSize; +def IN32 : I<0x6D, RawFrmDst, (outs dstidx32:$dst), (ins), + "ins{l|d}\t{%dx, $dst|$dst, dx}", [], IIC_INS>, OpSize16; } // SchedRW //===----------------------------------------------------------------------===// |

