[X86][AVX] Shuffle->Permute+Blend if we have one v4f64/v4i64 shuffle input in place
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 23 Feb 2019 17:10:47 +0000 (17:10 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 23 Feb 2019 17:10:47 +0000 (17:10 +0000)
commit31793733a0df327add2e4f7b6c4e8aa611e0bbe7
tree49d7080750610d5497064d8d83ccceac547d05dd
parentd9381ae4f46e451840719a5b2f94e42ae64ce880
[X86][AVX] Shuffle->Permute+Blend if we have one v4f64/v4i64 shuffle input in place

Even on AVX1 we can pretty cheaply (VPERM2F128+VSHUFPD) permute a single v4f64/v4i64 input (on AVX2 its just a single VPERMPD), followed by a BLENDPD.

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