Skip to content

Conversation

kunalspathak
Copy link
Contributor

@kunalspathak kunalspathak commented Jun 13, 2024

This PR removes the alias and adds the actual "predicate registers" for Arm64. Also includes some of the fixes that was uncovered when we started having dedicated predicate registers. I have not yet included the handling of callee save/trash of scalable/predicate registers in this PR, and will do it as a separate PR. Also, there are still some remaining TODO-SVE that were added until we add predicate registers support. I will remove them in a different PR.

Here is the list of previous PRs that went in:

Other misc. PRs:

Sample diff: https://www.diffchecker.com/QO4l4dhM/

Fixes: #99658

@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jun 13, 2024
@kunalspathak kunalspathak requested a review from jakobbotsch June 13, 2024 00:47
@kunalspathak
Copy link
Contributor Author

@dotnet/jit-contrib @dotnet/arm64-contrib @jakobbotsch PTAL

cc: @dotnet/avx512-contrib

Copy link
Contributor

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

@kunalspathak
Copy link
Contributor Author

I am guessing most of the TP cost is coming from the fact that we have fewer bits to represent small constant in instrDesc and hence using large instrDesc. Will take a look.

image

@kunalspathak
Copy link
Contributor Author

I am guessing most of the TP cost is coming from the fact that we have fewer bits to represent small constant in instrDesc and hence using large instrDesc

Actually, this one is coming by enabling HAS_MORE_THAN_64_REGISTERS macro and not because of instrDesc. I had it ON by default in #102921, but turned it back OFF in #103146, where we regain those regressions and in this PR, we see them back.

Copy link
Member

@jakobbotsch jakobbotsch left a comment

Choose a reason for hiding this comment

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

Nice, quite simple change.

@kunalspathak
Copy link
Contributor Author

currently gcc is failing and is being discussed in #101623 (comment)

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

LSRA: Add support to track more than 64 registers

2 participants