[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
Sat Dec 31 12:48:48 PST 2022
lebedev.ri created this revision.
lebedev.ri added reviewers: RKSimon, pengfei.
lebedev.ri added a project: LLVM.
Herald added subscribers: ecnelises, hiraditya, nemanjai.
Herald added a project: All.
lebedev.ri requested review of this revision.
This addresses a significant portion of regressions that would otherwise appear in D140677 <https://reviews.llvm.org/D140677>.
@RKSimon this seems obviously good in general overall,
but there are some dubious changes here, at mostly for SSE2:
we fail to simplify some and/andn masks,
and pull identical target-specific shuffles out of commutative opcodes.
Please can you indicate which of these should be dealt with?
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D140811
Files:
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/test/CodeGen/AArch64/shuffles.ll
llvm/test/CodeGen/PowerPC/v8i16_scalar_to_vector_shuffle.ll
llvm/test/CodeGen/X86/haddsub-3.ll
llvm/test/CodeGen/X86/haddsub-undef.ll
llvm/test/CodeGen/X86/horizontal-sum.ll
llvm/test/CodeGen/X86/phaddsub.ll
llvm/test/CodeGen/X86/sse3.ll
llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
llvm/test/CodeGen/X86/vector-narrow-binop.ll
llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
More information about the llvm-commits
mailing list