Stream: git-wasmtime

Topic: wasmtime / issue #8312 Support `f16` and `f128`


view this post on Zulip Wasmtime GitHub notifications bot (Apr 07 2024 at 03:22):

tgross35 opened issue #8312:

Thanks for filing a feature request! Please fill out the TODOs below.

Feature

Add support for 16-bit and 128-bit IEEE floating point numbers.

Benefit

This will allow using these types with rustc_codegen_clif, as described at https://github.com/rust-lang/rustc_codegen_cranelift/issues/1461

Implementation

Unsure

Alternatives

Unsure, maybe it would be possible to stub out these types if adding them is difficult.

view this post on Zulip Wasmtime GitHub notifications bot (May 11 2024 at 23:26):

jameysharp added the cranelift label to Issue #8312.

view this post on Zulip Wasmtime GitHub notifications bot (May 11 2024 at 23:26):

jameysharp added the cranelift:area:clif label to Issue #8312.

view this post on Zulip Wasmtime GitHub notifications bot (May 12 2024 at 00:21):

jameysharp commented on issue #8312:

Adding the types is pretty easy, I think, and extending CLIF floating-point instructions to allow the new types is also pretty easy. Successfully compiling anything that uses the types is the hard part, I imagine.

I think the places to add the types are:

Once the tests are passing again after that, I think you'll have a compiler that will accept f16/f128 instructions. But if you use them, then it will fail later: during lowering on all backends; in the interpreter; in compiletests and runtests; and in fuzzing.

I think this is a fairly large project, but if rustc needs these types, I think it's reasonable to add the types in one PR and then work on adding implementations for them everywhere over time.


Last updated: Oct 23 2024 at 20:03 UTC