[X86] In LowerEXTEND_VECTOR_INREG, emit a vector shuffle instead of directly using X86ISD::UNPCKL

The majority of the changes are because the rest of shuffle lowering/combining prefers to replace the undef input with the other operand. Using UNPCKL directly seemed to avoid this and just grabbed a randomish register for the undef which can create false dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346050 91177308-0d34-0410-b5e6-96231b3b80d8
4 files changed