[PATCH] D124284: [SLP]Try partial store vectorization if supported by target.
Alexey Bataev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 9 19:01:16 PDT 2022
ABataev added inline comments.
================
Comment at: llvm/include/llvm/CodeGen/BasicTTIImpl.h:330
+ };
+ while (VF > 2 && IsSupportedByTarget(VF))
+ VF /= 2;
----------------
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.
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