Stream: git-wasmtime

Topic: wasmtime / PR #5999 x64: Add `shuffle` specialization for...


view this post on Zulip Wasmtime GitHub notifications bot (Mar 12 2023 at 19:05):

alexcrichton requested abrown for a review on PR #5999.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 12 2023 at 19:05):

alexcrichton opened PR #5999 from palignr to main:

This commit adds specializations for the palignr instruction to the x64 backend to specialize some more patterns of byte shuffles.

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

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

fitzgen submitted PR review.

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

fitzgen submitted PR review.

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

fitzgen created PR review comment:

Why this change? Why always 32?

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

fitzgen created PR review comment:

I guess it was always passed 32, but I'm still a little confused why it was like that.

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

alexcrichton submitted PR review.

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

alexcrichton created PR review comment:

@abrown do you perhaps remember why palignr was always generated with OperandSize.Size32? I'll admit I don't fully understand how OperandSize maps to instructions all the time but I naively figured that it could be "constant folded" into the palignr constructor, but a double-check would be good.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 13 2023 at 19:37):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 13 2023 at 19:37):

alexcrichton created PR review comment:

Ah I remember now actually, this has to do with the rex flags when encoding where a 64-bit size forces the W bit to be set and otherwise W is unset. I believe the encoding of the palignr instruction forces this to "unset" so for palignr it should always be a non-64-bit size.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 13 2023 at 20:30):

alexcrichton updated PR #5999 from palignr to main.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 13 2023 at 20:35):

alexcrichton has enabled auto merge for PR #5999.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 13 2023 at 20:54):

abrown submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 13 2023 at 20:54):

abrown created PR review comment:

Yeah, I think that sounds right. The OperandSize isn't my invention and I recall having to work around it--I think things would be more clear if we hid OperandSize completely or alternately surfaced it as REX.W, which is more direct.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 13 2023 at 21:45):

alexcrichton merged PR #5999.


Last updated: Nov 22 2024 at 17:03 UTC