aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib
diff options
context:
space:
mode:
authorShikhar Jain <shikharj@qti.qualcomm.com>2025-11-06 12:45:27 +0530
committerGitHub <noreply@github.com>2025-11-06 07:15:27 +0000
commit9100c9212db83321762d709e8fb225030899924e (patch)
tree86c9bddec1d0292a0172f665ee68fb0dcfa51e47 /llvm/lib
parentcc8f7cd2521c98c53f3cdb053b689543c36671c4 (diff)
downloadllvm-9100c9212db83321762d709e8fb225030899924e.zip
llvm-9100c9212db83321762d709e8fb225030899924e.tar.gz
llvm-9100c9212db83321762d709e8fb225030899924e.tar.bz2
[AArch64] Enable masked load/store for Streaming-SVE with -march=armv8-a+sme (#163133)
For subtarget aarch64, isLegalMaskedLoadStore() should not return false for Streaming-SVE. Thus now on usage of -march=armv8-a+sme & for workloads that contains loops with control flow where predication is data dependent on any array/vectors, masked load/stores along with necessary scalable vectorization constructs would be emitted. Fixes: #162797
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
index e3b0a1b..e62fdb6 100644
--- a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
+++ b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
@@ -312,7 +312,7 @@ public:
}
bool isLegalMaskedLoadStore(Type *DataType, Align Alignment) const {
- if (!ST->hasSVE())
+ if (!ST->isSVEorStreamingSVEAvailable())
return false;
// For fixed vectors, avoid scalarization if using SVE for them.