Skip to content

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

Merged
lewing merged 13 commits into
dotnet:mainfrom
lewing:simd-nint-nuint
Apr 3, 2025
Merged

[mono][interpreter] Make nint and nuint work for interpreter simd intrinsics#114087
lewing merged 13 commits into
dotnet:mainfrom
lewing:simd-nint-nuint

Conversation

@lewing

@lewing lewing commented Mar 31, 2025

Copy link
Copy Markdown
Member

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

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

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

@lewing

lewing commented Mar 31, 2025

Copy link
Copy Markdown
Member Author

More fixes on the way

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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

lewing commented Apr 1, 2025

Copy link
Copy Markdown
Member Author

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

lewing commented Apr 3, 2025

Copy link
Copy Markdown
Member Author

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

#114218

Comment thread src/mono/mono/mini/interp/transform-simd.c
@lewing

lewing commented Apr 3, 2025

Copy link
Copy Markdown
Member Author

/ba-g failures are unrelated

@lewing lewing merged commit 233826c into dotnet:main Apr 3, 2025
@lewing lewing deleted the simd-nint-nuint branch April 3, 2025 18:46
@github-actions github-actions Bot locked and limited conversation to collaborators May 12, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PackedSimd fails to find interpreter intrinsic

4 participants