[X86] In LowerEXTEND_VECTOR_INREG, emit a vector shuffle instead of directly using...
authorCraig Topper <craig.topper@intel.com>
Fri, 2 Nov 2018 22:48:02 +0000 (22:48 +0000)
committerCraig Topper <craig.topper@intel.com>
Fri, 2 Nov 2018 22:48:02 +0000 (22:48 +0000)
commitf7108aef14c52255543c56fd5fca941a65387cbe
treed88cd1548321acca1a0c9f209b0b7f630d89df33
parent50bc1ed290824218a1bb46f70ec731712da610b0
[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.

llvm-svn: 346050
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/madd.ll
llvm/test/CodeGen/X86/vec_int_to_fp.ll
llvm/test/CodeGen/X86/vector-sext.ll