[llvm] [AArch64] Improve fixed vector lowering for cttz/ctlz when sve (PR #192427)
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Wed May 6 05:05:45 PDT 2026
================
@@ -11701,11 +11706,10 @@ SDValue AArch64TargetLowering::LowerCTPOP_PARITY(SDValue Op,
SDValue AArch64TargetLowering::LowerCTTZ(SDValue Op, SelectionDAG &DAG) const {
EVT VT = Op.getValueType();
- assert(VT.isScalableVector() || VT == MVT::v8i8 || VT == MVT::v16i8 ||
- VT == MVT::v8i16 || VT == MVT::v4i16 || VT == MVT::v2i32 ||
- VT == MVT::v4i32 ||
+ assert(VT.isScalableVector() ||
useSVEForFixedLengthVectorVT(
- VT, /*OverrideNEON=*/Subtarget->useSVEForFixedLengthVectors()));
+ VT, /*OverrideNEON=*/Subtarget->isSVEorStreamingSVEAvailable()) ||
+ VT.getScalarSizeInBits() < 64);
----------------
paulwalker-arm wrote:
The original assert essentially does nothing so I've removed it. Please rebase and then this change can be removed.
https://github.com/llvm/llvm-project/pull/192427
More information about the llvm-commits
mailing list