[ARM] Remove FlattenVectorShuffle and add PerformVQDMULHCombine.
authorDavid Green <david.green@arm.com>
Sun, 5 Feb 2023 20:59:49 +0000 (20:59 +0000)
committerDavid Green <david.green@arm.com>
Sun, 5 Feb 2023 20:59:49 +0000 (20:59 +0000)
commitc56846a8928f8708f56c0eb36dcd6345e312faa0
treedc57b6ddc3c20bbd895caf688257eba77c9c66a6
parentb3ab26b4aa2fe242218b1c0cfae9420f2c4021fa
[ARM] Remove FlattenVectorShuffle and add PerformVQDMULHCombine.

This removes the FlattenVectorShuffle that folds shuffles through certain
binops. This is now handled by generic DAG combines for all but ARMISD::VQDMULH
where a PerformVQDMULHCombine is added to compensate. It pushes identical
shuffles down through the operation, in a similar way to the other combines in
DAG.
llvm/lib/Target/ARM/ARMISelLowering.cpp