[PATCH] D158836: [LoopVectorize] Vectorize the compact pattern
Tiehu Zhang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 25 23:50:05 PDT 2023
TiehuZhang added a comment.
Hi, @mdchen, I'll fix them in the near future, thanks!
================
Comment at: llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h:28
#include <cstdint>
-#include <optional>
----------------
mdchen wrote:
> Deleted by mistake?
Thanks for the reminder, I'll fix it later!
================
Comment at: llvm/lib/Transforms/Utils/LoopUtils.cpp:1134
+ return nullptr;
+ case Intrinsic::aarch64_sve_compact:
+ Function *CompactMaskDecl = Intrinsic::getDeclaration(
----------------
mdchen wrote:
> This part is aarch64-specific and should be hidden in the mid-end and implemented in the AArch64 backend.
You are right, we should hidden specific backend implementation in mid-end. I add a hook for intrinsic ID here, maybe it's not enough. Actually, I'm not sure how to implement it gracefully, as there may be different intrinsics in different backends (e.g, different number of parameters as `compact` and `compress`). Should I add a new intrinsic for them and than lower to different intrinsics, or add hooks and directly return the specific intrinsic ?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D158836/new/
https://reviews.llvm.org/D158836
More information about the llvm-commits
mailing list