alexcrichton opened PR #6314 from alexcrichton:aarch64-fix-splat-load
to bytecodealliance:main
:
This fixes an issue in the AArch64 backend where a
load_addr
helper was used exclusively for loweringsplat
-of-a-loaded-address. This helper expanded in some cases to a pseudo-LoadAddr
instruction but the lowering of this instruction doesn't actually exhaustively handle allAMode
values.The fix in this commit is to remove the
load_addr
helper altogether to remove the need to go from anAMode
back to aReg
, instead going directly from an address to a register. The one small wrinkle is a small helper now to add the immediate offset to the address register, but that's not too too bad to write.By avoiding the
LoadAddr
instruction the unimplemented cases aren't hit, so the codegen issue should be fixed.Closes #6313
<!--
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
-->
alexcrichton requested abrown for a review on PR #6314.
alexcrichton requested wasmtime-compiler-reviewers for a review on PR #6314.
cfallin assigned PR #6314 to cfallin.
cfallin submitted PR review:
LGTM!
cfallin merged PR #6314.
Last updated: Nov 22 2024 at 17:03 UTC