Skip to content

WebAssembly Core 3: implement the relaxed SIMD opcode set #386

Description

@chrisbbreuer

Parent: #366
Related: #264, #142
Roadmap: #134

The stable wg-3.0 tree includes seven test/core/relaxed-simd/*.wast files. zig-js now implements the complete relaxed-SIMD binary, validation, and portable execution surface against that exact corpus.

Acceptance:

  • Pin and inventory every relaxed-SIMD opcode and immediate from wg-3.0.
  • Decode and validate the full opcode set behind an explicit relaxed_simd feature gate.
  • Execute every allowed nondeterministic result without over-constraining platform behavior.
  • Preserve architecture-independent interpreter fallback and bit-exact lanes where the spec requires them.
  • Pass every applicable command in all seven exact wg-3.0 relaxed-SIMD files.
  • Add focused units, bounded CI witnesses, feature registry entries, and documentation.

Evidence:

  • Exact source: WebAssembly/spec@9d36019973201a19f9c9ebb0f10828b2fe2374aa (wg-3.0).
  • Inventory: 20 contiguous 0xfd subopcodes, 0x100 through 0x113.
  • Corpus: 77/77 pass, 0 fail, 0 N/A, 0 runner errors across all seven files.
  • Harness: 18/18 Python regression tests, including nested vector either alternatives.
  • Decoder slice: 38/38 pass after moving the former oversized witness from newly-valid 0x100 to 0x114.
  • Consolidated project run: 1,219/1,220 before that stale test expectation; the only failure was the obsolete 0x100 expectation, and its complete 38-test owning slice passed after correction.
  • Registry/matrix verifier: green, 14 pinned features and the unchanged 87,838-command published matrix.

Landed on main:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions