[llvm] [SelectionDAG] Add GET_ACTIVE_LANE_MASK to ComputeNumSignBits (PR #208977)

Usman Nadeem via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 13 15:46:21 PDT 2026


================
@@ -133,24 +133,31 @@ TEST_F(AArch64SelectionDAGTest, ComputeNumSignBits_GET_ACTIVE_LANE_MASK) {
   // than i1 (e.g. v8i8) should report that all bits of each lane are sign
   // bits.
   SDLoc Loc;
-  auto Int64VT = EVT::getIntegerVT(Context, 64);
-  auto MaskVT = MVT::v8i8;
-  auto Base = DAG->getConstant(0, Loc, Int64VT);
-  auto TripCount = DAG->getConstant(8, Loc, Int64VT);
+  const TargetLowering &TLI = DAG->getTargetLoweringInfo();
+  auto MaskVT =
+      TLI.getSetCCResultType(DAG->getDataLayout(), Context, MVT::v8i16);
+  auto Base = DAG->getConstant(0, Loc, MVT::i64);
+  auto TripCount = DAG->getConstant(8, Loc, MVT::i64);
   auto Op =
       DAG->getNode(ISD::GET_ACTIVE_LANE_MASK, Loc, MaskVT, Base, TripCount);
-  EXPECT_EQ(DAG->ComputeNumSignBits(Op), 8u);
+  EXPECT_EQ(DAG->ComputeNumSignBits(Op), 16u);
 }
 
 TEST_F(AArch64SelectionDAGTest, ComputeNumSignBitsSVE_GET_ACTIVE_LANE_MASK) {
   SDLoc Loc;
-  auto Int64VT = EVT::getIntegerVT(Context, 64);
-  auto MaskVT = MVT::nxv8i16;
-  auto Base = DAG->getConstant(0, Loc, Int64VT);
-  auto TripCount = DAG->getConstant(8, Loc, Int64VT);
+  const TargetLowering &TLI = DAG->getTargetLoweringInfo();
+  auto MaskVT =
----------------
UsmanNadeem wrote:

Removed all autos.

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


More information about the llvm-commits mailing list