[llvm] [AArch64][SVE] Add basic support for `@llvm.masked.compressstore` (PR #168350)

Sander de Smalen via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 25 02:09:18 PST 2025


================
@@ -332,6 +332,23 @@ class AArch64TTIImpl final : public BasicTTIImplBase<AArch64TTIImpl> {
     return isLegalMaskedLoadStore(DataType, Alignment);
   }
 
+  bool isElementTypeLegalForCompressStore(Type *Ty) const {
+    return Ty->isFloatTy() || Ty->isDoubleTy() || Ty->isIntegerTy(32) ||
+           Ty->isIntegerTy(64);
+  }
+
+  bool isLegalMaskedCompressStore(Type *DataType,
+                                  Align Alignment) const override {
+    if (!ST->isSVEAvailable())
----------------
sdesmalen-arm wrote:

Perhaps not for this PR, but COMPACT is also available for SME2p2 when in streaming mode. Similarly, the byte/halfword variants are available in SME2p2 when in streaming mode, and in SVE2p2 when not in streaming mode.

https://github.com/llvm/llvm-project/pull/168350


More information about the llvm-commits mailing list