Implement enough of the missing instalias support to get
authorChris Lattner <sabre@nondot.org>
Mon, 1 Nov 2010 05:34:34 +0000 (05:34 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 1 Nov 2010 05:34:34 +0000 (05:34 +0000)
commitb501d4f673c0db267a76800339f9943f2ce6fe33
treec835a0e3af765525abdaed5808a87ffd40080f56
parentb8d14a6611276181f9fd0d9b2a1243150e4a5739
Implement enough of the missing instalias support to get
aliases installed and working.  They now work when the
matched pattern and the result instruction have exactly
the same operand list.

This is now enough for us to define proper aliases for
movzx and movsx, implementing rdar://8017633 and PR7459.

Note that we do not accept instructions like:
  movzx 0(%rsp), %rsi

GAS accepts this instruction, but it doesn't make any
sense because we don't know the size of the memory
operand.  It could be 8/16/32 bits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117901 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/AsmParser/X86AsmParser.cpp
lib/Target/X86/X86InstrInfo.td
test/MC/X86/x86-64.s
utils/TableGen/AsmMatcherEmitter.cpp
utils/TableGen/CodeGenInstruction.cpp
utils/TableGen/CodeGenInstruction.h