[llvm] [AArch64] Improve scalar and Neon popcount with SVE CNT. (PR #143870)

Paul Walker via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 25 09:33:43 PDT 2025


================
@@ -10614,13 +10614,10 @@ SDValue AArch64TargetLowering::LowerCTPOP_PARITY(SDValue Op,
     return SDValue();
 
   EVT VT = Op.getValueType();
-  if (VT.isScalableVector() ||
-      useSVEForFixedLengthVectorVT(VT, !Subtarget->isNeonAvailable()))
+  bool OverrideNEON = !Subtarget->isNeonAvailable() || VT.isFixedLengthVector();
+  if (VT.isScalableVector() || useSVEForFixedLengthVectorVT(VT, OverrideNEON))
----------------
paulwalker-arm wrote:

```suggestion
  if (VT.isScalableVector() || useSVEForFixedLengthVectorVT(VT, /*OverrideNEON=*/true))
```
Although this depends on my i16 based vector comment.

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


More information about the llvm-commits mailing list