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

JIT: Missing support for pre-indexed addressing on arm64 #105193

Open
jakobbotsch opened this issue Jul 21, 2024 · 1 comment
Open

JIT: Missing support for pre-indexed addressing on arm64 #105193

jakobbotsch opened this issue Jul 21, 2024 · 1 comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone

Comments

@jakobbotsch
Copy link
Member

jakobbotsch commented Jul 21, 2024

Pre-indexed addressing with writeback allows computing x = x + c; var y = *x in a single instruction on arm64. We should add support for this.

The post-indexed addressing mode was added as an emitter peephole in #105181. #105185 adds a lowering transformation that tries to set the IR up to produce patterns that are amenable to be replaced by the peephole in the emitter. The pre-indexing can work in a similar way: run the peephole when we are going to emit a load/store instruction and try to combine it with a previous add/sub. In lowering try to look for a previous GT_ADD/GT_SUB RMW to make adjacent when we see an indir. One problematic thing there is that we currently do not have a convenient list of the previous RMW ADD/SUB nodes, so we either need to search for longer (probably expensive) or we need to add such a list.

@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 Jul 21, 2024
@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label Jul 21, 2024
@jakobbotsch jakobbotsch changed the title JIT: Missing support for pre-indexed addressing JIT: Missing support for pre-indexed addressing on arm64 Jul 21, 2024
@jakobbotsch jakobbotsch added this to the 10.0.0 milestone Jul 21, 2024
@jakobbotsch jakobbotsch removed the untriaged New issue has not been triaged by the area owner label Jul 21, 2024
Copy link
Contributor

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

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
Projects
None yet
Development

No branches or pull requests

1 participant