Stream: git-wasmtime

Topic: wasmtime / PR #10720 x64: convert more logical vector ins...


view this post on Zulip Wasmtime GitHub notifications bot (May 02 2025 at 23:51):

abrown opened PR #10720 from abrown:asm-logical-sse to bytecodealliance:main:

More details in each commit message.

view this post on Zulip Wasmtime GitHub notifications bot (May 02 2025 at 23:51):

abrown requested fitzgen for a review on PR #10720.

view this post on Zulip Wasmtime GitHub notifications bot (May 02 2025 at 23:51):

abrown requested wasmtime-compiler-reviewers for a review on PR #10720.

view this post on Zulip Wasmtime GitHub notifications bot (May 03 2025 at 00:38):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (May 03 2025 at 00:38):

alexcrichton created PR review comment:

Drive-by question: here it says the encoding is: NP 0F 54 /r ANDPS xmm1, xmm2/m128, how does the "NP" map to this?

view this post on Zulip Wasmtime GitHub notifications bot (May 03 2025 at 00:38):

alexcrichton created PR review comment:

Also drive-by-question, should _64b | compat be removed? I feel like that has been copy/pasted around but is mostly only relevant for gpr instructions, 64-bit ones?

view this post on Zulip Wasmtime GitHub notifications bot (May 03 2025 at 01:51):

abrown submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (May 03 2025 at 01:51):

abrown created PR review comment:

Drive-by question: here it says the encoding is: NP 0F 54 /r ANDPS xmm1, xmm2/m128, how does the "NP" map to this?

I think it boils down to "no prefix":

NP — Indicates the use of 66/F2/F3 prefixes (beyond those already part of the instructions opcode) are not
allowed with the instruction. Such use will either cause an invalid-opcode exception (#UD) or result in the
encoding for a different instruction.

should _64b | compat be removed?

I was just thinking about that today: for most instructions we want to have a shorter thing that means "both". Maybe base?

view this post on Zulip Wasmtime GitHub notifications bot (May 03 2025 at 03:04):

github-actions[bot] commented on PR #10720:

Subscribe to Label Action

cc @saulecabrera

<details>
This issue or pull request has been labeled: "cranelift", "cranelift:area:x64", "winch"

Thus the following users have been cc'd because of the following labels:

To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.

Learn more.
</details>

view this post on Zulip Wasmtime GitHub notifications bot (May 03 2025 at 16:28):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (May 03 2025 at 16:28):

alexcrichton created PR review comment:

Ah ok makes sense about NP.

For features the normal and instruction has columns for 64-bit and compat, so it makes sense to me to translate that to _64b | compat, I don't think it's weird to have to specify both vs having a combined option. For andnps though it's easy to translate the "CPUID Feature Flag" column but how does the "64/32 bit Mode Support" column translate to this? Does "V/V" mean _64b | compat? Should it not require _64b or compat features?

view this post on Zulip Wasmtime GitHub notifications bot (May 05 2025 at 19:50):

abrown created PR review comment:

how does the "64/32 bit Mode Support" column translate to this? Does "V/V" mean _64b | compat?

For older instructions they split this out into two separate columns, "64-bit Mode" and "Compat/Leg Mode," but then they were coalesced into a single column with the space-efficient "V/V" instead of "Valid | Valid." So my reading is that andps is valid in both 64-bit and 32-bit (compatibility) modes, hence _64b | compat.

So think at some level we need to boil down to essentially _64b | compat but we could have an alias for that since it is quite, quite common. I'm going to merge this as-is and we can keep discussing elsewhere.

view this post on Zulip Wasmtime GitHub notifications bot (May 05 2025 at 19:50):

abrown submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (May 05 2025 at 20:13):

abrown merged PR #10720.

view this post on Zulip Wasmtime GitHub notifications bot (May 05 2025 at 20:22):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (May 05 2025 at 20:22):

alexcrichton created PR review comment:

Ah makes sense! Ok another question (if you'll continue to indulge me): are there instructions valid in 64-bit mode and not valid in 32-bit mode? If not should we perhaps remove the compat feature since it's always implicit?


Last updated: Dec 06 2025 at 06:05 UTC