cfallin opened PR #12944 from cfallin:preserve-all-aarch64-fix to bytecodealliance:main:
It turns out that the
preserve-allABI was only preserving some, not all (false advertising!): specifically, the aarch64 ABI code was continuing to use low-64-bit loads/stores on vector/float registers, as it does for the ordinary AAPCS (SysV) calling convention.PreserveAllspecifically indicates that the entire vector register should be saved; so now we do that.<!--
Please make sure you include the following information:
If this work has been discussed elsewhere, please include a link to that
conversation. If it was discussed in an issue, just mention "issue #...".Explain why this change is needed. If the details are in an issue already,
this can be brief.Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.htmlPlease ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->
cfallin requested fitzgen for a review on PR #12944.
cfallin requested wasmtime-compiler-reviewers for a review on PR #12944.
alexcrichton submitted PR review.
cfallin added PR #12944 Cranelift: aarch64: fix preserve-all to save full vector registers. to the merge queue
cfallin removed PR #12944 Cranelift: aarch64: fix preserve-all to save full vector registers. from the merge queue
cfallin merged PR #12944.
Last updated: Apr 12 2026 at 23:10 UTC