[PATCH] D129501: Redefine get.active.lane.mask to allow a more scalar lowering
Sjoerd Meijer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 12 03:41:09 PDT 2022
SjoerdMeijer added a comment.
In D129501#3643942 <https://reviews.llvm.org/D129501#3643942>, @efriedma wrote:
>> As an aside, I am wondering if we need this intrinsic at all. The lowering chosen here could be used by the vectorizer directly, and the AArch64 whillelo pattern match for the EVL form would seem straight forward. Maybe we'd have trouble folding the SUB back in, but has anyone played with this?
>
> The intrinsic was originally designed to be pattern-matched by MVE loop optimizations (llvm/lib/Target/ARM/MVETailPredication.cpp). I think there were issues with making the pattern-matching work reliably without the intrinsic.
Yes, exactly, just wanted to confirm this. Pattern matching without the intrinsic was our first approach. That worked well for simple examples, but became a mess and very fragile pretty quickly. The intrinsic was the best way to communicate this from middle end to backend.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D129501/new/
https://reviews.llvm.org/D129501
More information about the llvm-commits
mailing list