-
Notifications
You must be signed in to change notification settings - Fork 4.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Narrow four utf16 chars to ascii and write to buffer #39508
Narrow four utf16 chars to ascii and write to buffer #39508
Conversation
16ce598
to
b22083f
Compare
Tagging subscribers to this area: @tannergooding |
@@ -8,6 +8,8 @@ internal static class Vector64 | |||
public static Vector64<ulong> Create(ulong value) => throw new PlatformNotSupportedException(); | |||
public static Vector64<uint> CreateScalar(uint value) => throw new PlatformNotSupportedException(); | |||
public static Vector64<byte> AsByte<T>(this Vector64<T> vector) where T : struct => throw new PlatformNotSupportedException(); | |||
public static Vector64<T> GetLower<T>(this Vector128<T> vector) where T : struct => throw new PlatformNotSupportedException(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are not strictly needed for this PR, but all of these APIs will be needed in subsequent PRs. Let me know if you'd rather that I keep this clean.
src/libraries/System.Private.CoreLib/src/System/Text/ASCIIUtility.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Private.CoreLib/src/System/Text/ASCIIUtility.cs
Outdated
Show resolved
Hide resolved
40c7685
to
c719dde
Compare
c719dde
to
938efce
Compare
Rebasing on the latest master to see if CI passes |
CI failures are unrelated. Merging. |
* Shims * shim * Cherry-pick * NarrowFourUtf16CharsToAsciiAndWriteToBuffer * Address comments * Nit
I decided to split up my single PR into multiple ones so I can isolate CI bugs better. I believe this change should be good to go in.
In the process of splitting, I eventually found that the ARM64 CI legs seem to be broken currently. I opened #39582 to test that claim.
Perf results:
Before and After Arm64 optimizations
calope@calopearm:~/performance/src/tools/ResultsComparer$ dotnet run --base ~/pgovind_before/ --diff ~/pgovind_after/ --threshold 0.01%
summary:
better: 1, geomean: 1.244
total diff: 1
No Slower results for the provided threshold = 0.01% and noise filter = 0.3ns.