-
Notifications
You must be signed in to change notification settings - Fork 10
Description
Reading the spec documentation, it for example defines laneselect
as:
Select lanes from a or b based on masks in m.
If each lane-sized mask in m has all bits set or all bits unset, these instructions behave the same as v128.bitselect.
Otherwise, the result is implementation defined.
What kind of workflow would a developer follow in order to manage this "implementation defined" aspect?
In other words, where should a developer turn to in order to find documentation on the different implementation defined behavior? I.e. how does a developer turn the "implementation defined" part into something that they can work with?
Is the intention that each browser/VM vendor will produce documentation on what their implementation defined means in all cases? Does Chrome have such documentation available somewhere?
Or is the intention that each hardware vendor will produce this documentation on how it works on their hardware?
How can a project such as Emscripten be able to leverage relaxed SIMD instructions in order to produce better SSE and NEON cross-porting headers? In such a scenario, Emscripten developers would be looking to find what the guarantees are, and project these via the Emscripten compiler and its documentation to Emscripten users.