Skip to content

Conversation

@saucecontrol
Copy link
Member

@saucecontrol saucecontrol commented Jan 24, 2025

Fixes #67314
Fixes #81522

This enables containment for the BMI2 shift and rotate instructions, and it enables those instructions on x86.

Diffs look good. There's a size regression on x86, since sarx/shlx/shrx are larger, but they are also much faster than the legacy instructions that take shift amount in cl.

@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jan 24, 2025
@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label Jan 24, 2025
@saucecontrol saucecontrol changed the title JIT: Enable containment for rorx/sarx/shlx/shrx JIT: Enable containment for BMI2 shift and rotate instructions Jan 24, 2025
@saucecontrol saucecontrol marked this pull request as ready for review January 24, 2025 06:50
@BruceForstall
Copy link
Contributor

@saucecontrol Please merge up to main.

Copy link
Contributor

@BruceForstall BruceForstall left a comment

Choose a reason for hiding this comment

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

LGTM

@BruceForstall
Copy link
Contributor

@saucecontrol Sorry, there's a new merge conflict. Can you merge and resolve it?

@saucecontrol
Copy link
Member Author

saucecontrol commented Mar 18, 2025

Done, and took care of #113237 (review)

@BruceForstall BruceForstall merged commit a45130e into dotnet:main Mar 18, 2025
113 checks passed
@saucecontrol saucecontrol deleted the containment-bmi2 branch March 18, 2025 16:43
@github-actions github-actions bot locked and limited conversation to collaborators Apr 18, 2025
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 community-contribution Indicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[JIT] X64 - Support containment for instructions shlx, sarx, shrx [RyuJIT] Enable contained form for shlx, sarx, shrx and on x86

2 participants