[llvm] [AArch64][GISel] Support SVE with 128-bit min-size for G_LOAD and G_STORE (PR #92130)

Thorsten Schütt via llvm-commits llvm-commits at lists.llvm.org
Tue May 14 09:34:18 PDT 2024


================
@@ -61,6 +61,79 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
   const LLT v2s64 = LLT::fixed_vector(2, 64);
   const LLT v2p0 = LLT::fixed_vector(2, p0);
 
+  // Scalable vector sizes range from 128 to 2048
+  // Note that subtargets may not support the full range.
+  // See [ScalableVecTypes] below.
+  const LLT nxv16s8 = LLT::scalable_vector(16, s8);
+  const LLT nxv32s8 = LLT::scalable_vector(32, s8);
+  const LLT nxv64s8 = LLT::scalable_vector(64, s8);
+  const LLT nxv128s8 = LLT::scalable_vector(128, s8);
+  const LLT nxv256s8 = LLT::scalable_vector(256, s8);
----------------
tschuett wrote:

As far as I know, there is no target that supports `nxv256s8`. The original patch only listed:
```
 const LLT nxv8s16 = LLT::scalable_vector(8, 16);
 const LLT nxv4s32 = LLT::scalable_vector(4, 32);
 const LLT nxv2s64 = LLT::scalable_vector(2, 64);
```

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


More information about the llvm-commits mailing list