Skip to content
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 Sse3.MoveAndDuplicate correctly tracks supporting SIMD scalar loads #100417

Merged

Conversation

tannergooding
Copy link
Member

Backport of #97783 to release/8.0-staging

/cc @tannergooding

Customer Impact

  • Customer reported
  • Found internally

This was reported by a customer in #100404 and was internally found via #97688, where the containment checks around Sse3.MoveAndDuplicate weren't sufficient and so we missed an opportunity that another code path (related to the AVX-512 embedded broadcast support) was assuming would be made.
 

Regression

  • Yes
  • No

Prior to AVX-512 there was a missed containment opportunity, but this wasn't functionally incorrect, just less efficient. With the introduction of AVX-512 support in .NET 8, a new issue was introduced due to us missing the containment opportunity.

Testing

The fix was verified on the customer provided example in #100404 and a minimal regression test was added that validates the fix. The fix has been in .NET 9 for a couple months now with no additional issues having been found.

Risk

Low: This is a net new scenario in .NET 8 and only impacts customers with AVX-512 capable hardware.

@tannergooding tannergooding added Servicing-consider Issue for next servicing release review area-System.Runtime.Intrinsics avx512 Related to the AVX-512 architecture labels Mar 28, 2024
@tannergooding tannergooding changed the title Backport 97783 Ensure that Sse3.MoveAndDuplicate correctly tracks supporting SIMD scalar loads Mar 28, 2024
Copy link
Contributor

Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics
See info in area-owners.md if you want to be subscribed.

@tannergooding tannergooding added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI and removed area-System.Runtime.Intrinsics labels Mar 28, 2024
@tannergooding
Copy link
Member Author

CC. @jakobbotsch since you reviewed and signed-off on the original fix.

@tannergooding tannergooding changed the title Ensure that Sse3.MoveAndDuplicate correctly tracks supporting SIMD scalar loads [release/8.0-staging] Ensure that Sse3.MoveAndDuplicate correctly tracks supporting SIMD scalar loads Apr 1, 2024
@tannergooding
Copy link
Member Author

CC. @JulieLeeMSFT, @jakobbotsch

This is still pending sign-off for backport so it can goto tactics for approval.

@rbhanda rbhanda added this to the 8.0.5 milestone Apr 2, 2024
@rbhanda rbhanda added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Apr 2, 2024
@tannergooding tannergooding merged commit 7d45915 into dotnet:release/8.0-staging Apr 4, 2024
117 of 123 checks passed
@tannergooding tannergooding deleted the backport-97783 branch April 4, 2024 20:37
@github-actions github-actions bot locked and limited conversation to collaborators May 5, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI avx512 Related to the AVX-512 architecture Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants