[PATCH] D142038: [X86] canonicalizeShuffleWithBinOps - add handling of SSE vector shift nodes
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 18 09:46:57 PST 2023
RKSimon created this revision.
RKSimon added reviewers: lebedev.ri, craig.topper, pengfei.
Herald added subscribers: StephenFan, hiraditya.
Herald added a project: All.
RKSimon requested review of this revision.
Herald added a project: LLVM.
This is a lighter alternative to D141877 <https://reviews.llvm.org/D141877> / D141806 <https://reviews.llvm.org/D141806> / D141878 <https://reviews.llvm.org/D141878> to handle SSE shift nodes, to handle the case:
shuffle(shift(shuffle(x),amt1),shift(shuffle(y),amt2)) -> shift(shuffle(x,y),amt1) // iff amt1 == amt2
unlike the alternative from @lebedev.ri we don't always fold the shuffle through the shift operation, and it avoids the considerable refactoring and use of containers.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D142038
Files:
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/shrink_vmul.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D142038.490205.patch
Type: text/x-patch
Size: 8555 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230118/0c7d1857/attachment.bin>
More information about the llvm-commits
mailing list