Stream: git-wasmtime

Topic: wasmtime / issue #5819 x64: Add most remaining AVX lowerings


view this post on Zulip Wasmtime GitHub notifications bot (Feb 17 2023 at 21:51):

alexcrichton commented on issue #5819:

Ok I think the two new commits should address the produces_const expansion in addition to the Gpr-vs-Xmm types. There's still more instructions that do conditional register allocation but I can try to tackle those separately.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 17 2023 at 22:51):

github-actions[bot] commented on issue #5819:

Subscribe to Label Action

cc @cfallin, @fitzgen

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

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 (Feb 17 2023 at 23:18):

alexcrichton commented on issue #5819:

Local fuzzing has found an issue so taking this out of the merge queue.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 17 2023 at 23:30):

alexcrichton commented on issue #5819:

Turned out to be a benign mistake where I forgot to call add_trap for VEX-encoded instructions with memory operands. Before merging this though I'm going to let the fuzzer run overnight.

I've intentionally introduced an encoding bug where vsprad is encoded as vspraw and I'm hoping to see the differential fuzzer find this bug eventually with differential execution against v8.

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

alexcrichton commented on issue #5819:

Well score one for fuzzing. It took a few hours but the minimal test case was

(module
  (type (;0;) (func (param v128 i32) (result v128)))
  (func (;0;) (type 0) (param v128 i32) (result v128)
    local.get 0
    local.get 1
    i32x4.shr_s
  )
  (export "test" (func 0))
)

where the differential difference was between wasmtime with avx and wasmtime without avx. That's exactly the bug I wanted the fuzzer to find, so yay confidence that fuzzing can find real bugs! I'll still let it run overnight to make sure nothing else crops up.


Last updated: Dec 23 2024 at 12:05 UTC