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

cranelift(aarch64): Add single precision fmov #8453

Merged

Conversation

saulecabrera
Copy link
Member

This commit is a follow up to https://github.com/bytecodealliance/wasmtime/pull/8365/files#r1565962730, to enable emission of 32-bit fmov from Winch.

I opted to introduce a new instruction over refactoring the existing FpuMov64 to be more generic to keep things simple, but I'm definitely open to exploring a refactoring if that's preferred.

Encoding reference: https://developer.arm.com/documentation/ddi0602/2024-03/SIMD-FP-Instructions/FMOV--register---Floating-point-Move-register-without-conversion-?lang=en

This commit is a follow up to https://github.com/bytecodealliance/wasmtime/pull/8365/files#r1565962730, to enable emission of  32-bit fmov from Winch. 

I opted to introduce a new instruction over refactoring the existing `FpuMov64` to be more generic to keep things simple,  but I'm definitely open to exploring a refactoring if that's preferred. 

Encoding reference: https://developer.arm.com/documentation/ddi0602/2024-03/SIMD-FP-Instructions/FMOV--register---Floating-point-Move-register-without-conversion-?lang=en
@saulecabrera saulecabrera requested a review from a team as a code owner April 24, 2024 00:38
@saulecabrera saulecabrera requested review from elliottt and cfallin and removed request for a team April 24, 2024 00:38
@github-actions github-actions bot added cranelift Issues related to the Cranelift code generator cranelift:area:aarch64 Issues related to AArch64 backend. labels Apr 24, 2024
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!

@cfallin cfallin added this pull request to the merge queue Apr 24, 2024
Merged via the queue into bytecodealliance:main with commit bfb759d Apr 24, 2024
21 checks passed
@saulecabrera saulecabrera deleted the cranelift-aarch64-add-fpu-move32 branch April 24, 2024 10:59
saulecabrera added a commit to saulecabrera/wasmtime that referenced this pull request Apr 24, 2024
This commit is a follow-up to bytecodealliance#8365. In bytecodealliance#8453 single precision fmov was introduced in Cranelift, so now we can make use that instruction in Winch.
github-merge-queue bot pushed a commit that referenced this pull request Apr 24, 2024
* winch: Use single precision fmov

This commit is a follow-up to #8365. In #8453 single precision fmov was introduced in Cranelift, so now we can make use that instruction in Winch.

* Remove stale `TODO` comment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cranelift:area:aarch64 Issues related to AArch64 backend. cranelift Issues related to the Cranelift code generator
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants