[llvm] [AArch64] Lower masked.expandload intrinsic using SVE2p2/SME2p2 EXPAND (PR #190999)
Kerry McLaughlin via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 10 09:12:41 PDT 2026
================
@@ -5128,6 +5133,18 @@ AArch64TTIImpl::getCostOfKeepingLiveOverCall(ArrayRef<Type *> Tys) const {
return Cost;
}
+bool AArch64TTIImpl::isLegalMaskedExpandLoad(Type *DataTy,
+ Align Alignment) const {
+ // Neon types should be scalarised when we are not choosing to use SVE.
+ if (useNeonVector(DataTy))
+ return false;
+
+ // Return true only if we are able to lower using the SVE2p2/SME2p2
+ // expand instruction.
+ return (ST->hasSVE2p2() && (!ST->isStreaming() || ST->hasSMEFA64())) ||
+ ST->hasSME2p2();
----------------
kmclaughlin-arm wrote:
There was no reason not to update this, I just missed it with the last commit.
https://github.com/llvm/llvm-project/pull/190999
More information about the llvm-commits
mailing list