[X86] combineX86ShufflesRecursively - don't widen shuffle subvector inputs
combineX86ShuffleChain and combineX86ShuffleChainWithExtract no longer require the shuffle inputs to be the same width as the root vector, so we can stop generating widening nodes on the fly (combineX86ShuffleChain should handles all of this). This requires a couple of additional folds to avoid a couple of notable regressions: getFauxShuffleMask - recognise INSERT_SUBVECTOR(X,Y,C) as a shuffle pattern as long as its not just widening the subvector. combineConcatVectorOps - folds CONCAT_VECTORS(AssertSext(X,Ty),AssertSext(Y,Ty)) -> AssertSext(CONCAT_VECTORS(X,Y),Ty) One of the final stages towards fixing Issue #45319 and addressing the regressions in the interleaved tests in D127115
Loading
Please sign in to comment