4 types derived from Sse2
System.Private.CoreLib (4)
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Aes.cs (1)
12public abstract class Aes : Sse2
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Pclmulqdq.cs (1)
12public abstract partial class Pclmulqdq : Sse2
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Pclmulqdq.Wide.cs (1)
9public abstract partial class Pclmulqdq : Sse2
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Sse3.cs (1)
11public abstract class Sse3 : Sse2
283 references to Sse2
GenerateDocumentationAndConfigFiles (2)
src\Compilers\Core\Portable\Hashing\XxHashShared.cs (2)
717return Sse2.IsSupported ? 718Sse2.Multiply(source, sourceLow) :
http2cat (5)
src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154var highNibbles = Sse2.ShiftRightLogical(Sse2.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte(); 155var indices = Sse2.And(Sse2.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF)); 166hex = Sse2.And(hex, Vector128.Create((ushort)0xFF).AsByte());
IIS.FunctionalTests (5)
src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154var highNibbles = Sse2.ShiftRightLogical(Sse2.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte(); 155var indices = Sse2.And(Sse2.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF)); 166hex = Sse2.And(hex, Vector128.Create((ushort)0xFF).AsByte());
IIS.LongTests (5)
src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154var highNibbles = Sse2.ShiftRightLogical(Sse2.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte(); 155var indices = Sse2.And(Sse2.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF)); 166hex = Sse2.And(hex, Vector128.Create((ushort)0xFF).AsByte());
IIS.NewHandler.FunctionalTests (5)
src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154var highNibbles = Sse2.ShiftRightLogical(Sse2.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte(); 155var indices = Sse2.And(Sse2.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF)); 166hex = Sse2.And(hex, Vector128.Create((ushort)0xFF).AsByte());
IIS.NewShim.FunctionalTests (5)
src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154var highNibbles = Sse2.ShiftRightLogical(Sse2.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte(); 155var indices = Sse2.And(Sse2.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF)); 166hex = Sse2.And(hex, Vector128.Create((ushort)0xFF).AsByte());
IIS.ShadowCopy.Tests (5)
src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154var highNibbles = Sse2.ShiftRightLogical(Sse2.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte(); 155var indices = Sse2.And(Sse2.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF)); 166hex = Sse2.And(hex, Vector128.Create((ushort)0xFF).AsByte());
IISExpress.FunctionalTests (5)
src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154var highNibbles = Sse2.ShiftRightLogical(Sse2.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte(); 155var indices = Sse2.And(Sse2.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF)); 166hex = Sse2.And(hex, Vector128.Create((ushort)0xFF).AsByte());
Microsoft.AspNetCore.Server.HttpSys (5)
src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154var highNibbles = Sse2.ShiftRightLogical(Sse2.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte(); 155var indices = Sse2.And(Sse2.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF)); 166hex = Sse2.And(hex, Vector128.Create((ushort)0xFF).AsByte());
Microsoft.AspNetCore.Server.IIS (5)
src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154var highNibbles = Sse2.ShiftRightLogical(Sse2.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte(); 155var indices = Sse2.And(Sse2.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF)); 166hex = Sse2.And(hex, Vector128.Create((ushort)0xFF).AsByte());
Microsoft.AspNetCore.Server.Kestrel.Core (5)
src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154var highNibbles = Sse2.ShiftRightLogical(Sse2.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte(); 155var indices = Sse2.And(Sse2.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF)); 166hex = Sse2.And(hex, Vector128.Create((ushort)0xFF).AsByte());
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic (5)
src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154var highNibbles = Sse2.ShiftRightLogical(Sse2.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte(); 155var indices = Sse2.And(Sse2.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF)); 166hex = Sse2.And(hex, Vector128.Create((ushort)0xFF).AsByte());
Microsoft.AspNetCore.Shared.Tests (5)
src\Shared\ServerInfrastructure\StringUtilities.cs (5)
154var highNibbles = Sse2.ShiftRightLogical(Sse2.ShiftRightLogical128BitLane(lowNibbles, 2).AsInt32(), 4).AsByte(); 155var indices = Sse2.And(Sse2.Or(lowNibbles, highNibbles), Vector128.Create((byte)0xF)); 166hex = Sse2.And(hex, Vector128.Create((ushort)0xFF).AsByte());
Microsoft.CodeAnalysis (2)
Hashing\XxHashShared.cs (2)
717return Sse2.IsSupported ? 718Sse2.Multiply(source, sourceLow) :
Microsoft.CodeAnalysis.Workspaces (2)
src\Compilers\Core\Portable\Hashing\XxHashShared.cs (2)
717return Sse2.IsSupported ? 718Sse2.Multiply(source, sourceLow) :
Microsoft.ML.CpuMath (1)
SseIntrinsics.cs (1)
66internal static readonly Vector128<float> AbsMask128 = Sse2.IsSupported ?
System.IO.Hashing (6)
System\IO\Hashing\VectorHelper.cs (4)
103if (Sse2.IsSupported) 105return Sse2.ShiftRightLogical128BitLane(operand, numBytesToShift); 120if (Sse2.IsSupported) 122return Sse2.ShiftLeftLogical128BitLane(operand, 8);
System\IO\Hashing\XxHashShared.cs (2)
708return Sse2.IsSupported ? 709Sse2.Multiply(source, sourceLow) :
System.Numerics.Tensors (7)
System\Numerics\Tensors\netcore\TensorPrimitives.LeadingZeroCount.cs (7)
48Vector128<byte> highNibble = Sse2.ShiftRightLogical(x.AsInt32(), 4).AsByte() & nibbleMask; 49Vector128<byte> nibbleSelectMask = Sse2.CompareEqual(highNibble, Vector128<byte>.Zero); 61Vector128<uint> x_bot16 = Sse2.Or(Sse2.ShiftLeftLogical(x.AsUInt32(), 16), lowHalf); 62Vector128<uint> x_top16 = Sse2.Or(x.AsUInt32(), lowHalf); 65Vector128<uint> lz_top16_shift = Sse2.ShiftLeftLogical(lz_top16, 16); 66return Sse2.Or(lz_bot16, lz_top16_shift).AsUInt16().As<ushort, T>();
System.Private.CoreLib (200)
src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Helper\Base64DecoderHelper.cs (1)
1126output = Sse2.MultiplyAddAdjacent(merge_ab_and_bc, mergeConstant1);
src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Helper\Base64EncoderHelper.cs (2)
506t1 = Sse2.MultiplyHigh(t0.AsUInt16(), shiftAC); 552indices = Sse2.SubtractSaturate(str.AsByte(), const51);
src\libraries\System.Private.CoreLib\src\System\Collections\BitArray.cs (6)
802Vector128<byte> extractedLower = Sse2.And(shuffledLower, bitMask128); 803Vector128<byte> normalizedLower = Sse2.Min(extractedLower, ones); 804Sse2.Store((byte*)destination + i, normalizedLower); 807Vector128<byte> extractedHigher = Sse2.And(shuffledHigher, bitMask128); 808Vector128<byte> normalizedHigher = Sse2.Min(extractedHigher, ones); 809Sse2.Store((byte*)destination + i + Vector128<byte>.Count, normalizedHigher);
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector128.cs (25)
380if (Sse2.IsSupported) 394lowerBits = Sse2.And(vector, Create(0x00000000_FFFFFFFFL)).AsInt32(); 395lowerBits = Sse2.Or(lowerBits, Create(0x43300000_00000000).AsInt32()); 398Vector128<long> upperBits = Sse2.ShiftRightLogical(vector, 32); // Extract the 32 most significant bits of vector 399upperBits = Sse2.Xor(upperBits, Create(0x45300000_80000000)); // Flip the msb of upperBits and blend with the bit representation of double(2^84 + 2^63) 401Vector128<double> result = Sse2.Subtract(upperBits.AsDouble(), Create(0x45300000_80100000).AsDouble()); // Compute in double precision: (upper - (2^84 + 2^63 + 2^52)) + lower 402return Sse2.Add(result, lowerBits.AsDouble()); 421if (Sse2.IsSupported) 435lowerBits = Sse2.And(vector, Create(0x00000000_FFFFFFFFUL)).AsUInt32(); 436lowerBits = Sse2.Or(lowerBits, Create(0x43300000_00000000UL).AsUInt32()); 439Vector128<ulong> upperBits = Sse2.ShiftRightLogical(vector, 32); // Extract the 32 most significant bits of vector 440upperBits = Sse2.Xor(upperBits, Create(0x45300000_00000000UL)); // Blend upperBits with the bit representation of double(2^84) 442Vector128<double> result = Sse2.Subtract(upperBits.AsDouble(), Create(0x45300000_00100000UL).AsDouble()); // Compute in double precision: (upper - (2^84 + 2^52)) + lower 443return Sse2.Add(result, lowerBits.AsDouble()); 527if (Sse2.IsSupported) 534Vector128<int> lowerBits = Sse2.And(vector, Create(0x0000FFFFU)).AsInt32(); 535Vector128<int> upperBits = Sse2.ShiftRightLogical(vector, 16).AsInt32(); 537Vector128<float> lower = Sse2.ConvertToVector128Single(lowerBits); 538Vector128<float> upper = Sse2.ConvertToVector128Single(upperBits); 4391[CompExactlyDependsOn(typeof(Sse2))] 4394if (Sse2.IsSupported) 4396return Sse2.UnpackLow(left, right); 4407[CompExactlyDependsOn(typeof(Sse2))] 4410if (Sse2.IsSupported) 4412return Sse2.UnpackHigh(left, right);
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Aes.cs (1)
23public new abstract class X64 : Sse2.X64
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Pclmulqdq.cs (1)
23public new abstract class X64 : Sse2.X64
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\X86\Sse3.cs (1)
22public new abstract class X64 : Sse2.X64
src\libraries\System.Private.CoreLib\src\System\SearchValues\Any1CharPackedIgnoreCaseSearchValues.cs (2)
35[CompExactlyDependsOn(typeof(Sse2))] 40[CompExactlyDependsOn(typeof(Sse2))]
src\libraries\System.Private.CoreLib\src\System\SearchValues\Any1CharPackedSearchValues.cs (2)
25[CompExactlyDependsOn(typeof(Sse2))] 30[CompExactlyDependsOn(typeof(Sse2))]
src\libraries\System.Private.CoreLib\src\System\SearchValues\Any2CharPackedIgnoreCaseSearchValues.cs (2)
42[CompExactlyDependsOn(typeof(Sse2))] 47[CompExactlyDependsOn(typeof(Sse2))]
src\libraries\System.Private.CoreLib\src\System\SearchValues\Any2CharPackedSearchValues.cs (2)
25[CompExactlyDependsOn(typeof(Sse2))] 30[CompExactlyDependsOn(typeof(Sse2))]
src\libraries\System.Private.CoreLib\src\System\SearchValues\Any3CharPackedSearchValues.cs (2)
25[CompExactlyDependsOn(typeof(Sse2))] 30[CompExactlyDependsOn(typeof(Sse2))]
src\libraries\System.Private.CoreLib\src\System\SearchValues\IndexOfAnyAsciiSearcher.cs (7)
1102[CompExactlyDependsOn(typeof(Sse2))] 1364[CompExactlyDependsOn(typeof(Sse2))] 1371if (Sse2.IsSupported) 1373return Sse2.PackUnsignedSaturate(lowerMin, upperMin); 1401[CompExactlyDependsOn(typeof(Sse2))] 1406if (Sse2.IsSupported) 1408return Sse2.PackUnsignedSaturate(lower.AsInt16(), upper.AsInt16());
src\libraries\System.Private.CoreLib\src\System\SearchValues\ProbabilisticMap.cs (5)
222[CompExactlyDependsOn(typeof(Sse2))] 231if (Sse2.IsSupported) 233sourceLower = Sse2.PackUnsignedSaturate((source0 & Vector128.Create((ushort)255)).AsInt16(), (source1 & Vector128.Create((ushort)255)).AsInt16()); 234sourceUpper = Sse2.PackUnsignedSaturate((source0 >>> 8).AsInt16(), (source1 >>> 8).AsInt16()); 257[CompExactlyDependsOn(typeof(Sse2))]
src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\Helpers\TeddyHelper.cs (3)
213[CompExactlyDependsOn(typeof(Sse2))] 220if (Sse2.IsSupported) 222return Sse2.PackUnsignedSaturate(source0.AsInt16(), source1.AsInt16());
src\libraries\System.Private.CoreLib\src\System\SpanHelpers.Packed.cs (21)
18public 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))] 1169Debug.Assert(Sse2.IsSupported); 1174return Sse2.PackUnsignedSaturate(source0, source1).AsByte();
src\libraries\System.Private.CoreLib\src\System\Text\Ascii.Equality.cs (2)
521else if (Sse2.IsSupported) 524return Sse2.UnpackLow(vec, Vector128<byte>.Zero).AsUInt16();
src\libraries\System.Private.CoreLib\src\System\Text\Ascii.Utility.cs (33)
117(Sse2.IsSupported || AdvSimd.IsSupported)) 353Debug.Assert(Sse2.IsSupported); 372Debug.Assert(Sse2.IsSupported || AdvSimd.Arm64.IsSupported, "Sse2 or AdvSimd64 required."); 395if (Sse2.IsSupported) 397currentSseMask = (uint)Sse2.MoveMask(Sse2.LoadVector128(pBuffer)); // unaligned load 450if (Sse2.IsSupported) 452Vector128<byte> firstVector = Sse2.LoadAlignedVector128(pBuffer); 453Vector128<byte> secondVector = Sse2.LoadAlignedVector128(pBuffer + SizeOfVector128); 455currentSseMask = (uint)Sse2.MoveMask(firstVector); 456secondSseMask = (uint)Sse2.MoveMask(secondVector); 500if (Sse2.IsSupported) 502currentSseMask = (uint)Sse2.MoveMask(Sse2.LoadAlignedVector128(pBuffer)); 534if (Sse2.IsSupported) 536currentSseMask = (uint)Sse2.MoveMask(Sse2.LoadVector128(pBuffer)); // unaligned load 569if (Sse2.IsSupported) 592if (Sse2.IsSupported) 737(Sse2.IsSupported || AdvSimd.IsSupported)) 970Debug.Assert(Sse2.IsSupported || AdvSimd.Arm64.IsSupported, "Should've been checked by caller."); 1117if (Sse2.IsSupported) 1125currentMask = (uint)Sse2.MoveMask(Sse2.AddSaturate(firstVector, asciiMaskForAddSaturate).AsByte()); 1270if (Sse2.X64.IsSupported) 1275Vector128<short> vecWide = Sse2.X64.ConvertScalarToVector128UInt64(value).AsInt16(); 1276Vector128<uint> vecNarrow = Sse2.PackUnsignedSaturate(vecWide, vecWide).AsUInt32(); 1277Unsafe.WriteUnaligned(ref outputBuffer, Sse2.ConvertToUInt32(vecNarrow)); 1555else if (Sse2.IsSupported) 1561return (Sse2.MoveMask(Sse2.AddSaturate(utf16Vector, asciiMaskForAddSaturate).AsByte()) & 0b_1010_1010_1010_1010) != 0; 1672if (Sse2.IsSupported) 1674return Sse2.PackUnsignedSaturate(vectorFirst.AsInt16(), vectorSecond.AsInt16());
src\libraries\System.Private.CoreLib\src\System\Text\Latin1Utility.cs (63)
27return (Sse2.IsSupported) 166[CompExactlyDependsOn(typeof(Sse2))] 184Debug.Assert(Sse2.IsSupported, "Should've been checked by caller."); 208firstVector = Sse2.LoadVector128((ushort*)pBuffer); // unaligned load 214currentMask = (uint)Sse2.MoveMask(Sse2.AddSaturate(firstVector, latin1MaskForAddSaturate).AsByte()); 260firstVector = Sse2.LoadAlignedVector128((ushort*)pBuffer); 261secondVector = Sse2.LoadAlignedVector128((ushort*)pBuffer + SizeOfVector128InChars); 262Vector128<ushort> combinedVector = Sse2.Or(firstVector, secondVector); 278currentMask = (uint)Sse2.MoveMask(Sse2.AddSaturate(combinedVector, latin1MaskForAddSaturate).AsByte()); 307firstVector = Sse2.LoadAlignedVector128((ushort*)pBuffer); 323currentMask = (uint)Sse2.MoveMask(Sse2.AddSaturate(firstVector, latin1MaskForAddSaturate).AsByte()); 342firstVector = Sse2.LoadVector128((ushort*)pBuffer); // unaligned load 358currentMask = (uint)Sse2.MoveMask(Sse2.AddSaturate(firstVector, latin1MaskForAddSaturate).AsByte()); 391currentMask = (uint)Sse2.MoveMask(Sse2.AddSaturate(firstVector, latin1MaskForAddSaturate).AsByte()); 406currentMask = (uint)Sse2.MoveMask(Sse2.AddSaturate(firstVector, latin1MaskForAddSaturate).AsByte()); 548if (Sse2.IsSupported) 764[CompExactlyDependsOn(typeof(Sse2))] 779Debug.Assert(Sse2.IsSupported); 789Vector128<short> utf16VectorFirst = Sse2.LoadVector128((short*)pUtf16Buffer); // unaligned load 805if ((Sse2.MoveMask(Sse2.AddSaturate(utf16VectorFirst.AsUInt16(), latin1MaskForAddSaturate).AsByte()) & NonLatin1DataSeenMask) != 0) 813Vector128<byte> latin1Vector = Sse2.PackUnsignedSaturate(utf16VectorFirst, utf16VectorFirst); 814Sse2.StoreScalar((ulong*)pLatin1Buffer, latin1Vector.AsUInt64()); // ulong* calculated here is UNALIGNED 833utf16VectorFirst = Sse2.LoadVector128((short*)pUtf16Buffer + currentOffsetInElements); // unaligned load 847if ((Sse2.MoveMask(Sse2.AddSaturate(utf16VectorFirst.AsUInt16(), latin1MaskForAddSaturate).AsByte()) & NonLatin1DataSeenMask) != 0) 854latin1Vector = Sse2.PackUnsignedSaturate(utf16VectorFirst, utf16VectorFirst); 855Sse2.StoreScalar((ulong*)(pLatin1Buffer + currentOffsetInElements), latin1Vector.AsUInt64()); // ulong* calculated here is UNALIGNED 872utf16VectorFirst = Sse2.LoadVector128((short*)pUtf16Buffer + currentOffsetInElements); // unaligned load 873Vector128<short> utf16VectorSecond = Sse2.LoadVector128((short*)pUtf16Buffer + currentOffsetInElements + SizeOfVector128 / sizeof(short)); // unaligned load 874Vector128<short> combinedVector = Sse2.Or(utf16VectorFirst, utf16VectorSecond); 888if ((Sse2.MoveMask(Sse2.AddSaturate(combinedVector.AsUInt16(), latin1MaskForAddSaturate).AsByte()) & NonLatin1DataSeenMask) != 0) 896latin1Vector = Sse2.PackUnsignedSaturate(utf16VectorFirst, utf16VectorSecond); 899Sse2.StoreAligned(pLatin1Buffer + currentOffsetInElements, latin1Vector); // aligned 924if ((Sse2.MoveMask(Sse2.AddSaturate(utf16VectorFirst.AsUInt16(), latin1MaskForAddSaturate).AsByte()) & NonLatin1DataSeenMask) != 0) 931latin1Vector = Sse2.PackUnsignedSaturate(utf16VectorFirst, utf16VectorFirst); 935Sse2.StoreScalar((ulong*)(pLatin1Buffer + currentOffsetInElements), latin1Vector.AsUInt64()); // ulong* calculated here is aligned 953if (Sse2.IsSupported) 963[CompExactlyDependsOn(typeof(Sse2))] 971Debug.Assert(Sse2.IsSupported); 988latin1Vector = Sse2.LoadScalarVector128((ulong*)pLatin1Buffer).AsByte(); // unaligned load 989Sse2.Store((byte*)pUtf16Buffer, Sse2.UnpackLow(latin1Vector, zeroVector)); // unaligned write 1010latin1Vector = Sse2.LoadVector128(pLatin1Buffer + currentOffset); // unaligned load 1016Vector128<byte> low = Sse2.UnpackLow(latin1Vector, zeroVector); 1017Sse2.StoreAligned((byte*)pCurrentWriteAddress, low); 1019Vector128<byte> high = Sse2.UnpackHigh(latin1Vector, zeroVector); 1020Sse2.StoreAligned((byte*)pCurrentWriteAddress + SizeOfVector128, high); 1036latin1Vector = Sse2.LoadScalarVector128((ulong*)(pLatin1Buffer + currentOffset)).AsByte(); // unaligned load 1037Sse2.Store((byte*)(pUtf16Buffer + currentOffset), Sse2.UnpackLow(latin1Vector, zeroVector)); // unaligned write 1045latin1Vector = Sse2.LoadScalarVector128((uint*)(pLatin1Buffer + currentOffset)).AsByte(); // unaligned load 1046Sse2.StoreScalar((ulong*)(pUtf16Buffer + currentOffset), Sse2.UnpackLow(latin1Vector, zeroVector).AsUInt64()); // unaligned write 1071Debug.Assert(!Sse2.IsSupported);
src\libraries\System.Private.CoreLib\src\System\Text\Latin1Utility.Helpers.cs (4)
53if (Sse2.X64.IsSupported) 58Vector128<short> vecWide = Sse2.X64.ConvertScalarToVector128UInt64(value).AsInt16(); 59Vector128<uint> vecNarrow = Sse2.PackUnsignedSaturate(vecWide, vecWide).AsUInt32(); 60Unsafe.WriteUnaligned(ref outputBuffer, Sse2.ConvertToUInt32(vecNarrow));
src\libraries\System.Private.CoreLib\src\System\Text\Unicode\Utf16Utility.Validation.cs (1)
66if (/* (AdvSimd.Arm64.IsSupported && BitConverter.IsLittleEndian) || */ Sse2.IsSupported)
src\libraries\System.Private.CoreLib\src\System\Text\Unicode\Utf8Utility.Transcoding.cs (10)
982Sse2.StoreScalar((ulong*)pOutputBuffer /* unaligned */, Sse2.PackUnsignedSaturate(utf16Data, utf16Data).AsUInt64()); 1013else if (Sse2.IsSupported) 1015Unsafe.WriteUnaligned(pOutputBuffer, Sse2.ConvertToUInt32(Sse2.PackUnsignedSaturate(utf16Data, utf16Data).AsUInt32())); 1034if (Sse2.X64.IsSupported) 1036possibleNonAsciiQWord = Sse2.X64.ConvertToUInt64(utf16Data.AsUInt64()); 1056else if (Sse2.IsSupported) 1058Unsafe.WriteUnaligned(pOutputBuffer, Sse2.ConvertToUInt32(Sse2.PackUnsignedSaturate(utf16Data, utf16Data).AsUInt32()));
src\libraries\System.Private.CoreLib\src\System\Text\Unicode\Utf8Utility.Validation.cs (4)
151if (Sse2.IsSupported) 153uint mask = (uint)Sse2.MoveMask(Sse2.LoadVector128(pInputBuffer)); 184Debug.Assert((AdvSimd.Arm64.IsSupported && BitConverter.IsLittleEndian) || Sse2.IsSupported);
System.Runtime.Intrinsics (1)
artifacts\obj\System.Runtime.Intrinsics\Debug\net10.0\System.Runtime.Intrinsics.Forwards.cs (1)
48[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Runtime.Intrinsics.X86.Sse2))]
Test.Utilities (2)
src\Compilers\Core\Portable\Hashing\XxHashShared.cs (2)
717return Sse2.IsSupported ? 718Sse2.Multiply(source, sourceLow) :