[all-commits] [llvm/llvm-project] 6e9c24: [RISCV] Lower insert subvector shuffles as vslideups
Luke Lau via All-commits
all-commits at lists.llvm.org
Fri Mar 24 10:31:26 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6e9c24edf052756e1f14d6080bf5af7fb75f17e7
https://github.com/llvm/llvm-project/commit/6e9c24edf052756e1f14d6080bf5af7fb75f17e7
Author: Luke Lau <luke at igalia.com>
Date: 2023-03-24 (Fri, 24 Mar 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
Log Message:
-----------
[RISCV] Lower insert subvector shuffles as vslideups
A shuffle with an insert subvector mask is functionally equivalent to:
(insert_subvector v0, (extract_subvector v1, len), index)
We can emulate by doing a vslideup on v1 into the right index, and
carefully selecting VL so that we don't overwrite any more destination
elements than what we have to.
This avoids the need for a select with a mask.
Commit: d3e8bd919fbef0392650c27f69c7a79e1b73ca47
https://github.com/llvm/llvm-project/commit/d3e8bd919fbef0392650c27f69c7a79e1b73ca47
Author: Luke Lau <luke at igalia.com>
Date: 2023-03-24 (Fri, 24 Mar 2023)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
Log Message:
-----------
[RISCV][NFC] Rename some test cases
Since they no longer involve a merge
Commit: 33d24fe3d3828a5761dd7fb3271ab991f3955c39
https://github.com/llvm/llvm-project/commit/33d24fe3d3828a5761dd7fb3271ab991f3955c39
Author: Luke Lau <luke at igalia.com>
Date: 2023-03-24 (Fri, 24 Mar 2023)
Changed paths:
A llvm/test/Analysis/CostModel/RISCV/shuffle-insert.ll
A llvm/test/Analysis/CostModel/RISCV/shuffle-select.ll
Log Message:
-----------
[RISCV] Add test cases for modeling more shuffle kinds
These map to SK_InsertSubvector and SK_Select shuffle kinds
Commit: 40b408cb0548bb679b491d2e074942561c629531
https://github.com/llvm/llvm-project/commit/40b408cb0548bb679b491d2e074942561c629531
Author: Luke Lau <luke at igalia.com>
Date: 2023-03-24 (Fri, 24 Mar 2023)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
Log Message:
-----------
[RISCV] Enable SLP in RISC-V SLP reduction tests
Horizontal reduction can still kick in even when the max VF is set to 0,
but strange stuff can happen as it affects the cost model.
Enable it for these tests as eventually the goal will be to have SLP
enabled.
Commit: 1c9094a20170a6aa6a6ee46281e5467dabee4d72
https://github.com/llvm/llvm-project/commit/1c9094a20170a6aa6a6ee46281e5467dabee4d72
Author: Luke Lau <luke at igalia.com>
Date: 2023-03-24 (Fri, 24 Mar 2023)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
Log Message:
-----------
[RISCV] Add test case for two equivalent reductions
They are functionally equivalent but currently one fails to vectorize
because the cost of an insert subvector shuffle is too expensive.
D146747 will update the cost of these types of shuffles, so add a test
case for it.
Commit: f23ea4cbd443601a0d6666a5fae6558243051348
https://github.com/llvm/llvm-project/commit/f23ea4cbd443601a0d6666a5fae6558243051348
Author: Luke Lau <luke at igalia.com>
Date: 2023-03-24 (Fri, 24 Mar 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-insert.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-interleave.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-select.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
Log Message:
-----------
[RISCV] Model select and insertsubvector shuffle kinds
Selects get lowered to a vmerge with a mask, and insertsubvectors get
lowered to a vslideup.
Differential Revision: https://reviews.llvm.org/D146747
Compare: https://github.com/llvm/llvm-project/compare/33be83415c9b...f23ea4cbd443
More information about the All-commits
mailing list