Skip to content

[APX] Complete EGPR encoding in X64 backend #113237

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

Merged
merged 6 commits into from
Mar 18, 2025

Conversation

Ruihan-Yin
Copy link
Member

With #106557 and #108796, we introduced APX new encodings - REX2 and extended EVEX, and with #108799, we introduced more general-purpose registers (EGPRs) in register allocator.

This PR addresses some left-over changes needed in the emitter to let both REX2 and extended EVEX address EGPRs properly.

Plus it introduced more APX compatible instructions.

Note that this PR only covers the encoding part and is not intended to let register allocator consider EGPR in more instructions/nodes. We are planning this part later. So this PR is expected to have no asmdiff with/without APX.

@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 Mar 6, 2025
@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label Mar 6, 2025
Copy link
Contributor

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

@Ruihan-Yin
Copy link
Member Author

The failures look irrelevant, PR is ready for review.

@Ruihan-Yin Ruihan-Yin marked this pull request as ready for review March 8, 2025 00:14
@huoyaoyuan huoyaoyuan added the apx Related to the Intel Advanced Performance Extensions (APX) label Mar 12, 2025
@Ruihan-Yin
Copy link
Member Author

Hi @tannergooding @BruceForstall

This PR is ready for review, appreciate for any feedback. :)

Copy link
Member

@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

case INS_pdep:
case INS_mulx:
// TODO: Unblock when enabled for x86
#ifdef TARGET_AMD64
Copy link
Member

Choose a reason for hiding this comment

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

Looks like this will get enabled by #111778, after which these ifdefs can be removed. Not sure which will get merged first.

@BruceForstall
Copy link
Member

/ba-g OSX infra issue

@BruceForstall BruceForstall merged commit cee9527 into dotnet:main Mar 18, 2025
112 of 114 checks passed
@Ruihan-Yin
Copy link
Member Author

Thanks for the quick response!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
apx Related to the Intel Advanced Performance Extensions (APX) 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.

3 participants