[PATCH] D124284: [SLP]Try partial store vectorization if supported by target.
Valeriy Dmitriev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 9 19:04:27 PDT 2022
vdmitrie added inline comments.
================
Comment at: llvm/include/llvm/CodeGen/BasicTTIImpl.h:330
+ };
+ while (VF > 2 && IsSupportedByTarget(VF))
+ VF /= 2;
----------------
ABataev wrote:
> vdmitrie wrote:
> > Hm, there is some discrepancy here.
> > Let's assume we entered the loop with VF = 8 and target supports 8 but not 4.
> >
> > VF == 8 , VF >2 && IsSupportedByTarget(8) evaluates to true => VF = VF/2
> > VF == 4 , VF >2 && IsSupportedByTarget(4) evaluates to false
> >
> > hence we return 4 which is actually not supported by target. Is that what the intent was?
> >
> IsSupportedByTarget performs checks for VF/2, not for VF, and only if it is supported, sets VF to VF/2.
Ah, I overlooked that. Thanks.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D124284/new/
https://reviews.llvm.org/D124284
More information about the llvm-commits
mailing list