[PATCH] D90445: [SLP] Make SLPVectorizer to use `llvm.masked.gather` intrinsic

Anton Afanasyev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 30 23:22:50 PDT 2020


anton-afanasyev added inline comments.


================
Comment at: llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll:17
+; CHECK-NEXT:    store <4 x i32> [[TMP11]], <4 x i32>* [[TMP12]], align 4
 ; CHECK-NEXT:    ret void
 ;
----------------
anton-afanasyev wrote:
> RKSimon wrote:
> > This doesn't look great in the final codegen: https://gcc.godbolt.org/z/vE9Yoe
> > 
> > Which suggests either the costs aren't correct or we're not correctly including the cost of something - the buildvector of the pointers? are we missing getelementptr vectorization?
> Oops, thanks, it looks I've missed the buildvector cost.
Hmm, investigated this: no, I was wrong, the calculated cost is correct (`insertelemets`s for gather instr are compesated by `insertelement`s for buildvector). Further investigating this... Looks like codegen issue more.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D90445/new/

https://reviews.llvm.org/D90445



More information about the llvm-commits mailing list