Rather than having a ton of patterns for double shift instructions, e.g. SHLD16rrCL...
authorEvan Cheng <evan.cheng@apple.com>
Wed, 28 Apr 2010 01:18:01 +0000 (01:18 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 28 Apr 2010 01:18:01 +0000 (01:18 +0000)
commit8b1190a5400d263b5344f1fcd7b54ae1b6263e7c
tree2731f0280c5f6c79761fdac8443c0cfe1686ac35
parenta7b611c10d0e5fef5870d854518e639ce3d3c6be
Rather than having a ton of patterns for double shift instructions, e.g. SHLD16rrCL, just perform custom dag combine to form x86 specific dag so they match to the same pattern. This also makes sure later dag combine do not cause isel to miss them (e.g. promoting i16 to i32).

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