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

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 5 05:10:48 PST 2023


RKSimon added inline comments.


================
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
----------------
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)


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