[llvm] [RISCV] Further improved exact VLEN lowering for mul reductions (PR #192688)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 17 08:55:36 PDT 2026
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff origin/main HEAD --extensions cpp -- llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp --diff_from_common_commit
``````````
:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp b/llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
index 061910b93..0b0313384 100644
--- a/llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
+++ b/llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
@@ -298,13 +298,13 @@ bool RISCVCodeGenPrepare::expandMulReduction(IntrinsicInst &II) {
assert(isPowerOf2_32(NumM1) && NumM1 <= 8);
SmallVector<Value *, 8> Pieces(NumM1);
for (unsigned i = 0; i < NumM1; i++)
- Pieces[i] = Builder.CreateExtractVector(M1Ty, TmpVec,
- (uint64_t)(i * M1VF));
+ Pieces[i] =
+ Builder.CreateExtractVector(M1Ty, TmpVec, (uint64_t)(i * M1VF));
while (Pieces.size() > 1) {
for (unsigned i = 0; i < Pieces.size() / 2; i++)
- Pieces[i] = Builder.CreateMul(Pieces[i * 2], Pieces[i * 2 + 1],
- "bin.rdx");
+ Pieces[i] =
+ Builder.CreateMul(Pieces[i * 2], Pieces[i * 2 + 1], "bin.rdx");
Pieces.truncate(Pieces.size() / 2);
}
TmpVec = Pieces[0];
``````````
</details>
https://github.com/llvm/llvm-project/pull/192688
More information about the llvm-commits
mailing list