[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