-
Notifications
You must be signed in to change notification settings - Fork 1.5k
x64: Convert compare
instructions to the new assembler
#10836
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
x64: Convert compare
instructions to the new assembler
#10836
Conversation
Subscribe to Label Action
This issue or pull request has been labeled: "cranelift", "cranelift:area:x64", "cranelift:meta", "winch"
Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
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.
I think this makes sense; the only remaining refactoring is to unwrap some unnecessary Inst::*
code and then this should be good-to-go.
17cbb3c
to
71f52df
Compare
@abrown |
002e205
to
95df59e
Compare
339b08d
to
ee21774
Compare
Sometimes we just want to fix up the printed name of the instruction in the disassembly; e.g., instructions with the `lock` prefix. But, as we're seeing in bytecodealliance#10836 and elsewhere, other times we want to control the printing of the entire instruction--the full `Display` implementation. We'll need this kind of thing if we want to swap the order of operands or omit an immediate if it ends up being included in the printed instruction name. This change splits this kind of customization in two: `Mnemonic` and `Display`. After renaming this enum to `Customization`, all existing uses of `Display` are migrated to `Mnemonic`.
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.
LGTM! I think the one last thing we'll want is to clean up the ordered_ops
bits once #11017 is merged.
Sometimes we just want to fix up the printed name of the instruction in the disassembly; e.g., instructions with the `lock` prefix. But, as we're seeing in #10836 and elsewhere, other times we want to control the printing of the entire instruction--the full `Display` implementation. We'll need this kind of thing if we want to swap the order of operands or omit an immediate if it ends up being included in the printed instruction name. This change splits this kind of customization in two: `Mnemonic` and `Display`. After renaming this enum to `Customization`, all existing uses of `Display` are migrated to `Mnemonic`.
ee21774
to
cd27e90
Compare
@abrown ok i have rebased and pushed with changes, CI still running. |
f749f7c
to
f0f1a71
Compare
Implement
compare
instructions.Implement
Eflags
logic for DSL and wire up isle rules to set flags when appropriate.