diff --git a/src/benchmarks/micro/MicroBenchmarks.csproj b/src/benchmarks/micro/MicroBenchmarks.csproj index 9e21bcdb8a3..665ba21a9a3 100644 --- a/src/benchmarks/micro/MicroBenchmarks.csproj +++ b/src/benchmarks/micro/MicroBenchmarks.csproj @@ -263,6 +263,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/benchmarks/micro/sve/Clamp.cs b/src/benchmarks/micro/sve/Clamp.cs index 9788913eb98..f90a2032780 100644 --- a/src/benchmarks/micro/sve/Clamp.cs +++ b/src/benchmarks/micro/sve/Clamp.cs @@ -90,7 +90,7 @@ public unsafe void SveClamp() Vector valVec = new Vector(Size / 2); Vector minVec = Vector.Indices; Vector pTrue = Sve.CreateTrueMaskInt32(); - Vector pLoop = (Vector)Sve.CreateWhileLessThanMask32Bit(i, length); + Vector pLoop = Sve.CreateWhileLessThanMaskInt32(i, length); while (Sve.TestFirstTrue(pTrue, pLoop)) { Vector maxVec = Sve.ShiftLeftLogical(minVec, Vector.One); @@ -99,7 +99,7 @@ public unsafe void SveClamp() minVec = Sve.Add(minVec, new Vector(cntw)); i += cntw; - pLoop = (Vector)Sve.CreateWhileLessThanMask32Bit(i, length); + pLoop = Sve.CreateWhileLessThanMaskInt32(i, length); } _output = (int)Sve.AddAcross(resVec).ToScalar(); } @@ -116,7 +116,7 @@ public unsafe void SveTail() Vector minVec = Vector.Indices; for (; i < length; i += cntw) { - Vector pLoop = (Vector)Sve.CreateWhileLessThanMask32Bit(i, length); + Vector pLoop = Sve.CreateWhileLessThanMaskInt32(i, length); Vector maxVec = Sve.ShiftLeftLogical(minVec, Vector.One); Vector tmpVec = Sve.Min(Sve.Max(valVec, minVec), maxVec); resVec = Sve.ConditionalSelect(pLoop, Sve.Add(resVec, tmpVec), resVec); diff --git a/src/benchmarks/micro/sve/ComplexDotProduct.cs b/src/benchmarks/micro/sve/ComplexDotProduct.cs index fafbd9b0236..7483637b41d 100644 --- a/src/benchmarks/micro/sve/ComplexDotProduct.cs +++ b/src/benchmarks/micro/sve/ComplexDotProduct.cs @@ -213,7 +213,7 @@ public unsafe void SveComplexDotProduct() // Create mask for the imaginary half of a word. Vector imMask = (Vector)(new Vector(0xFFFF0000u)); Vector pTrue = Sve.CreateTrueMaskInt32(); - Vector pLoop = (Vector)Sve.CreateWhileLessThanMask32Bit(0, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskInt32(0, Size); while (Sve.TestFirstTrue(pTrue, pLoop)) { // Load inputs. @@ -248,7 +248,7 @@ public unsafe void SveComplexDotProduct() // Handle loop. i += cntw; - pLoop = (Vector)Sve.CreateWhileLessThanMask32Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskInt32(i, Size); } } } @@ -263,7 +263,7 @@ public unsafe void Sve2ComplexDotProduct() int cntw = (int)Sve.Count32BitElements(); Vector pTrue = Sve.CreateTrueMaskInt32(); - Vector pLoop = (Vector)Sve.CreateWhileLessThanMask32Bit(0, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskInt32(0, Size); while (Sve.TestFirstTrue(pTrue, pLoop)) { Vector a1 = (Vector)Sve.LoadVector(pLoop, (int*)(a + 4 * i)); @@ -276,7 +276,7 @@ public unsafe void Sve2ComplexDotProduct() // Handle loop. i += cntw; - pLoop = (Vector)Sve.CreateWhileLessThanMask32Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskInt32(i, Size); } } } diff --git a/src/benchmarks/micro/sve/ComplexMultiply.cs b/src/benchmarks/micro/sve/ComplexMultiply.cs index 199d6948f4c..06c5b5402e1 100644 --- a/src/benchmarks/micro/sve/ComplexMultiply.cs +++ b/src/benchmarks/micro/sve/ComplexMultiply.cs @@ -135,11 +135,11 @@ public unsafe void SveComplexMultiply() // Handle remaining elements using predicates. lmt = Size * 2; - Vector pLoop = Sve.CreateWhileLessThanMask32Bit(i, lmt); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt32(i, lmt); if (Sve.TestFirstTrue(pTrue, pLoop)) { // Compute the predicate for elements in i + cntw. - Vector pTail = Sve.CreateWhileLessThanMask32Bit(i + cntw, lmt); + Vector pTail = Sve.CreateWhileLessThanMaskUInt32(i + cntw, lmt); // Unzip the predicates pLoop and pTail for 2xVector load/store. Vector pInner = Sve.UnzipEven(pLoop, pTail); @@ -190,7 +190,7 @@ public unsafe void Sve2ComplexMultiply() // Handle remaining elements. lmt = Size; - Vector pLoop = Sve.CreateWhileLessThanMask64Bit(i, lmt); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt64(i, lmt); while (Sve.TestFirstTrue(pTrue, pLoop)) { Vector a1 = (Vector)Sve2.LoadVector(pLoop, (ulong*)a + i); @@ -201,7 +201,7 @@ public unsafe void Sve2ComplexMultiply() Sve.StoreAndZip(pLoop, (ulong*)c + i, (Vector)(c1)); i += cntd; - pLoop = Sve.CreateWhileLessThanMask64Bit(i, lmt); + pLoop = Sve.CreateWhileLessThanMaskUInt64(i, lmt); } } } diff --git a/src/benchmarks/micro/sve/Exponent.cs b/src/benchmarks/micro/sve/Exponent.cs index add346fb147..4e36cda4584 100644 --- a/src/benchmarks/micro/sve/Exponent.cs +++ b/src/benchmarks/micro/sve/Exponent.cs @@ -168,7 +168,7 @@ public unsafe void SveExponent() Vector constVec = new Vector(new ReadOnlySpan(&d[3], 4)); Vector pTrue = Sve.CreateTrueMaskUInt32(); - Vector pLoop = Sve.CreateWhileLessThanMask32Bit(0, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt32(0, Size); while (Sve.TestFirstTrue(pTrue, pLoop)) { Vector x = (Vector)Sve.LoadVector(pLoop, (uint*)(input + i)); @@ -197,7 +197,7 @@ public unsafe void SveExponent() // Handle loop. i += cntw; - pLoop = Sve.CreateWhileLessThanMask32Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskUInt32(i, Size); } } } diff --git a/src/benchmarks/micro/sve/FP64Overflow.cs b/src/benchmarks/micro/sve/FP64Overflow.cs index 973a7ec6eb2..6102792ff7e 100644 --- a/src/benchmarks/micro/sve/FP64Overflow.cs +++ b/src/benchmarks/micro/sve/FP64Overflow.cs @@ -153,7 +153,7 @@ public unsafe void SveFP64Overflow() Vector maskVec = new Vector(1023); Vector pTrue = Sve.CreateTrueMaskUInt64(); - Vector pLoop = Sve.CreateWhileLessThanMask64Bit(i, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt64(i, Size); while (Sve.TestFirstTrue(pTrue, pLoop)) { // Load Vector as ulong then convert to Vector. @@ -178,7 +178,7 @@ public unsafe void SveFP64Overflow() // Handle loop. i += cntd; - pLoop = Sve.CreateWhileLessThanMask64Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskUInt64(i, Size); } } } @@ -193,7 +193,7 @@ public unsafe void Sve2FP64Overflow() int cntd = (int)Sve.Count64BitElements(); Vector pTrue = Sve.CreateTrueMaskUInt64(); - Vector pLoop = Sve.CreateWhileLessThanMask64Bit(i, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt64(i, Size); while (Sve.TestFirstTrue(pTrue, pLoop)) { // Load input vectors. @@ -214,7 +214,7 @@ public unsafe void Sve2FP64Overflow() // Handle loop. i += cntd; - pLoop = Sve.CreateWhileLessThanMask64Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskUInt64(i, Size); } } } diff --git a/src/benchmarks/micro/sve/FastDivision.cs b/src/benchmarks/micro/sve/FastDivision.cs index 24f5b86f790..38764883fc6 100644 --- a/src/benchmarks/micro/sve/FastDivision.cs +++ b/src/benchmarks/micro/sve/FastDivision.cs @@ -123,7 +123,7 @@ public unsafe void SveFastDivision() int cntd = (int)Sve.Count64BitElements(); Vector pTrue = Sve.CreateTrueMaskUInt64(); - Vector pLoop = Sve.CreateWhileLessThanMask64Bit(i, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt64(i, Size); while (Sve.TestFirstTrue(pTrue, pLoop)) { Vector input1Vec = (Vector)Sve.LoadVector(pLoop, (ulong*)input1 + i); @@ -145,7 +145,7 @@ public unsafe void SveFastDivision() Sve.StoreAndZip(pLoop, (ulong*)output + i, (Vector)outVec); i += cntd; - pLoop = Sve.CreateWhileLessThanMask64Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskUInt64(i, Size); } } } diff --git a/src/benchmarks/micro/sve/GatherLoad.cs b/src/benchmarks/micro/sve/GatherLoad.cs index badec15d255..35cf8a1c5be 100644 --- a/src/benchmarks/micro/sve/GatherLoad.cs +++ b/src/benchmarks/micro/sve/GatherLoad.cs @@ -80,7 +80,7 @@ public unsafe void SveGatherLoad() Vector resVec = Vector.Zero; Vector pTrue = Sve.CreateTrueMaskUInt32(); - Vector pLoop = Sve.CreateWhileLessThanMask32Bit(0, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt32(0, Size); while (Sve.TestFirstTrue(pTrue, pLoop)) { // Load indices @@ -91,7 +91,7 @@ public unsafe void SveGatherLoad() resVec = Sve.Add(resVec, objVec); i += cntw; - pLoop = Sve.CreateWhileLessThanMask32Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskUInt32(i, Size); } // Add up all elements in resVec. uint res = (uint)Sve.AddAcross(resVec).ToScalar(); diff --git a/src/benchmarks/micro/sve/Logarithm.cs b/src/benchmarks/micro/sve/Logarithm.cs index 3400c2a6b58..9222e7521c4 100644 --- a/src/benchmarks/micro/sve/Logarithm.cs +++ b/src/benchmarks/micro/sve/Logarithm.cs @@ -174,7 +174,7 @@ public unsafe void SveLogarithm() Vector pTrue = Sve.CreateTrueMaskUInt32(); Vector pTruef = Sve.CreateTrueMaskSingle(); - Vector pLoop = Sve.CreateWhileLessThanMask32Bit(0, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt32(0, Size); while (Sve.TestFirstTrue(pTrue, pLoop)) { Vector x = (Vector)Sve.LoadVector(pLoop, (uint*)(input + i)); @@ -239,7 +239,7 @@ public unsafe void SveLogarithm() // Handle loop. i += cntw; - pLoop = Sve.CreateWhileLessThanMask32Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskUInt32(i, Size); } } } diff --git a/src/benchmarks/micro/sve/MultiplyAdd.cs b/src/benchmarks/micro/sve/MultiplyAdd.cs index 407ebf187cc..438bb575b11 100644 --- a/src/benchmarks/micro/sve/MultiplyAdd.cs +++ b/src/benchmarks/micro/sve/MultiplyAdd.cs @@ -154,7 +154,7 @@ public unsafe void SveMultiplyAdd() // Handle remaining elements using predicates. lmt = Size; - Vector pLoop = (Vector)Sve.CreateWhileLessThanMask32Bit(i, lmt); + Vector pLoop = Sve.CreateWhileLessThanMaskInt32(i, lmt); while (Sve.TestAnyTrue(pTrue, pLoop)) { Vector aVec = Sve.LoadVector(pLoop, a + i); @@ -165,7 +165,7 @@ public unsafe void SveMultiplyAdd() // Increment by a vector length. i += cntw; - pLoop = (Vector)Sve.CreateWhileLessThanMask32Bit(i, lmt); + pLoop = Sve.CreateWhileLessThanMaskInt32(i, lmt); } // Sum up all elements in the 4 result vectors. diff --git a/src/benchmarks/micro/sve/MultiplyPow2.cs b/src/benchmarks/micro/sve/MultiplyPow2.cs index 1639d120a5d..cc13932133a 100644 --- a/src/benchmarks/micro/sve/MultiplyPow2.cs +++ b/src/benchmarks/micro/sve/MultiplyPow2.cs @@ -116,7 +116,7 @@ public unsafe void SveMultiplyPow2() int cntd = (int)Sve.Count64BitElements(); Vector pTrue = Sve.CreateTrueMaskUInt64(); - Vector pLoop = Sve.CreateWhileLessThanMask64Bit(i, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt64(i, Size); while (Sve.TestFirstTrue(pTrue, pLoop)) { // Cast the array pointers to ulong so the predicate can be shared. @@ -129,7 +129,7 @@ public unsafe void SveMultiplyPow2() // Handle loop. i += cntd; - pLoop = Sve.CreateWhileLessThanMask64Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskUInt64(i, Size); } } } diff --git a/src/benchmarks/micro/sve/OddEvenSort.cs b/src/benchmarks/micro/sve/OddEvenSort.cs index 6e4a302351b..7a17f6044b0 100644 --- a/src/benchmarks/micro/sve/OddEvenSort.cs +++ b/src/benchmarks/micro/sve/OddEvenSort.cs @@ -180,7 +180,7 @@ public unsafe void SveOddEvenSort() for (; j < n - 1; j += (cntw << 1)) { // Get predicate for elements to load/store. - Vector pLoop = Sve.CreateWhileLessThanMask32Bit(0, (n - j) / 2); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt32(0, (n - j) / 2); // Interleaved load elements. (Vector a0, Vector a1) = Sve.Load2xVectorAndUnzip(pLoop, source + j); @@ -248,7 +248,7 @@ public unsafe void SveTail() // Handle tail using predicates. for (; j < n - 1; j += (cntw << 1)) { - Vector pLoop = Sve.CreateWhileLessThanMask32Bit(0, (n - j) / 2); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt32(0, (n - j) / 2); (Vector a0, Vector a1) = Sve.Load2xVectorAndUnzip(pLoop, source + j); Vector pCmp = Sve.ConditionalSelect(pLoop, Sve.CompareGreaterThan(a0, a1), Sve.CreateFalseMaskUInt32()); diff --git a/src/benchmarks/micro/sve/PairwiseAdd.cs b/src/benchmarks/micro/sve/PairwiseAdd.cs index 3d6af5446b5..f612e2b2e00 100644 --- a/src/benchmarks/micro/sve/PairwiseAdd.cs +++ b/src/benchmarks/micro/sve/PairwiseAdd.cs @@ -133,11 +133,11 @@ public unsafe void SvePairwiseAdd() // Handle remaining elements using predicates. lmt = Size * 2; - Vector pLoop = (Vector)Sve.CreateWhileLessThanMask32Bit(i, lmt); + Vector pLoop = Sve.CreateWhileLessThanMaskInt32(i, lmt); if (Sve.TestFirstTrue(pTrue, pLoop)) { // Compute the predicate for elements in i + cntw. - Vector pTail = (Vector)Sve.CreateWhileLessThanMask32Bit(i + cntw, lmt); + Vector pTail = Sve.CreateWhileLessThanMaskInt32(i + cntw, lmt); // Unzip the predicates pLoop and pTail for 2xVector load/store. Vector pInner = Sve.UnzipEven(pLoop, pTail); @@ -181,7 +181,7 @@ public unsafe void Sve2PairwiseAdd() // Handle remaining elements. lmt = Size * 2; - Vector pLoop = (Vector)Sve.CreateWhileLessThanMask32Bit(i, lmt); + Vector pLoop = Sve.CreateWhileLessThanMaskInt32(i, lmt); while (Sve.TestFirstTrue(pTrue, pLoop)) { Vector a0 = Sve.LoadVector(pLoop, a + i); @@ -189,7 +189,7 @@ public unsafe void Sve2PairwiseAdd() Vector c0 = Sve2.AddPairwise(a0, b0); Sve.StoreAndZip(pLoop, c + i, c0); i += cntw; - pLoop = (Vector)Sve.CreateWhileLessThanMask32Bit(i, lmt); + pLoop = Sve.CreateWhileLessThanMaskInt32(i, lmt); } } } diff --git a/src/benchmarks/micro/sve/Partition.cs b/src/benchmarks/micro/sve/Partition.cs index 4fa1222dfeb..79433c53cdc 100644 --- a/src/benchmarks/micro/sve/Partition.cs +++ b/src/benchmarks/micro/sve/Partition.cs @@ -86,7 +86,7 @@ public unsafe ulong SvePartition() ); // Create a predicate for the loop. - Vector pLoop = Sve.CreateWhileLessThanMask32Bit(i, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt32(i, Size); while (Sve.TestAnyTrue(Sve.CreateTrueMaskUInt32(), pLoop)) { @@ -119,7 +119,7 @@ public unsafe ulong SvePartition() indexRight = Sve.SaturatingIncrementByActiveElementCount(indexRight, pInner); i = Sve.SaturatingIncrementBy32BitElementCount(i, 1); - pLoop = Sve.CreateWhileLessThanMask32Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskUInt32(i, Size); } return indexRight; diff --git a/src/benchmarks/micro/sve/ScatterStore.cs b/src/benchmarks/micro/sve/ScatterStore.cs index e5ec7fa651f..0728deec252 100644 --- a/src/benchmarks/micro/sve/ScatterStore.cs +++ b/src/benchmarks/micro/sve/ScatterStore.cs @@ -80,7 +80,7 @@ public unsafe void SveScatterStore() Vector ones = Vector.One; Vector pTrue = Sve.CreateTrueMaskUInt32(); - Vector pLoop = Sve.CreateWhileLessThanMask32Bit(0, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt32(0, Size); while (Sve.TestFirstTrue(pTrue, pLoop)) { Vector idxVec = Sve.LoadVector(pLoop, indices + i); @@ -89,7 +89,7 @@ public unsafe void SveScatterStore() Sve.Scatter(pLoop, objects, idxVec, ones); i += cntw; - pLoop = Sve.CreateWhileLessThanMask32Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskUInt32(i, Size); } } } diff --git a/src/benchmarks/micro/sve/SobelFilter.cs b/src/benchmarks/micro/sve/SobelFilter.cs index 19540ea3caa..ecb06c5caa1 100644 --- a/src/benchmarks/micro/sve/SobelFilter.cs +++ b/src/benchmarks/micro/sve/SobelFilter.cs @@ -195,8 +195,8 @@ public unsafe void SveSobelFilter() Vector resVec; // Load coefficients of the filter into vectors. - Vector kxVec = Sve.LoadVector((Vector)Sve.CreateWhileLessThanMask32Bit(0, 3), kx); - Vector kyVec = Sve.LoadVector((Vector)Sve.CreateWhileLessThanMask32Bit(0, 3), ky); + Vector kxVec = Sve.LoadVector(Sve.CreateWhileLessThanMaskSingle(0, 3), kx); + Vector kyVec = Sve.LoadVector(Sve.CreateWhileLessThanMaskSingle(0, 3), ky); for (int j = 0; j < img_size; j++) { // Load the elements from input and output the intermediate result to temp. @@ -205,7 +205,7 @@ public unsafe void SveSobelFilter() for (int i = 0; i < out_size; i += cntw) { - Vector pRow = (Vector)Sve.CreateWhileLessThanMask32Bit(i, out_size); + Vector pRow = Sve.CreateWhileLessThanMaskSingle(i, out_size); // Load input elements from the next 3 columns. Vector col0 = Sve.LoadVector(pRow, in_ptr + i); @@ -228,7 +228,7 @@ public unsafe void SveSobelFilter() for (int i = 0; i < out_size; i += cntw) { - Vector pRow = (Vector)Sve.CreateWhileLessThanMask32Bit(i, out_size); + Vector pRow = Sve.CreateWhileLessThanMaskSingle(i, out_size); // Load input elements from the next 3 rows. Vector row0 = Sve.LoadVector(pRow, in_ptr + i); diff --git a/src/benchmarks/micro/sve/SquareRoot.cs b/src/benchmarks/micro/sve/SquareRoot.cs index f889944d9a4..d2e2f4749ab 100644 --- a/src/benchmarks/micro/sve/SquareRoot.cs +++ b/src/benchmarks/micro/sve/SquareRoot.cs @@ -94,7 +94,7 @@ public unsafe void SveSquareRoot() // We use Vector for predicates since there are no Vector // overloads for TestFirstTrue and CreateWhileLessThanMask etc. Vector pTrue = Sve.CreateTrueMaskUInt32(); - Vector pLoop = Sve.CreateWhileLessThanMask32Bit(0, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt32(0, Size); while (Sve.TestFirstTrue(pTrue, pLoop)) { // Since pLoop is a Vector predicate, we load the input as uint array, @@ -107,7 +107,7 @@ public unsafe void SveSquareRoot() // Handle loop. i += cntw; - pLoop = Sve.CreateWhileLessThanMask32Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskUInt32(i, Size); } } } diff --git a/src/benchmarks/micro/sve/StrCmp.cs b/src/benchmarks/micro/sve/StrCmp.cs index 997f65b809c..14cf905a62e 100644 --- a/src/benchmarks/micro/sve/StrCmp.cs +++ b/src/benchmarks/micro/sve/StrCmp.cs @@ -120,7 +120,7 @@ public unsafe long SveStrCmp() int elemsInVector = (int)Sve.Count8BitElements(); Vector ptrue = Sve.CreateTrueMaskByte(); - Vector pLoop = (Vector)Sve.CreateWhileLessThanMask8Bit(i, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskByte(i, Size); Vector cmp = Vector.Zero; Vector arr1_data, arr2_data; @@ -141,7 +141,7 @@ public unsafe long SveStrCmp() i += elemsInVector; - pLoop = (Vector)Sve.CreateWhileLessThanMask8Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskByte(i, Size); } // create a bitmask to find position of changed value diff --git a/src/benchmarks/micro/sve/StrIndexOf.cs b/src/benchmarks/micro/sve/StrIndexOf.cs index 293b3336df3..e0da41462d1 100644 --- a/src/benchmarks/micro/sve/StrIndexOf.cs +++ b/src/benchmarks/micro/sve/StrIndexOf.cs @@ -109,7 +109,7 @@ public unsafe int SveIndexOf() fixed (char* arr_ptr = _array) { Vector target = new Vector((ushort)_searchValue); - var pLoop = (Vector)Sve.CreateWhileLessThanMask16Bit(i, Size); + var pLoop = Sve.CreateWhileLessThanMaskUInt16(i, Size); while (Sve.TestFirstTrue(Sve.CreateTrueMaskUInt16(), pLoop)) { @@ -126,7 +126,7 @@ public unsafe int SveIndexOf() } i += (int)Sve.Count16BitElements(); - pLoop = (Vector)Sve.CreateWhileLessThanMask16Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskUInt16(i, Size); } return -1; diff --git a/src/benchmarks/micro/sve/StrLen.cs b/src/benchmarks/micro/sve/StrLen.cs index 5bbde0991e0..7f33c824338 100644 --- a/src/benchmarks/micro/sve/StrLen.cs +++ b/src/benchmarks/micro/sve/StrLen.cs @@ -120,7 +120,7 @@ public unsafe ulong SveStrLen() ulong i = 0; ulong elemsInVector = Sve.Count8BitElements(); - Vector pLoop = (Vector)Sve.CreateWhileLessThanMask8Bit((int)i, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskByte((int)i, Size); fixed (byte* arr_ptr = _array) { @@ -134,7 +134,7 @@ public unsafe ulong SveStrLen() else { i += elemsInVector; - pLoop = (Vector)Sve.CreateWhileLessThanMask8Bit((int)i, Size); + pLoop = Sve.CreateWhileLessThanMaskByte((int)i, Size); } } diff --git a/src/benchmarks/micro/sve/TCPChecksum.cs b/src/benchmarks/micro/sve/TCPChecksum.cs index 874eb514083..3463d688ab1 100644 --- a/src/benchmarks/micro/sve/TCPChecksum.cs +++ b/src/benchmarks/micro/sve/TCPChecksum.cs @@ -177,7 +177,7 @@ public unsafe void SveTCPChecksum() int i = 0; Vector acc = Vector.Zero; - Vector pLoop = Sve.CreateWhileLessThanMask16Bit(0, lengthWords); + Vector pLoop = Sve.CreateWhileLessThanMaskUInt16(0, lengthWords); while (Sve.TestAnyTrue(pTrue, pLoop)) { Vector d = Sve.LoadVector(pLoop, ((ushort*)p) + i); @@ -187,7 +187,7 @@ public unsafe void SveTCPChecksum() // Handle loop predicate. i += (int)Sve.Count16BitElements(); - pLoop = Sve.CreateWhileLessThanMask16Bit(i, lengthWords); + pLoop = Sve.CreateWhileLessThanMaskUInt16(i, lengthWords); } // Reduce result to scalar. ulong sum = Sve.AddAcross(acc).ToScalar(); diff --git a/src/benchmarks/micro/sve/UpscaleFilter.cs b/src/benchmarks/micro/sve/UpscaleFilter.cs index 02319660630..f2b13df89be 100644 --- a/src/benchmarks/micro/sve/UpscaleFilter.cs +++ b/src/benchmarks/micro/sve/UpscaleFilter.cs @@ -137,7 +137,7 @@ public unsafe void Sve2UpscaleFilter() { int lmt = Size - 1; int i = 0; - Vector pLoop = Sve.CreateWhileLessThanMask8Bit(0, lmt); + Vector pLoop = Sve.CreateWhileLessThanMaskByte(0, lmt); while (Sve.TestAnyTrue(pTrue, pLoop)) { // Load two consecutive samples. @@ -168,7 +168,7 @@ public unsafe void Sve2UpscaleFilter() Sve.StoreAndZip(pLoop, output + i * 2, (b0, b1)); i += (int)Sve.Count8BitElements(); - pLoop = Sve.CreateWhileLessThanMask8Bit(i, lmt); + pLoop = Sve.CreateWhileLessThanMaskByte(i, lmt); } } } diff --git a/src/benchmarks/micro/sve/VectorMax.cs b/src/benchmarks/micro/sve/VectorMax.cs index 41e559099e7..2e040da2104 100644 --- a/src/benchmarks/micro/sve/VectorMax.cs +++ b/src/benchmarks/micro/sve/VectorMax.cs @@ -129,7 +129,7 @@ public unsafe void SveVectorMax() short cnth = (short)Sve.Count16BitElements(); Vector pTrue = Sve.CreateTrueMaskInt16(); - Vector pLoop = (Vector)Sve.CreateWhileLessThanMask16Bit(0, Size); + Vector pLoop = Sve.CreateWhileLessThanMaskInt16(0, Size); Vector idxVec = Vector.Indices; // Initialize the first vector worth of values. @@ -137,7 +137,7 @@ public unsafe void SveVectorMax() Vector maxIdxVec = idxVec; i += cnth; - pLoop = (Vector)Sve.CreateWhileLessThanMask16Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskInt16(i, Size); while (Sve.TestFirstTrue(pTrue, pLoop)) { Vector val = Sve.LoadVector(pLoop, input + i); @@ -152,7 +152,7 @@ public unsafe void SveVectorMax() // Handle loop. i += cnth; - pLoop = (Vector)Sve.CreateWhileLessThanMask16Bit(i, Size); + pLoop = Sve.CreateWhileLessThanMaskInt16(i, Size); } // Get the maximum element across the max vector.