[llvm] [IR][LangRef] Add partial reduction add intrinsic (PR #94499)

Paul Walker via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 13 07:17:43 PDT 2024


================
@@ -7914,6 +7914,28 @@ void SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I,
     setValue(&I, Trunc);
     return;
   }
+  case Intrinsic::experimental_vector_partial_reduce_add: {
----------------
paulwalker-arm wrote:

We need to be careful because I don't think common code exists to type legalise arbitrary INTRINSIC_WO_CHAIN calls (given their nature).  Presumably we'll just follow the precedent set for `get.active.lane.mask` and `cttz.elts` when we add AArch64 specific lowering.

I can't help but think as some point we'll just want to restrict the "same element type" restrict of `VECREDUCE_ADD` to have explicit signed and unsigned versions, like we have for ABDS/ABDU, but I guess we can see how things work out (again much as we are for the intrinsics mentioned before).

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


More information about the llvm-commits mailing list