[X86][AVX] canonicalizeLaneShuffleWithRepeatedOps - merge VPERMILPD ops with differen...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 6 Feb 2021 15:58:02 +0000 (15:58 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 6 Feb 2021 15:58:02 +0000 (15:58 +0000)
commite1172959226689a7d1b3ba8c04883969161333af
treeee26e98633b379d8a93162fd1a35a384f0ffdb7a
parent518af8df44f4da8d40667db8b4bf4605da9370dc
[X86][AVX] canonicalizeLaneShuffleWithRepeatedOps - merge VPERMILPD ops with different low/high masks.

Now that PR48908 has been dealt with, we can handle v4f64 permute cases by extracting the low/high lane VPERMILPD masks and creating a new mask based on which lanes are referenced by the VPERM2F128 mask.
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll