Skip to content

Implement i32/i64/f32/f64.add etc. inline-assembler builtins #1310

Open
@dcodeIO

Description

@dcodeIO

As of today, there are various inline-assembler-like builtins implementing the WebAssembly instruction set, but these only cover instructions that cannot be represented by a simple unary or binary expression, for example there is no i32.add(x, y) and one would instead write x + y. The usefulness of these is arguable therefore, but there is one compelling case where having these would enable something not possible otherwise, namely i64.add and friends to polyfill i64 support in the portable library (see also).

Implementing these is mostly an easy matter of copy-pasting from already supported instructions, but it's time consuming due to updating all of src/builtins.ts, std/assembly/builtins.ts and std/assembly/index.d.ts with a lot of instructions if we implement all of them, which I'd prefer. Pinning here as a good first issue, and so we don't forget :)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions