[PATCH] D141693: [AArch64] turn extended vecreduce bigger than v16i8 into udot/sdot
Zain Jaffal via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Jan 29 07:41:25 PST 2023
zjaffal added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:15277
+ SDValue VecReduceAdd16 =
+ DAG.getNode(DotOpcode, DL, N->getValueType(0), ConcatSDot16);
+ unsigned VecReduce8Num = (Op0VT.getVectorNumElements() % 16) / 8;
----------------
dmgreen wrote:
> DotOpcode -> ISD::VECREDUCE_ADD I think?
yeah that is correct I will change it now
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:15287
+ DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MVT::v8i8, A.getOperand(0),
+ DAG.getConstant(I * 8, DL, MVT::i64));
+ SDValue Vec8Op1 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MVT::v8i8, B,
----------------
dmgreen wrote:
> -> `I * 16`
this is for extracting the v8 chuck I think it should be 8 not 16
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