/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* ValueTypes Source Fragment                                                 *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|* From: ValueTypes.td                                                        *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

#ifdef GET_VT_ATTR // (Ty, sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy)
  GET_VT_ATTR(Other, 0, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(i1, 1, 0, 3, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(i2, 2, 0, 3, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(i4, 4, 0, 3, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(i8, 8, 0, 3, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(i16, 16, 0, 3, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(i32, 32, 0, 3, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(i64, 64, 0, 3, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(i128, 128, 0, 3, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(i256, 256, 0, 3, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(i512, 512, 0, 3, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(bf16, 16, 0, 0, 1, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(f16, 16, 0, 0, 3, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(f32, 32, 0, 0, 3, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(f64, 64, 0, 0, 3, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(f80, 80, 0, 0, 3, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(f128, 128, 0, 0, 3, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(ppcf128, 128, 0, 0, 1, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(v1i1, 1, 0, 1, 0, 1, 0, 0, 0, 1, i1)
  GET_VT_ATTR(v2i1, 2, 0, 1, 0, 1, 0, 0, 0, 2, i1)
  GET_VT_ATTR(v3i1, 3, 0, 1, 0, 1, 0, 0, 0, 3, i1)
  GET_VT_ATTR(v4i1, 4, 0, 1, 0, 1, 0, 0, 0, 4, i1)
  GET_VT_ATTR(v5i1, 5, 0, 1, 0, 1, 0, 0, 0, 5, i1)
  GET_VT_ATTR(v6i1, 6, 0, 1, 0, 1, 0, 0, 0, 6, i1)
  GET_VT_ATTR(v7i1, 7, 0, 1, 0, 1, 0, 0, 0, 7, i1)
  GET_VT_ATTR(v8i1, 8, 0, 1, 0, 1, 0, 0, 0, 8, i1)
  GET_VT_ATTR(v16i1, 16, 0, 1, 0, 1, 0, 0, 0, 16, i1)
  GET_VT_ATTR(v32i1, 32, 0, 1, 0, 1, 0, 0, 0, 32, i1)
  GET_VT_ATTR(v64i1, 64, 0, 1, 0, 1, 0, 0, 0, 64, i1)
  GET_VT_ATTR(v128i1, 128, 0, 1, 0, 1, 0, 0, 0, 128, i1)
  GET_VT_ATTR(v256i1, 256, 0, 1, 0, 1, 0, 0, 0, 256, i1)
  GET_VT_ATTR(v512i1, 512, 0, 1, 0, 1, 0, 0, 0, 512, i1)
  GET_VT_ATTR(v1024i1, 1024, 0, 1, 0, 1, 0, 0, 0, 1024, i1)
  GET_VT_ATTR(v2048i1, 2048, 0, 1, 0, 1, 0, 0, 0, 2048, i1)
  GET_VT_ATTR(v4096i1, 4096, 0, 1, 0, 1, 0, 0, 0, 4096, i1)
  GET_VT_ATTR(v128i2, 256, 0, 1, 0, 1, 0, 0, 0, 128, i2)
  GET_VT_ATTR(v256i2, 512, 0, 1, 0, 1, 0, 0, 0, 256, i2)
  GET_VT_ATTR(v64i4, 256, 0, 1, 0, 1, 0, 0, 0, 64, i4)
  GET_VT_ATTR(v128i4, 512, 0, 1, 0, 1, 0, 0, 0, 128, i4)
  GET_VT_ATTR(v1i8, 8, 0, 1, 0, 1, 0, 0, 0, 1, i8)
  GET_VT_ATTR(v2i8, 16, 0, 1, 0, 1, 0, 0, 0, 2, i8)
  GET_VT_ATTR(v3i8, 24, 0, 1, 0, 1, 0, 0, 0, 3, i8)
  GET_VT_ATTR(v4i8, 32, 0, 1, 0, 1, 0, 0, 0, 4, i8)
  GET_VT_ATTR(v5i8, 40, 0, 1, 0, 1, 0, 0, 0, 5, i8)
  GET_VT_ATTR(v6i8, 48, 0, 1, 0, 1, 0, 0, 0, 6, i8)
  GET_VT_ATTR(v7i8, 56, 0, 1, 0, 1, 0, 0, 0, 7, i8)
  GET_VT_ATTR(v8i8, 64, 0, 1, 0, 1, 0, 0, 0, 8, i8)
  GET_VT_ATTR(v16i8, 128, 0, 1, 0, 1, 0, 0, 0, 16, i8)
  GET_VT_ATTR(v32i8, 256, 0, 1, 0, 1, 0, 0, 0, 32, i8)
  GET_VT_ATTR(v64i8, 512, 0, 1, 0, 1, 0, 0, 0, 64, i8)
  GET_VT_ATTR(v128i8, 1024, 0, 1, 0, 1, 0, 0, 0, 128, i8)
  GET_VT_ATTR(v256i8, 2048, 0, 1, 0, 1, 0, 0, 0, 256, i8)
  GET_VT_ATTR(v512i8, 4096, 0, 1, 0, 1, 0, 0, 0, 512, i8)
  GET_VT_ATTR(v1024i8, 8192, 0, 1, 0, 1, 0, 0, 0, 1024, i8)
  GET_VT_ATTR(v1i16, 16, 0, 1, 0, 1, 0, 0, 0, 1, i16)
  GET_VT_ATTR(v2i16, 32, 0, 1, 0, 1, 0, 0, 0, 2, i16)
  GET_VT_ATTR(v3i16, 48, 0, 1, 0, 1, 0, 0, 0, 3, i16)
  GET_VT_ATTR(v4i16, 64, 0, 1, 0, 1, 0, 0, 0, 4, i16)
  GET_VT_ATTR(v5i16, 80, 0, 1, 0, 1, 0, 0, 0, 5, i16)
  GET_VT_ATTR(v6i16, 96, 0, 1, 0, 1, 0, 0, 0, 6, i16)
  GET_VT_ATTR(v7i16, 112, 0, 1, 0, 1, 0, 0, 0, 7, i16)
  GET_VT_ATTR(v8i16, 128, 0, 1, 0, 1, 0, 0, 0, 8, i16)
  GET_VT_ATTR(v16i16, 256, 0, 1, 0, 1, 0, 0, 0, 16, i16)
  GET_VT_ATTR(v32i16, 512, 0, 1, 0, 1, 0, 0, 0, 32, i16)
  GET_VT_ATTR(v64i16, 1024, 0, 1, 0, 1, 0, 0, 0, 64, i16)
  GET_VT_ATTR(v128i16, 2048, 0, 1, 0, 1, 0, 0, 0, 128, i16)
  GET_VT_ATTR(v256i16, 4096, 0, 1, 0, 1, 0, 0, 0, 256, i16)
  GET_VT_ATTR(v512i16, 8192, 0, 1, 0, 1, 0, 0, 0, 512, i16)
  GET_VT_ATTR(v4096i16, 65536, 0, 1, 0, 1, 0, 0, 0, 4096, i16)
  GET_VT_ATTR(v1i32, 32, 0, 1, 0, 1, 0, 0, 0, 1, i32)
  GET_VT_ATTR(v2i32, 64, 0, 1, 0, 1, 0, 0, 0, 2, i32)
  GET_VT_ATTR(v3i32, 96, 0, 1, 0, 1, 0, 0, 0, 3, i32)
  GET_VT_ATTR(v4i32, 128, 0, 1, 0, 1, 0, 0, 0, 4, i32)
  GET_VT_ATTR(v5i32, 160, 0, 1, 0, 1, 0, 0, 0, 5, i32)
  GET_VT_ATTR(v6i32, 192, 0, 1, 0, 1, 0, 0, 0, 6, i32)
  GET_VT_ATTR(v7i32, 224, 0, 1, 0, 1, 0, 0, 0, 7, i32)
  GET_VT_ATTR(v8i32, 256, 0, 1, 0, 1, 0, 0, 0, 8, i32)
  GET_VT_ATTR(v9i32, 288, 0, 1, 0, 1, 0, 0, 0, 9, i32)
  GET_VT_ATTR(v10i32, 320, 0, 1, 0, 1, 0, 0, 0, 10, i32)
  GET_VT_ATTR(v11i32, 352, 0, 1, 0, 1, 0, 0, 0, 11, i32)
  GET_VT_ATTR(v12i32, 384, 0, 1, 0, 1, 0, 0, 0, 12, i32)
  GET_VT_ATTR(v16i32, 512, 0, 1, 0, 1, 0, 0, 0, 16, i32)
  GET_VT_ATTR(v24i32, 768, 0, 1, 0, 1, 0, 0, 0, 24, i32)
  GET_VT_ATTR(v32i32, 1024, 0, 1, 0, 1, 0, 0, 0, 32, i32)
  GET_VT_ATTR(v48i32, 1536, 0, 1, 0, 1, 0, 0, 0, 48, i32)
  GET_VT_ATTR(v64i32, 2048, 0, 1, 0, 1, 0, 0, 0, 64, i32)
  GET_VT_ATTR(v128i32, 4096, 0, 1, 0, 1, 0, 0, 0, 128, i32)
  GET_VT_ATTR(v256i32, 8192, 0, 1, 0, 1, 0, 0, 0, 256, i32)
  GET_VT_ATTR(v512i32, 16384, 0, 1, 0, 1, 0, 0, 0, 512, i32)
  GET_VT_ATTR(v1024i32, 32768, 0, 1, 0, 1, 0, 0, 0, 1024, i32)
  GET_VT_ATTR(v2048i32, 65536, 0, 1, 0, 1, 0, 0, 0, 2048, i32)
  GET_VT_ATTR(v4096i32, 131072, 0, 1, 0, 1, 0, 0, 0, 4096, i32)
  GET_VT_ATTR(v1i64, 64, 0, 1, 0, 1, 0, 0, 0, 1, i64)
  GET_VT_ATTR(v2i64, 128, 0, 1, 0, 1, 0, 0, 0, 2, i64)
  GET_VT_ATTR(v3i64, 192, 0, 1, 0, 1, 0, 0, 0, 3, i64)
  GET_VT_ATTR(v4i64, 256, 0, 1, 0, 1, 0, 0, 0, 4, i64)
  GET_VT_ATTR(v8i64, 512, 0, 1, 0, 1, 0, 0, 0, 8, i64)
  GET_VT_ATTR(v16i64, 1024, 0, 1, 0, 1, 0, 0, 0, 16, i64)
  GET_VT_ATTR(v32i64, 2048, 0, 1, 0, 1, 0, 0, 0, 32, i64)
  GET_VT_ATTR(v64i64, 4096, 0, 1, 0, 1, 0, 0, 0, 64, i64)
  GET_VT_ATTR(v128i64, 8192, 0, 1, 0, 1, 0, 0, 0, 128, i64)
  GET_VT_ATTR(v256i64, 16384, 0, 1, 0, 1, 0, 0, 0, 256, i64)
  GET_VT_ATTR(v1i128, 128, 0, 1, 0, 1, 0, 0, 0, 1, i128)
  GET_VT_ATTR(v1f16, 16, 0, 0, 1, 1, 0, 0, 0, 1, f16)
  GET_VT_ATTR(v2f16, 32, 0, 0, 1, 1, 0, 0, 0, 2, f16)
  GET_VT_ATTR(v3f16, 48, 0, 0, 1, 1, 0, 0, 0, 3, f16)
  GET_VT_ATTR(v4f16, 64, 0, 0, 1, 1, 0, 0, 0, 4, f16)
  GET_VT_ATTR(v5f16, 80, 0, 0, 1, 1, 0, 0, 0, 5, f16)
  GET_VT_ATTR(v6f16, 96, 0, 0, 1, 1, 0, 0, 0, 6, f16)
  GET_VT_ATTR(v7f16, 112, 0, 0, 1, 1, 0, 0, 0, 7, f16)
  GET_VT_ATTR(v8f16, 128, 0, 0, 1, 1, 0, 0, 0, 8, f16)
  GET_VT_ATTR(v16f16, 256, 0, 0, 1, 1, 0, 0, 0, 16, f16)
  GET_VT_ATTR(v32f16, 512, 0, 0, 1, 1, 0, 0, 0, 32, f16)
  GET_VT_ATTR(v64f16, 1024, 0, 0, 1, 1, 0, 0, 0, 64, f16)
  GET_VT_ATTR(v128f16, 2048, 0, 0, 1, 1, 0, 0, 0, 128, f16)
  GET_VT_ATTR(v256f16, 4096, 0, 0, 1, 1, 0, 0, 0, 256, f16)
  GET_VT_ATTR(v512f16, 8192, 0, 0, 1, 1, 0, 0, 0, 512, f16)
  GET_VT_ATTR(v4096f16, 65536, 0, 0, 1, 1, 0, 0, 0, 4096, f16)
  GET_VT_ATTR(v1bf16, 16, 0, 0, 1, 1, 0, 0, 0, 1, bf16)
  GET_VT_ATTR(v2bf16, 32, 0, 0, 1, 1, 0, 0, 0, 2, bf16)
  GET_VT_ATTR(v3bf16, 48, 0, 0, 1, 1, 0, 0, 0, 3, bf16)
  GET_VT_ATTR(v4bf16, 64, 0, 0, 1, 1, 0, 0, 0, 4, bf16)
  GET_VT_ATTR(v8bf16, 128, 0, 0, 1, 1, 0, 0, 0, 8, bf16)
  GET_VT_ATTR(v16bf16, 256, 0, 0, 1, 1, 0, 0, 0, 16, bf16)
  GET_VT_ATTR(v32bf16, 512, 0, 0, 1, 1, 0, 0, 0, 32, bf16)
  GET_VT_ATTR(v64bf16, 1024, 0, 0, 1, 1, 0, 0, 0, 64, bf16)
  GET_VT_ATTR(v128bf16, 2048, 0, 0, 1, 1, 0, 0, 0, 128, bf16)
  GET_VT_ATTR(v4096bf16, 65536, 0, 0, 1, 1, 0, 0, 0, 4096, bf16)
  GET_VT_ATTR(v1f32, 32, 0, 0, 1, 1, 0, 0, 0, 1, f32)
  GET_VT_ATTR(v2f32, 64, 0, 0, 1, 1, 0, 0, 0, 2, f32)
  GET_VT_ATTR(v3f32, 96, 0, 0, 1, 1, 0, 0, 0, 3, f32)
  GET_VT_ATTR(v4f32, 128, 0, 0, 1, 1, 0, 0, 0, 4, f32)
  GET_VT_ATTR(v5f32, 160, 0, 0, 1, 1, 0, 0, 0, 5, f32)
  GET_VT_ATTR(v6f32, 192, 0, 0, 1, 1, 0, 0, 0, 6, f32)
  GET_VT_ATTR(v7f32, 224, 0, 0, 1, 1, 0, 0, 0, 7, f32)
  GET_VT_ATTR(v8f32, 256, 0, 0, 1, 1, 0, 0, 0, 8, f32)
  GET_VT_ATTR(v9f32, 288, 0, 0, 1, 1, 0, 0, 0, 9, f32)
  GET_VT_ATTR(v10f32, 320, 0, 0, 1, 1, 0, 0, 0, 10, f32)
  GET_VT_ATTR(v11f32, 352, 0, 0, 1, 1, 0, 0, 0, 11, f32)
  GET_VT_ATTR(v12f32, 384, 0, 0, 1, 1, 0, 0, 0, 12, f32)
  GET_VT_ATTR(v16f32, 512, 0, 0, 1, 1, 0, 0, 0, 16, f32)
  GET_VT_ATTR(v32f32, 1024, 0, 0, 1, 1, 0, 0, 0, 32, f32)
  GET_VT_ATTR(v64f32, 2048, 0, 0, 1, 1, 0, 0, 0, 64, f32)
  GET_VT_ATTR(v128f32, 4096, 0, 0, 1, 1, 0, 0, 0, 128, f32)
  GET_VT_ATTR(v256f32, 8192, 0, 0, 1, 1, 0, 0, 0, 256, f32)
  GET_VT_ATTR(v512f32, 16384, 0, 0, 1, 1, 0, 0, 0, 512, f32)
  GET_VT_ATTR(v1024f32, 32768, 0, 0, 1, 1, 0, 0, 0, 1024, f32)
  GET_VT_ATTR(v2048f32, 65536, 0, 0, 1, 1, 0, 0, 0, 2048, f32)
  GET_VT_ATTR(v1f64, 64, 0, 0, 1, 1, 0, 0, 0, 1, f64)
  GET_VT_ATTR(v2f64, 128, 0, 0, 1, 1, 0, 0, 0, 2, f64)
  GET_VT_ATTR(v3f64, 192, 0, 0, 1, 1, 0, 0, 0, 3, f64)
  GET_VT_ATTR(v4f64, 256, 0, 0, 1, 1, 0, 0, 0, 4, f64)
  GET_VT_ATTR(v8f64, 512, 0, 0, 1, 1, 0, 0, 0, 8, f64)
  GET_VT_ATTR(v16f64, 1024, 0, 0, 1, 1, 0, 0, 0, 16, f64)
  GET_VT_ATTR(v32f64, 2048, 0, 0, 1, 1, 0, 0, 0, 32, f64)
  GET_VT_ATTR(v64f64, 4096, 0, 0, 1, 1, 0, 0, 0, 64, f64)
  GET_VT_ATTR(v128f64, 8192, 0, 0, 1, 1, 0, 0, 0, 128, f64)
  GET_VT_ATTR(v256f64, 16384, 0, 0, 1, 1, 0, 0, 0, 256, f64)
  GET_VT_ATTR(nxv1i1, 1, 0, 1, 0, 1, 1, 0, 0, 1, i1)
  GET_VT_ATTR(nxv2i1, 2, 0, 1, 0, 1, 1, 0, 0, 2, i1)
  GET_VT_ATTR(nxv4i1, 4, 0, 1, 0, 1, 1, 0, 0, 4, i1)
  GET_VT_ATTR(nxv8i1, 8, 0, 1, 0, 1, 1, 0, 0, 8, i1)
  GET_VT_ATTR(nxv16i1, 16, 0, 1, 0, 1, 1, 0, 0, 16, i1)
  GET_VT_ATTR(nxv32i1, 32, 0, 1, 0, 1, 1, 0, 0, 32, i1)
  GET_VT_ATTR(nxv64i1, 64, 0, 1, 0, 1, 1, 0, 0, 64, i1)
  GET_VT_ATTR(nxv1i8, 8, 0, 1, 0, 1, 1, 0, 0, 1, i8)
  GET_VT_ATTR(nxv2i8, 16, 0, 1, 0, 1, 1, 0, 0, 2, i8)
  GET_VT_ATTR(nxv4i8, 32, 0, 1, 0, 1, 1, 0, 0, 4, i8)
  GET_VT_ATTR(nxv8i8, 64, 0, 1, 0, 1, 1, 0, 0, 8, i8)
  GET_VT_ATTR(nxv16i8, 128, 0, 1, 0, 1, 1, 0, 0, 16, i8)
  GET_VT_ATTR(nxv32i8, 256, 0, 1, 0, 1, 1, 0, 0, 32, i8)
  GET_VT_ATTR(nxv64i8, 512, 0, 1, 0, 1, 1, 0, 0, 64, i8)
  GET_VT_ATTR(nxv1i16, 16, 0, 1, 0, 1, 1, 0, 0, 1, i16)
  GET_VT_ATTR(nxv2i16, 32, 0, 1, 0, 1, 1, 0, 0, 2, i16)
  GET_VT_ATTR(nxv4i16, 64, 0, 1, 0, 1, 1, 0, 0, 4, i16)
  GET_VT_ATTR(nxv8i16, 128, 0, 1, 0, 1, 1, 0, 0, 8, i16)
  GET_VT_ATTR(nxv16i16, 256, 0, 1, 0, 1, 1, 0, 0, 16, i16)
  GET_VT_ATTR(nxv32i16, 512, 0, 1, 0, 1, 1, 0, 0, 32, i16)
  GET_VT_ATTR(nxv1i32, 32, 0, 1, 0, 1, 1, 0, 0, 1, i32)
  GET_VT_ATTR(nxv2i32, 64, 0, 1, 0, 1, 1, 0, 0, 2, i32)
  GET_VT_ATTR(nxv4i32, 128, 0, 1, 0, 1, 1, 0, 0, 4, i32)
  GET_VT_ATTR(nxv8i32, 256, 0, 1, 0, 1, 1, 0, 0, 8, i32)
  GET_VT_ATTR(nxv16i32, 512, 0, 1, 0, 1, 1, 0, 0, 16, i32)
  GET_VT_ATTR(nxv32i32, 1024, 0, 1, 0, 1, 1, 0, 0, 32, i32)
  GET_VT_ATTR(nxv1i64, 64, 0, 1, 0, 1, 1, 0, 0, 1, i64)
  GET_VT_ATTR(nxv2i64, 128, 0, 1, 0, 1, 1, 0, 0, 2, i64)
  GET_VT_ATTR(nxv4i64, 256, 0, 1, 0, 1, 1, 0, 0, 4, i64)
  GET_VT_ATTR(nxv8i64, 512, 0, 1, 0, 1, 1, 0, 0, 8, i64)
  GET_VT_ATTR(nxv16i64, 1024, 0, 1, 0, 1, 1, 0, 0, 16, i64)
  GET_VT_ATTR(nxv32i64, 2048, 0, 1, 0, 1, 1, 0, 0, 32, i64)
  GET_VT_ATTR(nxv1f16, 16, 0, 0, 1, 1, 1, 0, 0, 1, f16)
  GET_VT_ATTR(nxv2f16, 32, 0, 0, 1, 1, 1, 0, 0, 2, f16)
  GET_VT_ATTR(nxv4f16, 64, 0, 0, 1, 1, 1, 0, 0, 4, f16)
  GET_VT_ATTR(nxv8f16, 128, 0, 0, 1, 1, 1, 0, 0, 8, f16)
  GET_VT_ATTR(nxv16f16, 256, 0, 0, 1, 1, 1, 0, 0, 16, f16)
  GET_VT_ATTR(nxv32f16, 512, 0, 0, 1, 1, 1, 0, 0, 32, f16)
  GET_VT_ATTR(nxv1bf16, 16, 0, 0, 1, 1, 1, 0, 0, 1, bf16)
  GET_VT_ATTR(nxv2bf16, 32, 0, 0, 1, 1, 1, 0, 0, 2, bf16)
  GET_VT_ATTR(nxv4bf16, 64, 0, 0, 1, 1, 1, 0, 0, 4, bf16)
  GET_VT_ATTR(nxv8bf16, 128, 0, 0, 1, 1, 1, 0, 0, 8, bf16)
  GET_VT_ATTR(nxv16bf16, 256, 0, 0, 1, 1, 1, 0, 0, 16, bf16)
  GET_VT_ATTR(nxv32bf16, 512, 0, 0, 1, 1, 1, 0, 0, 32, bf16)
  GET_VT_ATTR(nxv1f32, 32, 0, 0, 1, 1, 1, 0, 0, 1, f32)
  GET_VT_ATTR(nxv2f32, 64, 0, 0, 1, 1, 1, 0, 0, 2, f32)
  GET_VT_ATTR(nxv4f32, 128, 0, 0, 1, 1, 1, 0, 0, 4, f32)
  GET_VT_ATTR(nxv8f32, 256, 0, 0, 1, 1, 1, 0, 0, 8, f32)
  GET_VT_ATTR(nxv16f32, 512, 0, 0, 1, 1, 1, 0, 0, 16, f32)
  GET_VT_ATTR(nxv1f64, 64, 0, 0, 1, 1, 1, 0, 0, 1, f64)
  GET_VT_ATTR(nxv2f64, 128, 0, 0, 1, 1, 1, 0, 0, 2, f64)
  GET_VT_ATTR(nxv4f64, 256, 0, 0, 1, 1, 1, 0, 0, 4, f64)
  GET_VT_ATTR(nxv8f64, 512, 0, 0, 1, 1, 1, 0, 0, 8, f64)
  GET_VT_ATTR(riscv_nxv1i8x2, 16, 0, 0, 0, 0, 0, 1, 2, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv1i8x3, 24, 0, 0, 0, 0, 0, 1, 3, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv1i8x4, 32, 0, 0, 0, 0, 0, 1, 4, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv1i8x5, 40, 0, 0, 0, 0, 0, 1, 5, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv1i8x6, 48, 0, 0, 0, 0, 0, 1, 6, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv1i8x7, 56, 0, 0, 0, 0, 0, 1, 7, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv1i8x8, 64, 0, 0, 0, 0, 0, 1, 8, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv2i8x2, 32, 0, 0, 0, 0, 0, 1, 2, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv2i8x3, 48, 0, 0, 0, 0, 0, 1, 3, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv2i8x4, 64, 0, 0, 0, 0, 0, 1, 4, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv2i8x5, 80, 0, 0, 0, 0, 0, 1, 5, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv2i8x6, 96, 0, 0, 0, 0, 0, 1, 6, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv2i8x7, 112, 0, 0, 0, 0, 0, 1, 7, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv2i8x8, 128, 0, 0, 0, 0, 0, 1, 8, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv4i8x2, 64, 0, 0, 0, 0, 0, 1, 2, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv4i8x3, 96, 0, 0, 0, 0, 0, 1, 3, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv4i8x4, 128, 0, 0, 0, 0, 0, 1, 4, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv4i8x5, 160, 0, 0, 0, 0, 0, 1, 5, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv4i8x6, 192, 0, 0, 0, 0, 0, 1, 6, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv4i8x7, 224, 0, 0, 0, 0, 0, 1, 7, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv4i8x8, 256, 0, 0, 0, 0, 0, 1, 8, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv8i8x2, 128, 0, 0, 0, 0, 0, 1, 2, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv8i8x3, 192, 0, 0, 0, 0, 0, 1, 3, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv8i8x4, 256, 0, 0, 0, 0, 0, 1, 4, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv8i8x5, 320, 0, 0, 0, 0, 0, 1, 5, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv8i8x6, 384, 0, 0, 0, 0, 0, 1, 6, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv8i8x7, 448, 0, 0, 0, 0, 0, 1, 7, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv8i8x8, 512, 0, 0, 0, 0, 0, 1, 8, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv16i8x2, 256, 0, 0, 0, 0, 0, 1, 2, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv16i8x3, 384, 0, 0, 0, 0, 0, 1, 3, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv16i8x4, 512, 0, 0, 0, 0, 0, 1, 4, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(riscv_nxv32i8x2, 512, 0, 0, 0, 0, 0, 1, 2, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(x86mmx, 64, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(Glue, 0, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(isVoid, 0, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(Untyped, 8, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(funcref, 0, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(externref, 0, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(exnref, 0, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(x86amx, 8192, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(i64x8, 512, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(aarch64svcount, 16, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(spirvbuiltin, 0, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(amdgpuBufferFatPointer, 160, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(amdgpuBufferStridedPointer, 192, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(aarch64mfp8, 8, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(c64, 64, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(c128, 128, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(cPTR, 0, 1, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(token, 0, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(Metadata, 0, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(pAny, 0, 1, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(vAny, 0, 1, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(fAny, 0, 1, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(iAny, 0, 1, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(iPTR, 0, 0, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
  GET_VT_ATTR(Any, 0, 1, 0, 0, 0, 0, 0, 0, 0, INVALID_SIMPLE_VALUE_TYPE)
#endif

#ifdef GET_VT_RANGES
  FIRST_CHERI_CAPABILITY_VALUETYPE = c64,
  LAST_CHERI_CAPABILITY_VALUETYPE = c128,
  FIRST_FIXEDLEN_VECTOR_VALUETYPE = v1i1,
  LAST_FIXEDLEN_VECTOR_VALUETYPE = v256f64,
  FIRST_FP_FIXEDLEN_VECTOR_VALUETYPE = v1f16,
  LAST_FP_FIXEDLEN_VECTOR_VALUETYPE = v256f64,
  FIRST_FP_SCALABLE_VECTOR_VALUETYPE = nxv1f16,
  LAST_FP_SCALABLE_VECTOR_VALUETYPE = nxv8f64,
  FIRST_FP_VALUETYPE = bf16,
  LAST_FP_VALUETYPE = ppcf128,
  FIRST_INTEGER_FIXEDLEN_VECTOR_VALUETYPE = v1i1,
  LAST_INTEGER_FIXEDLEN_VECTOR_VALUETYPE = v1i128,
  FIRST_INTEGER_SCALABLE_VECTOR_VALUETYPE = nxv1i1,
  LAST_INTEGER_SCALABLE_VECTOR_VALUETYPE = nxv32i64,
  FIRST_INTEGER_VALUETYPE = i1,
  LAST_INTEGER_VALUETYPE = i512,
  FIRST_RISCV_VECTOR_TUPLE_VALUETYPE = riscv_nxv1i8x2,
  LAST_RISCV_VECTOR_TUPLE_VALUETYPE = riscv_nxv32i8x2,
  FIRST_SCALABLE_VECTOR_VALUETYPE = nxv1i1,
  LAST_SCALABLE_VECTOR_VALUETYPE = nxv8f64,
  FIRST_VALUETYPE = Other,
  LAST_VALUETYPE = c128,
  FIRST_VECTOR_VALUETYPE = v1i1,
  LAST_VECTOR_VALUETYPE = nxv8f64,
#endif

#ifdef GET_VT_VECATTR // (Ty, Sc, Tup, nElem, ElTy)
  GET_VT_VECATTR(v1i1, 0, 0, 1, i1)
  GET_VT_VECATTR(v2i1, 0, 0, 2, i1)
  GET_VT_VECATTR(v3i1, 0, 0, 3, i1)
  GET_VT_VECATTR(v4i1, 0, 0, 4, i1)
  GET_VT_VECATTR(v5i1, 0, 0, 5, i1)
  GET_VT_VECATTR(v6i1, 0, 0, 6, i1)
  GET_VT_VECATTR(v7i1, 0, 0, 7, i1)
  GET_VT_VECATTR(v8i1, 0, 0, 8, i1)
  GET_VT_VECATTR(v16i1, 0, 0, 16, i1)
  GET_VT_VECATTR(v32i1, 0, 0, 32, i1)
  GET_VT_VECATTR(v64i1, 0, 0, 64, i1)
  GET_VT_VECATTR(v128i1, 0, 0, 128, i1)
  GET_VT_VECATTR(v256i1, 0, 0, 256, i1)
  GET_VT_VECATTR(v512i1, 0, 0, 512, i1)
  GET_VT_VECATTR(v1024i1, 0, 0, 1024, i1)
  GET_VT_VECATTR(v2048i1, 0, 0, 2048, i1)
  GET_VT_VECATTR(v4096i1, 0, 0, 4096, i1)
  GET_VT_VECATTR(v128i2, 0, 0, 128, i2)
  GET_VT_VECATTR(v256i2, 0, 0, 256, i2)
  GET_VT_VECATTR(v64i4, 0, 0, 64, i4)
  GET_VT_VECATTR(v128i4, 0, 0, 128, i4)
  GET_VT_VECATTR(v1i8, 0, 0, 1, i8)
  GET_VT_VECATTR(v2i8, 0, 0, 2, i8)
  GET_VT_VECATTR(v3i8, 0, 0, 3, i8)
  GET_VT_VECATTR(v4i8, 0, 0, 4, i8)
  GET_VT_VECATTR(v5i8, 0, 0, 5, i8)
  GET_VT_VECATTR(v6i8, 0, 0, 6, i8)
  GET_VT_VECATTR(v7i8, 0, 0, 7, i8)
  GET_VT_VECATTR(v8i8, 0, 0, 8, i8)
  GET_VT_VECATTR(v16i8, 0, 0, 16, i8)
  GET_VT_VECATTR(v32i8, 0, 0, 32, i8)
  GET_VT_VECATTR(v64i8, 0, 0, 64, i8)
  GET_VT_VECATTR(v128i8, 0, 0, 128, i8)
  GET_VT_VECATTR(v256i8, 0, 0, 256, i8)
  GET_VT_VECATTR(v512i8, 0, 0, 512, i8)
  GET_VT_VECATTR(v1024i8, 0, 0, 1024, i8)
  GET_VT_VECATTR(v1i16, 0, 0, 1, i16)
  GET_VT_VECATTR(v2i16, 0, 0, 2, i16)
  GET_VT_VECATTR(v3i16, 0, 0, 3, i16)
  GET_VT_VECATTR(v4i16, 0, 0, 4, i16)
  GET_VT_VECATTR(v5i16, 0, 0, 5, i16)
  GET_VT_VECATTR(v6i16, 0, 0, 6, i16)
  GET_VT_VECATTR(v7i16, 0, 0, 7, i16)
  GET_VT_VECATTR(v8i16, 0, 0, 8, i16)
  GET_VT_VECATTR(v16i16, 0, 0, 16, i16)
  GET_VT_VECATTR(v32i16, 0, 0, 32, i16)
  GET_VT_VECATTR(v64i16, 0, 0, 64, i16)
  GET_VT_VECATTR(v128i16, 0, 0, 128, i16)
  GET_VT_VECATTR(v256i16, 0, 0, 256, i16)
  GET_VT_VECATTR(v512i16, 0, 0, 512, i16)
  GET_VT_VECATTR(v4096i16, 0, 0, 4096, i16)
  GET_VT_VECATTR(v1i32, 0, 0, 1, i32)
  GET_VT_VECATTR(v2i32, 0, 0, 2, i32)
  GET_VT_VECATTR(v3i32, 0, 0, 3, i32)
  GET_VT_VECATTR(v4i32, 0, 0, 4, i32)
  GET_VT_VECATTR(v5i32, 0, 0, 5, i32)
  GET_VT_VECATTR(v6i32, 0, 0, 6, i32)
  GET_VT_VECATTR(v7i32, 0, 0, 7, i32)
  GET_VT_VECATTR(v8i32, 0, 0, 8, i32)
  GET_VT_VECATTR(v9i32, 0, 0, 9, i32)
  GET_VT_VECATTR(v10i32, 0, 0, 10, i32)
  GET_VT_VECATTR(v11i32, 0, 0, 11, i32)
  GET_VT_VECATTR(v12i32, 0, 0, 12, i32)
  GET_VT_VECATTR(v16i32, 0, 0, 16, i32)
  GET_VT_VECATTR(v24i32, 0, 0, 24, i32)
  GET_VT_VECATTR(v32i32, 0, 0, 32, i32)
  GET_VT_VECATTR(v48i32, 0, 0, 48, i32)
  GET_VT_VECATTR(v64i32, 0, 0, 64, i32)
  GET_VT_VECATTR(v128i32, 0, 0, 128, i32)
  GET_VT_VECATTR(v256i32, 0, 0, 256, i32)
  GET_VT_VECATTR(v512i32, 0, 0, 512, i32)
  GET_VT_VECATTR(v1024i32, 0, 0, 1024, i32)
  GET_VT_VECATTR(v2048i32, 0, 0, 2048, i32)
  GET_VT_VECATTR(v4096i32, 0, 0, 4096, i32)
  GET_VT_VECATTR(v1i64, 0, 0, 1, i64)
  GET_VT_VECATTR(v2i64, 0, 0, 2, i64)
  GET_VT_VECATTR(v3i64, 0, 0, 3, i64)
  GET_VT_VECATTR(v4i64, 0, 0, 4, i64)
  GET_VT_VECATTR(v8i64, 0, 0, 8, i64)
  GET_VT_VECATTR(v16i64, 0, 0, 16, i64)
  GET_VT_VECATTR(v32i64, 0, 0, 32, i64)
  GET_VT_VECATTR(v64i64, 0, 0, 64, i64)
  GET_VT_VECATTR(v128i64, 0, 0, 128, i64)
  GET_VT_VECATTR(v256i64, 0, 0, 256, i64)
  GET_VT_VECATTR(v1i128, 0, 0, 1, i128)
  GET_VT_VECATTR(v1f16, 0, 0, 1, f16)
  GET_VT_VECATTR(v2f16, 0, 0, 2, f16)
  GET_VT_VECATTR(v3f16, 0, 0, 3, f16)
  GET_VT_VECATTR(v4f16, 0, 0, 4, f16)
  GET_VT_VECATTR(v5f16, 0, 0, 5, f16)
  GET_VT_VECATTR(v6f16, 0, 0, 6, f16)
  GET_VT_VECATTR(v7f16, 0, 0, 7, f16)
  GET_VT_VECATTR(v8f16, 0, 0, 8, f16)
  GET_VT_VECATTR(v16f16, 0, 0, 16, f16)
  GET_VT_VECATTR(v32f16, 0, 0, 32, f16)
  GET_VT_VECATTR(v64f16, 0, 0, 64, f16)
  GET_VT_VECATTR(v128f16, 0, 0, 128, f16)
  GET_VT_VECATTR(v256f16, 0, 0, 256, f16)
  GET_VT_VECATTR(v512f16, 0, 0, 512, f16)
  GET_VT_VECATTR(v4096f16, 0, 0, 4096, f16)
  GET_VT_VECATTR(v1bf16, 0, 0, 1, bf16)
  GET_VT_VECATTR(v2bf16, 0, 0, 2, bf16)
  GET_VT_VECATTR(v3bf16, 0, 0, 3, bf16)
  GET_VT_VECATTR(v4bf16, 0, 0, 4, bf16)
  GET_VT_VECATTR(v8bf16, 0, 0, 8, bf16)
  GET_VT_VECATTR(v16bf16, 0, 0, 16, bf16)
  GET_VT_VECATTR(v32bf16, 0, 0, 32, bf16)
  GET_VT_VECATTR(v64bf16, 0, 0, 64, bf16)
  GET_VT_VECATTR(v128bf16, 0, 0, 128, bf16)
  GET_VT_VECATTR(v4096bf16, 0, 0, 4096, bf16)
  GET_VT_VECATTR(v1f32, 0, 0, 1, f32)
  GET_VT_VECATTR(v2f32, 0, 0, 2, f32)
  GET_VT_VECATTR(v3f32, 0, 0, 3, f32)
  GET_VT_VECATTR(v4f32, 0, 0, 4, f32)
  GET_VT_VECATTR(v5f32, 0, 0, 5, f32)
  GET_VT_VECATTR(v6f32, 0, 0, 6, f32)
  GET_VT_VECATTR(v7f32, 0, 0, 7, f32)
  GET_VT_VECATTR(v8f32, 0, 0, 8, f32)
  GET_VT_VECATTR(v9f32, 0, 0, 9, f32)
  GET_VT_VECATTR(v10f32, 0, 0, 10, f32)
  GET_VT_VECATTR(v11f32, 0, 0, 11, f32)
  GET_VT_VECATTR(v12f32, 0, 0, 12, f32)
  GET_VT_VECATTR(v16f32, 0, 0, 16, f32)
  GET_VT_VECATTR(v32f32, 0, 0, 32, f32)
  GET_VT_VECATTR(v64f32, 0, 0, 64, f32)
  GET_VT_VECATTR(v128f32, 0, 0, 128, f32)
  GET_VT_VECATTR(v256f32, 0, 0, 256, f32)
  GET_VT_VECATTR(v512f32, 0, 0, 512, f32)
  GET_VT_VECATTR(v1024f32, 0, 0, 1024, f32)
  GET_VT_VECATTR(v2048f32, 0, 0, 2048, f32)
  GET_VT_VECATTR(v1f64, 0, 0, 1, f64)
  GET_VT_VECATTR(v2f64, 0, 0, 2, f64)
  GET_VT_VECATTR(v3f64, 0, 0, 3, f64)
  GET_VT_VECATTR(v4f64, 0, 0, 4, f64)
  GET_VT_VECATTR(v8f64, 0, 0, 8, f64)
  GET_VT_VECATTR(v16f64, 0, 0, 16, f64)
  GET_VT_VECATTR(v32f64, 0, 0, 32, f64)
  GET_VT_VECATTR(v64f64, 0, 0, 64, f64)
  GET_VT_VECATTR(v128f64, 0, 0, 128, f64)
  GET_VT_VECATTR(v256f64, 0, 0, 256, f64)
  GET_VT_VECATTR(nxv1i1, 1, 0, 1, i1)
  GET_VT_VECATTR(nxv2i1, 1, 0, 2, i1)
  GET_VT_VECATTR(nxv4i1, 1, 0, 4, i1)
  GET_VT_VECATTR(nxv8i1, 1, 0, 8, i1)
  GET_VT_VECATTR(nxv16i1, 1, 0, 16, i1)
  GET_VT_VECATTR(nxv32i1, 1, 0, 32, i1)
  GET_VT_VECATTR(nxv64i1, 1, 0, 64, i1)
  GET_VT_VECATTR(nxv1i8, 1, 0, 1, i8)
  GET_VT_VECATTR(nxv2i8, 1, 0, 2, i8)
  GET_VT_VECATTR(nxv4i8, 1, 0, 4, i8)
  GET_VT_VECATTR(nxv8i8, 1, 0, 8, i8)
  GET_VT_VECATTR(nxv16i8, 1, 0, 16, i8)
  GET_VT_VECATTR(nxv32i8, 1, 0, 32, i8)
  GET_VT_VECATTR(nxv64i8, 1, 0, 64, i8)
  GET_VT_VECATTR(nxv1i16, 1, 0, 1, i16)
  GET_VT_VECATTR(nxv2i16, 1, 0, 2, i16)
  GET_VT_VECATTR(nxv4i16, 1, 0, 4, i16)
  GET_VT_VECATTR(nxv8i16, 1, 0, 8, i16)
  GET_VT_VECATTR(nxv16i16, 1, 0, 16, i16)
  GET_VT_VECATTR(nxv32i16, 1, 0, 32, i16)
  GET_VT_VECATTR(nxv1i32, 1, 0, 1, i32)
  GET_VT_VECATTR(nxv2i32, 1, 0, 2, i32)
  GET_VT_VECATTR(nxv4i32, 1, 0, 4, i32)
  GET_VT_VECATTR(nxv8i32, 1, 0, 8, i32)
  GET_VT_VECATTR(nxv16i32, 1, 0, 16, i32)
  GET_VT_VECATTR(nxv32i32, 1, 0, 32, i32)
  GET_VT_VECATTR(nxv1i64, 1, 0, 1, i64)
  GET_VT_VECATTR(nxv2i64, 1, 0, 2, i64)
  GET_VT_VECATTR(nxv4i64, 1, 0, 4, i64)
  GET_VT_VECATTR(nxv8i64, 1, 0, 8, i64)
  GET_VT_VECATTR(nxv16i64, 1, 0, 16, i64)
  GET_VT_VECATTR(nxv32i64, 1, 0, 32, i64)
  GET_VT_VECATTR(nxv1f16, 1, 0, 1, f16)
  GET_VT_VECATTR(nxv2f16, 1, 0, 2, f16)
  GET_VT_VECATTR(nxv4f16, 1, 0, 4, f16)
  GET_VT_VECATTR(nxv8f16, 1, 0, 8, f16)
  GET_VT_VECATTR(nxv16f16, 1, 0, 16, f16)
  GET_VT_VECATTR(nxv32f16, 1, 0, 32, f16)
  GET_VT_VECATTR(nxv1bf16, 1, 0, 1, bf16)
  GET_VT_VECATTR(nxv2bf16, 1, 0, 2, bf16)
  GET_VT_VECATTR(nxv4bf16, 1, 0, 4, bf16)
  GET_VT_VECATTR(nxv8bf16, 1, 0, 8, bf16)
  GET_VT_VECATTR(nxv16bf16, 1, 0, 16, bf16)
  GET_VT_VECATTR(nxv32bf16, 1, 0, 32, bf16)
  GET_VT_VECATTR(nxv1f32, 1, 0, 1, f32)
  GET_VT_VECATTR(nxv2f32, 1, 0, 2, f32)
  GET_VT_VECATTR(nxv4f32, 1, 0, 4, f32)
  GET_VT_VECATTR(nxv8f32, 1, 0, 8, f32)
  GET_VT_VECATTR(nxv16f32, 1, 0, 16, f32)
  GET_VT_VECATTR(nxv1f64, 1, 0, 1, f64)
  GET_VT_VECATTR(nxv2f64, 1, 0, 2, f64)
  GET_VT_VECATTR(nxv4f64, 1, 0, 4, f64)
  GET_VT_VECATTR(nxv8f64, 1, 0, 8, f64)
#endif

#ifdef GET_VT_EVT
  GET_VT_EVT(i1, Type::getInt1Ty(Context))
  GET_VT_EVT(i2, Type::getIntNTy(Context, 2))
  GET_VT_EVT(i4, Type::getIntNTy(Context, 4))
  GET_VT_EVT(i8, Type::getInt8Ty(Context))
  GET_VT_EVT(i16, Type::getInt16Ty(Context))
  GET_VT_EVT(i32, Type::getInt32Ty(Context))
  GET_VT_EVT(i64, Type::getInt64Ty(Context))
  GET_VT_EVT(i128, Type::getInt128Ty(Context))
  GET_VT_EVT(i256, Type::getIntNTy(Context, 256))
  GET_VT_EVT(i512, Type::getIntNTy(Context, 512))
  GET_VT_EVT(bf16, Type::getBFloatTy(Context))
  GET_VT_EVT(f16, Type::getHalfTy(Context))
  GET_VT_EVT(f32, Type::getFloatTy(Context))
  GET_VT_EVT(f64, Type::getDoubleTy(Context))
  GET_VT_EVT(f80, Type::getX86_FP80Ty(Context))
  GET_VT_EVT(f128, Type::getFP128Ty(Context))
  GET_VT_EVT(ppcf128, Type::getPPC_FP128Ty(Context))
  GET_VT_EVT(v1i1, FixedVectorType::get(Type::getInt1Ty(Context), 1))
  GET_VT_EVT(v2i1, FixedVectorType::get(Type::getInt1Ty(Context), 2))
  GET_VT_EVT(v3i1, FixedVectorType::get(Type::getInt1Ty(Context), 3))
  GET_VT_EVT(v4i1, FixedVectorType::get(Type::getInt1Ty(Context), 4))
  GET_VT_EVT(v5i1, FixedVectorType::get(Type::getInt1Ty(Context), 5))
  GET_VT_EVT(v6i1, FixedVectorType::get(Type::getInt1Ty(Context), 6))
  GET_VT_EVT(v7i1, FixedVectorType::get(Type::getInt1Ty(Context), 7))
  GET_VT_EVT(v8i1, FixedVectorType::get(Type::getInt1Ty(Context), 8))
  GET_VT_EVT(v16i1, FixedVectorType::get(Type::getInt1Ty(Context), 16))
  GET_VT_EVT(v32i1, FixedVectorType::get(Type::getInt1Ty(Context), 32))
  GET_VT_EVT(v64i1, FixedVectorType::get(Type::getInt1Ty(Context), 64))
  GET_VT_EVT(v128i1, FixedVectorType::get(Type::getInt1Ty(Context), 128))
  GET_VT_EVT(v256i1, FixedVectorType::get(Type::getInt1Ty(Context), 256))
  GET_VT_EVT(v512i1, FixedVectorType::get(Type::getInt1Ty(Context), 512))
  GET_VT_EVT(v1024i1, FixedVectorType::get(Type::getInt1Ty(Context), 1024))
  GET_VT_EVT(v2048i1, FixedVectorType::get(Type::getInt1Ty(Context), 2048))
  GET_VT_EVT(v4096i1, FixedVectorType::get(Type::getInt1Ty(Context), 4096))
  GET_VT_EVT(v128i2, FixedVectorType::get(Type::getIntNTy(Context, 2), 128))
  GET_VT_EVT(v256i2, FixedVectorType::get(Type::getIntNTy(Context, 2), 256))
  GET_VT_EVT(v64i4, FixedVectorType::get(Type::getIntNTy(Context, 4), 64))
  GET_VT_EVT(v128i4, FixedVectorType::get(Type::getIntNTy(Context, 4), 128))
  GET_VT_EVT(v1i8, FixedVectorType::get(Type::getInt8Ty(Context), 1))
  GET_VT_EVT(v2i8, FixedVectorType::get(Type::getInt8Ty(Context), 2))
  GET_VT_EVT(v3i8, FixedVectorType::get(Type::getInt8Ty(Context), 3))
  GET_VT_EVT(v4i8, FixedVectorType::get(Type::getInt8Ty(Context), 4))
  GET_VT_EVT(v5i8, FixedVectorType::get(Type::getInt8Ty(Context), 5))
  GET_VT_EVT(v6i8, FixedVectorType::get(Type::getInt8Ty(Context), 6))
  GET_VT_EVT(v7i8, FixedVectorType::get(Type::getInt8Ty(Context), 7))
  GET_VT_EVT(v8i8, FixedVectorType::get(Type::getInt8Ty(Context), 8))
  GET_VT_EVT(v16i8, FixedVectorType::get(Type::getInt8Ty(Context), 16))
  GET_VT_EVT(v32i8, FixedVectorType::get(Type::getInt8Ty(Context), 32))
  GET_VT_EVT(v64i8, FixedVectorType::get(Type::getInt8Ty(Context), 64))
  GET_VT_EVT(v128i8, FixedVectorType::get(Type::getInt8Ty(Context), 128))
  GET_VT_EVT(v256i8, FixedVectorType::get(Type::getInt8Ty(Context), 256))
  GET_VT_EVT(v512i8, FixedVectorType::get(Type::getInt8Ty(Context), 512))
  GET_VT_EVT(v1024i8, FixedVectorType::get(Type::getInt8Ty(Context), 1024))
  GET_VT_EVT(v1i16, FixedVectorType::get(Type::getInt16Ty(Context), 1))
  GET_VT_EVT(v2i16, FixedVectorType::get(Type::getInt16Ty(Context), 2))
  GET_VT_EVT(v3i16, FixedVectorType::get(Type::getInt16Ty(Context), 3))
  GET_VT_EVT(v4i16, FixedVectorType::get(Type::getInt16Ty(Context), 4))
  GET_VT_EVT(v5i16, FixedVectorType::get(Type::getInt16Ty(Context), 5))
  GET_VT_EVT(v6i16, FixedVectorType::get(Type::getInt16Ty(Context), 6))
  GET_VT_EVT(v7i16, FixedVectorType::get(Type::getInt16Ty(Context), 7))
  GET_VT_EVT(v8i16, FixedVectorType::get(Type::getInt16Ty(Context), 8))
  GET_VT_EVT(v16i16, FixedVectorType::get(Type::getInt16Ty(Context), 16))
  GET_VT_EVT(v32i16, FixedVectorType::get(Type::getInt16Ty(Context), 32))
  GET_VT_EVT(v64i16, FixedVectorType::get(Type::getInt16Ty(Context), 64))
  GET_VT_EVT(v128i16, FixedVectorType::get(Type::getInt16Ty(Context), 128))
  GET_VT_EVT(v256i16, FixedVectorType::get(Type::getInt16Ty(Context), 256))
  GET_VT_EVT(v512i16, FixedVectorType::get(Type::getInt16Ty(Context), 512))
  GET_VT_EVT(v4096i16, FixedVectorType::get(Type::getInt16Ty(Context), 4096))
  GET_VT_EVT(v1i32, FixedVectorType::get(Type::getInt32Ty(Context), 1))
  GET_VT_EVT(v2i32, FixedVectorType::get(Type::getInt32Ty(Context), 2))
  GET_VT_EVT(v3i32, FixedVectorType::get(Type::getInt32Ty(Context), 3))
  GET_VT_EVT(v4i32, FixedVectorType::get(Type::getInt32Ty(Context), 4))
  GET_VT_EVT(v5i32, FixedVectorType::get(Type::getInt32Ty(Context), 5))
  GET_VT_EVT(v6i32, FixedVectorType::get(Type::getInt32Ty(Context), 6))
  GET_VT_EVT(v7i32, FixedVectorType::get(Type::getInt32Ty(Context), 7))
  GET_VT_EVT(v8i32, FixedVectorType::get(Type::getInt32Ty(Context), 8))
  GET_VT_EVT(v9i32, FixedVectorType::get(Type::getInt32Ty(Context), 9))
  GET_VT_EVT(v10i32, FixedVectorType::get(Type::getInt32Ty(Context), 10))
  GET_VT_EVT(v11i32, FixedVectorType::get(Type::getInt32Ty(Context), 11))
  GET_VT_EVT(v12i32, FixedVectorType::get(Type::getInt32Ty(Context), 12))
  GET_VT_EVT(v16i32, FixedVectorType::get(Type::getInt32Ty(Context), 16))
  GET_VT_EVT(v24i32, FixedVectorType::get(Type::getInt32Ty(Context), 24))
  GET_VT_EVT(v32i32, FixedVectorType::get(Type::getInt32Ty(Context), 32))
  GET_VT_EVT(v48i32, FixedVectorType::get(Type::getInt32Ty(Context), 48))
  GET_VT_EVT(v64i32, FixedVectorType::get(Type::getInt32Ty(Context), 64))
  GET_VT_EVT(v128i32, FixedVectorType::get(Type::getInt32Ty(Context), 128))
  GET_VT_EVT(v256i32, FixedVectorType::get(Type::getInt32Ty(Context), 256))
  GET_VT_EVT(v512i32, FixedVectorType::get(Type::getInt32Ty(Context), 512))
  GET_VT_EVT(v1024i32, FixedVectorType::get(Type::getInt32Ty(Context), 1024))
  GET_VT_EVT(v2048i32, FixedVectorType::get(Type::getInt32Ty(Context), 2048))
  GET_VT_EVT(v4096i32, FixedVectorType::get(Type::getInt32Ty(Context), 4096))
  GET_VT_EVT(v1i64, FixedVectorType::get(Type::getInt64Ty(Context), 1))
  GET_VT_EVT(v2i64, FixedVectorType::get(Type::getInt64Ty(Context), 2))
  GET_VT_EVT(v3i64, FixedVectorType::get(Type::getInt64Ty(Context), 3))
  GET_VT_EVT(v4i64, FixedVectorType::get(Type::getInt64Ty(Context), 4))
  GET_VT_EVT(v8i64, FixedVectorType::get(Type::getInt64Ty(Context), 8))
  GET_VT_EVT(v16i64, FixedVectorType::get(Type::getInt64Ty(Context), 16))
  GET_VT_EVT(v32i64, FixedVectorType::get(Type::getInt64Ty(Context), 32))
  GET_VT_EVT(v64i64, FixedVectorType::get(Type::getInt64Ty(Context), 64))
  GET_VT_EVT(v128i64, FixedVectorType::get(Type::getInt64Ty(Context), 128))
  GET_VT_EVT(v256i64, FixedVectorType::get(Type::getInt64Ty(Context), 256))
  GET_VT_EVT(v1i128, FixedVectorType::get(Type::getInt128Ty(Context), 1))
  GET_VT_EVT(v1f16, FixedVectorType::get(Type::getHalfTy(Context), 1))
  GET_VT_EVT(v2f16, FixedVectorType::get(Type::getHalfTy(Context), 2))
  GET_VT_EVT(v3f16, FixedVectorType::get(Type::getHalfTy(Context), 3))
  GET_VT_EVT(v4f16, FixedVectorType::get(Type::getHalfTy(Context), 4))
  GET_VT_EVT(v5f16, FixedVectorType::get(Type::getHalfTy(Context), 5))
  GET_VT_EVT(v6f16, FixedVectorType::get(Type::getHalfTy(Context), 6))
  GET_VT_EVT(v7f16, FixedVectorType::get(Type::getHalfTy(Context), 7))
  GET_VT_EVT(v8f16, FixedVectorType::get(Type::getHalfTy(Context), 8))
  GET_VT_EVT(v16f16, FixedVectorType::get(Type::getHalfTy(Context), 16))
  GET_VT_EVT(v32f16, FixedVectorType::get(Type::getHalfTy(Context), 32))
  GET_VT_EVT(v64f16, FixedVectorType::get(Type::getHalfTy(Context), 64))
  GET_VT_EVT(v128f16, FixedVectorType::get(Type::getHalfTy(Context), 128))
  GET_VT_EVT(v256f16, FixedVectorType::get(Type::getHalfTy(Context), 256))
  GET_VT_EVT(v512f16, FixedVectorType::get(Type::getHalfTy(Context), 512))
  GET_VT_EVT(v4096f16, FixedVectorType::get(Type::getHalfTy(Context), 4096))
  GET_VT_EVT(v1bf16, FixedVectorType::get(Type::getBFloatTy(Context), 1))
  GET_VT_EVT(v2bf16, FixedVectorType::get(Type::getBFloatTy(Context), 2))
  GET_VT_EVT(v3bf16, FixedVectorType::get(Type::getBFloatTy(Context), 3))
  GET_VT_EVT(v4bf16, FixedVectorType::get(Type::getBFloatTy(Context), 4))
  GET_VT_EVT(v8bf16, FixedVectorType::get(Type::getBFloatTy(Context), 8))
  GET_VT_EVT(v16bf16, FixedVectorType::get(Type::getBFloatTy(Context), 16))
  GET_VT_EVT(v32bf16, FixedVectorType::get(Type::getBFloatTy(Context), 32))
  GET_VT_EVT(v64bf16, FixedVectorType::get(Type::getBFloatTy(Context), 64))
  GET_VT_EVT(v128bf16, FixedVectorType::get(Type::getBFloatTy(Context), 128))
  GET_VT_EVT(v4096bf16, FixedVectorType::get(Type::getBFloatTy(Context), 4096))
  GET_VT_EVT(v1f32, FixedVectorType::get(Type::getFloatTy(Context), 1))
  GET_VT_EVT(v2f32, FixedVectorType::get(Type::getFloatTy(Context), 2))
  GET_VT_EVT(v3f32, FixedVectorType::get(Type::getFloatTy(Context), 3))
  GET_VT_EVT(v4f32, FixedVectorType::get(Type::getFloatTy(Context), 4))
  GET_VT_EVT(v5f32, FixedVectorType::get(Type::getFloatTy(Context), 5))
  GET_VT_EVT(v6f32, FixedVectorType::get(Type::getFloatTy(Context), 6))
  GET_VT_EVT(v7f32, FixedVectorType::get(Type::getFloatTy(Context), 7))
  GET_VT_EVT(v8f32, FixedVectorType::get(Type::getFloatTy(Context), 8))
  GET_VT_EVT(v9f32, FixedVectorType::get(Type::getFloatTy(Context), 9))
  GET_VT_EVT(v10f32, FixedVectorType::get(Type::getFloatTy(Context), 10))
  GET_VT_EVT(v11f32, FixedVectorType::get(Type::getFloatTy(Context), 11))
  GET_VT_EVT(v12f32, FixedVectorType::get(Type::getFloatTy(Context), 12))
  GET_VT_EVT(v16f32, FixedVectorType::get(Type::getFloatTy(Context), 16))
  GET_VT_EVT(v32f32, FixedVectorType::get(Type::getFloatTy(Context), 32))
  GET_VT_EVT(v64f32, FixedVectorType::get(Type::getFloatTy(Context), 64))
  GET_VT_EVT(v128f32, FixedVectorType::get(Type::getFloatTy(Context), 128))
  GET_VT_EVT(v256f32, FixedVectorType::get(Type::getFloatTy(Context), 256))
  GET_VT_EVT(v512f32, FixedVectorType::get(Type::getFloatTy(Context), 512))
  GET_VT_EVT(v1024f32, FixedVectorType::get(Type::getFloatTy(Context), 1024))
  GET_VT_EVT(v2048f32, FixedVectorType::get(Type::getFloatTy(Context), 2048))
  GET_VT_EVT(v1f64, FixedVectorType::get(Type::getDoubleTy(Context), 1))
  GET_VT_EVT(v2f64, FixedVectorType::get(Type::getDoubleTy(Context), 2))
  GET_VT_EVT(v3f64, FixedVectorType::get(Type::getDoubleTy(Context), 3))
  GET_VT_EVT(v4f64, FixedVectorType::get(Type::getDoubleTy(Context), 4))
  GET_VT_EVT(v8f64, FixedVectorType::get(Type::getDoubleTy(Context), 8))
  GET_VT_EVT(v16f64, FixedVectorType::get(Type::getDoubleTy(Context), 16))
  GET_VT_EVT(v32f64, FixedVectorType::get(Type::getDoubleTy(Context), 32))
  GET_VT_EVT(v64f64, FixedVectorType::get(Type::getDoubleTy(Context), 64))
  GET_VT_EVT(v128f64, FixedVectorType::get(Type::getDoubleTy(Context), 128))
  GET_VT_EVT(v256f64, FixedVectorType::get(Type::getDoubleTy(Context), 256))
  GET_VT_EVT(nxv1i1, ScalableVectorType::get(Type::getInt1Ty(Context), 1))
  GET_VT_EVT(nxv2i1, ScalableVectorType::get(Type::getInt1Ty(Context), 2))
  GET_VT_EVT(nxv4i1, ScalableVectorType::get(Type::getInt1Ty(Context), 4))
  GET_VT_EVT(nxv8i1, ScalableVectorType::get(Type::getInt1Ty(Context), 8))
  GET_VT_EVT(nxv16i1, ScalableVectorType::get(Type::getInt1Ty(Context), 16))
  GET_VT_EVT(nxv32i1, ScalableVectorType::get(Type::getInt1Ty(Context), 32))
  GET_VT_EVT(nxv64i1, ScalableVectorType::get(Type::getInt1Ty(Context), 64))
  GET_VT_EVT(nxv1i8, ScalableVectorType::get(Type::getInt8Ty(Context), 1))
  GET_VT_EVT(nxv2i8, ScalableVectorType::get(Type::getInt8Ty(Context), 2))
  GET_VT_EVT(nxv4i8, ScalableVectorType::get(Type::getInt8Ty(Context), 4))
  GET_VT_EVT(nxv8i8, ScalableVectorType::get(Type::getInt8Ty(Context), 8))
  GET_VT_EVT(nxv16i8, ScalableVectorType::get(Type::getInt8Ty(Context), 16))
  GET_VT_EVT(nxv32i8, ScalableVectorType::get(Type::getInt8Ty(Context), 32))
  GET_VT_EVT(nxv64i8, ScalableVectorType::get(Type::getInt8Ty(Context), 64))
  GET_VT_EVT(nxv1i16, ScalableVectorType::get(Type::getInt16Ty(Context), 1))
  GET_VT_EVT(nxv2i16, ScalableVectorType::get(Type::getInt16Ty(Context), 2))
  GET_VT_EVT(nxv4i16, ScalableVectorType::get(Type::getInt16Ty(Context), 4))
  GET_VT_EVT(nxv8i16, ScalableVectorType::get(Type::getInt16Ty(Context), 8))
  GET_VT_EVT(nxv16i16, ScalableVectorType::get(Type::getInt16Ty(Context), 16))
  GET_VT_EVT(nxv32i16, ScalableVectorType::get(Type::getInt16Ty(Context), 32))
  GET_VT_EVT(nxv1i32, ScalableVectorType::get(Type::getInt32Ty(Context), 1))
  GET_VT_EVT(nxv2i32, ScalableVectorType::get(Type::getInt32Ty(Context), 2))
  GET_VT_EVT(nxv4i32, ScalableVectorType::get(Type::getInt32Ty(Context), 4))
  GET_VT_EVT(nxv8i32, ScalableVectorType::get(Type::getInt32Ty(Context), 8))
  GET_VT_EVT(nxv16i32, ScalableVectorType::get(Type::getInt32Ty(Context), 16))
  GET_VT_EVT(nxv32i32, ScalableVectorType::get(Type::getInt32Ty(Context), 32))
  GET_VT_EVT(nxv1i64, ScalableVectorType::get(Type::getInt64Ty(Context), 1))
  GET_VT_EVT(nxv2i64, ScalableVectorType::get(Type::getInt64Ty(Context), 2))
  GET_VT_EVT(nxv4i64, ScalableVectorType::get(Type::getInt64Ty(Context), 4))
  GET_VT_EVT(nxv8i64, ScalableVectorType::get(Type::getInt64Ty(Context), 8))
  GET_VT_EVT(nxv16i64, ScalableVectorType::get(Type::getInt64Ty(Context), 16))
  GET_VT_EVT(nxv32i64, ScalableVectorType::get(Type::getInt64Ty(Context), 32))
  GET_VT_EVT(nxv1f16, ScalableVectorType::get(Type::getHalfTy(Context), 1))
  GET_VT_EVT(nxv2f16, ScalableVectorType::get(Type::getHalfTy(Context), 2))
  GET_VT_EVT(nxv4f16, ScalableVectorType::get(Type::getHalfTy(Context), 4))
  GET_VT_EVT(nxv8f16, ScalableVectorType::get(Type::getHalfTy(Context), 8))
  GET_VT_EVT(nxv16f16, ScalableVectorType::get(Type::getHalfTy(Context), 16))
  GET_VT_EVT(nxv32f16, ScalableVectorType::get(Type::getHalfTy(Context), 32))
  GET_VT_EVT(nxv1bf16, ScalableVectorType::get(Type::getBFloatTy(Context), 1))
  GET_VT_EVT(nxv2bf16, ScalableVectorType::get(Type::getBFloatTy(Context), 2))
  GET_VT_EVT(nxv4bf16, ScalableVectorType::get(Type::getBFloatTy(Context), 4))
  GET_VT_EVT(nxv8bf16, ScalableVectorType::get(Type::getBFloatTy(Context), 8))
  GET_VT_EVT(nxv16bf16, ScalableVectorType::get(Type::getBFloatTy(Context), 16))
  GET_VT_EVT(nxv32bf16, ScalableVectorType::get(Type::getBFloatTy(Context), 32))
  GET_VT_EVT(nxv1f32, ScalableVectorType::get(Type::getFloatTy(Context), 1))
  GET_VT_EVT(nxv2f32, ScalableVectorType::get(Type::getFloatTy(Context), 2))
  GET_VT_EVT(nxv4f32, ScalableVectorType::get(Type::getFloatTy(Context), 4))
  GET_VT_EVT(nxv8f32, ScalableVectorType::get(Type::getFloatTy(Context), 8))
  GET_VT_EVT(nxv16f32, ScalableVectorType::get(Type::getFloatTy(Context), 16))
  GET_VT_EVT(nxv1f64, ScalableVectorType::get(Type::getDoubleTy(Context), 1))
  GET_VT_EVT(nxv2f64, ScalableVectorType::get(Type::getDoubleTy(Context), 2))
  GET_VT_EVT(nxv4f64, ScalableVectorType::get(Type::getDoubleTy(Context), 4))
  GET_VT_EVT(nxv8f64, ScalableVectorType::get(Type::getDoubleTy(Context), 8))
  GET_VT_EVT(riscv_nxv1i8x2, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 1), 2))
  GET_VT_EVT(riscv_nxv1i8x3, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 1), 3))
  GET_VT_EVT(riscv_nxv1i8x4, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 1), 4))
  GET_VT_EVT(riscv_nxv1i8x5, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 1), 5))
  GET_VT_EVT(riscv_nxv1i8x6, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 1), 6))
  GET_VT_EVT(riscv_nxv1i8x7, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 1), 7))
  GET_VT_EVT(riscv_nxv1i8x8, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 1), 8))
  GET_VT_EVT(riscv_nxv2i8x2, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 2), 2))
  GET_VT_EVT(riscv_nxv2i8x3, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 2), 3))
  GET_VT_EVT(riscv_nxv2i8x4, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 2), 4))
  GET_VT_EVT(riscv_nxv2i8x5, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 2), 5))
  GET_VT_EVT(riscv_nxv2i8x6, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 2), 6))
  GET_VT_EVT(riscv_nxv2i8x7, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 2), 7))
  GET_VT_EVT(riscv_nxv2i8x8, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 2), 8))
  GET_VT_EVT(riscv_nxv4i8x2, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 4), 2))
  GET_VT_EVT(riscv_nxv4i8x3, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 4), 3))
  GET_VT_EVT(riscv_nxv4i8x4, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 4), 4))
  GET_VT_EVT(riscv_nxv4i8x5, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 4), 5))
  GET_VT_EVT(riscv_nxv4i8x6, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 4), 6))
  GET_VT_EVT(riscv_nxv4i8x7, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 4), 7))
  GET_VT_EVT(riscv_nxv4i8x8, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 4), 8))
  GET_VT_EVT(riscv_nxv8i8x2, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 8), 2))
  GET_VT_EVT(riscv_nxv8i8x3, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 8), 3))
  GET_VT_EVT(riscv_nxv8i8x4, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 8), 4))
  GET_VT_EVT(riscv_nxv8i8x5, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 8), 5))
  GET_VT_EVT(riscv_nxv8i8x6, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 8), 6))
  GET_VT_EVT(riscv_nxv8i8x7, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 8), 7))
  GET_VT_EVT(riscv_nxv8i8x8, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 8), 8))
  GET_VT_EVT(riscv_nxv16i8x2, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 16), 2))
  GET_VT_EVT(riscv_nxv16i8x3, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 16), 3))
  GET_VT_EVT(riscv_nxv16i8x4, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 16), 4))
  GET_VT_EVT(riscv_nxv32i8x2, TargetExtType::get(Context, "riscv.vector.tuple", ScalableVectorType::get(Type::getInt8Ty(Context), 32), 2))
#endif

