alexcrichton opened PR #9144 from alexcrichton:x64-fix-fmin-fmax-with-load
to bytecodealliance:main
:
This commit fixes an issue where a
Value
was both load-sunk and used as-is, meaning it was both sunk and not. That triggered a panic in the backend since this isn't valid. The reason for this is due to how some ISLE rules were written where aValue
was both implicitly coerced into anXmmMem
and anXmm
. This issue is similar to #4815 for example. The fix in this commit is to force the operands into registers which prevents load sinking which wouldn't work here anyway.This panic was introduced in #5841 which is quite old at this point. This bug does not affect WebAssembly translation due to how the
v128
type maps toi8x16
in Cranelift by default.Closes #9143
<!--
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 elliottt for a review on PR #9144.
alexcrichton requested wasmtime-compiler-reviewers for a review on PR #9144.
fitzgen submitted PR review.
fitzgen has enabled auto merge for PR #9144.
fitzgen merged PR #9144.
Last updated: Nov 22 2024 at 16:03 UTC