[PATCH] D102920: [SLP]Better detection of perfect/shuffles matches for gather nodes.

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 24 06:47:20 PDT 2021


ABataev added inline comments.


================
Comment at: llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll:84-124
+; CHECK-NEXT:    [[X0:%.*]] = extractelement <4 x i8> [[X:%.*]], i32 0
+; CHECK-NEXT:    [[X3:%.*]] = extractelement <4 x i8> [[X]], i32 3
+; CHECK-NEXT:    [[Y1:%.*]] = extractelement <4 x i8> [[Y:%.*]], i32 1
+; CHECK-NEXT:    [[Y2:%.*]] = extractelement <4 x i8> [[Y]], i32 2
+; CHECK-NEXT:    [[X0X0:%.*]] = mul i8 [[X0]], [[X0]]
+; CHECK-NEXT:    [[X3X3:%.*]] = mul i8 [[X3]], [[X3]]
+; CHECK-NEXT:    [[Y1Y1:%.*]] = mul i8 [[Y1]], [[Y1]]
----------------
RKSimon wrote:
> ABataev wrote:
> > Regressions caused by the incorrect cost of `mul <2 x i8>`. Per mca tool the cost is `2`, cost model reports `3`.
> Are we counting the costs of the v4i8 mul twice here?
Yes, but the cost of mul of v2i8. It is extended to mul v4i8 by the instcombine.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D102920



More information about the llvm-commits mailing list