3 types derived from AdvSimd
System.Private.CoreLib (3)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Arm\Dp.PlatformNotSupported.cs (1)
11public abstract class Dp : AdvSimd
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Arm\Rdm.PlatformNotSupported.cs (1)
11public abstract class Rdm : AdvSimd
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Arm\Sve.PlatformNotSupported.cs (1)
19abstract class Sve : AdvSimd
352 references to AdvSimd
GenerateDocumentationAndConfigFiles (2)
src\roslyn\src\Compilers\Core\Portable\Hashing\XxHashShared.cs (2)
708if (AdvSimd.IsSupported) 712return AdvSimd.MultiplyWideningLower(sourceLow, sourceHigh);
Microsoft.AspNetCore.Razor.Utilities.Shared (2)
Utilities\Hashing\XxHashShared.cs (2)
707if (AdvSimd.IsSupported) 711return AdvSimd.MultiplyWideningLower(sourceLow, sourceHigh);
Microsoft.CodeAnalysis (2)
Hashing\XxHashShared.cs (2)
708if (AdvSimd.IsSupported) 712return AdvSimd.MultiplyWideningLower(sourceLow, sourceHigh);
Microsoft.CodeAnalysis.Workspaces (2)
src\roslyn\src\Compilers\Core\Portable\Hashing\XxHashShared.cs (2)
708if (AdvSimd.IsSupported) 712return AdvSimd.MultiplyWideningLower(sourceLow, sourceHigh);
System.IO.Hashing (17)
System\IO\Hashing\Adler32.cs (10)
285else if (AdvSimd.IsSupported) 288vs1 = AdvSimd.AddPairwiseWideningAndAdd( 290AdvSimd.AddPairwiseWideningAndAdd( 291AdvSimd.AddPairwiseWidening(bytes1), 296Vector128<ushort> wprod1 = AdvSimd.MultiplyWideningLower(bytes1.GetLower(), tap1.AsByte().GetLower()); 297wprod1 = AdvSimd.MultiplyWideningUpperAndAdd(wprod1, bytes1, tap1.AsByte()); 298vs2 = AdvSimd.AddPairwiseWideningAndAdd(vs2, wprod1); 300Vector128<ushort> wprod2 = AdvSimd.MultiplyWideningLower(bytes2.GetLower(), tap2.AsByte().GetLower()); 301wprod2 = AdvSimd.MultiplyWideningUpperAndAdd(wprod2, bytes2, tap2.AsByte()); 302vs2 = AdvSimd.AddPairwiseWideningAndAdd(vs2, wprod2);
System\IO\Hashing\VectorHelper.cs (5)
18public static bool IsSupported => Pclmulqdq.IsSupported || (Aes.IsSupported && AdvSimd.IsSupported); 108if (AdvSimd.IsSupported) 110return AdvSimd.ExtractVector128(operand.AsByte(), Vector128<byte>.Zero, numBytesToShift).AsUInt64(); 125if (AdvSimd.IsSupported) 127return AdvSimd.ExtractVector128(Vector128<byte>.Zero, operand.AsByte(), 8).AsUInt64();
System\IO\Hashing\XxHashShared.cs (2)
700if (AdvSimd.IsSupported) 704return AdvSimd.MultiplyWideningLower(sourceLow, sourceHigh);
System.Numerics.Tensors (30)
System\Numerics\Tensors\netcore\TensorPrimitives.LeadingZeroCount.cs (5)
37(AdvSimd.IsSupported && sizeof(T) == 4); 83if (AdvSimd.IsSupported) 85if (sizeof(T) == 1) return AdvSimd.LeadingZeroCount(x.AsByte()).As<byte, T>(); 86if (sizeof(T) == 2) return AdvSimd.LeadingZeroCount(x.AsUInt16()).As<ushort, T>(); 89return AdvSimd.LeadingZeroCount(x.AsUInt32()).As<uint, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.PopCount.cs (9)
53(sizeof(T) is 1 or 2 or 4) || (AdvSimd.IsSupported && sizeof(T) == 8); 60if (AdvSimd.IsSupported) 62Vector128<byte> cnt = AdvSimd.PopCount(x.AsByte()); 71return AdvSimd.AddPairwiseWidening(cnt).As<ushort, T>(); 76return AdvSimd.AddPairwiseWidening(AdvSimd.AddPairwiseWidening(cnt)).As<uint, T>(); 81return AdvSimd.AddPairwiseWidening(AdvSimd.AddPairwiseWidening(AdvSimd.AddPairwiseWidening(cnt))).As<ulong, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Reciprocal.cs (8)
137if (AdvSimd.IsSupported) 139if (typeof(T) == typeof(float)) return AdvSimd.ReciprocalEstimate(x.AsSingle()).As<float, T>(); 142if (AdvSimd.Arm64.IsSupported) 144if (typeof(T) == typeof(double)) return AdvSimd.Arm64.ReciprocalEstimate(x.AsDouble()).As<double, T>(); 197if (AdvSimd.IsSupported) 199if (typeof(T) == typeof(float)) return AdvSimd.ReciprocalSquareRootEstimate(x.AsSingle()).As<float, T>(); 202if (AdvSimd.Arm64.IsSupported) 204if (typeof(T) == typeof(double)) return AdvSimd.Arm64.ReciprocalSquareRootEstimate(x.AsDouble()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Round.cs (4)
197if (AdvSimd.IsSupported) 199return AdvSimd.RoundAwayFromZero(x.AsSingle()).As<float, T>(); 206if (AdvSimd.Arm64.IsSupported) 208return AdvSimd.Arm64.RoundAwayFromZero(x.AsDouble()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.TrailingZeroCount.cs (4)
31(AdvSimd.Arm64.IsSupported && sizeof(T) == 1) || 39if (AdvSimd.Arm64.IsSupported && sizeof(T) == 1) 41return AdvSimd.LeadingZeroCount(AdvSimd.Arm64.ReverseElementBits(x.AsByte())).As<byte, T>();
System.Private.CoreLib (296)
src\runtime\src\libraries\Common\src\System\HexConverter.cs (13)
98[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 102Debug.Assert(Ssse3.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported); 118[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 192if ((AdvSimd.Arm64.IsSupported || Ssse3.IsSupported || PackedSimd.IsSupported) && (source.Length >= (Vector128<byte>.Count / 2))) 209if ((AdvSimd.Arm64.IsSupported || Ssse3.IsSupported || PackedSimd.IsSupported) && (source.Length >= (Vector128<ushort>.Count / 2))) 279if (BitConverter.IsLittleEndian && (Ssse3.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported) && 291if (BitConverter.IsLittleEndian && (Ssse3.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported) && 301[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 306Debug.Assert(Ssse3.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported); 395else if (AdvSimd.Arm64.IsSupported) 398Vector128<short> even = AdvSimd.Arm64.TransposeEven(nibbles, Vector128<byte>.Zero).AsInt16(); 399Vector128<short> odd = AdvSimd.Arm64.TransposeOdd(nibbles, Vector128<byte>.Zero).AsInt16(); 402output = AdvSimd.AddSaturate(even, odd).AsByte();
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Helper\Base64DecoderHelper.cs (38)
81if (AdvSimd.Arm64.IsSupported && (end >= src)) 92if ((Ssse3.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported) && BitConverter.IsLittleEndian && (end >= src)) 384if (AdvSimd.Arm64.IsSupported && (end >= src)) 390if ((Ssse3.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported) && BitConverter.IsLittleEndian && (end >= src)) 1010[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 1014Debug.Assert((Ssse3.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported) && BitConverter.IsLittleEndian); 1026return AdvSimd.Arm64.VectorTableLookup(left, right & mask8F); 1031[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 1105Vector128<byte> decOne1 = AdvSimd.Arm64.VectorTableLookup(decLutOne, str1); 1106Vector128<byte> decOne2 = AdvSimd.Arm64.VectorTableLookup(decLutOne, str2); 1107Vector128<byte> decOne3 = AdvSimd.Arm64.VectorTableLookup(decLutOne, str3); 1108Vector128<byte> decOne4 = AdvSimd.Arm64.VectorTableLookup(decLutOne, str4); 1119Vector128<byte> decTwo1 = AdvSimd.SubtractSaturate(str1, offset); 1120Vector128<byte> decTwo2 = AdvSimd.SubtractSaturate(str2, offset); 1121Vector128<byte> decTwo3 = AdvSimd.SubtractSaturate(str3, offset); 1122Vector128<byte> decTwo4 = AdvSimd.SubtractSaturate(str4, offset); 1125decTwo1 = AdvSimd.Arm64.VectorTableLookupExtension(decTwo1, decLutTwo, decTwo1); 1126decTwo2 = AdvSimd.Arm64.VectorTableLookupExtension(decTwo2, decLutTwo, decTwo2); 1127decTwo3 = AdvSimd.Arm64.VectorTableLookupExtension(decTwo3, decLutTwo, decTwo3); 1128decTwo4 = AdvSimd.Arm64.VectorTableLookupExtension(decTwo4, decLutTwo, decTwo4); 1159AdvSimd.Arm64.StoreVectorAndZip(dest, (res1, res2, res3)); 1171[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 1178Debug.Assert((Ssse3.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported) && BitConverter.IsLittleEndian); 1293else if (AdvSimd.Arm64.IsSupported) 1295Vector128<ushort> evens = AdvSimd.ShiftLeftLogicalWideningLower(AdvSimd.Arm64.UnzipEven(str, one).GetLower(), 6); 1296Vector128<ushort> odds = AdvSimd.Arm64.TransposeOdd(str, Vector128<byte>.Zero).AsUInt16(); 1323else if (AdvSimd.Arm64.IsSupported) 1325Vector128<int> ievens = AdvSimd.ShiftLeftLogicalWideningLower(AdvSimd.Arm64.UnzipEven(merge_ab_and_bc, one.AsInt16()).GetLower(), 12); 1326Vector128<int> iodds = AdvSimd.Arm64.TransposeOdd(merge_ab_and_bc, Vector128<short>.Zero).AsInt32(); 1481[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 1572[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 1577(str1, str2, str3, str4) = AdvSimd.Arm64.Load4xVector128AndUnzip(src); 1703[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 1767[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 1772var (s11, s12, s21, s22) = AdvSimd.Arm64.Load4xVector128AndUnzip(src); 1773var (s31, s32, s41, s42) = AdvSimd.Arm64.Load4xVector128AndUnzip(src + 32);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Helper\Base64EncoderHelper.cs (25)
66if (AdvSimd.Arm64.IsSupported && (end >= src)) 75if ((Ssse3.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported) && BitConverter.IsLittleEndian && (end >= src)) 384[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 409(str1, str2, str3) = AdvSimd.Arm64.Load3xVector128AndUnzip(src); 415res2 = AdvSimd.ShiftLeftAndInsert(res2, str1, 4); 416res3 = AdvSimd.ShiftLeftAndInsert(res3, str2, 2); 419res2 &= AdvSimd.DuplicateToVector128((byte)0x3F); 420res3 &= AdvSimd.DuplicateToVector128((byte)0x3F); 421res4 = str3 & AdvSimd.DuplicateToVector128((byte)0x3F); 426res1 = AdvSimd.Arm64.VectorTableLookup((tblEnc1, tblEnc2, tblEnc3, tblEnc4), res1); 427res2 = AdvSimd.Arm64.VectorTableLookup((tblEnc1, tblEnc2, tblEnc3, tblEnc4), res2); 428res3 = AdvSimd.Arm64.VectorTableLookup((tblEnc1, tblEnc2, tblEnc3, tblEnc4), res3); 429res4 = AdvSimd.Arm64.VectorTableLookup((tblEnc1, tblEnc2, tblEnc3, tblEnc4), res4); 444[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 503else if (AdvSimd.Arm64.IsSupported) 505Vector128<ushort> odd = Vector128.ShiftRightLogical(AdvSimd.Arm64.UnzipOdd(t0.AsUInt16(), t0.AsUInt16()), 6); 506Vector128<ushort> even = Vector128.ShiftRightLogical(AdvSimd.Arm64.UnzipEven(t0.AsUInt16(), t0.AsUInt16()), 10); 507t1 = AdvSimd.Arm64.ZipLow(even, odd); 556else if (AdvSimd.IsSupported) 558indices = AdvSimd.SubtractSaturate(str.AsByte(), const51); 799[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 804AdvSimd.Arm64.StoreVectorAndZip(dest, (res1, res2, res3, res4)); 883[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 892AdvSimd.Arm64.StoreVectorAndZip(dest, (utf16LowVector1, utf16LowVector2, utf16LowVector3, utf16LowVector4)); 893AdvSimd.Arm64.StoreVectorAndZip(dest + 32, (utf16HighVector1, utf16HighVector2, utf16HighVector3, utf16HighVector4));
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Url\Base64UrlDecoder.cs (4)
376[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 461[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 520[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 546[CompExactlyDependsOn(typeof(AdvSimd.Arm64))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Url\Base64UrlEncoder.cs (2)
302[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 358[CompExactlyDependsOn(typeof(AdvSimd.Arm64))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Double.cs (1)
2063if (Fma.IsSupported || AdvSimd.Arm64.IsSupported)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Guid.cs (5)
1349if ((Ssse3.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported) && BitConverter.IsLittleEndian) 1516[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 1520Debug.Assert((Ssse3.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported) && BitConverter.IsLittleEndian); 1558if (AdvSimd.Arm64.IsSupported) 1565Vector128<byte> mid = AdvSimd.Arm64.VectorTableLookup((hexLow, hexHigh),
src\runtime\src\libraries\System.Private.CoreLib\src\System\Math.cs (2)
1377if (AdvSimd.IsSupported) 1378return AdvSimd.RoundAwayFromZeroScalar(Vector64.CreateScalarUnsafe(value)).ToScalar();
src\runtime\src\libraries\System.Private.CoreLib\src\System\MathF.cs (2)
401if (AdvSimd.IsSupported) 402return AdvSimd.RoundAwayFromZeroScalar(Vector64.CreateScalarUnsafe(x)).ToScalar();
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.Rounding.cs (2)
27return (Fma.IsSupported || AdvSimd.Arm64.IsSupported) 39return (Fma.IsSupported || AdvSimd.Arm64.IsSupported)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\BitOperations.cs (6)
437if (AdvSimd.Arm64.IsSupported) 442Vector64<byte> aggregated = AdvSimd.Arm64.AddAcross(AdvSimd.PopCount(input.AsByte())); 478if (AdvSimd.Arm64.IsSupported) 482Vector64<byte> aggregated = AdvSimd.Arm64.AddAcross(AdvSimd.PopCount(input.AsByte()));
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\Matrix4x4.cs (2)
2554else if (AdvSimd.Arm64.IsSupported) 2556return AdvSimd.Arm64.VectorTableLookup((lower.AsByte(), upper.AsByte()), ((Vector128.Create(xIndex, yIndex, zIndex, wIndex) * Vector128.Create(0x04040404)) + Vector128.Create(0x03020100, 0x03020100, 0x13121110, 0x13121110)).AsByte()).AsSingle();
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Arm\Dp.PlatformNotSupported.cs (1)
21public new abstract class Arm64 : AdvSimd.Arm64
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Arm\Rdm.PlatformNotSupported.cs (1)
21public new abstract class Arm64 : AdvSimd.Arm64
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Arm\Sve.PlatformNotSupported.cs (1)
29public new abstract class Arm64 : AdvSimd.Arm64
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector128.cs (23)
1289if (AdvSimd.IsSupported) 3453if (AdvSimd.Arm64.IsSupported) 3455return AdvSimd.Arm64.VectorTableLookup(vector, indices); 3492if (AdvSimd.Arm64.IsSupported) 3494return AdvSimd.Arm64.VectorTableLookup(vector, indices); 3543if (AdvSimd.Arm64.IsSupported) 3545return AdvSimd.Arm64.VectorTableLookup(vector, indices); 3592if (AdvSimd.Arm64.IsSupported) 3594return AdvSimd.Arm64.VectorTableLookup(vector, indices); 4293[CompExactlyDependsOn(typeof(AdvSimd))] 4296if (!AdvSimd.IsSupported) 4317return AdvSimd.ShiftRightLogicalNarrowingLower(vector.AsUInt16(), 4).AsUInt64().ToScalar(); 4321[CompExactlyDependsOn(typeof(AdvSimd))] 4324if (!AdvSimd.IsSupported) 4339if (AdvSimd.IsSupported) 4360if (AdvSimd.IsSupported) 4375if (AdvSimd.IsSupported) 4400[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 4409else if (AdvSimd.Arm64.IsSupported) 4411return AdvSimd.Arm64.ZipLow(left, right); 4432[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 4441else if (AdvSimd.Arm64.IsSupported) 4443return AdvSimd.Arm64.ZipHigh(left, right);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector64.cs (8)
4416[CompExactlyDependsOn(typeof(AdvSimd))] 4419if (!AdvSimd.IsSupported) 4440return AdvSimd.ShiftRightLogicalNarrowingLower(vector.ToVector128().AsUInt16(), 4).AsUInt32().ToScalar(); 4444[CompExactlyDependsOn(typeof(AdvSimd))] 4447if (!AdvSimd.IsSupported) 4462if (AdvSimd.IsSupported) 4483if (AdvSimd.IsSupported) 4498if (AdvSimd.IsSupported)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\VectorMath.cs (5)
373if (Fma.IsSupported || AdvSimd.Arm64.IsSupported) 2790if (AdvSimd.Arm64.IsSupported) 2792result = (TVectorSingle)(object)AdvSimd.Arm64.ConvertToSingleLower((Vector128<double>)(object)vector); 3107if (AdvSimd.Arm64.IsSupported) 3109result = (TVectorDouble)(object)AdvSimd.Arm64.ConvertToDouble((Vector64<float>)(object)vector);
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Any2CharPackedIgnoreCaseSearchValues.cs (2)
53[CompExactlyDependsOn(typeof(AdvSimd))] 61[CompExactlyDependsOn(typeof(AdvSimd))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\AnyByteSearchValues.cs (6)
27[CompExactlyDependsOn(typeof(AdvSimd))] 35[CompExactlyDependsOn(typeof(AdvSimd))] 43[CompExactlyDependsOn(typeof(AdvSimd))] 51[CompExactlyDependsOn(typeof(AdvSimd))] 59[CompExactlyDependsOn(typeof(AdvSimd))] 67[CompExactlyDependsOn(typeof(AdvSimd))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\AsciiByteSearchValues.cs (7)
23Debug.Assert(Ascii.IsValid(values) || (TUniqueLowNibble.Value && (AdvSimd.IsSupported || PackedSimd.IsSupported))); 43[CompExactlyDependsOn(typeof(AdvSimd))] 51[CompExactlyDependsOn(typeof(AdvSimd))] 59[CompExactlyDependsOn(typeof(AdvSimd))] 67[CompExactlyDependsOn(typeof(AdvSimd))] 75[CompExactlyDependsOn(typeof(AdvSimd))] 83[CompExactlyDependsOn(typeof(AdvSimd))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\AsciiCharSearchValues.cs (7)
24Debug.Assert(Ascii.IsValid(values) || (TUniqueLowNibble.Value && (AdvSimd.IsSupported || PackedSimd.IsSupported))); 45[CompExactlyDependsOn(typeof(AdvSimd))] 53[CompExactlyDependsOn(typeof(AdvSimd))] 61[CompExactlyDependsOn(typeof(AdvSimd))] 69[CompExactlyDependsOn(typeof(AdvSimd))] 77[CompExactlyDependsOn(typeof(AdvSimd))] 85[CompExactlyDependsOn(typeof(AdvSimd))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\IndexOfAnyAsciiSearcher.cs (23)
34internal static bool IsVectorizationSupported => Ssse3.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported; 264[CompExactlyDependsOn(typeof(AdvSimd))] 274[CompExactlyDependsOn(typeof(AdvSimd))] 283[CompExactlyDependsOn(typeof(AdvSimd))] 421[CompExactlyDependsOn(typeof(AdvSimd))] 552[CompExactlyDependsOn(typeof(AdvSimd))] 561[CompExactlyDependsOn(typeof(AdvSimd))] 569[CompExactlyDependsOn(typeof(AdvSimd))] 700[CompExactlyDependsOn(typeof(AdvSimd))] 826[CompExactlyDependsOn(typeof(AdvSimd))] 834[CompExactlyDependsOn(typeof(AdvSimd))] 841[CompExactlyDependsOn(typeof(AdvSimd))] 975[CompExactlyDependsOn(typeof(AdvSimd))] 1104[CompExactlyDependsOn(typeof(AdvSimd))] 1120[CompExactlyDependsOn(typeof(AdvSimd))] 1155Vector128<byte> highNibbles = AdvSimd.IsSupported 1206[CompExactlyDependsOn(typeof(AdvSimd))] 1352if (AdvSimd.IsSupported) 1363if (AdvSimd.IsSupported) 1427[CompExactlyDependsOn(typeof(AdvSimd))] 1435else if (AdvSimd.IsSupported) 1437return AdvSimd.ExtractNarrowingSaturateUpper(AdvSimd.ExtractNarrowingSaturateLower(lower), upper);
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\ProbabilisticMap.cs (16)
83if (Sse41.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported) 95private static bool IsCharBitSet(ref uint charMap, byte value) => Sse41.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported 221[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 237else if (AdvSimd.Arm64.IsSupported) 239sourceLower = AdvSimd.Arm64.UnzipEven(source0.AsByte(), source1.AsByte()); 240sourceUpper = AdvSimd.Arm64.UnzipOdd(source0.AsByte(), source1.AsByte()); 265[CompExactlyDependsOn(typeof(AdvSimd))] 266[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 277if (AdvSimd.Arm64.IsSupported) 279bitMask = AdvSimd.Arm64.VectorTableLookup((charMapLower, charMapUpper), index); 401if ((Sse41.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported) && searchSpaceLength >= 16) 415if ((Sse41.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported) && searchSpaceLength >= 16) 508[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 514Debug.Assert(Sse41.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported); 687[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 693Debug.Assert(Sse41.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported);
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\SearchValues.cs (1)
209if (Sse41.IsSupported || AdvSimd.Arm64.IsSupported)
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\AsciiStringSearchValuesTeddyBase.cs (4)
153[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 174[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 195[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 356[CompExactlyDependsOn(typeof(AdvSimd.Arm64))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\AsciiStringSearchValuesTeddyBucketizedN2.cs (1)
20[CompExactlyDependsOn(typeof(AdvSimd.Arm64))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\AsciiStringSearchValuesTeddyBucketizedN3.cs (1)
20[CompExactlyDependsOn(typeof(AdvSimd.Arm64))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\AsciiStringSearchValuesTeddyNonBucketizedN2.cs (1)
20[CompExactlyDependsOn(typeof(AdvSimd.Arm64))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\AsciiStringSearchValuesTeddyNonBucketizedN3.cs (1)
20[CompExactlyDependsOn(typeof(AdvSimd.Arm64))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\Helpers\StringSearchValuesHelper.cs (2)
277if (AdvSimd.IsSupported) 346if (AdvSimd.IsSupported)
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\Helpers\TeddyHelper.cs (13)
20[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 94[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 221[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 232else if (AdvSimd.Arm64.IsSupported) 234return AdvSimd.Arm64.UnzipEven(source0.AsByte(), source1.AsByte()); 286[CompExactlyDependsOn(typeof(AdvSimd))] 329[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 352[CompExactlyDependsOn(typeof(AdvSimd))] 366else if (AdvSimd.IsSupported) 368return AdvSimd.ExtractVector128(left, right, 15); 392[CompExactlyDependsOn(typeof(AdvSimd))] 406else if (AdvSimd.IsSupported) 408return AdvSimd.ExtractVector128(left, right, 14);
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\SingleStringSearchValuesPackedThreeChars.cs (5)
52Debug.Assert(Sse2.IsSupported || AdvSimd.Arm64.IsSupported); 185else if ((Sse2.IsSupported || AdvSimd.Arm64.IsSupported) && searchSpaceMinusValueTailLength - Vector128<byte>.Count >= 0) 252[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 392[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 400: AdvSimd.Arm64.UnzipEven(input0.AsByte(), input1.AsByte());
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\StringSearchValues.cs (2)
118if ((Ssse3.IsSupported || AdvSimd.Arm64.IsSupported || PackedSimd.IsSupported) && 451(AdvSimd.Arm64.IsSupported && c <= byte.MaxValue);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Ascii.Equality.cs (2)
507if (AdvSimd.IsSupported) 509return AdvSimd.ZeroExtendWideningLower(Vector64.LoadUnsafe(ref ptr));
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Ascii.Utility.cs (37)
66[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 69if (!AdvSimd.Arm64.IsSupported || !BitConverter.IsLittleEndian) 79extractedBits = AdvSimd.Arm64.AddPairwise(extractedBits, extractedBits); 118(Sse2.IsSupported || AdvSimd.IsSupported)) 362Debug.Assert(AdvSimd.IsSupported); 373Debug.Assert(Sse2.IsSupported || AdvSimd.Arm64.IsSupported, "Sse2 or AdvSimd64 required."); 404else if (AdvSimd.Arm64.IsSupported) 406Vector128<byte> vector = AdvSimd.LoadVector128(pBuffer); 464else if (AdvSimd.Arm64.IsSupported) 466Vector128<byte> firstVector = AdvSimd.LoadVector128(pBuffer); 467Vector128<byte> secondVector = AdvSimd.LoadVector128(pBuffer + SizeOfVector128); 510else if (AdvSimd.Arm64.IsSupported) 512Vector128<byte> vector = AdvSimd.LoadVector128(pBuffer); 546else if (AdvSimd.Arm64.IsSupported) 548Vector128<byte> vector = AdvSimd.LoadVector128(pBuffer); 581else if (AdvSimd.IsSupported) 604else if (AdvSimd.Arm64.IsSupported) 741(Sse2.IsSupported || AdvSimd.IsSupported)) 974Debug.Assert(Sse2.IsSupported || AdvSimd.Arm64.IsSupported, "Should've been checked by caller."); 1146else if (AdvSimd.Arm64.IsSupported) 1154Vector128<byte> compareResult = AdvSimd.CompareGreaterThan(firstVector, largestAsciiValue).AsByte(); 1155ulong asciiCompareMask = AdvSimd.Arm64.UnzipOdd(compareResult, compareResult).AsUInt64().ToScalar(); 1283else if (AdvSimd.IsSupported) 1289Vector64<byte> lower = AdvSimd.ExtractNarrowingSaturateUnsignedLower(vecWide); 1537else if (AdvSimd.Arm64.IsSupported) 1539Vector128<byte> maxBytes = AdvSimd.Arm64.MaxPairwise(asciiVector, asciiVector); 1567else if (AdvSimd.Arm64.IsSupported) 1571Vector128<ushort> maxChars = AdvSimd.Arm64.MaxPairwise(utf16Vector, utf16Vector); 1623AdvSimd.Arm64.IsSupported ? AllBytesInUInt64AreAscii(AdvSimd.Arm64.MaxPairwise(vector.AsByte(), vector.AsByte()).AsUInt64().ToScalar()) : 1629AdvSimd.Arm64.IsSupported ? AllCharsInUInt64AreAscii(AdvSimd.Arm64.MaxPairwise(vector.AsUInt16(), vector.AsUInt16()).AsUInt64().ToScalar()) : 1681else if (AdvSimd.Arm64.IsSupported) 1683return AdvSimd.Arm64.UnzipEven(vectorFirst.AsByte(), vectorSecond.AsByte()); 2283if (AdvSimd.Arm64.IsSupported) 2285Vector128<byte> vecNarrow = AdvSimd.DuplicateToVector128(value).AsByte(); 2286Vector128<ulong> vecWide = AdvSimd.Arm64.ZipLow(vecNarrow, Vector128<byte>.Zero).AsUInt64();
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Unicode\Utf16Utility.Validation.cs (5)
22if (AdvSimd.Arm64.IsSupported) 27ulong mask = AdvSimd.Arm64.UnzipOdd(cmp.AsByte(), cmp.AsByte()).AsUInt64().ToScalar(); 44if (AdvSimd.Arm64.IsSupported) 56if (AdvSimd.Arm64.IsSupported) 143if (AdvSimd.Arm64.IsSupported)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Unicode\Utf8Utility.Transcoding.cs (13)
888if (Sse41.X64.IsSupported || (AdvSimd.Arm64.IsSupported && BitConverter.IsLittleEndian) || PackedSimd.IsSupported) 948if (Sse41.X64.IsSupported || (AdvSimd.Arm64.IsSupported && BitConverter.IsLittleEndian) || PackedSimd.IsSupported) 963if (AdvSimd.Arm64.IsSupported) 965Vector128<short> isUtf16DataNonAscii = AdvSimd.CompareTest(utf16Data, nonAsciiUtf16DataMask); 966bool hasNonAsciiDataInVector = AdvSimd.Arm64.MinPairwise(isUtf16DataNonAscii, isUtf16DataNonAscii).AsUInt64().ToScalar() != 0; 973Vector64<byte> lower = AdvSimd.ExtractNarrowingSaturateUnsignedLower(utf16Data); 974AdvSimd.Store(pOutputBuffer, lower); 1021if (AdvSimd.IsSupported) 1023Vector64<byte> lower = AdvSimd.ExtractNarrowingSaturateUnsignedLower(utf16Data); 1024AdvSimd.StoreSelectedScalar((uint*)pOutputBuffer, lower.AsUInt32(), 0); 1069if (AdvSimd.IsSupported) 1071Vector64<byte> lower = AdvSimd.ExtractNarrowingSaturateUnsignedLower(utf16Data); 1072AdvSimd.StoreSelectedScalar((uint*)pOutputBuffer, lower.AsUInt32(), 0);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Unicode\Utf8Utility.Validation.cs (6)
128if (AdvSimd.Arm64.IsSupported && BitConverter.IsLittleEndian) 137ulong mask = GetNonAsciiBytes(AdvSimd.LoadVector128(pInputBuffer), bitMask128); 195Debug.Assert((AdvSimd.Arm64.IsSupported && BitConverter.IsLittleEndian) || Sse2.IsSupported || PackedSimd.IsSupported); 763[CompExactlyDependsOn(typeof(AdvSimd.Arm64))] 766if (!AdvSimd.Arm64.IsSupported || !BitConverter.IsLittleEndian) 773extractedBits = AdvSimd.Arm64.AddPairwise(extractedBits, extractedBits);
System.Runtime.Intrinsics (1)
src\runtime\artifacts\obj\System.Runtime.Intrinsics\Release\net11.0\System.Runtime.Intrinsics.Forwards.cs (1)
3[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Runtime.Intrinsics.Arm.AdvSimd))]