[X86][AVX] Add shuffle masking support for EltsFromConsecutiveLoads
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 21 Feb 2016 19:15:48 +0000 (19:15 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 21 Feb 2016 19:15:48 +0000 (19:15 +0000)
commite9093adae0edb5833b2bbad29c1e5526fc542c1b
tree391cfa90a72624d2e0d9356e54177a3e5b1b12ed
parentcea6193b79db82aadf46ae0e0268187f989a9918
[X86][AVX] Add shuffle masking support for EltsFromConsecutiveLoads

Add support for the case where we have a consecutive load (which must include the first + last elements) with a mixture of undef/zero elements. We load the vector and then apply a shuffle to clear the zero'd elements.

Differential Revision: http://reviews.llvm.org/D17297

llvm-svn: 261490
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/merge-consecutive-loads-128.ll
llvm/test/CodeGen/X86/merge-consecutive-loads-256.ll
llvm/test/CodeGen/X86/merge-consecutive-loads-512.ll