[llvm] [RISCV][DAG][TLI] Avoid scalarizing length decreasing shuffles (PR #115532)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 25 08:31:52 PST 2024
================
@@ -4181,11 +4181,26 @@ void SelectionDAGBuilder::visitShuffleVector(const User &I) {
return;
}
- // We can't use either concat vectors or extract subvectors so fall back to
+ // If the target prefers, emit a padded shuffle vector at the
+ // source operand width, then extract the original destination
+ // type.
+ if (!TLI.shouldScalarizeLengthDecreasingShuffle()) {
----------------
arsenm wrote:
> . IR supports mixed length shuffles; DAG does not.
Then it should. There is a complexity cost to structural deviations in the second IR
https://github.com/llvm/llvm-project/pull/115532
More information about the llvm-commits
mailing list