alexcrichton opened PR #8118 from alexcrichton:x64-fix-round-loads
to bytecodealliance:main
:
This commit aims to address #8116 by fixing these two instructions to load the proper amount of bytes when a load is sunk into them. Currently the instruction variant used here requires an aligned
XmmMem
which is today auto-translated with a 16-byte load unconditionally. For loads near the end of memory this loads too much and can erroneously cause a trap. The fix in this commit is to force the load to happen manually with the appropriate type rather than a 16-byte type.I'll note that
XmmMem
is left as an argument in this case because the AVX variants of these instructions can continue to leverage unaligned accesses. This also means that the test added here won't fail on a machine with AVX support, it needs to be explicitly disabled.Closes #8116
<!--
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 #8118.
alexcrichton requested wasmtime-compiler-reviewers for a review on PR #8118.
alexcrichton requested fitzgen for a review on PR #8118.
alexcrichton requested wasmtime-core-reviewers for a review on PR #8118.
fitzgen submitted PR review.
fitzgen merged PR #8118.
Last updated: Nov 22 2024 at 16:03 UTC