-
Notifications
You must be signed in to change notification settings - Fork 5.1k
[release/8.0-staging] Ensure that Vector512 uses the same patterns as Vector64/128/256 #98115
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/8.0-staging] Ensure that Vector512 uses the same patterns as Vector64/128/256 #98115
Conversation
…sics/Vector512.cs Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics Issue DetailsBackport of #97990 to release/8.0-staging /cc @tannergooding Customer Impact
Customers attempting to use the Regression
This is a net new type in .NET 8 TestingAdditional test coverage was added to ensure the scenario was correctly covered. Vector512 was a net new type following the existing API surface area of the Vector64/128/256 APIs. The surface area is quite expansive and the tests for this particular scenario were missing. RiskLow. The Vector512 APIs were checked in with a slightly different implementation than had previously been used for Vector64, Vector128, and Vector256, the fix was to ensure we followed the same well-tested and consistent behavior. The failure was itself caused by a simple ordering issue (effectively the code was doing
|
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
@tannergooding @jeffhandley today is code complete for the March release. If this PR meets all the servicing criteria, please merge it before 4pm. |
Extra platforms failures are CI timeouts due to device disconnections. They are fairly common for that leg. @jeffhandley, I think this is ready to merge |
Backport of #97990 to release/8.0-staging
/cc @tannergooding
Customer Impact
Customers attempting to use the
Vector512<T> Create(T[] values, int index)
API will see incorrect results for non-zero indices.Regression
This is a net new type in .NET 8
Testing
Additional test coverage was added to ensure the scenario was correctly covered. Vector512 was a net new type following the existing API surface area of the Vector64/128/256 APIs. The surface area is quite expansive and the tests for this particular scenario were missing.
Risk
Low. The Vector512 APIs were checked in with a slightly different implementation than had previously been used for Vector64, Vector128, and Vector256, the fix was to ensure we followed the same well-tested and consistent behavior. The failure was itself caused by a simple ordering issue (effectively the code was doing
Add(AsByte(x), y))
when it should have been doingAsByte(Add(x, y))