[mono] Optimizing arm64 trampolines #93547
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Two occurrences are addressed here:
(1) Sequential SIMD loads/stores try to use paired opcodes, e.g. in
generic_trampoline_jit
(2) Arithmetics with large immediate values takes advantage of the full immediate range (but not shifted imm), e.g. in
generic_trampoline_jit
:According to https://developer.arm.com/documentation/dui0801/c/A64-General-Instructions/ADD--immediate-?lang=en the immediate range is 0..4095