[X86] combineX86ShuffleChainWithExtract - don't both widening inputs after peeking...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 23 Feb 2022 15:43:34 +0000 (15:43 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 23 Feb 2022 15:44:24 +0000 (15:44 +0000)
commit22d04531283753758f7feae9769527c0e72c9d24
tree7b1c3fcf4a8fb41c6f98f8492c9cac44a7a9dbe2
parent4d37bbc429f61ea0f60233e258ebcb1dfc031513
[X86] combineX86ShuffleChainWithExtract - don't both widening inputs after peeking through ISD::EXTRACT_SUBVECTOR nodes

combineX86ShuffleChain no longer has to assume that the shuffle inputs are the right size, so don't create unnecessary nodes messing up oneuse limits as detailed on Issue #45319

Removing widening from combineX86ShufflesRecursively will be the next step, followed by removing combineX86ShuffleChainWithExtract entirely
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-4.ll
llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll