4 types derived from Sse2
System.Private.CoreLib (4)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Aes.cs (1)
12
public abstract class Aes :
Sse2
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Pclmulqdq.cs (1)
12
public abstract partial class Pclmulqdq :
Sse2
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Pclmulqdq.Wide.cs (1)
9
public abstract partial class Pclmulqdq :
Sse2
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Sse3.cs (1)
12
public abstract class Sse3 :
Sse2
240 references to Sse2
GenerateDocumentationAndConfigFiles (2)
src\roslyn\src\Compilers\Core\Portable\Hashing\XxHashShared.cs (2)
717
return
Sse2
.IsSupported ?
718
Sse2
.Multiply(source, sourceLow) :
Microsoft.AspNetCore.Razor.Utilities.Shared (2)
Utilities\Hashing\XxHashShared.cs (2)
716
return
Sse2
.IsSupported ?
717
Sse2
.Multiply(source, sourceLow) :
Microsoft.AspNetCore.Server.HttpSys (5)
src\aspnetcore\src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154
var highNibbles =
Sse2
.ShiftRightLogical(
Sse2
.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte();
155
var indices =
Sse2
.And(
Sse2
.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF));
166
hex =
Sse2
.And(hex, Vector128.Create((ushort)0xFF).AsByte());
Microsoft.AspNetCore.Server.IIS (5)
src\aspnetcore\src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154
var highNibbles =
Sse2
.ShiftRightLogical(
Sse2
.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte();
155
var indices =
Sse2
.And(
Sse2
.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF));
166
hex =
Sse2
.And(hex, Vector128.Create((ushort)0xFF).AsByte());
Microsoft.AspNetCore.Server.Kestrel.Core (5)
src\aspnetcore\src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154
var highNibbles =
Sse2
.ShiftRightLogical(
Sse2
.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte();
155
var indices =
Sse2
.And(
Sse2
.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF));
166
hex =
Sse2
.And(hex, Vector128.Create((ushort)0xFF).AsByte());
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic (5)
src\aspnetcore\src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154
var highNibbles =
Sse2
.ShiftRightLogical(
Sse2
.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte();
155
var indices =
Sse2
.And(
Sse2
.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF));
166
hex =
Sse2
.And(hex, Vector128.Create((ushort)0xFF).AsByte());
Microsoft.CodeAnalysis (2)
Hashing\XxHashShared.cs (2)
717
return
Sse2
.IsSupported ?
718
Sse2
.Multiply(source, sourceLow) :
Microsoft.CodeAnalysis.Workspaces (2)
src\roslyn\src\Compilers\Core\Portable\Hashing\XxHashShared.cs (2)
717
return
Sse2
.IsSupported ?
718
Sse2
.Multiply(source, sourceLow) :
Microsoft.ML.CpuMath (1)
SseIntrinsics.cs (1)
66
internal static readonly Vector128<float> AbsMask128 =
Sse2
.IsSupported ?
System.IO.Hashing (10)
System\IO\Hashing\Adler32.cs (4)
279
vs1 +=
Sse2
.SumAbsoluteDifferences(bytes1, Vector128<byte>.Zero).AsUInt32();
280
vs1 +=
Sse2
.SumAbsoluteDifferences(bytes2, Vector128<byte>.Zero).AsUInt32();
282
vs2 +=
Sse2
.MultiplyAddAdjacent(Ssse3.MultiplyAddAdjacent(bytes1, tap1), Vector128<short>.One).AsUInt32();
283
vs2 +=
Sse2
.MultiplyAddAdjacent(Ssse3.MultiplyAddAdjacent(bytes2, tap2), Vector128<short>.One).AsUInt32();
System\IO\Hashing\VectorHelper.cs (4)
103
if (
Sse2
.IsSupported)
105
return
Sse2
.ShiftRightLogical128BitLane(operand, numBytesToShift);
120
if (
Sse2
.IsSupported)
122
return
Sse2
.ShiftLeftLogical128BitLane(operand, 8);
System\IO\Hashing\XxHashShared.cs (2)
706
else if (
Sse2
.IsSupported)
709
return
Sse2
.Multiply(source, sourceLow);
System.Numerics.Tensors (1)
System\Numerics\Tensors\netcore\TensorPrimitives.LeadingZeroCount.cs (1)
52
Vector128<byte> nibbleSelectMask =
Sse2
.CompareEqual(highNibble, Vector128<byte>.Zero);
System.Private.CoreLib (199)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Helper\Base64DecoderHelper.cs (1)
1321
output =
Sse2
.MultiplyAddAdjacent(merge_ab_and_bc, mergeConstant1);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Helper\Base64EncoderHelper.cs (2)
501
t1 =
Sse2
.MultiplyHigh(t0.AsUInt16(), shiftAC);
554
indices =
Sse2
.SubtractSaturate(str.AsByte(), const51);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector128.cs (25)
465
if (
Sse2
.IsSupported)
479
lowerBits =
Sse2
.And(vector, Create(0x00000000_FFFFFFFFL)).AsInt32();
480
lowerBits =
Sse2
.Or(lowerBits, Create(0x43300000_00000000).AsInt32());
483
Vector128<long> upperBits =
Sse2
.ShiftRightLogical(vector, 32); // Extract the 32 most significant bits of vector
484
upperBits =
Sse2
.Xor(upperBits, Create(0x45300000_80000000)); // Flip the msb of upperBits and blend with the bit representation of double(2^84 + 2^63)
486
Vector128<double> result =
Sse2
.Subtract(upperBits.AsDouble(), Create(0x45300000_80100000).AsDouble()); // Compute in double precision: (upper - (2^84 + 2^63 + 2^52)) + lower
487
return
Sse2
.Add(result, lowerBits.AsDouble());
506
if (
Sse2
.IsSupported)
520
lowerBits =
Sse2
.And(vector, Create(0x00000000_FFFFFFFFUL)).AsUInt32();
521
lowerBits =
Sse2
.Or(lowerBits, Create(0x43300000_00000000UL).AsUInt32());
524
Vector128<ulong> upperBits =
Sse2
.ShiftRightLogical(vector, 32); // Extract the 32 most significant bits of vector
525
upperBits =
Sse2
.Xor(upperBits, Create(0x45300000_00000000UL)); // Blend upperBits with the bit representation of double(2^84)
527
Vector128<double> result =
Sse2
.Subtract(upperBits.AsDouble(), Create(0x45300000_00100000UL).AsDouble()); // Compute in double precision: (upper - (2^84 + 2^52)) + lower
528
return
Sse2
.Add(result, lowerBits.AsDouble());
612
if (
Sse2
.IsSupported)
619
Vector128<int> lowerBits =
Sse2
.And(vector, Create(0x0000FFFFU)).AsInt32();
620
Vector128<int> upperBits =
Sse2
.ShiftRightLogical(vector, 16).AsInt32();
622
Vector128<float> lower =
Sse2
.ConvertToVector128Single(lowerBits);
623
Vector128<float> upper =
Sse2
.ConvertToVector128Single(upperBits);
4401
[CompExactlyDependsOn(typeof(
Sse2
))]
4405
if (
Sse2
.IsSupported)
4407
return
Sse2
.UnpackLow(left, right);
4433
[CompExactlyDependsOn(typeof(
Sse2
))]
4437
if (
Sse2
.IsSupported)
4439
return
Sse2
.UnpackHigh(left, right);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Aes.cs (1)
23
public new abstract class X64 :
Sse2
.X64
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Pclmulqdq.cs (1)
23
public new abstract class X64 :
Sse2
.X64
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Sse3.cs (1)
23
public new abstract class X64 :
Sse2
.X64
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Any1CharPackedIgnoreCaseSearchValues.cs (2)
35
[CompExactlyDependsOn(typeof(
Sse2
))]
40
[CompExactlyDependsOn(typeof(
Sse2
))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Any1CharPackedSearchValues.cs (2)
25
[CompExactlyDependsOn(typeof(
Sse2
))]
30
[CompExactlyDependsOn(typeof(
Sse2
))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Any2CharPackedIgnoreCaseSearchValues.cs (2)
42
[CompExactlyDependsOn(typeof(
Sse2
))]
47
[CompExactlyDependsOn(typeof(
Sse2
))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Any2CharPackedSearchValues.cs (2)
25
[CompExactlyDependsOn(typeof(
Sse2
))]
30
[CompExactlyDependsOn(typeof(
Sse2
))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Any3CharPackedSearchValues.cs (2)
25
[CompExactlyDependsOn(typeof(
Sse2
))]
30
[CompExactlyDependsOn(typeof(
Sse2
))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\IndexOfAnyAsciiSearcher.cs (7)
1103
[CompExactlyDependsOn(typeof(
Sse2
))]
1389
[CompExactlyDependsOn(typeof(
Sse2
))]
1396
if (
Sse2
.IsSupported)
1398
return
Sse2
.PackUnsignedSaturate(lowerMin, upperMin);
1426
[CompExactlyDependsOn(typeof(
Sse2
))]
1431
if (
Sse2
.IsSupported)
1433
return
Sse2
.PackUnsignedSaturate(lower.AsInt16(), upper.AsInt16());
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\ProbabilisticMap.cs (5)
222
[CompExactlyDependsOn(typeof(
Sse2
))]
232
if (
Sse2
.IsSupported)
234
sourceLower =
Sse2
.PackUnsignedSaturate((source0 & Vector128.Create((ushort)255)).AsInt16(), (source1 & Vector128.Create((ushort)255)).AsInt16());
235
sourceUpper =
Sse2
.PackUnsignedSaturate((source0 >>> 8).AsInt16(), (source1 >>> 8).AsInt16());
263
[CompExactlyDependsOn(typeof(
Sse2
))]
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\Helpers\TeddyHelper.cs (3)
220
[CompExactlyDependsOn(typeof(
Sse2
))]
228
if (
Sse2
.IsSupported)
230
return
Sse2
.PackUnsignedSaturate(source0.AsInt16(), source1.AsInt16());
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\SingleStringSearchValuesPackedThreeChars.cs (7)
45
Sse2
.IsSupported &&
52
Debug.Assert(
Sse2
.IsSupported || AdvSimd.Arm64.IsSupported);
185
else if ((
Sse2
.IsSupported || AdvSimd.Arm64.IsSupported) && searchSpaceMinusValueTailLength - Vector128<byte>.Count >= 0)
251
[CompExactlyDependsOn(typeof(
Sse2
))]
391
[CompExactlyDependsOn(typeof(
Sse2
))]
398
return
Sse2
.IsSupported
399
?
Sse2
.PackUnsignedSaturate(input0.AsInt16(), input1.AsInt16())
src\runtime\src\libraries\System.Private.CoreLib\src\System\SpanHelpers.Packed.cs (21)
18
public static bool PackedIndexOfIsSupported =>
Sse2
.IsSupported;
32
[CompExactlyDependsOn(typeof(
Sse2
))]
37
[CompExactlyDependsOn(typeof(
Sse2
))]
42
[CompExactlyDependsOn(typeof(
Sse2
))]
47
[CompExactlyDependsOn(typeof(
Sse2
))]
52
[CompExactlyDependsOn(typeof(
Sse2
))]
57
[CompExactlyDependsOn(typeof(
Sse2
))]
62
[CompExactlyDependsOn(typeof(
Sse2
))]
71
[CompExactlyDependsOn(typeof(
Sse2
))]
80
[CompExactlyDependsOn(typeof(
Sse2
))]
90
[CompExactlyDependsOn(typeof(
Sse2
))]
100
[CompExactlyDependsOn(typeof(
Sse2
))]
105
[CompExactlyDependsOn(typeof(
Sse2
))]
109
[CompExactlyDependsOn(typeof(
Sse2
))]
311
[CompExactlyDependsOn(typeof(
Sse2
))]
514
[CompExactlyDependsOn(typeof(
Sse2
))]
728
[CompExactlyDependsOn(typeof(
Sse2
))]
946
[CompExactlyDependsOn(typeof(
Sse2
))]
1166
[CompExactlyDependsOn(typeof(
Sse2
))]
1169
Debug.Assert(
Sse2
.IsSupported);
1174
return
Sse2
.PackUnsignedSaturate(source0, source1).AsByte();
src\runtime\src\libraries\System.Private.CoreLib\src\System\String.Manipulation.cs (1)
2323
if (
Sse2
.IsSupported && PackedSpanHelpers.CanUsePackedIndexOf(c) && PackedSpanHelpers.CanUsePackedIndexOf(c2) && PackedSpanHelpers.CanUsePackedIndexOf(c3))
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Ascii.Equality.cs (2)
511
else if (
Sse2
.IsSupported)
514
return
Sse2
.UnpackLow(vec, Vector128<byte>.Zero).AsUInt16();
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Ascii.Utility.cs (33)
118
(
Sse2
.IsSupported || AdvSimd.IsSupported))
354
Debug.Assert(
Sse2
.IsSupported);
373
Debug.Assert(
Sse2
.IsSupported || AdvSimd.Arm64.IsSupported, "Sse2 or AdvSimd64 required.");
396
if (
Sse2
.IsSupported)
398
currentSseMask = (uint)
Sse2
.MoveMask(
Sse2
.LoadVector128(pBuffer)); // unaligned load
452
if (
Sse2
.IsSupported)
454
Vector128<byte> firstVector =
Sse2
.LoadAlignedVector128(pBuffer);
455
Vector128<byte> secondVector =
Sse2
.LoadAlignedVector128(pBuffer + SizeOfVector128);
457
currentSseMask = (uint)
Sse2
.MoveMask(firstVector);
458
secondSseMask = (uint)
Sse2
.MoveMask(secondVector);
502
if (
Sse2
.IsSupported)
504
currentSseMask = (uint)
Sse2
.MoveMask(
Sse2
.LoadAlignedVector128(pBuffer));
537
if (
Sse2
.IsSupported)
539
currentSseMask = (uint)
Sse2
.MoveMask(
Sse2
.LoadVector128(pBuffer)); // unaligned load
573
if (
Sse2
.IsSupported)
596
if (
Sse2
.IsSupported)
741
(
Sse2
.IsSupported || AdvSimd.IsSupported))
974
Debug.Assert(
Sse2
.IsSupported || AdvSimd.Arm64.IsSupported, "Should've been checked by caller.");
1121
if (
Sse2
.IsSupported)
1129
currentMask = (uint)
Sse2
.MoveMask(
Sse2
.AddSaturate(firstVector, asciiMaskForAddSaturate).AsByte());
1274
if (
Sse2
.X64.IsSupported)
1279
Vector128<short> vecWide =
Sse2
.X64.ConvertScalarToVector128UInt64(value).AsInt16();
1280
Vector128<uint> vecNarrow =
Sse2
.PackUnsignedSaturate(vecWide, vecWide).AsUInt32();
1281
Unsafe.WriteUnaligned(ref outputBuffer,
Sse2
.ConvertToUInt32(vecNarrow));
1559
else if (
Sse2
.IsSupported)
1565
return (
Sse2
.MoveMask(
Sse2
.AddSaturate(utf16Vector, asciiMaskForAddSaturate).AsByte()) & 0b_1010_1010_1010_1010) != 0;
1677
if (
Sse2
.IsSupported)
1679
return
Sse2
.PackUnsignedSaturate(vectorFirst.AsInt16(), vectorSecond.AsInt16());
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Latin1Utility.cs (61)
28
return (
Sse2
.IsSupported)
167
[CompExactlyDependsOn(typeof(
Sse2
))]
185
Debug.Assert(
Sse2
.IsSupported, "Should've been checked by caller.");
209
firstVector =
Sse2
.LoadVector128((ushort*)pBuffer); // unaligned load
215
currentMask = (uint)
Sse2
.MoveMask(
Sse2
.AddSaturate(firstVector, latin1MaskForAddSaturate).AsByte());
261
firstVector =
Sse2
.LoadAlignedVector128((ushort*)pBuffer);
262
secondVector =
Sse2
.LoadAlignedVector128((ushort*)pBuffer + SizeOfVector128InChars);
279
currentMask = (uint)
Sse2
.MoveMask(
Sse2
.AddSaturate(combinedVector, latin1MaskForAddSaturate).AsByte());
308
firstVector =
Sse2
.LoadAlignedVector128((ushort*)pBuffer);
324
currentMask = (uint)
Sse2
.MoveMask(
Sse2
.AddSaturate(firstVector, latin1MaskForAddSaturate).AsByte());
343
firstVector =
Sse2
.LoadVector128((ushort*)pBuffer); // unaligned load
359
currentMask = (uint)
Sse2
.MoveMask(
Sse2
.AddSaturate(firstVector, latin1MaskForAddSaturate).AsByte());
392
currentMask = (uint)
Sse2
.MoveMask(
Sse2
.AddSaturate(firstVector, latin1MaskForAddSaturate).AsByte());
407
currentMask = (uint)
Sse2
.MoveMask(
Sse2
.AddSaturate(firstVector, latin1MaskForAddSaturate).AsByte());
549
if (
Sse2
.IsSupported)
765
[CompExactlyDependsOn(typeof(
Sse2
))]
780
Debug.Assert(
Sse2
.IsSupported);
790
Vector128<short> utf16VectorFirst =
Sse2
.LoadVector128((short*)pUtf16Buffer); // unaligned load
806
if ((
Sse2
.MoveMask(
Sse2
.AddSaturate(utf16VectorFirst.AsUInt16(), latin1MaskForAddSaturate).AsByte()) & NonLatin1DataSeenMask) != 0)
814
Vector128<byte> latin1Vector =
Sse2
.PackUnsignedSaturate(utf16VectorFirst, utf16VectorFirst);
815
Sse2
.StoreScalar((ulong*)pLatin1Buffer, latin1Vector.AsUInt64()); // ulong* calculated here is UNALIGNED
834
utf16VectorFirst =
Sse2
.LoadVector128((short*)pUtf16Buffer + currentOffsetInElements); // unaligned load
848
if ((
Sse2
.MoveMask(
Sse2
.AddSaturate(utf16VectorFirst.AsUInt16(), latin1MaskForAddSaturate).AsByte()) & NonLatin1DataSeenMask) != 0)
855
latin1Vector =
Sse2
.PackUnsignedSaturate(utf16VectorFirst, utf16VectorFirst);
856
Sse2
.StoreScalar((ulong*)(pLatin1Buffer + currentOffsetInElements), latin1Vector.AsUInt64()); // ulong* calculated here is UNALIGNED
873
utf16VectorFirst =
Sse2
.LoadVector128((short*)pUtf16Buffer + currentOffsetInElements); // unaligned load
874
Vector128<short> utf16VectorSecond =
Sse2
.LoadVector128((short*)pUtf16Buffer + currentOffsetInElements + SizeOfVector128 / sizeof(short)); // unaligned load
889
if ((
Sse2
.MoveMask(
Sse2
.AddSaturate(combinedVector.AsUInt16(), latin1MaskForAddSaturate).AsByte()) & NonLatin1DataSeenMask) != 0)
897
latin1Vector =
Sse2
.PackUnsignedSaturate(utf16VectorFirst, utf16VectorSecond);
900
Sse2
.StoreAligned(pLatin1Buffer + currentOffsetInElements, latin1Vector); // aligned
925
if ((
Sse2
.MoveMask(
Sse2
.AddSaturate(utf16VectorFirst.AsUInt16(), latin1MaskForAddSaturate).AsByte()) & NonLatin1DataSeenMask) != 0)
932
latin1Vector =
Sse2
.PackUnsignedSaturate(utf16VectorFirst, utf16VectorFirst);
936
Sse2
.StoreScalar((ulong*)(pLatin1Buffer + currentOffsetInElements), latin1Vector.AsUInt64()); // ulong* calculated here is aligned
954
if (
Sse2
.IsSupported)
964
[CompExactlyDependsOn(typeof(
Sse2
))]
972
Debug.Assert(
Sse2
.IsSupported);
989
latin1Vector =
Sse2
.LoadScalarVector128((ulong*)pLatin1Buffer).AsByte(); // unaligned load
990
Sse2
.Store((byte*)pUtf16Buffer,
Sse2
.UnpackLow(latin1Vector, zeroVector)); // unaligned write
1011
latin1Vector =
Sse2
.LoadVector128(pLatin1Buffer + currentOffset); // unaligned load
1017
Vector128<byte> low =
Sse2
.UnpackLow(latin1Vector, zeroVector);
1018
Sse2
.StoreAligned((byte*)pCurrentWriteAddress, low);
1020
Vector128<byte> high =
Sse2
.UnpackHigh(latin1Vector, zeroVector);
1021
Sse2
.StoreAligned((byte*)pCurrentWriteAddress + SizeOfVector128, high);
1037
latin1Vector =
Sse2
.LoadScalarVector128((ulong*)(pLatin1Buffer + currentOffset)).AsByte(); // unaligned load
1038
Sse2
.Store((byte*)(pUtf16Buffer + currentOffset),
Sse2
.UnpackLow(latin1Vector, zeroVector)); // unaligned write
1046
latin1Vector =
Sse2
.LoadScalarVector128((uint*)(pLatin1Buffer + currentOffset)).AsByte(); // unaligned load
1047
Sse2
.StoreScalar((ulong*)(pUtf16Buffer + currentOffset),
Sse2
.UnpackLow(latin1Vector, zeroVector).AsUInt64()); // unaligned write
1072
Debug.Assert(!
Sse2
.IsSupported);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Latin1Utility.Helpers.cs (4)
53
if (
Sse2
.X64.IsSupported)
58
Vector128<short> vecWide =
Sse2
.X64.ConvertScalarToVector128UInt64(value).AsInt16();
59
Vector128<uint> vecNarrow =
Sse2
.PackUnsignedSaturate(vecWide, vecWide).AsUInt32();
60
Unsafe.WriteUnaligned(ref outputBuffer,
Sse2
.ConvertToUInt32(vecNarrow));
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Unicode\Utf8Utility.Transcoding.cs (10)
984
Sse2
.StoreScalar((ulong*)pOutputBuffer /* unaligned */,
Sse2
.PackUnsignedSaturate(utf16Data, utf16Data).AsUInt64());
1026
else if (
Sse2
.IsSupported)
1028
Unsafe.WriteUnaligned(pOutputBuffer,
Sse2
.ConvertToUInt32(
Sse2
.PackUnsignedSaturate(utf16Data, utf16Data).AsUInt32()));
1052
if (
Sse2
.X64.IsSupported)
1054
possibleNonAsciiQWord =
Sse2
.X64.ConvertToUInt64(utf16Data.AsUInt64());
1074
else if (
Sse2
.IsSupported)
1076
Unsafe.WriteUnaligned(pOutputBuffer,
Sse2
.ConvertToUInt32(
Sse2
.PackUnsignedSaturate(utf16Data, utf16Data).AsUInt32()));
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Unicode\Utf8Utility.Validation.cs (4)
153
if (
Sse2
.IsSupported)
155
uint mask = (uint)
Sse2
.MoveMask(
Sse2
.LoadVector128(pInputBuffer));
195
Debug.Assert((AdvSimd.Arm64.IsSupported && BitConverter.IsLittleEndian) ||
Sse2
.IsSupported || PackedSimd.IsSupported);
System.Runtime.Intrinsics (1)
src\runtime\artifacts\obj\System.Runtime.Intrinsics\Release\net11.0\System.Runtime.Intrinsics.Forwards.cs (1)
53
[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Runtime.Intrinsics.X86.
Sse2
))]