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/9.0] Ensure that AdvSimd.Insert doesn't zero out the upper bits #107089

Merged
merged 4 commits into from
Aug 29, 2024

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Aug 28, 2024

Backport of #106981 to release/9.0

/cc @tannergooding

Customer Impact

  • Customer reported
  • Found internally

Found via Fuzzlyn: #106079

Developers who are using AdvSimd.Insert to insert a constant floating-point value may see incorrect codegen on Arm64.

Regression

  • Yes
  • No

This bug was introduced in .NET 5 when the API was originally added: #35030

Testing

An explicit regression test was added covering the scenario. Additional manual testing of the patterns that are known to be problematic was completed on an Arm64 device. Similar patterns were also validated on x64 and the code was audited to identify if similar issues could exist.

Risk

Low. Most user code is doing insertions via the cross platform API, vector.WithElement instead which uses a different intrinsic (InsertSelectedScalar) to do the insertion, which does not have this same problem.

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Aug 28, 2024
Copy link
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

@tannergooding
Copy link
Member

CC. @jakobbotsch, @dotnet/jit-contrib for review

This is a backport of #106981 to .NET 9

Copy link
Member

@jeffschwMSFT jeffschwMSFT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. we can merge when ready

@jeffschwMSFT jeffschwMSFT added the Servicing-approved Approved for servicing release label Aug 28, 2024
@jeffschwMSFT jeffschwMSFT merged commit c827c27 into release/9.0 Aug 29, 2024
10 checks passed
@tannergooding tannergooding deleted the backport/pr-106981-to-release/9.0 branch August 29, 2024 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants