# System.Runtime.Intrinsics.Arm

``` diff
 namespace System.Runtime.Intrinsics.Arm {
     [CLSCompliantAttribute(false)]
     public abstract class AdvSimd : ArmBase {
-        public static Vector128<byte> DuplicateSelectedScalarToVector128(Vector128<byte> value, byte index);
+        public static Vector128<byte> DuplicateSelectedScalarToVector128(Vector128<byte> value, [ConstantExpectedAttribute(Max=(byte)15)] byte index);
-        public static Vector128<short> DuplicateSelectedScalarToVector128(Vector128<short> value, byte index);
+        public static Vector128<short> DuplicateSelectedScalarToVector128(Vector128<short> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static Vector128<int> DuplicateSelectedScalarToVector128(Vector128<int> value, byte index);
+        public static Vector128<int> DuplicateSelectedScalarToVector128(Vector128<int> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector128<sbyte> DuplicateSelectedScalarToVector128(Vector128<sbyte> value, byte index);
+        public static Vector128<sbyte> DuplicateSelectedScalarToVector128(Vector128<sbyte> value, [ConstantExpectedAttribute(Max=(byte)15)] byte index);
-        public static Vector128<float> DuplicateSelectedScalarToVector128(Vector128<float> value, byte index);
+        public static Vector128<float> DuplicateSelectedScalarToVector128(Vector128<float> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector128<ushort> DuplicateSelectedScalarToVector128(Vector128<ushort> value, byte index);
+        public static Vector128<ushort> DuplicateSelectedScalarToVector128(Vector128<ushort> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static Vector128<uint> DuplicateSelectedScalarToVector128(Vector128<uint> value, byte index);
+        public static Vector128<uint> DuplicateSelectedScalarToVector128(Vector128<uint> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector128<byte> DuplicateSelectedScalarToVector128(Vector64<byte> value, byte index);
+        public static Vector128<byte> DuplicateSelectedScalarToVector128(Vector64<byte> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static Vector128<short> DuplicateSelectedScalarToVector128(Vector64<short> value, byte index);
+        public static Vector128<short> DuplicateSelectedScalarToVector128(Vector64<short> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector128<int> DuplicateSelectedScalarToVector128(Vector64<int> value, byte index);
+        public static Vector128<int> DuplicateSelectedScalarToVector128(Vector64<int> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static Vector128<sbyte> DuplicateSelectedScalarToVector128(Vector64<sbyte> value, byte index);
+        public static Vector128<sbyte> DuplicateSelectedScalarToVector128(Vector64<sbyte> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static Vector128<float> DuplicateSelectedScalarToVector128(Vector64<float> value, byte index);
+        public static Vector128<float> DuplicateSelectedScalarToVector128(Vector64<float> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static Vector128<ushort> DuplicateSelectedScalarToVector128(Vector64<ushort> value, byte index);
+        public static Vector128<ushort> DuplicateSelectedScalarToVector128(Vector64<ushort> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector128<uint> DuplicateSelectedScalarToVector128(Vector64<uint> value, byte index);
+        public static Vector128<uint> DuplicateSelectedScalarToVector128(Vector64<uint> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static Vector64<byte> DuplicateSelectedScalarToVector64(Vector128<byte> value, byte index);
+        public static Vector64<byte> DuplicateSelectedScalarToVector64(Vector128<byte> value, [ConstantExpectedAttribute(Max=(byte)15)] byte index);
-        public static Vector64<short> DuplicateSelectedScalarToVector64(Vector128<short> value, byte index);
+        public static Vector64<short> DuplicateSelectedScalarToVector64(Vector128<short> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static Vector64<int> DuplicateSelectedScalarToVector64(Vector128<int> value, byte index);
+        public static Vector64<int> DuplicateSelectedScalarToVector64(Vector128<int> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector64<sbyte> DuplicateSelectedScalarToVector64(Vector128<sbyte> value, byte index);
+        public static Vector64<sbyte> DuplicateSelectedScalarToVector64(Vector128<sbyte> value, [ConstantExpectedAttribute(Max=(byte)15)] byte index);
-        public static Vector64<float> DuplicateSelectedScalarToVector64(Vector128<float> value, byte index);
+        public static Vector64<float> DuplicateSelectedScalarToVector64(Vector128<float> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector64<ushort> DuplicateSelectedScalarToVector64(Vector128<ushort> value, byte index);
+        public static Vector64<ushort> DuplicateSelectedScalarToVector64(Vector128<ushort> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static Vector64<uint> DuplicateSelectedScalarToVector64(Vector128<uint> value, byte index);
+        public static Vector64<uint> DuplicateSelectedScalarToVector64(Vector128<uint> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector64<byte> DuplicateSelectedScalarToVector64(Vector64<byte> value, byte index);
+        public static Vector64<byte> DuplicateSelectedScalarToVector64(Vector64<byte> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static Vector64<short> DuplicateSelectedScalarToVector64(Vector64<short> value, byte index);
+        public static Vector64<short> DuplicateSelectedScalarToVector64(Vector64<short> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector64<int> DuplicateSelectedScalarToVector64(Vector64<int> value, byte index);
+        public static Vector64<int> DuplicateSelectedScalarToVector64(Vector64<int> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static Vector64<sbyte> DuplicateSelectedScalarToVector64(Vector64<sbyte> value, byte index);
+        public static Vector64<sbyte> DuplicateSelectedScalarToVector64(Vector64<sbyte> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static Vector64<float> DuplicateSelectedScalarToVector64(Vector64<float> value, byte index);
+        public static Vector64<float> DuplicateSelectedScalarToVector64(Vector64<float> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static Vector64<ushort> DuplicateSelectedScalarToVector64(Vector64<ushort> value, byte index);
+        public static Vector64<ushort> DuplicateSelectedScalarToVector64(Vector64<ushort> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector64<uint> DuplicateSelectedScalarToVector64(Vector64<uint> value, byte index);
+        public static Vector64<uint> DuplicateSelectedScalarToVector64(Vector64<uint> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static byte Extract(Vector128<byte> vector, byte index);
+        public static byte Extract(Vector128<byte> vector, [ConstantExpectedAttribute(Max=(byte)15)] byte index);
-        public static double Extract(Vector128<double> vector, byte index);
+        public static double Extract(Vector128<double> vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static short Extract(Vector128<short> vector, byte index);
+        public static short Extract(Vector128<short> vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static int Extract(Vector128<int> vector, byte index);
+        public static int Extract(Vector128<int> vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static long Extract(Vector128<long> vector, byte index);
+        public static long Extract(Vector128<long> vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static sbyte Extract(Vector128<sbyte> vector, byte index);
+        public static sbyte Extract(Vector128<sbyte> vector, [ConstantExpectedAttribute(Max=(byte)15)] byte index);
-        public static float Extract(Vector128<float> vector, byte index);
+        public static float Extract(Vector128<float> vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static ushort Extract(Vector128<ushort> vector, byte index);
+        public static ushort Extract(Vector128<ushort> vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static uint Extract(Vector128<uint> vector, byte index);
+        public static uint Extract(Vector128<uint> vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static ulong Extract(Vector128<ulong> vector, byte index);
+        public static ulong Extract(Vector128<ulong> vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static byte Extract(Vector64<byte> vector, byte index);
+        public static byte Extract(Vector64<byte> vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static short Extract(Vector64<short> vector, byte index);
+        public static short Extract(Vector64<short> vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static int Extract(Vector64<int> vector, byte index);
+        public static int Extract(Vector64<int> vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static sbyte Extract(Vector64<sbyte> vector, byte index);
+        public static sbyte Extract(Vector64<sbyte> vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static float Extract(Vector64<float> vector, byte index);
+        public static float Extract(Vector64<float> vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static ushort Extract(Vector64<ushort> vector, byte index);
+        public static ushort Extract(Vector64<ushort> vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static uint Extract(Vector64<uint> vector, byte index);
+        public static uint Extract(Vector64<uint> vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static Vector128<byte> ExtractVector128(Vector128<byte> upper, Vector128<byte> lower, byte index);
+        public static Vector128<byte> ExtractVector128(Vector128<byte> upper, Vector128<byte> lower, [ConstantExpectedAttribute(Max=(byte)15)] byte index);
-        public static Vector128<double> ExtractVector128(Vector128<double> upper, Vector128<double> lower, byte index);
+        public static Vector128<double> ExtractVector128(Vector128<double> upper, Vector128<double> lower, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static Vector128<short> ExtractVector128(Vector128<short> upper, Vector128<short> lower, byte index);
+        public static Vector128<short> ExtractVector128(Vector128<short> upper, Vector128<short> lower, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static Vector128<int> ExtractVector128(Vector128<int> upper, Vector128<int> lower, byte index);
+        public static Vector128<int> ExtractVector128(Vector128<int> upper, Vector128<int> lower, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector128<long> ExtractVector128(Vector128<long> upper, Vector128<long> lower, byte index);
+        public static Vector128<long> ExtractVector128(Vector128<long> upper, Vector128<long> lower, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static Vector128<sbyte> ExtractVector128(Vector128<sbyte> upper, Vector128<sbyte> lower, byte index);
+        public static Vector128<sbyte> ExtractVector128(Vector128<sbyte> upper, Vector128<sbyte> lower, [ConstantExpectedAttribute(Max=(byte)15)] byte index);
-        public static Vector128<float> ExtractVector128(Vector128<float> upper, Vector128<float> lower, byte index);
+        public static Vector128<float> ExtractVector128(Vector128<float> upper, Vector128<float> lower, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector128<ushort> ExtractVector128(Vector128<ushort> upper, Vector128<ushort> lower, byte index);
+        public static Vector128<ushort> ExtractVector128(Vector128<ushort> upper, Vector128<ushort> lower, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static Vector128<uint> ExtractVector128(Vector128<uint> upper, Vector128<uint> lower, byte index);
+        public static Vector128<uint> ExtractVector128(Vector128<uint> upper, Vector128<uint> lower, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector128<ulong> ExtractVector128(Vector128<ulong> upper, Vector128<ulong> lower, byte index);
+        public static Vector128<ulong> ExtractVector128(Vector128<ulong> upper, Vector128<ulong> lower, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static Vector64<byte> ExtractVector64(Vector64<byte> upper, Vector64<byte> lower, byte index);
+        public static Vector64<byte> ExtractVector64(Vector64<byte> upper, Vector64<byte> lower, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static Vector64<short> ExtractVector64(Vector64<short> upper, Vector64<short> lower, byte index);
+        public static Vector64<short> ExtractVector64(Vector64<short> upper, Vector64<short> lower, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector64<int> ExtractVector64(Vector64<int> upper, Vector64<int> lower, byte index);
+        public static Vector64<int> ExtractVector64(Vector64<int> upper, Vector64<int> lower, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static Vector64<sbyte> ExtractVector64(Vector64<sbyte> upper, Vector64<sbyte> lower, byte index);
+        public static Vector64<sbyte> ExtractVector64(Vector64<sbyte> upper, Vector64<sbyte> lower, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public static Vector64<float> ExtractVector64(Vector64<float> upper, Vector64<float> lower, byte index);
+        public static Vector64<float> ExtractVector64(Vector64<float> upper, Vector64<float> lower, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static Vector64<ushort> ExtractVector64(Vector64<ushort> upper, Vector64<ushort> lower, byte index);
+        public static Vector64<ushort> ExtractVector64(Vector64<ushort> upper, Vector64<ushort> lower, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public static Vector64<uint> ExtractVector64(Vector64<uint> upper, Vector64<uint> lower, byte index);
+        public static Vector64<uint> ExtractVector64(Vector64<uint> upper, Vector64<uint> lower, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public static Vector128<byte> Insert(Vector128<byte> vector, byte index, byte data);
+        public static Vector128<byte> Insert(Vector128<byte> vector, [ConstantExpectedAttribute(Max=(byte)15)] byte index, byte data);
-        public static Vector128<double> Insert(Vector128<double> vector, byte index, double data);
+        public static Vector128<double> Insert(Vector128<double> vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index, double data);
-        public static Vector128<short> Insert(Vector128<short> vector, byte index, short data);
+        public static Vector128<short> Insert(Vector128<short> vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index, short data);
-        public static Vector128<int> Insert(Vector128<int> vector, byte index, int data);
+        public static Vector128<int> Insert(Vector128<int> vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index, int data);
-        public static Vector128<long> Insert(Vector128<long> vector, byte index, long data);
+        public static Vector128<long> Insert(Vector128<long> vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index, long data);
-        public static Vector128<sbyte> Insert(Vector128<sbyte> vector, byte index, sbyte data);
+        public static Vector128<sbyte> Insert(Vector128<sbyte> vector, [ConstantExpectedAttribute(Max=(byte)15)] byte index, sbyte data);
-        public static Vector128<float> Insert(Vector128<float> vector, byte index, float data);
+        public static Vector128<float> Insert(Vector128<float> vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index, float data);
-        public static Vector128<ushort> Insert(Vector128<ushort> vector, byte index, ushort data);
+        public static Vector128<ushort> Insert(Vector128<ushort> vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index, ushort data);
-        public static Vector128<uint> Insert(Vector128<uint> vector, byte index, uint data);
+        public static Vector128<uint> Insert(Vector128<uint> vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index, uint data);
-        public static Vector128<ulong> Insert(Vector128<ulong> vector, byte index, ulong data);
+        public static Vector128<ulong> Insert(Vector128<ulong> vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index, ulong data);
-        public static Vector64<byte> Insert(Vector64<byte> vector, byte index, byte data);
+        public static Vector64<byte> Insert(Vector64<byte> vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index, byte data);
-        public static Vector64<short> Insert(Vector64<short> vector, byte index, short data);
+        public static Vector64<short> Insert(Vector64<short> vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index, short data);
-        public static Vector64<int> Insert(Vector64<int> vector, byte index, int data);
+        public static Vector64<int> Insert(Vector64<int> vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index, int data);
-        public static Vector64<sbyte> Insert(Vector64<sbyte> vector, byte index, sbyte data);
+        public static Vector64<sbyte> Insert(Vector64<sbyte> vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index, sbyte data);
-        public static Vector64<float> Insert(Vector64<float> vector, byte index, float data);
+        public static Vector64<float> Insert(Vector64<float> vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index, float data);
-        public static Vector64<ushort> Insert(Vector64<ushort> vector, byte index, ushort data);
+        public static Vector64<ushort> Insert(Vector64<ushort> vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index, ushort data);
-        public static Vector64<uint> Insert(Vector64<uint> vector, byte index, uint data);
+        public static Vector64<uint> Insert(Vector64<uint> vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index, uint data);
-        public static Vector128<double> InsertScalar(Vector128<double> result, byte resultIndex, Vector64<double> value);
+        public static Vector128<double> InsertScalar(Vector128<double> result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector64<double> value);
-        public static Vector128<long> InsertScalar(Vector128<long> result, byte resultIndex, Vector64<long> value);
+        public static Vector128<long> InsertScalar(Vector128<long> result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector64<long> value);
-        public static Vector128<ulong> InsertScalar(Vector128<ulong> result, byte resultIndex, Vector64<ulong> value);
+        public static Vector128<ulong> InsertScalar(Vector128<ulong> result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector64<ulong> value);
-        public unsafe static Vector128<byte> LoadAndInsertScalar(Vector128<byte> value, byte index, byte* address);
+        public unsafe static Vector128<byte> LoadAndInsertScalar(Vector128<byte> value, [ConstantExpectedAttribute(Max=(byte)15)] byte index, byte* address);
-        public unsafe static Vector128<double> LoadAndInsertScalar(Vector128<double> value, byte index, double* address);
+        public unsafe static Vector128<double> LoadAndInsertScalar(Vector128<double> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index, double* address);
-        public unsafe static Vector128<short> LoadAndInsertScalar(Vector128<short> value, byte index, short* address);
+        public unsafe static Vector128<short> LoadAndInsertScalar(Vector128<short> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index, short* address);
-        public unsafe static Vector128<int> LoadAndInsertScalar(Vector128<int> value, byte index, int* address);
+        public unsafe static Vector128<int> LoadAndInsertScalar(Vector128<int> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index, int* address);
-        public unsafe static Vector128<long> LoadAndInsertScalar(Vector128<long> value, byte index, long* address);
+        public unsafe static Vector128<long> LoadAndInsertScalar(Vector128<long> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index, long* address);
-        public unsafe static Vector128<sbyte> LoadAndInsertScalar(Vector128<sbyte> value, byte index, sbyte* address);
+        public unsafe static Vector128<sbyte> LoadAndInsertScalar(Vector128<sbyte> value, [ConstantExpectedAttribute(Max=(byte)15)] byte index, sbyte* address);
-        public unsafe static Vector128<float> LoadAndInsertScalar(Vector128<float> value, byte index, float* address);
+        public unsafe static Vector128<float> LoadAndInsertScalar(Vector128<float> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index, float* address);
-        public unsafe static Vector128<ushort> LoadAndInsertScalar(Vector128<ushort> value, byte index, ushort* address);
+        public unsafe static Vector128<ushort> LoadAndInsertScalar(Vector128<ushort> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index, ushort* address);
-        public unsafe static Vector128<uint> LoadAndInsertScalar(Vector128<uint> value, byte index, uint* address);
+        public unsafe static Vector128<uint> LoadAndInsertScalar(Vector128<uint> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index, uint* address);
-        public unsafe static Vector128<ulong> LoadAndInsertScalar(Vector128<ulong> value, byte index, ulong* address);
+        public unsafe static Vector128<ulong> LoadAndInsertScalar(Vector128<ulong> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index, ulong* address);
-        public unsafe static Vector64<byte> LoadAndInsertScalar(Vector64<byte> value, byte index, byte* address);
+        public unsafe static Vector64<byte> LoadAndInsertScalar(Vector64<byte> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index, byte* address);
-        public unsafe static Vector64<short> LoadAndInsertScalar(Vector64<short> value, byte index, short* address);
+        public unsafe static Vector64<short> LoadAndInsertScalar(Vector64<short> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index, short* address);
-        public unsafe static Vector64<int> LoadAndInsertScalar(Vector64<int> value, byte index, int* address);
+        public unsafe static Vector64<int> LoadAndInsertScalar(Vector64<int> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index, int* address);
-        public unsafe static Vector64<sbyte> LoadAndInsertScalar(Vector64<sbyte> value, byte index, sbyte* address);
+        public unsafe static Vector64<sbyte> LoadAndInsertScalar(Vector64<sbyte> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index, sbyte* address);
-        public unsafe static Vector64<float> LoadAndInsertScalar(Vector64<float> value, byte index, float* address);
+        public unsafe static Vector64<float> LoadAndInsertScalar(Vector64<float> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index, float* address);
-        public unsafe static Vector64<ushort> LoadAndInsertScalar(Vector64<ushort> value, byte index, ushort* address);
+        public unsafe static Vector64<ushort> LoadAndInsertScalar(Vector64<ushort> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index, ushort* address);
-        public unsafe static Vector64<uint> LoadAndInsertScalar(Vector64<uint> value, byte index, uint* address);
+        public unsafe static Vector64<uint> LoadAndInsertScalar(Vector64<uint> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index, uint* address);
-        public static Vector128<short> MultiplyAddBySelectedScalar(Vector128<short> addend, Vector128<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<short> MultiplyAddBySelectedScalar(Vector128<short> addend, Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<short> MultiplyAddBySelectedScalar(Vector128<short> addend, Vector128<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<short> MultiplyAddBySelectedScalar(Vector128<short> addend, Vector128<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplyAddBySelectedScalar(Vector128<int> addend, Vector128<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<int> MultiplyAddBySelectedScalar(Vector128<int> addend, Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplyAddBySelectedScalar(Vector128<int> addend, Vector128<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<int> MultiplyAddBySelectedScalar(Vector128<int> addend, Vector128<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<ushort> MultiplyAddBySelectedScalar(Vector128<ushort> addend, Vector128<ushort> left, Vector128<ushort> right, byte rightIndex);
+        public static Vector128<ushort> MultiplyAddBySelectedScalar(Vector128<ushort> addend, Vector128<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<ushort> MultiplyAddBySelectedScalar(Vector128<ushort> addend, Vector128<ushort> left, Vector64<ushort> right, byte rightIndex);
+        public static Vector128<ushort> MultiplyAddBySelectedScalar(Vector128<ushort> addend, Vector128<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<uint> MultiplyAddBySelectedScalar(Vector128<uint> addend, Vector128<uint> left, Vector128<uint> right, byte rightIndex);
+        public static Vector128<uint> MultiplyAddBySelectedScalar(Vector128<uint> addend, Vector128<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<uint> MultiplyAddBySelectedScalar(Vector128<uint> addend, Vector128<uint> left, Vector64<uint> right, byte rightIndex);
+        public static Vector128<uint> MultiplyAddBySelectedScalar(Vector128<uint> addend, Vector128<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector64<short> MultiplyAddBySelectedScalar(Vector64<short> addend, Vector64<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector64<short> MultiplyAddBySelectedScalar(Vector64<short> addend, Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector64<short> MultiplyAddBySelectedScalar(Vector64<short> addend, Vector64<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector64<short> MultiplyAddBySelectedScalar(Vector64<short> addend, Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplyAddBySelectedScalar(Vector64<int> addend, Vector64<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector64<int> MultiplyAddBySelectedScalar(Vector64<int> addend, Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplyAddBySelectedScalar(Vector64<int> addend, Vector64<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector64<int> MultiplyAddBySelectedScalar(Vector64<int> addend, Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector64<ushort> MultiplyAddBySelectedScalar(Vector64<ushort> addend, Vector64<ushort> left, Vector128<ushort> right, byte rightIndex);
+        public static Vector64<ushort> MultiplyAddBySelectedScalar(Vector64<ushort> addend, Vector64<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector64<ushort> MultiplyAddBySelectedScalar(Vector64<ushort> addend, Vector64<ushort> left, Vector64<ushort> right, byte rightIndex);
+        public static Vector64<ushort> MultiplyAddBySelectedScalar(Vector64<ushort> addend, Vector64<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<uint> MultiplyAddBySelectedScalar(Vector64<uint> addend, Vector64<uint> left, Vector128<uint> right, byte rightIndex);
+        public static Vector64<uint> MultiplyAddBySelectedScalar(Vector64<uint> addend, Vector64<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<uint> MultiplyAddBySelectedScalar(Vector64<uint> addend, Vector64<uint> left, Vector64<uint> right, byte rightIndex);
+        public static Vector64<uint> MultiplyAddBySelectedScalar(Vector64<uint> addend, Vector64<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<short> MultiplyBySelectedScalar(Vector128<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<short> MultiplyBySelectedScalar(Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<short> MultiplyBySelectedScalar(Vector128<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<short> MultiplyBySelectedScalar(Vector128<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalar(Vector128<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalar(Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalar(Vector128<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalar(Vector128<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<float> MultiplyBySelectedScalar(Vector128<float> left, Vector128<float> right, byte rightIndex);
+        public static Vector128<float> MultiplyBySelectedScalar(Vector128<float> left, Vector128<float> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<float> MultiplyBySelectedScalar(Vector128<float> left, Vector64<float> right, byte rightIndex);
+        public static Vector128<float> MultiplyBySelectedScalar(Vector128<float> left, Vector64<float> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<ushort> MultiplyBySelectedScalar(Vector128<ushort> left, Vector128<ushort> right, byte rightIndex);
+        public static Vector128<ushort> MultiplyBySelectedScalar(Vector128<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<ushort> MultiplyBySelectedScalar(Vector128<ushort> left, Vector64<ushort> right, byte rightIndex);
+        public static Vector128<ushort> MultiplyBySelectedScalar(Vector128<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalar(Vector128<uint> left, Vector128<uint> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalar(Vector128<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalar(Vector128<uint> left, Vector64<uint> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalar(Vector128<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector64<short> MultiplyBySelectedScalar(Vector64<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector64<short> MultiplyBySelectedScalar(Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector64<short> MultiplyBySelectedScalar(Vector64<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector64<short> MultiplyBySelectedScalar(Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplyBySelectedScalar(Vector64<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector64<int> MultiplyBySelectedScalar(Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplyBySelectedScalar(Vector64<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector64<int> MultiplyBySelectedScalar(Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector64<float> MultiplyBySelectedScalar(Vector64<float> left, Vector128<float> right, byte rightIndex);
+        public static Vector64<float> MultiplyBySelectedScalar(Vector64<float> left, Vector128<float> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<float> MultiplyBySelectedScalar(Vector64<float> left, Vector64<float> right, byte rightIndex);
+        public static Vector64<float> MultiplyBySelectedScalar(Vector64<float> left, Vector64<float> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector64<ushort> MultiplyBySelectedScalar(Vector64<ushort> left, Vector128<ushort> right, byte rightIndex);
+        public static Vector64<ushort> MultiplyBySelectedScalar(Vector64<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector64<ushort> MultiplyBySelectedScalar(Vector64<ushort> left, Vector64<ushort> right, byte rightIndex);
+        public static Vector64<ushort> MultiplyBySelectedScalar(Vector64<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<uint> MultiplyBySelectedScalar(Vector64<uint> left, Vector128<uint> right, byte rightIndex);
+        public static Vector64<uint> MultiplyBySelectedScalar(Vector64<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<uint> MultiplyBySelectedScalar(Vector64<uint> left, Vector64<uint> right, byte rightIndex);
+        public static Vector64<uint> MultiplyBySelectedScalar(Vector64<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalarWideningLower(Vector64<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalarWideningLower(Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalarWideningLower(Vector64<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalarWideningLower(Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyBySelectedScalarWideningLower(Vector64<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyBySelectedScalarWideningLower(Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyBySelectedScalarWideningLower(Vector64<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyBySelectedScalarWideningLower(Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalarWideningLower(Vector64<ushort> left, Vector128<ushort> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalarWideningLower(Vector64<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalarWideningLower(Vector64<ushort> left, Vector64<ushort> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalarWideningLower(Vector64<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<ulong> MultiplyBySelectedScalarWideningLower(Vector64<uint> left, Vector128<uint> right, byte rightIndex);
+        public static Vector128<ulong> MultiplyBySelectedScalarWideningLower(Vector64<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<ulong> MultiplyBySelectedScalarWideningLower(Vector64<uint> left, Vector64<uint> right, byte rightIndex);
+        public static Vector128<ulong> MultiplyBySelectedScalarWideningLower(Vector64<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<int> addend, Vector64<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<int> addend, Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<int> addend, Vector64<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<int> addend, Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<long> addend, Vector64<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<long> addend, Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<long> addend, Vector64<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<long> addend, Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<uint> addend, Vector64<ushort> left, Vector128<ushort> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<uint> addend, Vector64<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<uint> addend, Vector64<ushort> left, Vector64<ushort> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<uint> addend, Vector64<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<ulong> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<ulong> addend, Vector64<uint> left, Vector128<uint> right, byte rightIndex);
+        public static Vector128<ulong> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<ulong> addend, Vector64<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<ulong> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<ulong> addend, Vector64<uint> left, Vector64<uint> right, byte rightIndex);
+        public static Vector128<ulong> MultiplyBySelectedScalarWideningLowerAndAdd(Vector128<ulong> addend, Vector64<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<int> minuend, Vector64<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<int> minuend, Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<int> minuend, Vector64<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<int> minuend, Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<long> minuend, Vector64<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<long> minuend, Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<long> minuend, Vector64<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<long> minuend, Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<uint> minuend, Vector64<ushort> left, Vector128<ushort> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<uint> minuend, Vector64<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<uint> minuend, Vector64<ushort> left, Vector64<ushort> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<uint> minuend, Vector64<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<ulong> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<ulong> minuend, Vector64<uint> left, Vector128<uint> right, byte rightIndex);
+        public static Vector128<ulong> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<ulong> minuend, Vector64<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<ulong> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<ulong> minuend, Vector64<uint> left, Vector64<uint> right, byte rightIndex);
+        public static Vector128<ulong> MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128<ulong> minuend, Vector64<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalarWideningUpper(Vector128<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalarWideningUpper(Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalarWideningUpper(Vector128<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalarWideningUpper(Vector128<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyBySelectedScalarWideningUpper(Vector128<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyBySelectedScalarWideningUpper(Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyBySelectedScalarWideningUpper(Vector128<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyBySelectedScalarWideningUpper(Vector128<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalarWideningUpper(Vector128<ushort> left, Vector128<ushort> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalarWideningUpper(Vector128<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalarWideningUpper(Vector128<ushort> left, Vector64<ushort> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalarWideningUpper(Vector128<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<ulong> MultiplyBySelectedScalarWideningUpper(Vector128<uint> left, Vector128<uint> right, byte rightIndex);
+        public static Vector128<ulong> MultiplyBySelectedScalarWideningUpper(Vector128<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<ulong> MultiplyBySelectedScalarWideningUpper(Vector128<uint> left, Vector64<uint> right, byte rightIndex);
+        public static Vector128<ulong> MultiplyBySelectedScalarWideningUpper(Vector128<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<int> addend, Vector128<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<int> addend, Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<int> addend, Vector128<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<int> addend, Vector128<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<long> addend, Vector128<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<long> addend, Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<long> addend, Vector128<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<long> addend, Vector128<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<uint> addend, Vector128<ushort> left, Vector128<ushort> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<uint> addend, Vector128<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<uint> addend, Vector128<ushort> left, Vector64<ushort> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<uint> addend, Vector128<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<ulong> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<ulong> addend, Vector128<uint> left, Vector128<uint> right, byte rightIndex);
+        public static Vector128<ulong> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<ulong> addend, Vector128<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<ulong> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<ulong> addend, Vector128<uint> left, Vector64<uint> right, byte rightIndex);
+        public static Vector128<ulong> MultiplyBySelectedScalarWideningUpperAndAdd(Vector128<ulong> addend, Vector128<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<int> minuend, Vector128<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<int> minuend, Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<int> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<int> minuend, Vector128<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<int> minuend, Vector128<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<long> minuend, Vector128<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<long> minuend, Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<long> minuend, Vector128<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<long> minuend, Vector128<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<uint> minuend, Vector128<ushort> left, Vector128<ushort> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<uint> minuend, Vector128<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<uint> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<uint> minuend, Vector128<ushort> left, Vector64<ushort> right, byte rightIndex);
+        public static Vector128<uint> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<uint> minuend, Vector128<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<ulong> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<ulong> minuend, Vector128<uint> left, Vector128<uint> right, byte rightIndex);
+        public static Vector128<ulong> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<ulong> minuend, Vector128<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<ulong> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<ulong> minuend, Vector128<uint> left, Vector64<uint> right, byte rightIndex);
+        public static Vector128<ulong> MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128<ulong> minuend, Vector128<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<short> MultiplyDoublingBySelectedScalarSaturateHigh(Vector128<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<short> MultiplyDoublingBySelectedScalarSaturateHigh(Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<short> MultiplyDoublingBySelectedScalarSaturateHigh(Vector128<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<short> MultiplyDoublingBySelectedScalarSaturateHigh(Vector128<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingBySelectedScalarSaturateHigh(Vector128<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingBySelectedScalarSaturateHigh(Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingBySelectedScalarSaturateHigh(Vector128<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingBySelectedScalarSaturateHigh(Vector128<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector64<short> MultiplyDoublingBySelectedScalarSaturateHigh(Vector64<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector64<short> MultiplyDoublingBySelectedScalarSaturateHigh(Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector64<short> MultiplyDoublingBySelectedScalarSaturateHigh(Vector64<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector64<short> MultiplyDoublingBySelectedScalarSaturateHigh(Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplyDoublingBySelectedScalarSaturateHigh(Vector64<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector64<int> MultiplyDoublingBySelectedScalarSaturateHigh(Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplyDoublingBySelectedScalarSaturateHigh(Vector64<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector64<int> MultiplyDoublingBySelectedScalarSaturateHigh(Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128<int> addend, Vector64<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128<int> addend, Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128<int> addend, Vector64<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128<int> addend, Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128<long> addend, Vector64<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128<long> addend, Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128<long> addend, Vector64<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128<long> addend, Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128<int> minuend, Vector64<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128<int> minuend, Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128<int> minuend, Vector64<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128<int> minuend, Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128<long> minuend, Vector64<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128<long> minuend, Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128<long> minuend, Vector64<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128<long> minuend, Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128<int> addend, Vector128<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128<int> addend, Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128<int> addend, Vector128<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128<int> addend, Vector128<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128<long> addend, Vector128<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128<long> addend, Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128<long> addend, Vector128<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128<long> addend, Vector128<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128<int> minuend, Vector128<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128<int> minuend, Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<int> MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128<int> minuend, Vector128<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<int> MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128<int> minuend, Vector128<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128<long> minuend, Vector128<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128<long> minuend, Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<long> MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128<long> minuend, Vector128<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<long> MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128<long> minuend, Vector128<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<short> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<short> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<short> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<short> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<int> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<int> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector64<short> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector64<short> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector64<short> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector64<short> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector64<int> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector64<int> MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector64<float> MultiplyScalarBySelectedScalar(Vector64<float> left, Vector128<float> right, byte rightIndex);
+        public static Vector64<float> MultiplyScalarBySelectedScalar(Vector64<float> left, Vector128<float> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<float> MultiplyScalarBySelectedScalar(Vector64<float> left, Vector64<float> right, byte rightIndex);
+        public static Vector64<float> MultiplyScalarBySelectedScalar(Vector64<float> left, Vector64<float> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<short> MultiplySubtractBySelectedScalar(Vector128<short> minuend, Vector128<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<short> MultiplySubtractBySelectedScalar(Vector128<short> minuend, Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<short> MultiplySubtractBySelectedScalar(Vector128<short> minuend, Vector128<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<short> MultiplySubtractBySelectedScalar(Vector128<short> minuend, Vector128<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplySubtractBySelectedScalar(Vector128<int> minuend, Vector128<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<int> MultiplySubtractBySelectedScalar(Vector128<int> minuend, Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplySubtractBySelectedScalar(Vector128<int> minuend, Vector128<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<int> MultiplySubtractBySelectedScalar(Vector128<int> minuend, Vector128<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<ushort> MultiplySubtractBySelectedScalar(Vector128<ushort> minuend, Vector128<ushort> left, Vector128<ushort> right, byte rightIndex);
+        public static Vector128<ushort> MultiplySubtractBySelectedScalar(Vector128<ushort> minuend, Vector128<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<ushort> MultiplySubtractBySelectedScalar(Vector128<ushort> minuend, Vector128<ushort> left, Vector64<ushort> right, byte rightIndex);
+        public static Vector128<ushort> MultiplySubtractBySelectedScalar(Vector128<ushort> minuend, Vector128<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<uint> MultiplySubtractBySelectedScalar(Vector128<uint> minuend, Vector128<uint> left, Vector128<uint> right, byte rightIndex);
+        public static Vector128<uint> MultiplySubtractBySelectedScalar(Vector128<uint> minuend, Vector128<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<uint> MultiplySubtractBySelectedScalar(Vector128<uint> minuend, Vector128<uint> left, Vector64<uint> right, byte rightIndex);
+        public static Vector128<uint> MultiplySubtractBySelectedScalar(Vector128<uint> minuend, Vector128<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector64<short> MultiplySubtractBySelectedScalar(Vector64<short> minuend, Vector64<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector64<short> MultiplySubtractBySelectedScalar(Vector64<short> minuend, Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector64<short> MultiplySubtractBySelectedScalar(Vector64<short> minuend, Vector64<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector64<short> MultiplySubtractBySelectedScalar(Vector64<short> minuend, Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplySubtractBySelectedScalar(Vector64<int> minuend, Vector64<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector64<int> MultiplySubtractBySelectedScalar(Vector64<int> minuend, Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplySubtractBySelectedScalar(Vector64<int> minuend, Vector64<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector64<int> MultiplySubtractBySelectedScalar(Vector64<int> minuend, Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector64<ushort> MultiplySubtractBySelectedScalar(Vector64<ushort> minuend, Vector64<ushort> left, Vector128<ushort> right, byte rightIndex);
+        public static Vector64<ushort> MultiplySubtractBySelectedScalar(Vector64<ushort> minuend, Vector64<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector64<ushort> MultiplySubtractBySelectedScalar(Vector64<ushort> minuend, Vector64<ushort> left, Vector64<ushort> right, byte rightIndex);
+        public static Vector64<ushort> MultiplySubtractBySelectedScalar(Vector64<ushort> minuend, Vector64<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<uint> MultiplySubtractBySelectedScalar(Vector64<uint> minuend, Vector64<uint> left, Vector128<uint> right, byte rightIndex);
+        public static Vector64<uint> MultiplySubtractBySelectedScalar(Vector64<uint> minuend, Vector64<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<uint> MultiplySubtractBySelectedScalar(Vector64<uint> minuend, Vector64<uint> left, Vector64<uint> right, byte rightIndex);
+        public static Vector64<uint> MultiplySubtractBySelectedScalar(Vector64<uint> minuend, Vector64<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<byte> ShiftLeftAndInsert(Vector128<byte> left, Vector128<byte> right, byte shift);
+        public static Vector128<byte> ShiftLeftAndInsert(Vector128<byte> left, Vector128<byte> right, [ConstantExpectedAttribute(Max=(byte)127)] byte shift);
-        public static Vector128<short> ShiftLeftAndInsert(Vector128<short> left, Vector128<short> right, byte shift);
+        public static Vector128<short> ShiftLeftAndInsert(Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)63)] byte shift);
-        public static Vector128<int> ShiftLeftAndInsert(Vector128<int> left, Vector128<int> right, byte shift);
+        public static Vector128<int> ShiftLeftAndInsert(Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)31)] byte shift);
-        public static Vector128<long> ShiftLeftAndInsert(Vector128<long> left, Vector128<long> right, byte shift);
+        public static Vector128<long> ShiftLeftAndInsert(Vector128<long> left, Vector128<long> right, [ConstantExpectedAttribute(Max=(byte)15)] byte shift);
-        public static Vector128<sbyte> ShiftLeftAndInsert(Vector128<sbyte> left, Vector128<sbyte> right, byte shift);
+        public static Vector128<sbyte> ShiftLeftAndInsert(Vector128<sbyte> left, Vector128<sbyte> right, [ConstantExpectedAttribute(Max=(byte)127)] byte shift);
-        public static Vector128<ushort> ShiftLeftAndInsert(Vector128<ushort> left, Vector128<ushort> right, byte shift);
+        public static Vector128<ushort> ShiftLeftAndInsert(Vector128<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Max=(byte)63)] byte shift);
-        public static Vector128<uint> ShiftLeftAndInsert(Vector128<uint> left, Vector128<uint> right, byte shift);
+        public static Vector128<uint> ShiftLeftAndInsert(Vector128<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Max=(byte)31)] byte shift);
-        public static Vector128<ulong> ShiftLeftAndInsert(Vector128<ulong> left, Vector128<ulong> right, byte shift);
+        public static Vector128<ulong> ShiftLeftAndInsert(Vector128<ulong> left, Vector128<ulong> right, [ConstantExpectedAttribute(Max=(byte)15)] byte shift);
-        public static Vector64<byte> ShiftLeftAndInsert(Vector64<byte> left, Vector64<byte> right, byte shift);
+        public static Vector64<byte> ShiftLeftAndInsert(Vector64<byte> left, Vector64<byte> right, [ConstantExpectedAttribute(Max=(byte)63)] byte shift);
-        public static Vector64<short> ShiftLeftAndInsert(Vector64<short> left, Vector64<short> right, byte shift);
+        public static Vector64<short> ShiftLeftAndInsert(Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)31)] byte shift);
-        public static Vector64<int> ShiftLeftAndInsert(Vector64<int> left, Vector64<int> right, byte shift);
+        public static Vector64<int> ShiftLeftAndInsert(Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)15)] byte shift);
-        public static Vector64<sbyte> ShiftLeftAndInsert(Vector64<sbyte> left, Vector64<sbyte> right, byte shift);
+        public static Vector64<sbyte> ShiftLeftAndInsert(Vector64<sbyte> left, Vector64<sbyte> right, [ConstantExpectedAttribute(Max=(byte)63)] byte shift);
-        public static Vector64<ushort> ShiftLeftAndInsert(Vector64<ushort> left, Vector64<ushort> right, byte shift);
+        public static Vector64<ushort> ShiftLeftAndInsert(Vector64<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Max=(byte)31)] byte shift);
-        public static Vector64<uint> ShiftLeftAndInsert(Vector64<uint> left, Vector64<uint> right, byte shift);
+        public static Vector64<uint> ShiftLeftAndInsert(Vector64<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Max=(byte)15)] byte shift);
-        public static Vector64<long> ShiftLeftAndInsertScalar(Vector64<long> left, Vector64<long> right, byte shift);
+        public static Vector64<long> ShiftLeftAndInsertScalar(Vector64<long> left, Vector64<long> right, [ConstantExpectedAttribute(Max=(byte)7)] byte shift);
-        public static Vector64<ulong> ShiftLeftAndInsertScalar(Vector64<ulong> left, Vector64<ulong> right, byte shift);
+        public static Vector64<ulong> ShiftLeftAndInsertScalar(Vector64<ulong> left, Vector64<ulong> right, [ConstantExpectedAttribute(Max=(byte)7)] byte shift);
-        public static Vector128<byte> ShiftLeftLogical(Vector128<byte> value, byte count);
+        public static Vector128<byte> ShiftLeftLogical(Vector128<byte> value, [ConstantExpectedAttribute(Max=(byte)127)] byte count);
-        public static Vector128<short> ShiftLeftLogical(Vector128<short> value, byte count);
+        public static Vector128<short> ShiftLeftLogical(Vector128<short> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector128<long> ShiftLeftLogical(Vector128<long> value, byte count);
+        public static Vector128<long> ShiftLeftLogical(Vector128<long> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-        public static Vector128<sbyte> ShiftLeftLogical(Vector128<sbyte> value, byte count);
+        public static Vector128<sbyte> ShiftLeftLogical(Vector128<sbyte> value, [ConstantExpectedAttribute(Max=(byte)127)] byte count);
-        public static Vector128<ushort> ShiftLeftLogical(Vector128<ushort> value, byte count);
+        public static Vector128<ushort> ShiftLeftLogical(Vector128<ushort> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector128<uint> ShiftLeftLogical(Vector128<uint> value, byte count);
+        public static Vector128<uint> ShiftLeftLogical(Vector128<uint> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-        public static Vector128<ulong> ShiftLeftLogical(Vector128<ulong> value, byte count);
+        public static Vector128<ulong> ShiftLeftLogical(Vector128<ulong> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-        public static Vector64<byte> ShiftLeftLogical(Vector64<byte> value, byte count);
+        public static Vector64<byte> ShiftLeftLogical(Vector64<byte> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector64<short> ShiftLeftLogical(Vector64<short> value, byte count);
+        public static Vector64<short> ShiftLeftLogical(Vector64<short> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-        public static Vector64<int> ShiftLeftLogical(Vector64<int> value, byte count);
+        public static Vector64<int> ShiftLeftLogical(Vector64<int> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-        public static Vector64<sbyte> ShiftLeftLogical(Vector64<sbyte> value, byte count);
+        public static Vector64<sbyte> ShiftLeftLogical(Vector64<sbyte> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector64<ushort> ShiftLeftLogical(Vector64<ushort> value, byte count);
+        public static Vector64<ushort> ShiftLeftLogical(Vector64<ushort> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-        public static Vector64<uint> ShiftLeftLogical(Vector64<uint> value, byte count);
+        public static Vector64<uint> ShiftLeftLogical(Vector64<uint> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-        public static Vector128<byte> ShiftLeftLogicalSaturate(Vector128<byte> value, byte count);
+        public static Vector128<byte> ShiftLeftLogicalSaturate(Vector128<byte> value, [ConstantExpectedAttribute(Max=(byte)127)] byte count);
-        public static Vector128<short> ShiftLeftLogicalSaturate(Vector128<short> value, byte count);
+        public static Vector128<short> ShiftLeftLogicalSaturate(Vector128<short> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector128<int> ShiftLeftLogicalSaturate(Vector128<int> value, byte count);
+        public static Vector128<int> ShiftLeftLogicalSaturate(Vector128<int> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-        public static Vector128<long> ShiftLeftLogicalSaturate(Vector128<long> value, byte count);
+        public static Vector128<long> ShiftLeftLogicalSaturate(Vector128<long> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-        public static Vector128<sbyte> ShiftLeftLogicalSaturate(Vector128<sbyte> value, byte count);
+        public static Vector128<sbyte> ShiftLeftLogicalSaturate(Vector128<sbyte> value, [ConstantExpectedAttribute(Max=(byte)127)] byte count);
-        public static Vector128<ushort> ShiftLeftLogicalSaturate(Vector128<ushort> value, byte count);
+        public static Vector128<ushort> ShiftLeftLogicalSaturate(Vector128<ushort> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector128<uint> ShiftLeftLogicalSaturate(Vector128<uint> value, byte count);
+        public static Vector128<uint> ShiftLeftLogicalSaturate(Vector128<uint> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-        public static Vector128<ulong> ShiftLeftLogicalSaturate(Vector128<ulong> value, byte count);
+        public static Vector128<ulong> ShiftLeftLogicalSaturate(Vector128<ulong> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-        public static Vector64<byte> ShiftLeftLogicalSaturate(Vector64<byte> value, byte count);
+        public static Vector64<byte> ShiftLeftLogicalSaturate(Vector64<byte> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector64<short> ShiftLeftLogicalSaturate(Vector64<short> value, byte count);
+        public static Vector64<short> ShiftLeftLogicalSaturate(Vector64<short> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-        public static Vector64<int> ShiftLeftLogicalSaturate(Vector64<int> value, byte count);
+        public static Vector64<int> ShiftLeftLogicalSaturate(Vector64<int> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-        public static Vector64<sbyte> ShiftLeftLogicalSaturate(Vector64<sbyte> value, byte count);
+        public static Vector64<sbyte> ShiftLeftLogicalSaturate(Vector64<sbyte> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector64<ushort> ShiftLeftLogicalSaturate(Vector64<ushort> value, byte count);
+        public static Vector64<ushort> ShiftLeftLogicalSaturate(Vector64<ushort> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-        public static Vector64<uint> ShiftLeftLogicalSaturate(Vector64<uint> value, byte count);
+        public static Vector64<uint> ShiftLeftLogicalSaturate(Vector64<uint> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-        public static Vector64<long> ShiftLeftLogicalSaturateScalar(Vector64<long> value, byte count);
+        public static Vector64<long> ShiftLeftLogicalSaturateScalar(Vector64<long> value, [ConstantExpectedAttribute(Max=(byte)7)] byte count);
-        public static Vector64<ulong> ShiftLeftLogicalSaturateScalar(Vector64<ulong> value, byte count);
+        public static Vector64<ulong> ShiftLeftLogicalSaturateScalar(Vector64<ulong> value, [ConstantExpectedAttribute(Max=(byte)7)] byte count);
-        public static Vector128<ushort> ShiftLeftLogicalSaturateUnsigned(Vector128<short> value, byte count);
+        public static Vector128<ushort> ShiftLeftLogicalSaturateUnsigned(Vector128<short> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector128<uint> ShiftLeftLogicalSaturateUnsigned(Vector128<int> value, byte count);
+        public static Vector128<uint> ShiftLeftLogicalSaturateUnsigned(Vector128<int> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-        public static Vector128<ulong> ShiftLeftLogicalSaturateUnsigned(Vector128<long> value, byte count);
+        public static Vector128<ulong> ShiftLeftLogicalSaturateUnsigned(Vector128<long> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-        public static Vector128<byte> ShiftLeftLogicalSaturateUnsigned(Vector128<sbyte> value, byte count);
+        public static Vector128<byte> ShiftLeftLogicalSaturateUnsigned(Vector128<sbyte> value, [ConstantExpectedAttribute(Max=(byte)127)] byte count);
-        public static Vector64<ushort> ShiftLeftLogicalSaturateUnsigned(Vector64<short> value, byte count);
+        public static Vector64<ushort> ShiftLeftLogicalSaturateUnsigned(Vector64<short> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-        public static Vector64<uint> ShiftLeftLogicalSaturateUnsigned(Vector64<int> value, byte count);
+        public static Vector64<uint> ShiftLeftLogicalSaturateUnsigned(Vector64<int> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-        public static Vector64<byte> ShiftLeftLogicalSaturateUnsigned(Vector64<sbyte> value, byte count);
+        public static Vector64<byte> ShiftLeftLogicalSaturateUnsigned(Vector64<sbyte> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector64<ulong> ShiftLeftLogicalSaturateUnsignedScalar(Vector64<long> value, byte count);
+        public static Vector64<ulong> ShiftLeftLogicalSaturateUnsignedScalar(Vector64<long> value, [ConstantExpectedAttribute(Max=(byte)7)] byte count);
-        public static Vector64<long> ShiftLeftLogicalScalar(Vector64<long> value, byte count);
+        public static Vector64<long> ShiftLeftLogicalScalar(Vector64<long> value, [ConstantExpectedAttribute(Max=(byte)7)] byte count);
-        public static Vector64<ulong> ShiftLeftLogicalScalar(Vector64<ulong> value, byte count);
+        public static Vector64<ulong> ShiftLeftLogicalScalar(Vector64<ulong> value, [ConstantExpectedAttribute(Max=(byte)7)] byte count);
-        public static Vector128<ushort> ShiftLeftLogicalWideningLower(Vector64<byte> value, byte count);
+        public static Vector128<ushort> ShiftLeftLogicalWideningLower(Vector64<byte> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector128<int> ShiftLeftLogicalWideningLower(Vector64<short> value, byte count);
+        public static Vector128<int> ShiftLeftLogicalWideningLower(Vector64<short> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-        public static Vector128<long> ShiftLeftLogicalWideningLower(Vector64<int> value, byte count);
+        public static Vector128<long> ShiftLeftLogicalWideningLower(Vector64<int> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-        public static Vector128<short> ShiftLeftLogicalWideningLower(Vector64<sbyte> value, byte count);
+        public static Vector128<short> ShiftLeftLogicalWideningLower(Vector64<sbyte> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector128<uint> ShiftLeftLogicalWideningLower(Vector64<ushort> value, byte count);
+        public static Vector128<uint> ShiftLeftLogicalWideningLower(Vector64<ushort> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-        public static Vector128<ulong> ShiftLeftLogicalWideningLower(Vector64<uint> value, byte count);
+        public static Vector128<ulong> ShiftLeftLogicalWideningLower(Vector64<uint> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-        public static Vector128<ushort> ShiftLeftLogicalWideningUpper(Vector128<byte> value, byte count);
+        public static Vector128<ushort> ShiftLeftLogicalWideningUpper(Vector128<byte> value, [ConstantExpectedAttribute(Max=(byte)127)] byte count);
-        public static Vector128<int> ShiftLeftLogicalWideningUpper(Vector128<short> value, byte count);
+        public static Vector128<int> ShiftLeftLogicalWideningUpper(Vector128<short> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector128<long> ShiftLeftLogicalWideningUpper(Vector128<int> value, byte count);
+        public static Vector128<long> ShiftLeftLogicalWideningUpper(Vector128<int> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-        public static Vector128<short> ShiftLeftLogicalWideningUpper(Vector128<sbyte> value, byte count);
+        public static Vector128<short> ShiftLeftLogicalWideningUpper(Vector128<sbyte> value, [ConstantExpectedAttribute(Max=(byte)127)] byte count);
-        public static Vector128<uint> ShiftLeftLogicalWideningUpper(Vector128<ushort> value, byte count);
+        public static Vector128<uint> ShiftLeftLogicalWideningUpper(Vector128<ushort> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-        public static Vector128<ulong> ShiftLeftLogicalWideningUpper(Vector128<uint> value, byte count);
+        public static Vector128<ulong> ShiftLeftLogicalWideningUpper(Vector128<uint> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-        public static Vector128<byte> ShiftRightAndInsert(Vector128<byte> left, Vector128<byte> right, byte shift);
+        public static Vector128<byte> ShiftRightAndInsert(Vector128<byte> left, Vector128<byte> right, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte shift);
-        public static Vector128<short> ShiftRightAndInsert(Vector128<short> left, Vector128<short> right, byte shift);
+        public static Vector128<short> ShiftRightAndInsert(Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte shift);
-        public static Vector128<int> ShiftRightAndInsert(Vector128<int> left, Vector128<int> right, byte shift);
+        public static Vector128<int> ShiftRightAndInsert(Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte shift);
-        public static Vector128<long> ShiftRightAndInsert(Vector128<long> left, Vector128<long> right, byte shift);
+        public static Vector128<long> ShiftRightAndInsert(Vector128<long> left, Vector128<long> right, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte shift);
-        public static Vector128<sbyte> ShiftRightAndInsert(Vector128<sbyte> left, Vector128<sbyte> right, byte shift);
+        public static Vector128<sbyte> ShiftRightAndInsert(Vector128<sbyte> left, Vector128<sbyte> right, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte shift);
-        public static Vector128<ushort> ShiftRightAndInsert(Vector128<ushort> left, Vector128<ushort> right, byte shift);
+        public static Vector128<ushort> ShiftRightAndInsert(Vector128<ushort> left, Vector128<ushort> right, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte shift);
-        public static Vector128<uint> ShiftRightAndInsert(Vector128<uint> left, Vector128<uint> right, byte shift);
+        public static Vector128<uint> ShiftRightAndInsert(Vector128<uint> left, Vector128<uint> right, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte shift);
-        public static Vector128<ulong> ShiftRightAndInsert(Vector128<ulong> left, Vector128<ulong> right, byte shift);
+        public static Vector128<ulong> ShiftRightAndInsert(Vector128<ulong> left, Vector128<ulong> right, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte shift);
-        public static Vector64<byte> ShiftRightAndInsert(Vector64<byte> left, Vector64<byte> right, byte shift);
+        public static Vector64<byte> ShiftRightAndInsert(Vector64<byte> left, Vector64<byte> right, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte shift);
-        public static Vector64<short> ShiftRightAndInsert(Vector64<short> left, Vector64<short> right, byte shift);
+        public static Vector64<short> ShiftRightAndInsert(Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte shift);
-        public static Vector64<int> ShiftRightAndInsert(Vector64<int> left, Vector64<int> right, byte shift);
+        public static Vector64<int> ShiftRightAndInsert(Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte shift);
-        public static Vector64<sbyte> ShiftRightAndInsert(Vector64<sbyte> left, Vector64<sbyte> right, byte shift);
+        public static Vector64<sbyte> ShiftRightAndInsert(Vector64<sbyte> left, Vector64<sbyte> right, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte shift);
-        public static Vector64<ushort> ShiftRightAndInsert(Vector64<ushort> left, Vector64<ushort> right, byte shift);
+        public static Vector64<ushort> ShiftRightAndInsert(Vector64<ushort> left, Vector64<ushort> right, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte shift);
-        public static Vector64<uint> ShiftRightAndInsert(Vector64<uint> left, Vector64<uint> right, byte shift);
+        public static Vector64<uint> ShiftRightAndInsert(Vector64<uint> left, Vector64<uint> right, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte shift);
-        public static Vector64<long> ShiftRightAndInsertScalar(Vector64<long> left, Vector64<long> right, byte shift);
+        public static Vector64<long> ShiftRightAndInsertScalar(Vector64<long> left, Vector64<long> right, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte shift);
-        public static Vector64<ulong> ShiftRightAndInsertScalar(Vector64<ulong> left, Vector64<ulong> right, byte shift);
+        public static Vector64<ulong> ShiftRightAndInsertScalar(Vector64<ulong> left, Vector64<ulong> right, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte shift);
-        public static Vector128<short> ShiftRightArithmetic(Vector128<short> value, byte count);
+        public static Vector128<short> ShiftRightArithmetic(Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<int> ShiftRightArithmetic(Vector128<int> value, byte count);
+        public static Vector128<int> ShiftRightArithmetic(Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<long> ShiftRightArithmetic(Vector128<long> value, byte count);
+        public static Vector128<long> ShiftRightArithmetic(Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightArithmetic(Vector128<sbyte> value, byte count);
+        public static Vector128<sbyte> ShiftRightArithmetic(Vector128<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count);
-        public static Vector64<short> ShiftRightArithmetic(Vector64<short> value, byte count);
+        public static Vector64<short> ShiftRightArithmetic(Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightArithmetic(Vector64<int> value, byte count);
+        public static Vector64<int> ShiftRightArithmetic(Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<sbyte> ShiftRightArithmetic(Vector64<sbyte> value, byte count);
+        public static Vector64<sbyte> ShiftRightArithmetic(Vector64<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<short> ShiftRightArithmeticAdd(Vector128<short> addend, Vector128<short> value, byte count);
+        public static Vector128<short> ShiftRightArithmeticAdd(Vector128<short> addend, Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<int> ShiftRightArithmeticAdd(Vector128<int> addend, Vector128<int> value, byte count);
+        public static Vector128<int> ShiftRightArithmeticAdd(Vector128<int> addend, Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<long> ShiftRightArithmeticAdd(Vector128<long> addend, Vector128<long> value, byte count);
+        public static Vector128<long> ShiftRightArithmeticAdd(Vector128<long> addend, Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightArithmeticAdd(Vector128<sbyte> addend, Vector128<sbyte> value, byte count);
+        public static Vector128<sbyte> ShiftRightArithmeticAdd(Vector128<sbyte> addend, Vector128<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count);
-        public static Vector64<short> ShiftRightArithmeticAdd(Vector64<short> addend, Vector64<short> value, byte count);
+        public static Vector64<short> ShiftRightArithmeticAdd(Vector64<short> addend, Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightArithmeticAdd(Vector64<int> addend, Vector64<int> value, byte count);
+        public static Vector64<int> ShiftRightArithmeticAdd(Vector64<int> addend, Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<sbyte> ShiftRightArithmeticAdd(Vector64<sbyte> addend, Vector64<sbyte> value, byte count);
+        public static Vector64<sbyte> ShiftRightArithmeticAdd(Vector64<sbyte> addend, Vector64<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<long> ShiftRightArithmeticAddScalar(Vector64<long> addend, Vector64<long> value, byte count);
+        public static Vector64<long> ShiftRightArithmeticAddScalar(Vector64<long> addend, Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-        public static Vector64<sbyte> ShiftRightArithmeticNarrowingSaturateLower(Vector128<short> value, byte count);
+        public static Vector64<sbyte> ShiftRightArithmeticNarrowingSaturateLower(Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<short> ShiftRightArithmeticNarrowingSaturateLower(Vector128<int> value, byte count);
+        public static Vector64<short> ShiftRightArithmeticNarrowingSaturateLower(Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightArithmeticNarrowingSaturateLower(Vector128<long> value, byte count);
+        public static Vector64<int> ShiftRightArithmeticNarrowingSaturateLower(Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<byte> ShiftRightArithmeticNarrowingSaturateUnsignedLower(Vector128<short> value, byte count);
+        public static Vector64<byte> ShiftRightArithmeticNarrowingSaturateUnsignedLower(Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<ushort> ShiftRightArithmeticNarrowingSaturateUnsignedLower(Vector128<int> value, byte count);
+        public static Vector64<ushort> ShiftRightArithmeticNarrowingSaturateUnsignedLower(Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<uint> ShiftRightArithmeticNarrowingSaturateUnsignedLower(Vector128<long> value, byte count);
+        public static Vector64<uint> ShiftRightArithmeticNarrowingSaturateUnsignedLower(Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<byte> ShiftRightArithmeticNarrowingSaturateUnsignedUpper(Vector64<byte> lower, Vector128<short> value, byte count);
+        public static Vector128<byte> ShiftRightArithmeticNarrowingSaturateUnsignedUpper(Vector64<byte> lower, Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<ushort> ShiftRightArithmeticNarrowingSaturateUnsignedUpper(Vector64<ushort> lower, Vector128<int> value, byte count);
+        public static Vector128<ushort> ShiftRightArithmeticNarrowingSaturateUnsignedUpper(Vector64<ushort> lower, Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<uint> ShiftRightArithmeticNarrowingSaturateUnsignedUpper(Vector64<uint> lower, Vector128<long> value, byte count);
+        public static Vector128<uint> ShiftRightArithmeticNarrowingSaturateUnsignedUpper(Vector64<uint> lower, Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<short> ShiftRightArithmeticNarrowingSaturateUpper(Vector64<short> lower, Vector128<int> value, byte count);
+        public static Vector128<short> ShiftRightArithmeticNarrowingSaturateUpper(Vector64<short> lower, Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<int> ShiftRightArithmeticNarrowingSaturateUpper(Vector64<int> lower, Vector128<long> value, byte count);
+        public static Vector128<int> ShiftRightArithmeticNarrowingSaturateUpper(Vector64<int> lower, Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightArithmeticNarrowingSaturateUpper(Vector64<sbyte> lower, Vector128<short> value, byte count);
+        public static Vector128<sbyte> ShiftRightArithmeticNarrowingSaturateUpper(Vector64<sbyte> lower, Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<short> ShiftRightArithmeticRounded(Vector128<short> value, byte count);
+        public static Vector128<short> ShiftRightArithmeticRounded(Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<int> ShiftRightArithmeticRounded(Vector128<int> value, byte count);
+        public static Vector128<int> ShiftRightArithmeticRounded(Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<long> ShiftRightArithmeticRounded(Vector128<long> value, byte count);
+        public static Vector128<long> ShiftRightArithmeticRounded(Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightArithmeticRounded(Vector128<sbyte> value, byte count);
+        public static Vector128<sbyte> ShiftRightArithmeticRounded(Vector128<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count);
-        public static Vector64<short> ShiftRightArithmeticRounded(Vector64<short> value, byte count);
+        public static Vector64<short> ShiftRightArithmeticRounded(Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightArithmeticRounded(Vector64<int> value, byte count);
+        public static Vector64<int> ShiftRightArithmeticRounded(Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<sbyte> ShiftRightArithmeticRounded(Vector64<sbyte> value, byte count);
+        public static Vector64<sbyte> ShiftRightArithmeticRounded(Vector64<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<short> ShiftRightArithmeticRoundedAdd(Vector128<short> addend, Vector128<short> value, byte count);
+        public static Vector128<short> ShiftRightArithmeticRoundedAdd(Vector128<short> addend, Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<int> ShiftRightArithmeticRoundedAdd(Vector128<int> addend, Vector128<int> value, byte count);
+        public static Vector128<int> ShiftRightArithmeticRoundedAdd(Vector128<int> addend, Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<long> ShiftRightArithmeticRoundedAdd(Vector128<long> addend, Vector128<long> value, byte count);
+        public static Vector128<long> ShiftRightArithmeticRoundedAdd(Vector128<long> addend, Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightArithmeticRoundedAdd(Vector128<sbyte> addend, Vector128<sbyte> value, byte count);
+        public static Vector128<sbyte> ShiftRightArithmeticRoundedAdd(Vector128<sbyte> addend, Vector128<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count);
-        public static Vector64<short> ShiftRightArithmeticRoundedAdd(Vector64<short> addend, Vector64<short> value, byte count);
+        public static Vector64<short> ShiftRightArithmeticRoundedAdd(Vector64<short> addend, Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightArithmeticRoundedAdd(Vector64<int> addend, Vector64<int> value, byte count);
+        public static Vector64<int> ShiftRightArithmeticRoundedAdd(Vector64<int> addend, Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<sbyte> ShiftRightArithmeticRoundedAdd(Vector64<sbyte> addend, Vector64<sbyte> value, byte count);
+        public static Vector64<sbyte> ShiftRightArithmeticRoundedAdd(Vector64<sbyte> addend, Vector64<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<long> ShiftRightArithmeticRoundedAddScalar(Vector64<long> addend, Vector64<long> value, byte count);
+        public static Vector64<long> ShiftRightArithmeticRoundedAddScalar(Vector64<long> addend, Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-        public static Vector64<sbyte> ShiftRightArithmeticRoundedNarrowingSaturateLower(Vector128<short> value, byte count);
+        public static Vector64<sbyte> ShiftRightArithmeticRoundedNarrowingSaturateLower(Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<short> ShiftRightArithmeticRoundedNarrowingSaturateLower(Vector128<int> value, byte count);
+        public static Vector64<short> ShiftRightArithmeticRoundedNarrowingSaturateLower(Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightArithmeticRoundedNarrowingSaturateLower(Vector128<long> value, byte count);
+        public static Vector64<int> ShiftRightArithmeticRoundedNarrowingSaturateLower(Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<byte> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedLower(Vector128<short> value, byte count);
+        public static Vector64<byte> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedLower(Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<ushort> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedLower(Vector128<int> value, byte count);
+        public static Vector64<ushort> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedLower(Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<uint> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedLower(Vector128<long> value, byte count);
+        public static Vector64<uint> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedLower(Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<byte> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedUpper(Vector64<byte> lower, Vector128<short> value, byte count);
+        public static Vector128<byte> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedUpper(Vector64<byte> lower, Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<ushort> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedUpper(Vector64<ushort> lower, Vector128<int> value, byte count);
+        public static Vector128<ushort> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedUpper(Vector64<ushort> lower, Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<uint> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedUpper(Vector64<uint> lower, Vector128<long> value, byte count);
+        public static Vector128<uint> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedUpper(Vector64<uint> lower, Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<short> ShiftRightArithmeticRoundedNarrowingSaturateUpper(Vector64<short> lower, Vector128<int> value, byte count);
+        public static Vector128<short> ShiftRightArithmeticRoundedNarrowingSaturateUpper(Vector64<short> lower, Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<int> ShiftRightArithmeticRoundedNarrowingSaturateUpper(Vector64<int> lower, Vector128<long> value, byte count);
+        public static Vector128<int> ShiftRightArithmeticRoundedNarrowingSaturateUpper(Vector64<int> lower, Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightArithmeticRoundedNarrowingSaturateUpper(Vector64<sbyte> lower, Vector128<short> value, byte count);
+        public static Vector128<sbyte> ShiftRightArithmeticRoundedNarrowingSaturateUpper(Vector64<sbyte> lower, Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<long> ShiftRightArithmeticRoundedScalar(Vector64<long> value, byte count);
+        public static Vector64<long> ShiftRightArithmeticRoundedScalar(Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-        public static Vector64<long> ShiftRightArithmeticScalar(Vector64<long> value, byte count);
+        public static Vector64<long> ShiftRightArithmeticScalar(Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-        public static Vector128<byte> ShiftRightLogical(Vector128<byte> value, byte count);
+        public static Vector128<byte> ShiftRightLogical(Vector128<byte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count);
-        public static Vector128<short> ShiftRightLogical(Vector128<short> value, byte count);
+        public static Vector128<short> ShiftRightLogical(Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<int> ShiftRightLogical(Vector128<int> value, byte count);
+        public static Vector128<int> ShiftRightLogical(Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<long> ShiftRightLogical(Vector128<long> value, byte count);
+        public static Vector128<long> ShiftRightLogical(Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightLogical(Vector128<sbyte> value, byte count);
+        public static Vector128<sbyte> ShiftRightLogical(Vector128<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count);
-        public static Vector128<ushort> ShiftRightLogical(Vector128<ushort> value, byte count);
+        public static Vector128<ushort> ShiftRightLogical(Vector128<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<uint> ShiftRightLogical(Vector128<uint> value, byte count);
+        public static Vector128<uint> ShiftRightLogical(Vector128<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<ulong> ShiftRightLogical(Vector128<ulong> value, byte count);
+        public static Vector128<ulong> ShiftRightLogical(Vector128<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<byte> ShiftRightLogical(Vector64<byte> value, byte count);
+        public static Vector64<byte> ShiftRightLogical(Vector64<byte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<short> ShiftRightLogical(Vector64<short> value, byte count);
+        public static Vector64<short> ShiftRightLogical(Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightLogical(Vector64<int> value, byte count);
+        public static Vector64<int> ShiftRightLogical(Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<sbyte> ShiftRightLogical(Vector64<sbyte> value, byte count);
+        public static Vector64<sbyte> ShiftRightLogical(Vector64<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<ushort> ShiftRightLogical(Vector64<ushort> value, byte count);
+        public static Vector64<ushort> ShiftRightLogical(Vector64<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<uint> ShiftRightLogical(Vector64<uint> value, byte count);
+        public static Vector64<uint> ShiftRightLogical(Vector64<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<byte> ShiftRightLogicalAdd(Vector128<byte> addend, Vector128<byte> value, byte count);
+        public static Vector128<byte> ShiftRightLogicalAdd(Vector128<byte> addend, Vector128<byte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count);
-        public static Vector128<short> ShiftRightLogicalAdd(Vector128<short> addend, Vector128<short> value, byte count);
+        public static Vector128<short> ShiftRightLogicalAdd(Vector128<short> addend, Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<int> ShiftRightLogicalAdd(Vector128<int> addend, Vector128<int> value, byte count);
+        public static Vector128<int> ShiftRightLogicalAdd(Vector128<int> addend, Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<long> ShiftRightLogicalAdd(Vector128<long> addend, Vector128<long> value, byte count);
+        public static Vector128<long> ShiftRightLogicalAdd(Vector128<long> addend, Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightLogicalAdd(Vector128<sbyte> addend, Vector128<sbyte> value, byte count);
+        public static Vector128<sbyte> ShiftRightLogicalAdd(Vector128<sbyte> addend, Vector128<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count);
-        public static Vector128<ushort> ShiftRightLogicalAdd(Vector128<ushort> addend, Vector128<ushort> value, byte count);
+        public static Vector128<ushort> ShiftRightLogicalAdd(Vector128<ushort> addend, Vector128<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<uint> ShiftRightLogicalAdd(Vector128<uint> addend, Vector128<uint> value, byte count);
+        public static Vector128<uint> ShiftRightLogicalAdd(Vector128<uint> addend, Vector128<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<ulong> ShiftRightLogicalAdd(Vector128<ulong> addend, Vector128<ulong> value, byte count);
+        public static Vector128<ulong> ShiftRightLogicalAdd(Vector128<ulong> addend, Vector128<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<byte> ShiftRightLogicalAdd(Vector64<byte> addend, Vector64<byte> value, byte count);
+        public static Vector64<byte> ShiftRightLogicalAdd(Vector64<byte> addend, Vector64<byte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<short> ShiftRightLogicalAdd(Vector64<short> addend, Vector64<short> value, byte count);
+        public static Vector64<short> ShiftRightLogicalAdd(Vector64<short> addend, Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightLogicalAdd(Vector64<int> addend, Vector64<int> value, byte count);
+        public static Vector64<int> ShiftRightLogicalAdd(Vector64<int> addend, Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<sbyte> ShiftRightLogicalAdd(Vector64<sbyte> addend, Vector64<sbyte> value, byte count);
+        public static Vector64<sbyte> ShiftRightLogicalAdd(Vector64<sbyte> addend, Vector64<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<ushort> ShiftRightLogicalAdd(Vector64<ushort> addend, Vector64<ushort> value, byte count);
+        public static Vector64<ushort> ShiftRightLogicalAdd(Vector64<ushort> addend, Vector64<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<uint> ShiftRightLogicalAdd(Vector64<uint> addend, Vector64<uint> value, byte count);
+        public static Vector64<uint> ShiftRightLogicalAdd(Vector64<uint> addend, Vector64<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<long> ShiftRightLogicalAddScalar(Vector64<long> addend, Vector64<long> value, byte count);
+        public static Vector64<long> ShiftRightLogicalAddScalar(Vector64<long> addend, Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-        public static Vector64<ulong> ShiftRightLogicalAddScalar(Vector64<ulong> addend, Vector64<ulong> value, byte count);
+        public static Vector64<ulong> ShiftRightLogicalAddScalar(Vector64<ulong> addend, Vector64<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-        public static Vector64<sbyte> ShiftRightLogicalNarrowingLower(Vector128<short> value, byte count);
+        public static Vector64<sbyte> ShiftRightLogicalNarrowingLower(Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<short> ShiftRightLogicalNarrowingLower(Vector128<int> value, byte count);
+        public static Vector64<short> ShiftRightLogicalNarrowingLower(Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightLogicalNarrowingLower(Vector128<long> value, byte count);
+        public static Vector64<int> ShiftRightLogicalNarrowingLower(Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<byte> ShiftRightLogicalNarrowingLower(Vector128<ushort> value, byte count);
+        public static Vector64<byte> ShiftRightLogicalNarrowingLower(Vector128<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<ushort> ShiftRightLogicalNarrowingLower(Vector128<uint> value, byte count);
+        public static Vector64<ushort> ShiftRightLogicalNarrowingLower(Vector128<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<uint> ShiftRightLogicalNarrowingLower(Vector128<ulong> value, byte count);
+        public static Vector64<uint> ShiftRightLogicalNarrowingLower(Vector128<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<sbyte> ShiftRightLogicalNarrowingSaturateLower(Vector128<short> value, byte count);
+        public static Vector64<sbyte> ShiftRightLogicalNarrowingSaturateLower(Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<short> ShiftRightLogicalNarrowingSaturateLower(Vector128<int> value, byte count);
+        public static Vector64<short> ShiftRightLogicalNarrowingSaturateLower(Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightLogicalNarrowingSaturateLower(Vector128<long> value, byte count);
+        public static Vector64<int> ShiftRightLogicalNarrowingSaturateLower(Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<byte> ShiftRightLogicalNarrowingSaturateLower(Vector128<ushort> value, byte count);
+        public static Vector64<byte> ShiftRightLogicalNarrowingSaturateLower(Vector128<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<ushort> ShiftRightLogicalNarrowingSaturateLower(Vector128<uint> value, byte count);
+        public static Vector64<ushort> ShiftRightLogicalNarrowingSaturateLower(Vector128<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<uint> ShiftRightLogicalNarrowingSaturateLower(Vector128<ulong> value, byte count);
+        public static Vector64<uint> ShiftRightLogicalNarrowingSaturateLower(Vector128<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<byte> ShiftRightLogicalNarrowingSaturateUpper(Vector64<byte> lower, Vector128<ushort> value, byte count);
+        public static Vector128<byte> ShiftRightLogicalNarrowingSaturateUpper(Vector64<byte> lower, Vector128<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<short> ShiftRightLogicalNarrowingSaturateUpper(Vector64<short> lower, Vector128<int> value, byte count);
+        public static Vector128<short> ShiftRightLogicalNarrowingSaturateUpper(Vector64<short> lower, Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<int> ShiftRightLogicalNarrowingSaturateUpper(Vector64<int> lower, Vector128<long> value, byte count);
+        public static Vector128<int> ShiftRightLogicalNarrowingSaturateUpper(Vector64<int> lower, Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightLogicalNarrowingSaturateUpper(Vector64<sbyte> lower, Vector128<short> value, byte count);
+        public static Vector128<sbyte> ShiftRightLogicalNarrowingSaturateUpper(Vector64<sbyte> lower, Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<ushort> ShiftRightLogicalNarrowingSaturateUpper(Vector64<ushort> lower, Vector128<uint> value, byte count);
+        public static Vector128<ushort> ShiftRightLogicalNarrowingSaturateUpper(Vector64<ushort> lower, Vector128<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<uint> ShiftRightLogicalNarrowingSaturateUpper(Vector64<uint> lower, Vector128<ulong> value, byte count);
+        public static Vector128<uint> ShiftRightLogicalNarrowingSaturateUpper(Vector64<uint> lower, Vector128<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<byte> ShiftRightLogicalNarrowingUpper(Vector64<byte> lower, Vector128<ushort> value, byte count);
+        public static Vector128<byte> ShiftRightLogicalNarrowingUpper(Vector64<byte> lower, Vector128<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<short> ShiftRightLogicalNarrowingUpper(Vector64<short> lower, Vector128<int> value, byte count);
+        public static Vector128<short> ShiftRightLogicalNarrowingUpper(Vector64<short> lower, Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<int> ShiftRightLogicalNarrowingUpper(Vector64<int> lower, Vector128<long> value, byte count);
+        public static Vector128<int> ShiftRightLogicalNarrowingUpper(Vector64<int> lower, Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightLogicalNarrowingUpper(Vector64<sbyte> lower, Vector128<short> value, byte count);
+        public static Vector128<sbyte> ShiftRightLogicalNarrowingUpper(Vector64<sbyte> lower, Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<ushort> ShiftRightLogicalNarrowingUpper(Vector64<ushort> lower, Vector128<uint> value, byte count);
+        public static Vector128<ushort> ShiftRightLogicalNarrowingUpper(Vector64<ushort> lower, Vector128<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<uint> ShiftRightLogicalNarrowingUpper(Vector64<uint> lower, Vector128<ulong> value, byte count);
+        public static Vector128<uint> ShiftRightLogicalNarrowingUpper(Vector64<uint> lower, Vector128<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<byte> ShiftRightLogicalRounded(Vector128<byte> value, byte count);
+        public static Vector128<byte> ShiftRightLogicalRounded(Vector128<byte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count);
-        public static Vector128<short> ShiftRightLogicalRounded(Vector128<short> value, byte count);
+        public static Vector128<short> ShiftRightLogicalRounded(Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<int> ShiftRightLogicalRounded(Vector128<int> value, byte count);
+        public static Vector128<int> ShiftRightLogicalRounded(Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<long> ShiftRightLogicalRounded(Vector128<long> value, byte count);
+        public static Vector128<long> ShiftRightLogicalRounded(Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightLogicalRounded(Vector128<sbyte> value, byte count);
+        public static Vector128<sbyte> ShiftRightLogicalRounded(Vector128<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count);
-        public static Vector128<ushort> ShiftRightLogicalRounded(Vector128<ushort> value, byte count);
+        public static Vector128<ushort> ShiftRightLogicalRounded(Vector128<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<uint> ShiftRightLogicalRounded(Vector128<uint> value, byte count);
+        public static Vector128<uint> ShiftRightLogicalRounded(Vector128<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<ulong> ShiftRightLogicalRounded(Vector128<ulong> value, byte count);
+        public static Vector128<ulong> ShiftRightLogicalRounded(Vector128<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<byte> ShiftRightLogicalRounded(Vector64<byte> value, byte count);
+        public static Vector64<byte> ShiftRightLogicalRounded(Vector64<byte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<short> ShiftRightLogicalRounded(Vector64<short> value, byte count);
+        public static Vector64<short> ShiftRightLogicalRounded(Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightLogicalRounded(Vector64<int> value, byte count);
+        public static Vector64<int> ShiftRightLogicalRounded(Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<sbyte> ShiftRightLogicalRounded(Vector64<sbyte> value, byte count);
+        public static Vector64<sbyte> ShiftRightLogicalRounded(Vector64<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<ushort> ShiftRightLogicalRounded(Vector64<ushort> value, byte count);
+        public static Vector64<ushort> ShiftRightLogicalRounded(Vector64<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<uint> ShiftRightLogicalRounded(Vector64<uint> value, byte count);
+        public static Vector64<uint> ShiftRightLogicalRounded(Vector64<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<byte> ShiftRightLogicalRoundedAdd(Vector128<byte> addend, Vector128<byte> value, byte count);
+        public static Vector128<byte> ShiftRightLogicalRoundedAdd(Vector128<byte> addend, Vector128<byte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count);
-        public static Vector128<short> ShiftRightLogicalRoundedAdd(Vector128<short> addend, Vector128<short> value, byte count);
+        public static Vector128<short> ShiftRightLogicalRoundedAdd(Vector128<short> addend, Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<int> ShiftRightLogicalRoundedAdd(Vector128<int> addend, Vector128<int> value, byte count);
+        public static Vector128<int> ShiftRightLogicalRoundedAdd(Vector128<int> addend, Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<long> ShiftRightLogicalRoundedAdd(Vector128<long> addend, Vector128<long> value, byte count);
+        public static Vector128<long> ShiftRightLogicalRoundedAdd(Vector128<long> addend, Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightLogicalRoundedAdd(Vector128<sbyte> addend, Vector128<sbyte> value, byte count);
+        public static Vector128<sbyte> ShiftRightLogicalRoundedAdd(Vector128<sbyte> addend, Vector128<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count);
-        public static Vector128<ushort> ShiftRightLogicalRoundedAdd(Vector128<ushort> addend, Vector128<ushort> value, byte count);
+        public static Vector128<ushort> ShiftRightLogicalRoundedAdd(Vector128<ushort> addend, Vector128<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<uint> ShiftRightLogicalRoundedAdd(Vector128<uint> addend, Vector128<uint> value, byte count);
+        public static Vector128<uint> ShiftRightLogicalRoundedAdd(Vector128<uint> addend, Vector128<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<ulong> ShiftRightLogicalRoundedAdd(Vector128<ulong> addend, Vector128<ulong> value, byte count);
+        public static Vector128<ulong> ShiftRightLogicalRoundedAdd(Vector128<ulong> addend, Vector128<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<byte> ShiftRightLogicalRoundedAdd(Vector64<byte> addend, Vector64<byte> value, byte count);
+        public static Vector64<byte> ShiftRightLogicalRoundedAdd(Vector64<byte> addend, Vector64<byte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<short> ShiftRightLogicalRoundedAdd(Vector64<short> addend, Vector64<short> value, byte count);
+        public static Vector64<short> ShiftRightLogicalRoundedAdd(Vector64<short> addend, Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightLogicalRoundedAdd(Vector64<int> addend, Vector64<int> value, byte count);
+        public static Vector64<int> ShiftRightLogicalRoundedAdd(Vector64<int> addend, Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<sbyte> ShiftRightLogicalRoundedAdd(Vector64<sbyte> addend, Vector64<sbyte> value, byte count);
+        public static Vector64<sbyte> ShiftRightLogicalRoundedAdd(Vector64<sbyte> addend, Vector64<sbyte> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<ushort> ShiftRightLogicalRoundedAdd(Vector64<ushort> addend, Vector64<ushort> value, byte count);
+        public static Vector64<ushort> ShiftRightLogicalRoundedAdd(Vector64<ushort> addend, Vector64<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<uint> ShiftRightLogicalRoundedAdd(Vector64<uint> addend, Vector64<uint> value, byte count);
+        public static Vector64<uint> ShiftRightLogicalRoundedAdd(Vector64<uint> addend, Vector64<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<long> ShiftRightLogicalRoundedAddScalar(Vector64<long> addend, Vector64<long> value, byte count);
+        public static Vector64<long> ShiftRightLogicalRoundedAddScalar(Vector64<long> addend, Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-        public static Vector64<ulong> ShiftRightLogicalRoundedAddScalar(Vector64<ulong> addend, Vector64<ulong> value, byte count);
+        public static Vector64<ulong> ShiftRightLogicalRoundedAddScalar(Vector64<ulong> addend, Vector64<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-        public static Vector64<sbyte> ShiftRightLogicalRoundedNarrowingLower(Vector128<short> value, byte count);
+        public static Vector64<sbyte> ShiftRightLogicalRoundedNarrowingLower(Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<short> ShiftRightLogicalRoundedNarrowingLower(Vector128<int> value, byte count);
+        public static Vector64<short> ShiftRightLogicalRoundedNarrowingLower(Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightLogicalRoundedNarrowingLower(Vector128<long> value, byte count);
+        public static Vector64<int> ShiftRightLogicalRoundedNarrowingLower(Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<byte> ShiftRightLogicalRoundedNarrowingLower(Vector128<ushort> value, byte count);
+        public static Vector64<byte> ShiftRightLogicalRoundedNarrowingLower(Vector128<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<ushort> ShiftRightLogicalRoundedNarrowingLower(Vector128<uint> value, byte count);
+        public static Vector64<ushort> ShiftRightLogicalRoundedNarrowingLower(Vector128<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<uint> ShiftRightLogicalRoundedNarrowingLower(Vector128<ulong> value, byte count);
+        public static Vector64<uint> ShiftRightLogicalRoundedNarrowingLower(Vector128<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<sbyte> ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<short> value, byte count);
+        public static Vector64<sbyte> ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<short> ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<int> value, byte count);
+        public static Vector64<short> ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<int> ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<long> value, byte count);
+        public static Vector64<int> ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<byte> ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<ushort> value, byte count);
+        public static Vector64<byte> ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector64<ushort> ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<uint> value, byte count);
+        public static Vector64<ushort> ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector64<uint> ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<ulong> value, byte count);
+        public static Vector64<uint> ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<byte> ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<byte> lower, Vector128<ushort> value, byte count);
+        public static Vector128<byte> ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<byte> lower, Vector128<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<short> ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<short> lower, Vector128<int> value, byte count);
+        public static Vector128<short> ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<short> lower, Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<int> ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<int> lower, Vector128<long> value, byte count);
+        public static Vector128<int> ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<int> lower, Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<sbyte> lower, Vector128<short> value, byte count);
+        public static Vector128<sbyte> ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<sbyte> lower, Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<ushort> ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<ushort> lower, Vector128<uint> value, byte count);
+        public static Vector128<ushort> ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<ushort> lower, Vector128<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<uint> ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<uint> lower, Vector128<ulong> value, byte count);
+        public static Vector128<uint> ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<uint> lower, Vector128<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<byte> ShiftRightLogicalRoundedNarrowingUpper(Vector64<byte> lower, Vector128<ushort> value, byte count);
+        public static Vector128<byte> ShiftRightLogicalRoundedNarrowingUpper(Vector64<byte> lower, Vector128<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<short> ShiftRightLogicalRoundedNarrowingUpper(Vector64<short> lower, Vector128<int> value, byte count);
+        public static Vector128<short> ShiftRightLogicalRoundedNarrowingUpper(Vector64<short> lower, Vector128<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<int> ShiftRightLogicalRoundedNarrowingUpper(Vector64<int> lower, Vector128<long> value, byte count);
+        public static Vector128<int> ShiftRightLogicalRoundedNarrowingUpper(Vector64<int> lower, Vector128<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector128<sbyte> ShiftRightLogicalRoundedNarrowingUpper(Vector64<sbyte> lower, Vector128<short> value, byte count);
+        public static Vector128<sbyte> ShiftRightLogicalRoundedNarrowingUpper(Vector64<sbyte> lower, Vector128<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count);
-        public static Vector128<ushort> ShiftRightLogicalRoundedNarrowingUpper(Vector64<ushort> lower, Vector128<uint> value, byte count);
+        public static Vector128<ushort> ShiftRightLogicalRoundedNarrowingUpper(Vector64<ushort> lower, Vector128<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-        public static Vector128<uint> ShiftRightLogicalRoundedNarrowingUpper(Vector64<uint> lower, Vector128<ulong> value, byte count);
+        public static Vector128<uint> ShiftRightLogicalRoundedNarrowingUpper(Vector64<uint> lower, Vector128<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-        public static Vector64<long> ShiftRightLogicalRoundedScalar(Vector64<long> value, byte count);
+        public static Vector64<long> ShiftRightLogicalRoundedScalar(Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-        public static Vector64<ulong> ShiftRightLogicalRoundedScalar(Vector64<ulong> value, byte count);
+        public static Vector64<ulong> ShiftRightLogicalRoundedScalar(Vector64<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-        public static Vector64<long> ShiftRightLogicalScalar(Vector64<long> value, byte count);
+        public static Vector64<long> ShiftRightLogicalScalar(Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-        public static Vector64<ulong> ShiftRightLogicalScalar(Vector64<ulong> value, byte count);
+        public static Vector64<ulong> ShiftRightLogicalScalar(Vector64<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-        public unsafe static void StoreSelectedScalar(byte* address, Vector128<byte> value, byte index);
+        public unsafe static void StoreSelectedScalar(byte* address, Vector128<byte> value, [ConstantExpectedAttribute(Max=(byte)15)] byte index);
-        public unsafe static void StoreSelectedScalar(byte* address, Vector64<byte> value, byte index);
+        public unsafe static void StoreSelectedScalar(byte* address, Vector64<byte> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public unsafe static void StoreSelectedScalar(double* address, Vector128<double> value, byte index);
+        public unsafe static void StoreSelectedScalar(double* address, Vector128<double> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public unsafe static void StoreSelectedScalar(short* address, Vector128<short> value, byte index);
+        public unsafe static void StoreSelectedScalar(short* address, Vector128<short> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public unsafe static void StoreSelectedScalar(short* address, Vector64<short> value, byte index);
+        public unsafe static void StoreSelectedScalar(short* address, Vector64<short> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public unsafe static void StoreSelectedScalar(int* address, Vector128<int> value, byte index);
+        public unsafe static void StoreSelectedScalar(int* address, Vector128<int> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public unsafe static void StoreSelectedScalar(int* address, Vector64<int> value, byte index);
+        public unsafe static void StoreSelectedScalar(int* address, Vector64<int> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public unsafe static void StoreSelectedScalar(long* address, Vector128<long> value, byte index);
+        public unsafe static void StoreSelectedScalar(long* address, Vector128<long> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public unsafe static void StoreSelectedScalar(sbyte* address, Vector128<sbyte> value, byte index);
+        public unsafe static void StoreSelectedScalar(sbyte* address, Vector128<sbyte> value, [ConstantExpectedAttribute(Max=(byte)15)] byte index);
-        public unsafe static void StoreSelectedScalar(sbyte* address, Vector64<sbyte> value, byte index);
+        public unsafe static void StoreSelectedScalar(sbyte* address, Vector64<sbyte> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public unsafe static void StoreSelectedScalar(float* address, Vector128<float> value, byte index);
+        public unsafe static void StoreSelectedScalar(float* address, Vector128<float> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public unsafe static void StoreSelectedScalar(float* address, Vector64<float> value, byte index);
+        public unsafe static void StoreSelectedScalar(float* address, Vector64<float> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public unsafe static void StoreSelectedScalar(ushort* address, Vector128<ushort> value, byte index);
+        public unsafe static void StoreSelectedScalar(ushort* address, Vector128<ushort> value, [ConstantExpectedAttribute(Max=(byte)7)] byte index);
-        public unsafe static void StoreSelectedScalar(ushort* address, Vector64<ushort> value, byte index);
+        public unsafe static void StoreSelectedScalar(ushort* address, Vector64<ushort> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public unsafe static void StoreSelectedScalar(uint* address, Vector128<uint> value, byte index);
+        public unsafe static void StoreSelectedScalar(uint* address, Vector128<uint> value, [ConstantExpectedAttribute(Max=(byte)3)] byte index);
-        public unsafe static void StoreSelectedScalar(uint* address, Vector64<uint> value, byte index);
+        public unsafe static void StoreSelectedScalar(uint* address, Vector64<uint> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-        public unsafe static void StoreSelectedScalar(ulong* address, Vector128<ulong> value, byte index);
+        public unsafe static void StoreSelectedScalar(ulong* address, Vector128<ulong> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
         public new abstract class Arm64 : ArmBase.Arm64 {
-            public static Vector128<double> DuplicateSelectedScalarToVector128(Vector128<double> value, byte index);
+            public static Vector128<double> DuplicateSelectedScalarToVector128(Vector128<double> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-            public static Vector128<long> DuplicateSelectedScalarToVector128(Vector128<long> value, byte index);
+            public static Vector128<long> DuplicateSelectedScalarToVector128(Vector128<long> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-            public static Vector128<ulong> DuplicateSelectedScalarToVector128(Vector128<ulong> value, byte index);
+            public static Vector128<ulong> DuplicateSelectedScalarToVector128(Vector128<ulong> value, [ConstantExpectedAttribute(Max=(byte)1)] byte index);
-            public static Vector128<double> FusedMultiplyAddBySelectedScalar(Vector128<double> addend, Vector128<double> left, Vector128<double> right, byte rightIndex);
+            public static Vector128<double> FusedMultiplyAddBySelectedScalar(Vector128<double> addend, Vector128<double> left, Vector128<double> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector128<float> FusedMultiplyAddBySelectedScalar(Vector128<float> addend, Vector128<float> left, Vector128<float> right, byte rightIndex);
+            public static Vector128<float> FusedMultiplyAddBySelectedScalar(Vector128<float> addend, Vector128<float> left, Vector128<float> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector128<float> FusedMultiplyAddBySelectedScalar(Vector128<float> addend, Vector128<float> left, Vector64<float> right, byte rightIndex);
+            public static Vector128<float> FusedMultiplyAddBySelectedScalar(Vector128<float> addend, Vector128<float> left, Vector64<float> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<float> FusedMultiplyAddBySelectedScalar(Vector64<float> addend, Vector64<float> left, Vector128<float> right, byte rightIndex);
+            public static Vector64<float> FusedMultiplyAddBySelectedScalar(Vector64<float> addend, Vector64<float> left, Vector128<float> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<float> FusedMultiplyAddBySelectedScalar(Vector64<float> addend, Vector64<float> left, Vector64<float> right, byte rightIndex);
+            public static Vector64<float> FusedMultiplyAddBySelectedScalar(Vector64<float> addend, Vector64<float> left, Vector64<float> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<double> FusedMultiplyAddScalarBySelectedScalar(Vector64<double> addend, Vector64<double> left, Vector128<double> right, byte rightIndex);
+            public static Vector64<double> FusedMultiplyAddScalarBySelectedScalar(Vector64<double> addend, Vector64<double> left, Vector128<double> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<float> FusedMultiplyAddScalarBySelectedScalar(Vector64<float> addend, Vector64<float> left, Vector128<float> right, byte rightIndex);
+            public static Vector64<float> FusedMultiplyAddScalarBySelectedScalar(Vector64<float> addend, Vector64<float> left, Vector128<float> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<float> FusedMultiplyAddScalarBySelectedScalar(Vector64<float> addend, Vector64<float> left, Vector64<float> right, byte rightIndex);
+            public static Vector64<float> FusedMultiplyAddScalarBySelectedScalar(Vector64<float> addend, Vector64<float> left, Vector64<float> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector128<double> FusedMultiplySubtractBySelectedScalar(Vector128<double> minuend, Vector128<double> left, Vector128<double> right, byte rightIndex);
+            public static Vector128<double> FusedMultiplySubtractBySelectedScalar(Vector128<double> minuend, Vector128<double> left, Vector128<double> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector128<float> FusedMultiplySubtractBySelectedScalar(Vector128<float> minuend, Vector128<float> left, Vector128<float> right, byte rightIndex);
+            public static Vector128<float> FusedMultiplySubtractBySelectedScalar(Vector128<float> minuend, Vector128<float> left, Vector128<float> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector128<float> FusedMultiplySubtractBySelectedScalar(Vector128<float> minuend, Vector128<float> left, Vector64<float> right, byte rightIndex);
+            public static Vector128<float> FusedMultiplySubtractBySelectedScalar(Vector128<float> minuend, Vector128<float> left, Vector64<float> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<float> FusedMultiplySubtractBySelectedScalar(Vector64<float> minuend, Vector64<float> left, Vector128<float> right, byte rightIndex);
+            public static Vector64<float> FusedMultiplySubtractBySelectedScalar(Vector64<float> minuend, Vector64<float> left, Vector128<float> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<float> FusedMultiplySubtractBySelectedScalar(Vector64<float> minuend, Vector64<float> left, Vector64<float> right, byte rightIndex);
+            public static Vector64<float> FusedMultiplySubtractBySelectedScalar(Vector64<float> minuend, Vector64<float> left, Vector64<float> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<double> FusedMultiplySubtractScalarBySelectedScalar(Vector64<double> minuend, Vector64<double> left, Vector128<double> right, byte rightIndex);
+            public static Vector64<double> FusedMultiplySubtractScalarBySelectedScalar(Vector64<double> minuend, Vector64<double> left, Vector128<double> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<float> FusedMultiplySubtractScalarBySelectedScalar(Vector64<float> minuend, Vector64<float> left, Vector128<float> right, byte rightIndex);
+            public static Vector64<float> FusedMultiplySubtractScalarBySelectedScalar(Vector64<float> minuend, Vector64<float> left, Vector128<float> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<float> FusedMultiplySubtractScalarBySelectedScalar(Vector64<float> minuend, Vector64<float> left, Vector64<float> right, byte rightIndex);
+            public static Vector64<float> FusedMultiplySubtractScalarBySelectedScalar(Vector64<float> minuend, Vector64<float> left, Vector64<float> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector128<byte> InsertSelectedScalar(Vector128<byte> result, byte resultIndex, Vector128<byte> value, byte valueIndex);
+            public static Vector128<byte> InsertSelectedScalar(Vector128<byte> result, [ConstantExpectedAttribute(Max=(byte)15)] byte resultIndex, Vector128<byte> value, [ConstantExpectedAttribute(Max=(byte)15)] byte valueIndex);
-            public static Vector128<byte> InsertSelectedScalar(Vector128<byte> result, byte resultIndex, Vector64<byte> value, byte valueIndex);
+            public static Vector128<byte> InsertSelectedScalar(Vector128<byte> result, [ConstantExpectedAttribute(Max=(byte)15)] byte resultIndex, Vector64<byte> value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex);
-            public static Vector128<double> InsertSelectedScalar(Vector128<double> result, byte resultIndex, Vector128<double> value, byte valueIndex);
+            public static Vector128<double> InsertSelectedScalar(Vector128<double> result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector128<double> value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex);
-            public static Vector128<short> InsertSelectedScalar(Vector128<short> result, byte resultIndex, Vector128<short> value, byte valueIndex);
+            public static Vector128<short> InsertSelectedScalar(Vector128<short> result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector128<short> value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex);
-            public static Vector128<short> InsertSelectedScalar(Vector128<short> result, byte resultIndex, Vector64<short> value, byte valueIndex);
+            public static Vector128<short> InsertSelectedScalar(Vector128<short> result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector64<short> value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex);
-            public static Vector128<int> InsertSelectedScalar(Vector128<int> result, byte resultIndex, Vector128<int> value, byte valueIndex);
+            public static Vector128<int> InsertSelectedScalar(Vector128<int> result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector128<int> value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex);
-            public static Vector128<int> InsertSelectedScalar(Vector128<int> result, byte resultIndex, Vector64<int> value, byte valueIndex);
+            public static Vector128<int> InsertSelectedScalar(Vector128<int> result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector64<int> value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex);
-            public static Vector128<long> InsertSelectedScalar(Vector128<long> result, byte resultIndex, Vector128<long> value, byte valueIndex);
+            public static Vector128<long> InsertSelectedScalar(Vector128<long> result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector128<long> value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex);
-            public static Vector128<sbyte> InsertSelectedScalar(Vector128<sbyte> result, byte resultIndex, Vector128<sbyte> value, byte valueIndex);
+            public static Vector128<sbyte> InsertSelectedScalar(Vector128<sbyte> result, [ConstantExpectedAttribute(Max=(byte)15)] byte resultIndex, Vector128<sbyte> value, [ConstantExpectedAttribute(Max=(byte)15)] byte valueIndex);
-            public static Vector128<sbyte> InsertSelectedScalar(Vector128<sbyte> result, byte resultIndex, Vector64<sbyte> value, byte valueIndex);
+            public static Vector128<sbyte> InsertSelectedScalar(Vector128<sbyte> result, [ConstantExpectedAttribute(Max=(byte)15)] byte resultIndex, Vector64<sbyte> value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex);
-            public static Vector128<float> InsertSelectedScalar(Vector128<float> result, byte resultIndex, Vector128<float> value, byte valueIndex);
+            public static Vector128<float> InsertSelectedScalar(Vector128<float> result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector128<float> value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex);
-            public static Vector128<float> InsertSelectedScalar(Vector128<float> result, byte resultIndex, Vector64<float> value, byte valueIndex);
+            public static Vector128<float> InsertSelectedScalar(Vector128<float> result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector64<float> value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex);
-            public static Vector128<ushort> InsertSelectedScalar(Vector128<ushort> result, byte resultIndex, Vector128<ushort> value, byte valueIndex);
+            public static Vector128<ushort> InsertSelectedScalar(Vector128<ushort> result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector128<ushort> value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex);
-            public static Vector128<ushort> InsertSelectedScalar(Vector128<ushort> result, byte resultIndex, Vector64<ushort> value, byte valueIndex);
+            public static Vector128<ushort> InsertSelectedScalar(Vector128<ushort> result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector64<ushort> value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex);
-            public static Vector128<uint> InsertSelectedScalar(Vector128<uint> result, byte resultIndex, Vector128<uint> value, byte valueIndex);
+            public static Vector128<uint> InsertSelectedScalar(Vector128<uint> result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector128<uint> value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex);
-            public static Vector128<uint> InsertSelectedScalar(Vector128<uint> result, byte resultIndex, Vector64<uint> value, byte valueIndex);
+            public static Vector128<uint> InsertSelectedScalar(Vector128<uint> result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector64<uint> value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex);
-            public static Vector128<ulong> InsertSelectedScalar(Vector128<ulong> result, byte resultIndex, Vector128<ulong> value, byte valueIndex);
+            public static Vector128<ulong> InsertSelectedScalar(Vector128<ulong> result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector128<ulong> value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex);
-            public static Vector64<byte> InsertSelectedScalar(Vector64<byte> result, byte resultIndex, Vector128<byte> value, byte valueIndex);
+            public static Vector64<byte> InsertSelectedScalar(Vector64<byte> result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector128<byte> value, [ConstantExpectedAttribute(Max=(byte)15)] byte valueIndex);
-            public static Vector64<byte> InsertSelectedScalar(Vector64<byte> result, byte resultIndex, Vector64<byte> value, byte valueIndex);
+            public static Vector64<byte> InsertSelectedScalar(Vector64<byte> result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector64<byte> value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex);
-            public static Vector64<short> InsertSelectedScalar(Vector64<short> result, byte resultIndex, Vector128<short> value, byte valueIndex);
+            public static Vector64<short> InsertSelectedScalar(Vector64<short> result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector128<short> value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex);
-            public static Vector64<short> InsertSelectedScalar(Vector64<short> result, byte resultIndex, Vector64<short> value, byte valueIndex);
+            public static Vector64<short> InsertSelectedScalar(Vector64<short> result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector64<short> value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex);
-            public static Vector64<int> InsertSelectedScalar(Vector64<int> result, byte resultIndex, Vector128<int> value, byte valueIndex);
+            public static Vector64<int> InsertSelectedScalar(Vector64<int> result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector128<int> value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex);
-            public static Vector64<int> InsertSelectedScalar(Vector64<int> result, byte resultIndex, Vector64<int> value, byte valueIndex);
+            public static Vector64<int> InsertSelectedScalar(Vector64<int> result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector64<int> value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex);
-            public static Vector64<sbyte> InsertSelectedScalar(Vector64<sbyte> result, byte resultIndex, Vector128<sbyte> value, byte valueIndex);
+            public static Vector64<sbyte> InsertSelectedScalar(Vector64<sbyte> result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector128<sbyte> value, [ConstantExpectedAttribute(Max=(byte)15)] byte valueIndex);
-            public static Vector64<sbyte> InsertSelectedScalar(Vector64<sbyte> result, byte resultIndex, Vector64<sbyte> value, byte valueIndex);
+            public static Vector64<sbyte> InsertSelectedScalar(Vector64<sbyte> result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector64<sbyte> value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex);
-            public static Vector64<float> InsertSelectedScalar(Vector64<float> result, byte resultIndex, Vector128<float> value, byte valueIndex);
+            public static Vector64<float> InsertSelectedScalar(Vector64<float> result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector128<float> value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex);
-            public static Vector64<float> InsertSelectedScalar(Vector64<float> result, byte resultIndex, Vector64<float> value, byte valueIndex);
+            public static Vector64<float> InsertSelectedScalar(Vector64<float> result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector64<float> value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex);
-            public static Vector64<ushort> InsertSelectedScalar(Vector64<ushort> result, byte resultIndex, Vector128<ushort> value, byte valueIndex);
+            public static Vector64<ushort> InsertSelectedScalar(Vector64<ushort> result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector128<ushort> value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex);
-            public static Vector64<ushort> InsertSelectedScalar(Vector64<ushort> result, byte resultIndex, Vector64<ushort> value, byte valueIndex);
+            public static Vector64<ushort> InsertSelectedScalar(Vector64<ushort> result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector64<ushort> value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex);
-            public static Vector64<uint> InsertSelectedScalar(Vector64<uint> result, byte resultIndex, Vector128<uint> value, byte valueIndex);
+            public static Vector64<uint> InsertSelectedScalar(Vector64<uint> result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector128<uint> value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex);
-            public static Vector64<uint> InsertSelectedScalar(Vector64<uint> result, byte resultIndex, Vector64<uint> value, byte valueIndex);
+            public static Vector64<uint> InsertSelectedScalar(Vector64<uint> result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector64<uint> value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex);
-            public static Vector128<double> MultiplyBySelectedScalar(Vector128<double> left, Vector128<double> right, byte rightIndex);
+            public static Vector128<double> MultiplyBySelectedScalar(Vector128<double> left, Vector128<double> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<short> MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64<short> left, Vector128<short> right, byte rightIndex);
+            public static Vector64<short> MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-            public static Vector64<short> MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64<short> left, Vector64<short> right, byte rightIndex);
+            public static Vector64<short> MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<int> MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64<int> left, Vector128<int> right, byte rightIndex);
+            public static Vector64<int> MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<int> MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64<int> left, Vector64<int> right, byte rightIndex);
+            public static Vector64<int> MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<int> MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64<short> left, Vector128<short> right, byte rightIndex);
+            public static Vector64<int> MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-            public static Vector64<int> MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64<short> left, Vector64<short> right, byte rightIndex);
+            public static Vector64<int> MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<long> MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64<int> left, Vector128<int> right, byte rightIndex);
+            public static Vector64<long> MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<long> MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64<int> left, Vector64<int> right, byte rightIndex);
+            public static Vector64<long> MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<int> MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64<int> addend, Vector64<short> left, Vector128<short> right, byte rightIndex);
+            public static Vector64<int> MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64<int> addend, Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-            public static Vector64<int> MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64<int> addend, Vector64<short> left, Vector64<short> right, byte rightIndex);
+            public static Vector64<int> MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64<int> addend, Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<long> MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64<long> addend, Vector64<int> left, Vector128<int> right, byte rightIndex);
+            public static Vector64<long> MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64<long> addend, Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<long> MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64<long> addend, Vector64<int> left, Vector64<int> right, byte rightIndex);
+            public static Vector64<long> MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64<long> addend, Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<int> MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64<int> minuend, Vector64<short> left, Vector128<short> right, byte rightIndex);
+            public static Vector64<int> MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64<int> minuend, Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-            public static Vector64<int> MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64<int> minuend, Vector64<short> left, Vector64<short> right, byte rightIndex);
+            public static Vector64<int> MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64<int> minuend, Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<long> MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64<long> minuend, Vector64<int> left, Vector128<int> right, byte rightIndex);
+            public static Vector64<long> MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64<long> minuend, Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<long> MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64<long> minuend, Vector64<int> left, Vector64<int> right, byte rightIndex);
+            public static Vector64<long> MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64<long> minuend, Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector128<double> MultiplyExtendedBySelectedScalar(Vector128<double> left, Vector128<double> right, byte rightIndex);
+            public static Vector128<double> MultiplyExtendedBySelectedScalar(Vector128<double> left, Vector128<double> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector128<float> MultiplyExtendedBySelectedScalar(Vector128<float> left, Vector128<float> right, byte rightIndex);
+            public static Vector128<float> MultiplyExtendedBySelectedScalar(Vector128<float> left, Vector128<float> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector128<float> MultiplyExtendedBySelectedScalar(Vector128<float> left, Vector64<float> right, byte rightIndex);
+            public static Vector128<float> MultiplyExtendedBySelectedScalar(Vector128<float> left, Vector64<float> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<float> MultiplyExtendedBySelectedScalar(Vector64<float> left, Vector128<float> right, byte rightIndex);
+            public static Vector64<float> MultiplyExtendedBySelectedScalar(Vector64<float> left, Vector128<float> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<float> MultiplyExtendedBySelectedScalar(Vector64<float> left, Vector64<float> right, byte rightIndex);
+            public static Vector64<float> MultiplyExtendedBySelectedScalar(Vector64<float> left, Vector64<float> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<double> MultiplyExtendedScalarBySelectedScalar(Vector64<double> left, Vector128<double> right, byte rightIndex);
+            public static Vector64<double> MultiplyExtendedScalarBySelectedScalar(Vector64<double> left, Vector128<double> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<float> MultiplyExtendedScalarBySelectedScalar(Vector64<float> left, Vector128<float> right, byte rightIndex);
+            public static Vector64<float> MultiplyExtendedScalarBySelectedScalar(Vector64<float> left, Vector128<float> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<float> MultiplyExtendedScalarBySelectedScalar(Vector64<float> left, Vector64<float> right, byte rightIndex);
+            public static Vector64<float> MultiplyExtendedScalarBySelectedScalar(Vector64<float> left, Vector64<float> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<short> MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64<short> left, Vector128<short> right, byte rightIndex);
+            public static Vector64<short> MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-            public static Vector64<short> MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64<short> left, Vector64<short> right, byte rightIndex);
+            public static Vector64<short> MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<int> MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64<int> left, Vector128<int> right, byte rightIndex);
+            public static Vector64<int> MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<int> MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64<int> left, Vector64<int> right, byte rightIndex);
+            public static Vector64<int> MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<double> MultiplyScalarBySelectedScalar(Vector64<double> left, Vector128<double> right, byte rightIndex);
+            public static Vector64<double> MultiplyScalarBySelectedScalar(Vector64<double> left, Vector128<double> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<byte> ShiftLeftLogicalSaturateScalar(Vector64<byte> value, byte count);
+            public static Vector64<byte> ShiftLeftLogicalSaturateScalar(Vector64<byte> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-            public static Vector64<short> ShiftLeftLogicalSaturateScalar(Vector64<short> value, byte count);
+            public static Vector64<short> ShiftLeftLogicalSaturateScalar(Vector64<short> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-            public static Vector64<int> ShiftLeftLogicalSaturateScalar(Vector64<int> value, byte count);
+            public static Vector64<int> ShiftLeftLogicalSaturateScalar(Vector64<int> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-            public static Vector64<sbyte> ShiftLeftLogicalSaturateScalar(Vector64<sbyte> value, byte count);
+            public static Vector64<sbyte> ShiftLeftLogicalSaturateScalar(Vector64<sbyte> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-            public static Vector64<ushort> ShiftLeftLogicalSaturateScalar(Vector64<ushort> value, byte count);
+            public static Vector64<ushort> ShiftLeftLogicalSaturateScalar(Vector64<ushort> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-            public static Vector64<uint> ShiftLeftLogicalSaturateScalar(Vector64<uint> value, byte count);
+            public static Vector64<uint> ShiftLeftLogicalSaturateScalar(Vector64<uint> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-            public static Vector64<ushort> ShiftLeftLogicalSaturateUnsignedScalar(Vector64<short> value, byte count);
+            public static Vector64<ushort> ShiftLeftLogicalSaturateUnsignedScalar(Vector64<short> value, [ConstantExpectedAttribute(Max=(byte)31)] byte count);
-            public static Vector64<uint> ShiftLeftLogicalSaturateUnsignedScalar(Vector64<int> value, byte count);
+            public static Vector64<uint> ShiftLeftLogicalSaturateUnsignedScalar(Vector64<int> value, [ConstantExpectedAttribute(Max=(byte)15)] byte count);
-            public static Vector64<byte> ShiftLeftLogicalSaturateUnsignedScalar(Vector64<sbyte> value, byte count);
+            public static Vector64<byte> ShiftLeftLogicalSaturateUnsignedScalar(Vector64<sbyte> value, [ConstantExpectedAttribute(Max=(byte)63)] byte count);
-            public static Vector64<sbyte> ShiftRightArithmeticNarrowingSaturateScalar(Vector64<short> value, byte count);
+            public static Vector64<sbyte> ShiftRightArithmeticNarrowingSaturateScalar(Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-            public static Vector64<short> ShiftRightArithmeticNarrowingSaturateScalar(Vector64<int> value, byte count);
+            public static Vector64<short> ShiftRightArithmeticNarrowingSaturateScalar(Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-            public static Vector64<int> ShiftRightArithmeticNarrowingSaturateScalar(Vector64<long> value, byte count);
+            public static Vector64<int> ShiftRightArithmeticNarrowingSaturateScalar(Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-            public static Vector64<byte> ShiftRightArithmeticNarrowingSaturateUnsignedScalar(Vector64<short> value, byte count);
+            public static Vector64<byte> ShiftRightArithmeticNarrowingSaturateUnsignedScalar(Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-            public static Vector64<ushort> ShiftRightArithmeticNarrowingSaturateUnsignedScalar(Vector64<int> value, byte count);
+            public static Vector64<ushort> ShiftRightArithmeticNarrowingSaturateUnsignedScalar(Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-            public static Vector64<uint> ShiftRightArithmeticNarrowingSaturateUnsignedScalar(Vector64<long> value, byte count);
+            public static Vector64<uint> ShiftRightArithmeticNarrowingSaturateUnsignedScalar(Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-            public static Vector64<sbyte> ShiftRightArithmeticRoundedNarrowingSaturateScalar(Vector64<short> value, byte count);
+            public static Vector64<sbyte> ShiftRightArithmeticRoundedNarrowingSaturateScalar(Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-            public static Vector64<short> ShiftRightArithmeticRoundedNarrowingSaturateScalar(Vector64<int> value, byte count);
+            public static Vector64<short> ShiftRightArithmeticRoundedNarrowingSaturateScalar(Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-            public static Vector64<int> ShiftRightArithmeticRoundedNarrowingSaturateScalar(Vector64<long> value, byte count);
+            public static Vector64<int> ShiftRightArithmeticRoundedNarrowingSaturateScalar(Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-            public static Vector64<byte> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedScalar(Vector64<short> value, byte count);
+            public static Vector64<byte> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedScalar(Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-            public static Vector64<ushort> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedScalar(Vector64<int> value, byte count);
+            public static Vector64<ushort> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedScalar(Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-            public static Vector64<uint> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedScalar(Vector64<long> value, byte count);
+            public static Vector64<uint> ShiftRightArithmeticRoundedNarrowingSaturateUnsignedScalar(Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-            public static Vector64<sbyte> ShiftRightLogicalNarrowingSaturateScalar(Vector64<short> value, byte count);
+            public static Vector64<sbyte> ShiftRightLogicalNarrowingSaturateScalar(Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-            public static Vector64<short> ShiftRightLogicalNarrowingSaturateScalar(Vector64<int> value, byte count);
+            public static Vector64<short> ShiftRightLogicalNarrowingSaturateScalar(Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-            public static Vector64<int> ShiftRightLogicalNarrowingSaturateScalar(Vector64<long> value, byte count);
+            public static Vector64<int> ShiftRightLogicalNarrowingSaturateScalar(Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-            public static Vector64<byte> ShiftRightLogicalNarrowingSaturateScalar(Vector64<ushort> value, byte count);
+            public static Vector64<byte> ShiftRightLogicalNarrowingSaturateScalar(Vector64<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-            public static Vector64<ushort> ShiftRightLogicalNarrowingSaturateScalar(Vector64<uint> value, byte count);
+            public static Vector64<ushort> ShiftRightLogicalNarrowingSaturateScalar(Vector64<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-            public static Vector64<uint> ShiftRightLogicalNarrowingSaturateScalar(Vector64<ulong> value, byte count);
+            public static Vector64<uint> ShiftRightLogicalNarrowingSaturateScalar(Vector64<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-            public static Vector64<sbyte> ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<short> value, byte count);
+            public static Vector64<sbyte> ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<short> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-            public static Vector64<short> ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<int> value, byte count);
+            public static Vector64<short> ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<int> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-            public static Vector64<int> ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<long> value, byte count);
+            public static Vector64<int> ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<long> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
-            public static Vector64<byte> ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<ushort> value, byte count);
+            public static Vector64<byte> ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<ushort> value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count);
-            public static Vector64<ushort> ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<uint> value, byte count);
+            public static Vector64<ushort> ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<uint> value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count);
-            public static Vector64<uint> ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<ulong> value, byte count);
+            public static Vector64<uint> ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<ulong> value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count);
         }
     }
     [CLSCompliantAttribute(false)]
     public abstract class Dp : AdvSimd {
-        public static Vector128<int> DotProductBySelectedQuadruplet(Vector128<int> addend, Vector128<sbyte> left, Vector128<sbyte> right, byte rightScaledIndex);
+        public static Vector128<int> DotProductBySelectedQuadruplet(Vector128<int> addend, Vector128<sbyte> left, Vector128<sbyte> right, [ConstantExpectedAttribute(Max=(byte)15)] byte rightScaledIndex);
-        public static Vector128<int> DotProductBySelectedQuadruplet(Vector128<int> addend, Vector128<sbyte> left, Vector64<sbyte> right, byte rightScaledIndex);
+        public static Vector128<int> DotProductBySelectedQuadruplet(Vector128<int> addend, Vector128<sbyte> left, Vector64<sbyte> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightScaledIndex);
-        public static Vector128<uint> DotProductBySelectedQuadruplet(Vector128<uint> addend, Vector128<byte> left, Vector128<byte> right, byte rightScaledIndex);
+        public static Vector128<uint> DotProductBySelectedQuadruplet(Vector128<uint> addend, Vector128<byte> left, Vector128<byte> right, [ConstantExpectedAttribute(Max=(byte)15)] byte rightScaledIndex);
-        public static Vector128<uint> DotProductBySelectedQuadruplet(Vector128<uint> addend, Vector128<byte> left, Vector64<byte> right, byte rightScaledIndex);
+        public static Vector128<uint> DotProductBySelectedQuadruplet(Vector128<uint> addend, Vector128<byte> left, Vector64<byte> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightScaledIndex);
-        public static Vector64<int> DotProductBySelectedQuadruplet(Vector64<int> addend, Vector64<sbyte> left, Vector128<sbyte> right, byte rightScaledIndex);
+        public static Vector64<int> DotProductBySelectedQuadruplet(Vector64<int> addend, Vector64<sbyte> left, Vector128<sbyte> right, [ConstantExpectedAttribute(Max=(byte)15)] byte rightScaledIndex);
-        public static Vector64<int> DotProductBySelectedQuadruplet(Vector64<int> addend, Vector64<sbyte> left, Vector64<sbyte> right, byte rightScaledIndex);
+        public static Vector64<int> DotProductBySelectedQuadruplet(Vector64<int> addend, Vector64<sbyte> left, Vector64<sbyte> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightScaledIndex);
-        public static Vector64<uint> DotProductBySelectedQuadruplet(Vector64<uint> addend, Vector64<byte> left, Vector128<byte> right, byte rightScaledIndex);
+        public static Vector64<uint> DotProductBySelectedQuadruplet(Vector64<uint> addend, Vector64<byte> left, Vector128<byte> right, [ConstantExpectedAttribute(Max=(byte)15)] byte rightScaledIndex);
-        public static Vector64<uint> DotProductBySelectedQuadruplet(Vector64<uint> addend, Vector64<byte> left, Vector64<byte> right, byte rightScaledIndex);
+        public static Vector64<uint> DotProductBySelectedQuadruplet(Vector64<uint> addend, Vector64<byte> left, Vector64<byte> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightScaledIndex);
     }
     [CLSCompliantAttribute(false)]
     public abstract class Rdm : AdvSimd {
-        public static Vector128<short> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128<short> addend, Vector128<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<short> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128<short> addend, Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<short> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128<short> addend, Vector128<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<short> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128<short> addend, Vector128<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128<int> addend, Vector128<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<int> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128<int> addend, Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128<int> addend, Vector128<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<int> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128<int> addend, Vector128<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector64<short> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64<short> addend, Vector64<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector64<short> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64<short> addend, Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector64<short> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64<short> addend, Vector64<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector64<short> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64<short> addend, Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64<int> addend, Vector64<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector64<int> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64<int> addend, Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64<int> addend, Vector64<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector64<int> MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64<int> addend, Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector128<short> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128<short> minuend, Vector128<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector128<short> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128<short> minuend, Vector128<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector128<short> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128<short> minuend, Vector128<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector128<short> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128<short> minuend, Vector128<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128<int> minuend, Vector128<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector128<int> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128<int> minuend, Vector128<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector128<int> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128<int> minuend, Vector128<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector128<int> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128<int> minuend, Vector128<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-        public static Vector64<short> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64<short> minuend, Vector64<short> left, Vector128<short> right, byte rightIndex);
+        public static Vector64<short> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64<short> minuend, Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-        public static Vector64<short> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64<short> minuend, Vector64<short> left, Vector64<short> right, byte rightIndex);
+        public static Vector64<short> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64<short> minuend, Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64<int> minuend, Vector64<int> left, Vector128<int> right, byte rightIndex);
+        public static Vector64<int> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64<int> minuend, Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-        public static Vector64<int> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64<int> minuend, Vector64<int> left, Vector64<int> right, byte rightIndex);
+        public static Vector64<int> MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64<int> minuend, Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
         public new abstract class Arm64 : AdvSimd.Arm64 {
-            public static Vector64<short> MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64<short> addend, Vector64<short> left, Vector128<short> right, byte rightIndex);
+            public static Vector64<short> MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64<short> addend, Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-            public static Vector64<short> MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64<short> addend, Vector64<short> left, Vector64<short> right, byte rightIndex);
+            public static Vector64<short> MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64<short> addend, Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<int> MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64<int> addend, Vector64<int> left, Vector128<int> right, byte rightIndex);
+            public static Vector64<int> MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64<int> addend, Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<int> MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64<int> addend, Vector64<int> left, Vector64<int> right, byte rightIndex);
+            public static Vector64<int> MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64<int> addend, Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
-            public static Vector64<short> MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64<short> minuend, Vector64<short> left, Vector128<short> right, byte rightIndex);
+            public static Vector64<short> MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64<short> minuend, Vector64<short> left, Vector128<short> right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex);
-            public static Vector64<short> MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64<short> minuend, Vector64<short> left, Vector64<short> right, byte rightIndex);
+            public static Vector64<short> MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64<short> minuend, Vector64<short> left, Vector64<short> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<int> MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64<int> minuend, Vector64<int> left, Vector128<int> right, byte rightIndex);
+            public static Vector64<int> MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64<int> minuend, Vector64<int> left, Vector128<int> right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex);
-            public static Vector64<int> MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64<int> minuend, Vector64<int> left, Vector64<int> right, byte rightIndex);
+            public static Vector64<int> MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64<int> minuend, Vector64<int> left, Vector64<int> right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex);
         }
     }
 }
```

