[X86] lowerShuffleAsRepeatedMaskAndLanePermute - allow v16i32 sub-lane permutes for...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 3 Apr 2022 09:05:10 +0000 (10:05 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 3 Apr 2022 09:05:10 +0000 (10:05 +0100)
commitfbfd78f7aae520421adf4e1f7b35a48a3fb5a8be
tree7383ba4f798b969c361eeb025335c8f42afaaf28
parent6cf10b7e6e839fea1843ba365a6a26e77b52e251
[X86] lowerShuffleAsRepeatedMaskAndLanePermute - allow v16i32 sub-lane permutes for v64i8 shuffles

Without VBMI, we are better off permuting v16i32 sub-lanes, even though its a variable shuffle, if it allows us to then shuffle v64i8 inlane repeated masks (PSHUFB etc.)

Fixes #54658
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
llvm/test/CodeGen/X86/x86-interleaved-access.ll