Stream: git-wasmtime

Topic: wasmtime / PR #6224 x64: Add non-SSE4.1 lowerings of ceil...


view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2023 at 18:26):

alexcrichton opened PR #6224 from alexcrichton:x64-round-sse41 to bytecodealliance:main:

This commit adds lowerings that work with SSE2 for CLIF ceil, trunc, floor, and nearest instructions over vectors. To get these working insertlane for float vectors was also implemented for non-SSE4.1 instructions as well.

Note that the goal of these lowerings is not speed but rather "it works", so the decompose-to-call-libcalls logic for vector is probably horrendously slow but should at least be correct.

<!--
Please make sure you include the following information:

Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.html

Please ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2023 at 18:26):

alexcrichton requested abrown for a review on PR #6224.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2023 at 18:26):

alexcrichton has marked PR #6224 as ready for review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2023 at 18:26):

alexcrichton requested wasmtime-compiler-reviewers for a review on PR #6224.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2023 at 19:28):

alexcrichton updated PR #6224.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 18 2023 at 00:42):

alexcrichton closed without merge PR #6224.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 18 2023 at 00:42):

alexcrichton reopened PR #6224.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 18 2023 at 16:32):

abrown submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 18 2023 at 16:32):

abrown submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 18 2023 at 16:32):

abrown created PR review comment:

;; Helper for creating `movsd`/`movss` instructions which create a new vector

view this post on Zulip Wasmtime GitHub notifications bot (Apr 18 2023 at 16:32):

abrown created PR review comment:

I know we're going the other direction here but I started thinking, "what about the AVX versions of these?" Looking at inst.isle, they are emitted by x64_round*, so all is well.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 18 2023 at 16:51):

alexcrichton updated PR #6224.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 18 2023 at 16:51):

alexcrichton has enabled auto merge for PR #6224.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 18 2023 at 16:53):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 18 2023 at 16:53):

alexcrichton created PR review comment:

Yeah so far I feel like the current pattern of having a low-level instruction constructor which has an avx and a non-avx rule works out pretty well. It is relatively verbose and may be ripe for some future refactoring (e.g. auto-encoding as AVX if the context's feature flags are set) but for now it's nice to not have to worry about AVX at all really as part of lower.isle

view this post on Zulip Wasmtime GitHub notifications bot (Apr 18 2023 at 18:03):

alexcrichton merged PR #6224.


Last updated: Oct 23 2024 at 20:03 UTC