-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[wasm] Use packedsimd in hexconverter #115062
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
Conversation
src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Vector128.cs
Show resolved
Hide resolved
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.
Looks right, with the caveat that I didn't test the new implementation myself
|
the select mask was swapped but the tests caught it. |
Looks like there are some regressions with invalid values, taking a look. |
It looks like the tests are only failing in windows without aggressive trimming, in CI, but not locally. ugh |
@radekdoulik it looks like the failing paths are on the AOT builds |
I have no luck replicating it locally. Tried both Release and Debug configurations. I was running |
Passed locally with AOT on windows using the same version of chrome. I wonder if this is another msvc error in the cross compiler (see: #114786)
|
cc @akoeplinger |
I've extracted out some of the marginally related changes. What is left in the pr now is:
I'm happy to split out the fixes completely from the optimization but I think it is reviewable as is. |
/ba-g failures are not related |
Implement a PackedSimd vectorized version of Hexconverter.TryDecodeFromUtf16
Then fix several things that were broken in the AOT intrinsics to make that optimization work.