-
Notifications
You must be signed in to change notification settings - Fork 5k
Ensure VN produces correctly initialized simdmask_t #115227
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
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.
Pull Request Overview
This PR fixes issue #114978 by ensuring that the simdmask_t is correctly initialized with the proper element count. The changes include updating the signature and call sites of VNAllBitsForType, modifying the simdmask_t::AllBitsSet method to accept an elementCount, and adding a test to validate these changes.
Reviewed Changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
src/tests/JIT/Regression/JitBlue/Runtime_114978/Runtime_114978.cs | Adds a regression test to verify the correct simdmask_t initialization |
src/coreclr/jit/valuenum.h | Updates the VNAllBitsForType signature by adding an unsigned elementCount parameter |
src/coreclr/jit/valuenum.cpp | Propagates the elementCount parameter in calls to VNAllBitsForType in various evaluation functions |
src/coreclr/jit/simd.h | Changes the AllBitsSet method to require an elementCount and returns the correctly initialized simdmask_t |
Files not reviewed (1)
- src/tests/JIT/Regression/JitBlue/Runtime_114978/Runtime_114978.csproj: Language not supported
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
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.
Run outerloop + Fuzzlyn CI?
@@ -690,7 +690,7 @@ class ValueNumStore | |||
|
|||
// Returns the value number for AllBitsSet of the given "typ". | |||
// It has an unreached() for a "typ" that has no all bits set value, such as TYP_VOID. | |||
ValueNum VNAllBitsForType(var_types typ); | |||
ValueNum VNAllBitsForType(var_types typ, unsigned elementCount); |
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.
Document elementCount
?
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.
👍
I added a description for it matching the existing format since none of the other methods in here are following the more "standard" method documentation format.
It might be desirable to normalize that later, but I went for consistency now.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
/azp run runtime-coreclr outerloop, fuzzlyn |
Azure Pipelines successfully started running 2 pipeline(s). |
/azp run runtime-coreclr outerloop, fuzzlyn |
Azure Pipelines successfully started running 2 pipeline(s). |
This resolves #114978