Stream: git-wasmtime

Topic: wasmtime / PR #6496 x64: Avoid using `movddup` without SSSE3


view this post on Zulip Wasmtime GitHub notifications bot (Jun 01 2023 at 18:56):

alexcrichton opened PR #6496 from alexcrichton:x64-sse2-splat to bytecodealliance:main:

Update the lowerings for 64-bit splats to use pshufd instead, as LLVM does.

<!--
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 (Jun 01 2023 at 18:56):

alexcrichton requested abrown for a review on PR #6496.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 01 2023 at 18:56):

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

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

alexcrichton updated PR #6496.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 01 2023 at 23:00):

alexcrichton updated PR #6496.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 01 2023 at 23:36):

alexcrichton updated PR #6496.

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

abrown submitted PR review.

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

abrown submitted PR review.

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

abrown created PR review comment:

Something feels off here: I look at the top of the file and see has_ssse3 but then here movddup is not used. Is it that the rule ordering should be reversed? I.e., the movddup rule should be higher priority than the pshufd rule?

view this post on Zulip Wasmtime GitHub notifications bot (Jun 02 2023 at 17:29):

alexcrichton created PR review comment:

Ah yes this is intended, I ended up changing the translation of splat from the previous movddup to pshufd in the default case. I did that because it seems it's what LLVM does for me in Rust, but I don't know if there's a specific reason to use movddup vs pshufd (happy to add lowerings for both of course)

view this post on Zulip Wasmtime GitHub notifications bot (Jun 06 2023 at 17:31):

abrown created PR review comment:

Ok, looking into this more I think this is the right change: we use PSHUFD for the XMM-to-XMM splats (slightly higher throughput) and MOVDDUP for the MEM-to-XMM splats (slightly lower latency and higher throughput).

view this post on Zulip Wasmtime GitHub notifications bot (Jun 06 2023 at 17:31):

abrown submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 07 2023 at 02:17):

abrown merged PR #6496.


Last updated: Dec 23 2024 at 12:05 UTC