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/7.0-preview1] Ensure that we aren't accidentally generating instructions for unsupported ISAs #64224

Merged

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jan 24, 2022

Backport of #64140 to release/7.0-preview1

/cc @tannergooding

Customer Impact

Customers running on a machine with AVX but without AVX2 and utilizing certain helper intrinsics will experience a fail fast due to the hardware not supporting the emitted instruction

Testing

An additional assert was added to validate that hardware intrinsics aren't being emitted for unsupported ISAs in codegen. The impacted tests were run with the various COMPlus_EnableIsa=0 switches to validate that the assert was raised before the fix and not after the fix.

We have existing outer loop jobs that run the tests with these switches toggled and that will now cause the relevant assert to fire allowing us to catch these issues earlier.

Risk

Minimal. This is the first preview for .NET 7 and the underlying instructions used are already well tested. This was merely an issue around the ISA checks during import handling.

@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 Jan 24, 2022
@ghost
Copy link

ghost commented Jan 24, 2022

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

Issue Details

Backport of #64140 to release/7.0-preview1

/cc @tannergooding

Customer Impact

Testing

Risk

Author: github-actions[bot]
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@echesakov
Copy link
Contributor

@tannergooding Were able to run the changes on a device without AVX2?

@tannergooding
Copy link
Member

@tannergooding Were able to run the changes on a device without AVX2?

Yes and the new assert helps catch the issue even on hardware with AVX2 provided you set COMPlus_EnableAVX2=0

@JulieLeeMSFT
Copy link
Member

cc @jeffschwMSFT for backporting this PR to preview1.

@jeffschwMSFT jeffschwMSFT added the Servicing-consider Issue for next servicing release review label Jan 24, 2022
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.

Approved. We should take for consideration in 7.0-preview1

@jeffschwMSFT jeffschwMSFT added this to the 7.0.0 milestone Jan 25, 2022
@leecow leecow added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Jan 25, 2022
@jeffschwMSFT jeffschwMSFT merged commit aa73132 into release/7.0-preview1 Jan 25, 2022
@jkotas jkotas deleted the backport/pr-64140-to-release/7.0-preview1 branch January 26, 2022 01:36
@ghost ghost locked as resolved and limited conversation to collaborators Feb 25, 2022
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 Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants