[llvm] [SelectionDAG] Add an ISD node for for get.active.lane.mask (PR #139084)

Paul Walker via llvm-commits llvm-commits at lists.llvm.org
Tue May 13 05:03:06 PDT 2025


================
@@ -18142,6 +18130,70 @@ static SDValue performVecReduceAddCombineWithUADDLP(SDNode *N,
   return DAG.getNode(ISD::VECREDUCE_ADD, DL, MVT::i32, UADDLP);
 }
 
+static SDValue
+performActiveLaneMaskCombine(SDNode *N, TargetLowering::DAGCombinerInfo &DCI,
+                             const AArch64Subtarget *ST) {
+  if (SDValue While = optimizeIncrementingWhile(N, DCI.DAG, /*IsSigned=*/false,
+                                                /*IsEqual=*/false))
+    return While;
----------------
paulwalker-arm wrote:

Other than the call to `optimizeIncrementingWhile` is this identical to the original `tryCombineWhileLo`?  It looks like it to me but I just wanted to make sure.



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


More information about the llvm-commits mailing list