[gen] Add pair-cell offset annotation for AArch64.#1886
Open
ShaleXIONG wants to merge 2 commits into
Open
Conversation
Expose a non-mixed AArch64 offset annotation to generate ordinary accesses to the second cell of a pair-backed location. The surface spelling follows the current natural type size. With the default 32-bit `int`, the added annotation is `w4`; with `-type int64_t`, it is `q8`.
Stop combining pair-load results with an `ADD` after `LDP**` but check registers' values separately in the final condition.
bb96221 to
4aeba6b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Expose a non-mixed AArch64 offset annotation to generate ordinary accesses to the second cell of a pair-backed location. The surface spelling follows the current natural type size.
int, the added annotation isw4-type int64_t, it isq8.We also remove the synthetic
ADDafterAArch64pair loads but check both register values in the final condition.Given the new annotation and change, we can generate test, e.g.
diyone7 -metadata false -arch AArch64 -oneloc Rfe PaIQ Fre w4 PosWW