-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Add ARM64 encodings for groups IF_SVE_CE,CF #98409
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
Changes from 7 commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
376b4d9
Add ARM64 encodings for groups IF_SVE_CE,CF
snickolls-arm f2cfb1e
Move left-shifted integers into explicit types
snickolls-arm fc39e86
Merge branch 'main' into github-IF_SVE_CE,CF
snickolls-arm 028d5c6
Address review comments
snickolls-arm 9f8fc26
Fix formatting errors
snickolls-arm e2299de
Merge branch 'main' into github-IF_SVE_CE,CF
snickolls-arm 1e43376
Fix a typo with register ID and add a scalable option for moving to and
snickolls-arm 8fd7a28
Add shortcut for pmov with zero index
snickolls-arm d1f8d6d
Fix formatting
snickolls-arm 54b0b75
Merge branch 'main' into github-IF_SVE_CE,CF
snickolls-arm e88f014
Merge remote-tracking branch 'origin/main' into github-IF_SVE_CE,CF
kunalspathak File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add a check so that
INS_OPTS_SCALABLE_Bis required foropt(and all the other placesIF_SVE_CE_2AandIF_SVE_CF_2Aare checked)This ensures the code calling it doesn't call with a different sized scalable. Eg: We want
theEmitter->emitIns_R_R(INS_sve_pmov, EA_SCALABLE, REG_P2, REG_V12, INS_OPTS_SCALABLE_H, INS_SCALABLE_OPTS_TO_PREDICATE);to failThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, what would be even more useful is if
optisINS_OPTS_SCALABLE_H/S/Dthen it should just do:return emitIns_R_R_I(INS_sve_pmov, attr, reg1, reg2, 0, opt, sopt, INS_SCALABLE_OPTS_TO_PREDICATE);Why? Because it's a useful shortcut. Most of the time the code calling all of this will be wanting to do a pmov with immediate 0, and it's a pain to have to write:
if (size == B) then emitIns_R_R(pmov,....) else emitIns_R_R_I(pmov,....,0);