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.
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.