-
Notifications
You must be signed in to change notification settings - Fork 5k
Sve: Fix Gather/Scatter tests #115036
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
Sve: Fix Gather/Scatter tests #115036
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.
Copilot wasn't able to review any files in this pull request.
Files not reviewed (3)
- src/tests/JIT/HardwareIntrinsics/Arm/Shared/SveGatherVectorFirstFaultingVectorBases.template: Language not supported
- src/tests/JIT/HardwareIntrinsics/Arm/Shared/SveGatherVectorVectorBases.template: Language not supported
- src/tests/JIT/HardwareIntrinsics/Arm/Shared/SveScatterVectorBases.template: Language not supported
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
@dotnet/jit-contrib @dotnet/arm64-contrib @a74nh |
/azp run runtime-coreclr jitstress, runtime-coreclr outerloop |
Azure Pipelines successfully started running 2 pipeline(s). |
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.
LGTM.
And the asserts are useful.
/ba-g outerloop failures are unrelated |
SVE Gather/Scatter tests populates a data array and then get the addresses of some of the elements of data array. These addresses are then passed to SVE APIs to see if the API correctly loads the required elements and validates the result. The step where we were populating the individual element address has a bug in pointer arithmetic and was returning incorrect address of pointers. When the underlying data is
double
, returning invalid aligned data element address would treat the underlying data asNaN
or other times, might not match the expected return result from these APIs. I have fixed the pointer arithmetic to correctly calculate the address of the individual element and now the tests are passing as expected. I have also addedDebug.Assert()
while setting up the addresses to make sure we are doing it correctly.I also noticed similar problem for Scatter test cases and fixed them too.
Fixes: #114646
Fixes: #112264