Skip to content

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
@dotnet-policy-service
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
@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