alexcrichton opened PR #5880 from sink-const-loads-in-sse-insts
to main
:
A number of places in the x64 backend make use of 128-bit constants for various wasm SIMD-related instructions although most of them currently use the
x64_xmm_load_const
helper to load the constant into a register. Almost all xmm instructions, however, enable using a memory operand which means that these loads can be folded into instructions to help reduce register pressure. Automatic conversions were added for aVCodeConstant
into anXmmMem
value and then explicit loads were all removed in favor of forwarding theXmmMem
value directly to the underlying instruction. Note that some instances ofx64_xmm_load_const
remain since they're used in contexts where load sinking won't work (e.g. they're the first operand, not the second for non-commutative instructions).<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
jameysharp submitted PR review.
alexcrichton requested elliottt for a review on PR #5880.
elliottt submitted PR review.
alexcrichton merged PR #5880.
Last updated: Nov 22 2024 at 17:03 UTC