[PATCH] D141693: [AArch64] turn extended vecreduce bigger than v16i8 into udot/sdot

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 18 03:33:50 PST 2023


dmgreen added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:15257
+  SmallVector<SDValue, 4> SDotVec;
+  // Calculate the size of the extraced vectos and target type based on if the
+  // vector is a multiple of 16 or 8.
----------------
vectos -> vectors


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:15269
+    Offset = 8;
+    ConcatVecCount = 4 * NumOfVecReduce;
+  }
----------------
Should this be 4? Or 2

(If 4 is correct it can be pulled up out of the if. But I think 2 might be a better value. I'm not 100% sure what happens when the operands and the type of a concat don't match up).


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:15271
+  }
+  for (unsigned I = 0; I < NumOfVecReduce; I += Offset) {
+    SDValue Op0 =
----------------
`I += 1` instead of `I += Offset`?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D141693/new/

https://reviews.llvm.org/D141693



More information about the llvm-commits mailing list