[llvm] [AArch64] Improve non-SVE popcount for 32bit and 64 bit using udot (PR #95881)

David Green via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 18 00:34:04 PDT 2024


================
@@ -9740,6 +9740,26 @@ SDValue AArch64TargetLowering::LowerCTPOP_PARITY(SDValue Op,
   Val = DAG.getBitcast(VT8Bit, Val);
   Val = DAG.getNode(ISD::CTPOP, DL, VT8Bit, Val);
 
+  if (Subtarget->hasDotProd() && VT.getScalarSizeInBits() != 16) {
+    EVT DT = VT == MVT::v2i64 ? MVT::v4i32 : VT;
----------------
davemgreen wrote:

Is it possible for the v1i64 case to get here?

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


More information about the llvm-commits mailing list