Move the handling of ANY_EXTEND, SIGN_EXTEND_INREG, and TRUNCATE
authorDan Gohman <gohman@apple.com>
Wed, 20 Aug 2008 21:27:32 +0000 (21:27 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 20 Aug 2008 21:27:32 +0000 (21:27 +0000)
commit0bfa1bfbff1ddc5a85494c9e2b1f985f145dc8a6
treeaa5d048c7e9e28a1632ac6bc14a0d1785e2becd5
parentf990b571c5c4828206b4e14ae7f95d36739b4336
Move the handling of ANY_EXTEND, SIGN_EXTEND_INREG, and TRUNCATE
out of X86ISelDAGToDAG.cpp C++ code and into tablegen code.
Among other things, using tablegen for these things makes them
friendlier to FastISel.

Tablegen can handle the case of i8 subregs on x86-32, but currently
the C++ code for that case uses MVT::Flag in a tricky way, and it
happens to schedule better in some cases. So for now, leave the
C++ code in place to handle the i8 case on x86-32.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55078 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelDAGToDAG.cpp
lib/Target/X86/X86Instr64bit.td
lib/Target/X86/X86InstrInfo.td