[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