[llvm-branch-commits] [llvm] [AArch64][SDAG] Enable +sme2p2/+sve2p2 lowering for compressstore (PR #217609)
Jack Styles via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Aug 24 02:49:02 PDT 2026
================
@@ -33922,17 +33827,11 @@ SDValue AArch64TargetLowering::LowerMSTORE(SDValue Op,
return SDValue();
EVT MaskVT = Store->getMask().getValueType();
- EVT MaskExtVT = getPromotedVTForPredicate(MaskVT);
- EVT MaskReduceVT = MaskExtVT.getScalarType();
SDValue Zero = DAG.getConstant(0, DL, MVT::i64);
-
- SDValue MaskExt =
- DAG.getNode(ISD::ZERO_EXTEND, DL, MaskExtVT, Store->getMask());
- SDValue CntActive =
- DAG.getNode(ISD::VECREDUCE_ADD, DL, MaskReduceVT, MaskExt);
- if (MaskReduceVT != MVT::i64)
- CntActive = DAG.getNode(ISD::ZERO_EXTEND, DL, MVT::i64, CntActive);
-
+ SDValue CntActive = DAG.getNode(
+ ISD::INTRINSIC_WO_CHAIN, DL, MVT::i64,
+ DAG.getTargetConstant(Intrinsic::aarch64_sve_cntp, DL, MVT::i64),
+ Store->getMask(), Store->getMask());
----------------
Stylie777 wrote:
Yes, I've published an NFC and stacked this PR ontop. See https://github.com/llvm/llvm-project/pull/218353
https://github.com/llvm/llvm-project/pull/217609
More information about the llvm-branch-commits
mailing list