diff options
| author | Shikhar Jain <shikharj@qti.qualcomm.com> | 2025-11-06 12:45:27 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-06 07:15:27 +0000 |
| commit | 9100c9212db83321762d709e8fb225030899924e (patch) | |
| tree | 86c9bddec1d0292a0172f665ee68fb0dcfa51e47 /llvm/lib | |
| parent | cc8f7cd2521c98c53f3cdb053b689543c36671c4 (diff) | |
| download | llvm-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.h | 2 |
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. |
