[llvm] [AArch64] Sign-extend promoted extracts feeding wider DUPs (PR #221186)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 8 00:05:34 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/AArch64/AArch64ISelLowering.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/AArch64/AArch64ISelLowering.cpp b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
index a835ac49d..7c8484d30 100644
--- a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+++ b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
@@ -17298,9 +17298,8 @@ SDValue AArch64TargetLowering::LowerBUILD_VECTOR(SDValue Op,
// SCALAR_TO_VECTOR, except for when we have a single-element constant vector
// as SimplifyDemandedBits will just turn that back into BUILD_VECTOR.
if (isOnlyLowElement && !(NumElts == 1 && isIntOrFPConstant(Value))) {
- LLVM_DEBUG(
- dbgs() << "LowerBUILD_VECTOR: only low element used, creating 1 "
- "SCALAR_TO_VECTOR node\n");
+ LLVM_DEBUG(dbgs() << "LowerBUILD_VECTOR: only low element used, creating 1 "
+ "SCALAR_TO_VECTOR node\n");
return DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, VT, Value);
}
@@ -17386,18 +17385,19 @@ SDValue AArch64TargetLowering::LowerBUILD_VECTOR(SDValue Op,
if (Value.getOpcode() != ISD::EXTRACT_VECTOR_ELT ||
Value.getValueType() != VT) {
if (!isPromotedExtractForWiderVectorElement(Value, VT)) {
- LLVM_DEBUG(
- dbgs() << "LowerBUILD_VECTOR: use DUP for non-constant splats\n");
+ LLVM_DEBUG(dbgs()
+ << "LowerBUILD_VECTOR: use DUP for non-constant splats\n");
return DAG.getNode(AArch64ISD::DUP, DL, VT, Value);
}
} else {
- // This is actually a DUPLANExx operation, which keeps everything vectory.
+ // This is actually a DUPLANExx operation, which keeps everything
+ // vectory.
SDValue Lane = Value.getOperand(1);
Value = Value.getOperand(0);
if (Value.getValueSizeInBits() == 64) {
- LLVM_DEBUG(
- dbgs() << "LowerBUILD_VECTOR: DUPLANE works on 128-bit vectors, "
+ LLVM_DEBUG(dbgs()
+ << "LowerBUILD_VECTOR: DUPLANE works on 128-bit vectors, "
"widening it\n");
Value = WidenVector(Value, DAG);
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/221186
More information about the llvm-commits
mailing list