WebAssembly / WebAssembly/half-precision
First-class F16 type and scalar operation
Nobody has claimed this yet.
- Dominant language
- WebAssembly
- Stars
- 14
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
The introduction of the proposal included first-class F16 scalar value type and operations for it.
During exploratory implementation in V8 I discovered it is pretty costly to bring it to V8: there is no instances of 16-bit optional registers/operations, so register allocator, memory allocator and others need significant refactoring. Also, there is no interest in scalar operations from potential users I discussed the proposal with.
Also, during the discussion at CG the same question was raised in chat: "Could we have F16 SIMD shapes without having an F16 scalar type? Similar to i8 and i16 SIMD shapes without i8 and i16 scalar types in the spec so far."
I think I can answer that question now: we don't need them until some concrete and persuading use cases are demonstrated.
Opening that issue for tracking that question.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the proposal introduction and the linked CG discussion, then review the exploratory V8 findings about F16 scalar implementation costs. Done means determining whether concrete, persuasive scalar-operation use cases exist and recording a decision about tracking or pursuing the first-class F16 scalar type.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- wasm
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100