[PATCH] D123012: [AArch64] Alter mull buildvectors(ext(..)) combine to work on shuffles
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 4 00:10:41 PDT 2022
dmgreen created this revision.
dmgreen added reviewers: jaykang10, NickGuy, SjoerdMeijer, fhahn.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
dmgreen requested review of this revision.
Herald added a project: LLVM.
D120018 <https://reviews.llvm.org/D120018> altered this combine to work on buildvectors as opposed to shuffle dup's. This works well for dups and other things that are expanded into buildvectors. Some shuffles are legal though, and stay as vector_shuffle through lowering. This expands the transform to also handle shuffles, so that we can turn `mul(shuffle(sext` into `mul(sext(shuffle` and more readily make smull/umull instructions. This can come up from the SLP vectorizer adding shuffles that are costed from extends.
https://reviews.llvm.org/D123012
Files:
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123012.420110.patch
Type: text/x-patch
Size: 7221 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220404/0cffdc4d/attachment.bin>
More information about the llvm-commits
mailing list