[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