Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upImplement i32/i64/f32/f64.add etc. inline-assembler builtins #1310
Comments
|
For completeness, and to track progress, here is a (hopefully) complete list of the missing inline-assembler-like builtins: Integers and floats
Integers only
Floats only
|


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 writex + y. The usefulness of these is arguable therefore, but there is one compelling case where having these would enable something not possible otherwise, namelyi64.addand friends to polyfilli64support 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.tsandstd/assembly/index.d.tswith 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 :)