-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[release/7.0] Ensure that the shuffle zero mask copies all bits #86453
[release/7.0] Ensure that the shuffle zero mask copies all bits #86453
Conversation
Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics Issue DetailsBackport of a fix from #85129 to release/7.0 /cc @dotnet/area-system-runtime-intrinsics Customer ImpactCustomers expecting elements in the upper 128-bits of a TestingA unit test covering the faulty behavior was added to validate the fix. RiskLow. The bug was for a new API introduced in .NET 7 and is covering a specific edge case scenario where the mask was only copying the lower 128-bits. We've had the fix in .NET for several previews now with no issues.
|
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.
Approved assuming the build errors get addressed and tactics approves the servicing request.
Should be fixed. I forgot to exclude the V512 specific coverage from the test (V512 is .NET 8 only) |
CI failures are all known, they are:
The latter is the most prevalent by far and surfaces as either:
-or-
|
What release will this go into? |
Backport of a fix from #85129 to release/7.0
/cc @dotnet/area-system-runtime-intrinsics
Customer Impact
Customers expecting elements in the upper 128-bits of a
Vector256<T>
to be zero'd by the shuffle will not see the correct behavior and may end up with non-zero result for the corresponding element.Testing
A unit test covering the faulty behavior was added to validate the fix.
Risk
Low. The bug was for a new API introduced in .NET 7 and is covering a specific edge case scenario where the mask was only copying the lower 128-bits. We've had the fix in .NET for several previews now with no issues.
This resolves #85132