[PATCH] D85364: [SVE][WIP] Implement lowering for fixed width select
Cameron McInally via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 8 08:44:57 PDT 2020
cameron.mcinally updated this revision to Diff 290496.
cameron.mcinally added a comment.
Turns out that ReconstructShuffle(...) needs a lot of work to be updated. The EXTRACT_SUBVECTOR index assumes we're extracting a 1/2 width vector. I missed that.
I added a function that lowers specific BUILD_VECTORs to EXTRACT_SUBVECTORs, hoping that it would short-circuit the ReconstructShuffle(...) problem. That was a dead end, since small EXTRACT_SUBVECTORs aren't legal. And we'd still run into the ReconstructShuffle(...) problem with those small BUILD_VECTORs..
But when the EXTRACT_SUBVECTORs are large enough to be legal, the new function could be a win with some tuning. It replaces the scalar loads with a vector load. I've included that function in this Diff for review, but will break it out into a separate Diff if it seems interesting enough to pursue. Thoughts?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D85364/new/
https://reviews.llvm.org/D85364
Files:
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/test/CodeGen/AArch64/sve-fixed-length-fp-select.ll
llvm/test/CodeGen/AArch64/sve-fixed-length-int-select.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D85364.290496.patch
Type: text/x-patch
Size: 42890 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200908/2777e3d5/attachment.bin>
More information about the llvm-commits
mailing list