[X86] Teach shuffle lowering to recognize 128/256 bit insertions into a zero vector.
authorCraig Topper <craig.topper@intel.com>
Fri, 9 Feb 2018 05:54:34 +0000 (05:54 +0000)
committerCraig Topper <craig.topper@intel.com>
Fri, 9 Feb 2018 05:54:34 +0000 (05:54 +0000)
commit28166a877d5e4e886c2c254e8f68197b644b62a6
tree103ee20b1d0f1d0a18df0e7a4b42b6e5bbf873a4
parent090e41d0cc657ac03c638ceb1610b628a9ef65d1
[X86] Teach shuffle lowering to recognize 128/256 bit insertions into a zero vector.

This regresses a couple cases in the shuffle combining test. But those cases use intrinsics that InstCombine knows how to turn into a generic shuffle earlier. This should give opportunities to fold this earlier in InstCombine or DAG combine.

llvm-svn: 324709
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/avx-vperm2x128.ll
llvm/test/CodeGen/X86/avx512-mask-op.ll
llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll
llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll