[X86][AVX] Merge mask select with shuffles across extract_subvector (PR40332)
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 27 Apr 2019 13:35:32 +0000 (13:35 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 27 Apr 2019 13:35:32 +0000 (13:35 +0000)
commitacc1e6d1c616e011acfd9c054f3b5a83baa209dd
treea87b38e06545645d3731be5e22bd66771da7fe52
parentd77dc9ada20655977d1f43494d686ed7f403f030
[X86][AVX] Merge mask select with shuffles across extract_subvector (PR40332)

Fixes PR40332 in the limited case where we're selecting between a target shuffle and a zero vector.

We can extend this in the future to handle more opcodes and non-zero selections.

llvm-svn: 359378
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll