Skip to content

Commit c6ad0a8

Browse files
authored
[wasm] Try out a PackedSimd WideningLoader (#114811)
* Try out a PackedSimd WideningLoader
1 parent 13f0dee commit c6ad0a8

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/libraries/System.Private.CoreLib/src/System/Text/Ascii.Equality.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using System.Runtime.InteropServices;
88
using System.Runtime.Intrinsics;
99
using System.Runtime.Intrinsics.Arm;
10+
using System.Runtime.Intrinsics.Wasm;
1011
using System.Runtime.Intrinsics.X86;
1112

1213
namespace System.Text
@@ -522,6 +523,11 @@ public static Vector128<ushort> Load128(ref byte ptr)
522523
Vector128<byte> vec = Vector128.CreateScalarUnsafe(Unsafe.ReadUnaligned<long>(ref ptr)).AsByte();
523524
return Sse2.UnpackLow(vec, Vector128<byte>.Zero).AsUInt16();
524525
}
526+
else if (PackedSimd.IsSupported)
527+
{
528+
Vector128<byte> vec = Vector128.CreateScalarUnsafe(Unsafe.ReadUnaligned<long>(ref ptr)).AsByte();
529+
return PackedSimd.ZeroExtendWideningLower(vec);
530+
}
525531
else
526532
{
527533
(Vector64<ushort> lower, Vector64<ushort> upper) = Vector64.Widen(Vector64.LoadUnsafe(ref ptr));

0 commit comments

Comments
 (0)