Skip to content

[mono][interpreter] Make nint and nuint work for interpreter simd intrinsics #114087

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

Merged
merged 13 commits into from
Apr 3, 2025

Conversation

lewing
Copy link
Member

@lewing lewing commented Mar 31, 2025

PackedSimd is currently broken in the interpreter with nint and nuint types because of this, and Vector128 fails to find the intrinsics. Additionally Vector128<nuint> is used in a potential hot path.

Vector128<nuint> sumVector = (Vector128<ushort>.Zero - twoOrMoreUtf8Bytes - threeOrMoreUtf8Bytes).AsNUInt();

fixes #114088
Also fixes PackedSimd.Store*, and ConvertToDoubleLower interpreter intrinsics identified by the tests

Copy link
Contributor

Tagging subscribers to this area: @BrzVlad, @kotlarmilos
See info in area-owners.md if you want to be subscribed.

@lewing
Copy link
Member Author

lewing commented Mar 31, 2025

More fixes on the way

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.

Files not reviewed (1)
  • src/mono/mono/mini/interp/transform-simd.c: Language not supported

@lewing lewing marked this pull request as draft April 1, 2025 20:32
@lewing
Copy link
Member Author

lewing commented Apr 1, 2025

Need to add a test case

@lewing lewing force-pushed the simd-nint-nuint branch from 4deebe5 to 71ef53a Compare April 1, 2025 21:21
@lewing lewing force-pushed the simd-nint-nuint branch from fb27924 to c183ac6 Compare April 2, 2025 00:07
@lewing lewing marked this pull request as ready for review April 2, 2025 00:31
@lewing lewing closed this Apr 2, 2025
@lewing lewing reopened this Apr 2, 2025
@lewing lewing force-pushed the simd-nint-nuint branch from 92592b1 to 2602fe5 Compare April 2, 2025 04:17
@lewing
Copy link
Member Author

lewing commented Apr 3, 2025

I will backport the runtime abort fixes to net 9 manually.

#114218

@lewing
Copy link
Member Author

lewing commented Apr 3, 2025

/ba-g failures are unrelated

@lewing lewing merged commit 233826c into dotnet:main Apr 3, 2025
105 of 113 checks passed
@lewing lewing deleted the simd-nint-nuint branch April 3, 2025 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PackedSimd fails to find interpreter intrinsic
3 participants