Stream: git-wasmtime

Topic: wasmtime / PR #10855 x64: Convert Div instructions to new...


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

rahulchaphalkar opened PR #10855 from rahulchaphalkar:div-instructions to bytecodealliance:main:

Converts div instructions to new assembler. Remove old div impl from codegen for SSE variants, not Vex variants.

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

rahulchaphalkar requested abrown for a review on PR #10855.

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

rahulchaphalkar requested wasmtime-compiler-reviewers for a review on PR #10855.

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

alexcrichton created PR review comment:

I think these should be align(xmm_m128)?

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

alexcrichton submitted PR review.

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

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

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 28 2025 at 22:19):

rahulchaphalkar updated PR #10855.

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

rahulchaphalkar submitted PR review.

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

rahulchaphalkar created PR review comment:

Done

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

rahulchaphalkar commented on PR #10855:

Seem to be unrelated connection errors in CI like -

 Err:16 http://archive.ubuntu.com/ubuntu xenial/main amd64 libmpc3 amd64 1.0.3-1
#6 823.0   Could not connect to archive.ubuntu.com:80 (91.189.91.81), connection timed out [IP: 91.189.91.81 80]

view this post on Zulip Wasmtime GitHub notifications bot (May 29 2025 at 17:25):

rahulchaphalkar edited a comment on PR #10855:

Seem to be unrelated connection errors in CI like -

 Err:16 http://archive.ubuntu.com/ubuntu xenial/main amd64 libmpc3 amd64 1.0.3-1
#6 823.0   Could not connect to archive.ubuntu.com:80 (91.189.91.81), connection timed out [IP: 91.189.91.81 80]

Edit - They went away, now passes all tests

view this post on Zulip Wasmtime GitHub notifications bot (Jun 04 2025 at 15:51):

rahulchaphalkar commented on PR #10855:

@alexcrichton is this good to go?

view this post on Zulip Wasmtime GitHub notifications bot (Jun 04 2025 at 17:00):

alexcrichton submitted PR review:

Oh oops, my bad!

view this post on Zulip Wasmtime GitHub notifications bot (Jun 04 2025 at 17:11):

abrown submitted PR review:

This is good to go; can you update the few locations I pointed out before I merge?

view this post on Zulip Wasmtime GitHub notifications bot (Jun 04 2025 at 17:11):

abrown created PR review comment:

Just looking at the manual and, though this all will boil down to the same thing, I think we should be more pedantic and write:

        inst("vdivss", fmt("B", [rw(xmm1), r(xmm2), r(xmm_m32)]), vex(LIG)._f3()._0f().wig().op(0x5E).r(), _64b | compat | avx),
        inst("vdivsd", fmt("B", [rw(xmm1), r(xmm2), r(xmm_m64)]), vex(LIG)._f2()._0f().wig().op(0x5E).r(), _64b | compat | avx),

(And this probably means other VEX instructions should get checked but we don't have to do that in this PR).

view this post on Zulip Wasmtime GitHub notifications bot (Jun 04 2025 at 17:11):

abrown created PR review comment:

        inst("vdivps", fmt("B", [rw(xmm1), r(xmm2), r(xmm_m128)]), vex(L128)._0f().wig().op(0x5E).r(), _64b | compat | avx),
        inst("vdivpd", fmt("B", [rw(xmm1), r(xmm2), r(xmm_m128)]), vex(L128)._66().wig()._0f().op(0x5E).r(), _64b | compat | avx),

view this post on Zulip Wasmtime GitHub notifications bot (Jun 04 2025 at 17:11):

abrown created PR review comment:

A nit to add the rule priority and, in these very short cases, fit it on a single line:

(rule 0 (x64_divsd src1 src2) x64_divsd_a src1 src2))

view this post on Zulip Wasmtime GitHub notifications bot (Jun 04 2025 at 17:11):

abrown created PR review comment:

More nits:

use crate::dsl::{Feature::*, Inst, Location::*, VexLength::*};
use crate::dsl::{align, fmt, implicit, inst, r, rex, rw, vex};

view this post on Zulip Wasmtime GitHub notifications bot (Jun 04 2025 at 17:11):

abrown submitted PR review:

This looks almost good to go; can you update the few locations I pointed out before I merge?

view this post on Zulip Wasmtime GitHub notifications bot (Jun 04 2025 at 17:12):

abrown commented on PR #10855:

Oops, looks like @alexcrichton and I raced; we can fix these nits later!

view this post on Zulip Wasmtime GitHub notifications bot (Jun 04 2025 at 17:24):

alexcrichton merged PR #10855.


Last updated: Dec 06 2025 at 07:03 UTC