[llvm] [ARM] Have custom lowering for ucmp and scmp (PR #149315)

via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 4 12:21:35 PDT 2025


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 HEAD~1 HEAD --extensions cpp,h -- llvm/lib/Target/ARM/ARMISelLowering.cpp llvm/lib/Target/ARM/ARMISelLowering.h
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index 53a25d633..ab7cd4782 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -10627,8 +10627,9 @@ SDValue ARMTargetLowering::LowerFP_TO_BF16(SDValue Op,
   return DAG.getBitcast(MVT::i32, Res);
 }
 
-SDValue ARMTargetLowering::LowerCMP_COMMON(SDValue Op, SelectionDAG &DAG, 
-                                           ARMCC::CondCodes GTCond, ARMCC::CondCodes LTCond, 
+SDValue ARMTargetLowering::LowerCMP_COMMON(SDValue Op, SelectionDAG &DAG,
+                                           ARMCC::CondCodes GTCond,
+                                           ARMCC::CondCodes LTCond,
                                            bool IsSigned) const {
   SDLoc dl(Op);
   SDValue LHS = Op.getOperand(0);
@@ -10663,7 +10664,8 @@ SDValue ARMTargetLowering::LowerCMP_COMMON(SDValue Op, SelectionDAG &DAG,
 
       if (CanUseAdd) {
         Opcode = ARMISD::ADDC;
-        AddOperand = SubRHS; // Replace RHS with X, so we do LHS + X instead of LHS - (0 - X)
+        AddOperand = SubRHS; // Replace RHS with X, so we do LHS + X instead of
+                             // LHS - (0 - X)
       }
     }
   }
@@ -10672,10 +10674,12 @@ SDValue ARMTargetLowering::LowerCMP_COMMON(SDValue Op, SelectionDAG &DAG,
   SDValue OpWithFlags;
   if (Opcode == ARMISD::ADDC) {
     // Use ADDC: LHS + AddOperand (where RHS was 0 - AddOperand)
-    OpWithFlags = DAG.getNode(ARMISD::ADDC, dl, DAG.getVTList(MVT::i32, FlagsVT), LHS, AddOperand);
+    OpWithFlags = DAG.getNode(
+        ARMISD::ADDC, dl, DAG.getVTList(MVT::i32, FlagsVT), LHS, AddOperand);
   } else {
     // Use ARMISD::SUBC to generate SUBS instruction (subtract with flags)
-    OpWithFlags = DAG.getNode(ARMISD::SUBC, dl, DAG.getVTList(MVT::i32, FlagsVT), LHS, RHS);
+    OpWithFlags = DAG.getNode(ARMISD::SUBC, dl,
+                              DAG.getVTList(MVT::i32, FlagsVT), LHS, RHS);
   }
 
   SDValue OpResult = OpWithFlags.getValue(0); // The operation result
@@ -10687,13 +10691,13 @@ SDValue ARMTargetLowering::LowerCMP_COMMON(SDValue Op, SelectionDAG &DAG,
 
   // First conditional move: if greater than, set to 1
   SDValue GTCondValue = DAG.getConstant(GTCond, dl, MVT::i32);
-  SDValue Result1 =
-      DAG.getNode(ARMISD::CMOV, dl, MVT::i32, OpResult, One, GTCondValue, Flags);
+  SDValue Result1 = DAG.getNode(ARMISD::CMOV, dl, MVT::i32, OpResult, One,
+                                GTCondValue, Flags);
 
   // Second conditional move: if less than, set to -1
   SDValue LTCondValue = DAG.getConstant(LTCond, dl, MVT::i32);
-  SDValue Result2 =
-      DAG.getNode(ARMISD::CMOV, dl, MVT::i32, Result1, MinusOne, LTCondValue, Flags);
+  SDValue Result2 = DAG.getNode(ARMISD::CMOV, dl, MVT::i32, Result1, MinusOne,
+                                LTCondValue, Flags);
 
   if (Op.getValueType() != MVT::i32)
     Result2 = DAG.getSExtOrTrunc(Result2, dl, Op.getValueType());
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.h b/llvm/lib/Target/ARM/ARMISelLowering.h
index 70db2eaf1..d48017a53 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.h
+++ b/llvm/lib/Target/ARM/ARMISelLowering.h
@@ -908,7 +908,9 @@ class VectorType;
     SDValue LowerFP_TO_BF16(SDValue Op, SelectionDAG &DAG) const;
     SDValue LowerSCMP(SDValue Op, SelectionDAG &DAG) const;
     SDValue LowerUCMP(SDValue Op, SelectionDAG &DAG) const;
-    SDValue LowerCMP_COMMON(SDValue Op, SelectionDAG &DAG, ARMCC::CondCodes GTCond, ARMCC::CondCodes LTCond, bool IsSigned) const;
+    SDValue LowerCMP_COMMON(SDValue Op, SelectionDAG &DAG,
+                            ARMCC::CondCodes GTCond, ARMCC::CondCodes LTCond,
+                            bool IsSigned) const;
 
     Register getRegisterByName(const char* RegName, LLT VT,
                                const MachineFunction &MF) const override;

``````````

</details>


https://github.com/llvm/llvm-project/pull/149315


More information about the llvm-commits mailing list