[X86][SSE] combineX86ShuffleChain - attempt to recognise 'hidden' identity shuffles
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 27 Mar 2021 11:09:30 +0000 (11:09 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 27 Mar 2021 11:09:30 +0000 (11:09 +0000)
commit41146bfe82aecc79961c3de898cda02998172e4b
tree0f88a5928b8589eb3ababe4cee3d5293313ae916
parent05884d3b525a1072dd9d834593a7899fe8284f43
[X86][SSE] combineX86ShuffleChain - attempt to recognise 'hidden' identity shuffles

See if the combined shuffle mask is equivalent to an identity shuffle, typically this is due to repeated LHS/RHS ops in horiz-ops, but isTargetShuffleEquivalent might see other patterns as well.

This is another small step towards getting rid of foldShuffleOfHorizOp and relying on canonicalizeShuffleMaskWithHorizOp and generic shuffle combining.
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/horizontal-sum.ll