[PATCH] D102675: [SLP] Fix "gathering" of vector values

Anton Afanasyev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 24 07:54:08 PDT 2021


anton-afanasyev marked an inline comment as done.
anton-afanasyev added inline comments.


================
Comment at: llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll:149-156
+; MINTREESIZE-NEXT:    [[Q4:%.*]] = fadd float [[Q0]], [[Q1]]
+; MINTREESIZE-NEXT:    [[Q5:%.*]] = fadd float [[Q2]], [[Q3]]
+; MINTREESIZE-NEXT:    [[TMP3:%.*]] = insertelement <2 x float> poison, float [[Q4]], i32 0
+; MINTREESIZE-NEXT:    [[TMP4:%.*]] = insertelement <2 x float> [[TMP3]], float [[Q5]], i32 1
+; MINTREESIZE-NEXT:    [[Q6:%.*]] = fadd float [[Q4]], [[Q5]]
+; MINTREESIZE-NEXT:    [[TMP5:%.*]] = insertelement <2 x float> poison, float [[Q6]], i32 0
+; MINTREESIZE-NEXT:    [[TMP6:%.*]] = insertelement <2 x float> [[TMP5]], float [[Q5]], i32 1
----------------
ABataev wrote:
> Why are the instructions reordered if no vectorization should happen?
Vectorization of `inserts` is prohibited now, yes, but compiler still "vectorizes" small trees of size 1 with any valid cost due to options `-slp-threshold=-10000 -slp-min-tree-size=0`. This is not related to this patch itself.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D102675



More information about the llvm-commits mailing list