[llvm] [AArch64][GISel] Support SVE with 128-bit min-size for G_LOAD and G_STORE (PR #92130)
via llvm-commits
llvm-commits at lists.llvm.org
Wed May 15 09:51:05 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);
----------------
Him188 wrote:
To make it simpler for now, I would remove all these except for base sizes of 128-bit:
- `nxv8s16`, `nxv4s32`, and `nxv2s64` as listed in the original patch
- `nxv16s8` since SelectionDAG supports it
- `nxv2p0` since it has the same effective size as `nxv2s64`.
https://github.com/llvm/llvm-project/pull/92130
More information about the llvm-commits
mailing list