OSDN Git Service

[X86][Disassembler] Add bizarro versions of the MOVSXD instruction that sign extend...
authorCraig Topper <craig.topper@intel.com>
Tue, 2 Oct 2018 18:16:19 +0000 (18:16 +0000)
committerCraig Topper <craig.topper@intel.com>
Tue, 2 Oct 2018 18:16:19 +0000 (18:16 +0000)
commit4e511d4c19d2e6664f9631977c8722becdf9cb2a
treebc28d135f35fba10b397ce10b270d5754acebdde
parent8f3aebf19b394ff090f28b1c2312b28d8e30be0a
[X86][Disassembler] Add bizarro versions of the MOVSXD instruction that sign extend from a GR32 to GR32 or GR16.

The 0x63 opcodes in 64-bit mode have a fixed source size of 32-bits, but the destination size is controlled by REX.W and the 0x66 opsize prefix. This instruction is normally used with a REX.W prefix which provides desired behavior. The other encodings are interpretted as valid by the processor, but aren't useful.

This patch makes us recognize them for the disassembler to match objdump.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@343614 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86InstrExtension.td
test/MC/Disassembler/X86/x86-64.txt