[PATCH] D140811: [DAGCombiner][X86] `visitVECTOR_SHUFFLE()`: splats with a single non-undef element are not splats

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 9 17:12:28 PST 2023


lebedev.ri marked an inline comment as done.
lebedev.ri added inline comments.
Herald added a subscriber: StephenFan.


================
Comment at: llvm/test/CodeGen/X86/haddsub-undef.ll:471
+; SSE-SLOW-NEXT:    movapd %xmm0, %xmm1
+; SSE-SLOW-NEXT:    unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
+; SSE-SLOW-NEXT:    addpd %xmm1, %xmm0
----------------
RKSimon wrote:
> lebedev.ri wrote:
> > lebedev.ri wrote:
> > > @RKSimon these no longer match because previously we had shuffle-fadd-shuffle,
> > > so `isHorizontalBinOp()` called `shouldUseHorizontalOp()` with `IsSingleSource=false`,
> > > and now we have shuffle-fadd, and `shouldUseHorizontalOp()` is called with `IsSingleSource=false`.
> > > So this really doesn't look like a regression to me.
> > and now we have shuffle-fadd, and `shouldUseHorizontalOp()` is called with `IsSingleSource=true`, of course that is
> yes - for slow hops, 2shuffles+alu is the threshold for using hop (unless building for size)
So most of these hop changes are not regressions, correct?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D140811



More information about the llvm-commits mailing list