Skip to content

Simplify simd load/store ISA #1703

@Robbepop

Description

@Robbepop

Blocked by #1655.

Wasm simd defines operators to

  • load specific lane
  • load + splat
  • load64 + signed/unsigned extend
  • store specific lane

However, all those load and store operators can be expressed in terms of other existing simd operators.
So one could view those operators as fused ops which usually is nice for interpreter performance.

However:

  • Wasm simd is already pretty inefficient in an interpreter.
  • Those mentioned operators are pretty large with respect to their encoding.
  • Splitting them up in non-simd load/store operators and simd operators to replace_lane and splat we would likely end up with better use of the instruction cache.

Wasmi simd API: https://docs.rs/wasmi_core/latest/wasmi_core/simd/index.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    cleanupCleans up some region of the codebase.researchResearch intense work item.

    Type

    No type

    Projects

    Status

    Open

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions