-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
asm: add implementations for more ALU operations #10237
asm: add implementations for more ALU operations #10237
Conversation
This adds DSL definitions in the assembler _and_ uses the new instructions for ISLE lowering for the following instructions: - `add` - `adc` - `or` - `sub` - `sbb` - `xor` The original `AluRmiROpcode` variants are not yet gone; perhaps in a future pass.
80ab679
to
d737108
Compare
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.
Looks good, thanks!
`cranelift-codegen` would check an immediate size and, if it fit in an 8-bit slot, would use the sign-extending version to encode an instruction with a 1 byte immediate instead of a 4 byte immediate. This change adds those extra lowering rules for the new assembler.
Ok, looking into this more, we had some extra 8-bit lowering rules up in |
Updates look good -- thanks for tracking down that divergence! |
This adds DSL definitions in the assembler and uses the new instructions for ISLE lowering for the following instructions:
add
adc
or
sub
sbb
xor
The original
AluRmiROpcode
variants are not yet gone; perhaps in a future pass.