Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # 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.

2 participants