Skip to content
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: Enable load sinking for small types in extend instructions #8777

Merged
merged 1 commit into from
Jun 11, 2024

Conversation

afonso360
Copy link
Contributor

👋 Hey,

This PR adds support for load sinking in extend instructions on the x64 backend. These were pretty much already supported, but by default the x64 backend doesn't load sink small types. (It'd be neat to fix that at some point)

The only change here is to allow it to do so for movzx and movsx. These instructions have the correct implementation for small types and shouldn't try to perform a load larger than the source type.

This should also be the last backend that needs this implementation, s390x already supports this, so the next PR in this series is removing the {u,s}loadNN instructions from cranelift.

CC: #6056

@afonso360 afonso360 added the cranelift:area:x64 Issues related to x64 codegen label Jun 11, 2024
@afonso360 afonso360 requested a review from a team as a code owner June 11, 2024 21:29
@afonso360 afonso360 requested review from cfallin and removed request for a team June 11, 2024 21:29
Copy link
Member

@cfallin cfallin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@cfallin cfallin added this pull request to the merge queue Jun 11, 2024
Merged via the queue into bytecodealliance:main with commit 5158009 Jun 11, 2024
48 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cranelift:area:x64 Issues related to x64 codegen
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants