-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Improve SVE binary test template #118730
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
base: main
Are you sure you want to change the base?
Improve SVE binary test template #118730
Conversation
snickolls-arm
commented
Aug 14, 2025
- Improves random data coverage for these tests
- Simplifies Vector pinning
- Fixes some errors in some mask-related helpers when inputs have irregular mask data
- Fixes a saturation error in a shift helper
- Fixes overflow error in FusedAddRoundedHalving helper
- Bias generator to produce zeroes for masks 50% of the time
- Suppress generation of NaN values
* Improves random data coverage for these tests * Simplifies Vector pinning * Fixes some errors in some mask-related helpers when inputs have irregular mask data * Fixes a saturation error in a shift helper * Fixes overflow error in FusedAddRoundedHalving helper * Bias generator to produce zeroes for masks 50% of the time * Suppress generation of NaN values
@dotnet/arm64-contrib |
It looks like there are more failures related to the increased coverage that I didn't see when I ran the tests, so I'll see if I can fix these. |
Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics |
The errors on
The I think the fix would be to generate merging or unpredicated @a74nh FYI |
Agreed with unpredicted movprfx too. Ideally we should push this PR for NET10 too as it's a bug in the implementation. |
@JulieLeeMSFT I consulted with @tannergooding on this and we're inclined to move this to 11.0.0 and only accept into main without backporting to 10.0.0. The value here is improving tests and not addressing functional correctness in the product code. I'm changing the milestone to reflect that, but please chime in if you see value in backporting to 10. Thanks. |
My only concern is there is a bug fix in here for SVE2 MaxNumberPairwise and MinNumberPairwise. Movprfx is being used in an unpredicatable way, so the API can return wrong results. It wasn't spotted in testing because the mask generation was limited. How about putting the two .cpp Jit changes in a separate PR and pushing just that for .NET10 ? It's a small change. |
I've added this PR here: #119390 |