Closed
Bug 1068028
Opened 10 years ago
Closed 10 years ago
SIMD: Fix semantics of operations once they're entirely specified
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: bbouvier, Unassigned)
References
Details
Some SIMD operations are not well defined yet. For instance, SIMD.float32x4.min/max semantics are not defined precisely in the polyfill if one of the operands is NaN, or if the operands are -0 and 0. This is not the place to discuss the specification, but we'll need to make sure to tie close to the spec once it's stable and public.
Things potentially needed to change, for min/max:
- tests and implementation in the interpreter (jstests, SIMD.h/cpp)
- CodeGeneratorX86Shared::visitSimdBinaryArith, min/max sections
[0] https://github.com/johnmccutchan/ecmascript_simd/issues/51
Reporter | ||
Comment 1•10 years ago
|
||
Adding bugs as dependent that will likely be impacted by changes in the spec, to be sure to update all of these once the spec is more stable:
- min/max: what happens with -0/0, NaN?
- int32x4.fromFloat32x4(): what happens if one input's lane can't be converted into an int32?
Comment 3•10 years ago
|
||
For shifts > 31, see also the spec issue: https://github.com/johnmccutchan/ecmascript_simd/issues/72
Reporter | ||
Comment 4•10 years ago
|
||
Bug 1044256 for precision of float32x4.reciprocal{,sqrt}. See also https://github.com/johnmccutchan/ecmascript_simd/issues/71
Depends on: 1044256
Updated•10 years ago
|
Reporter | ||
Comment 5•10 years ago
|
||
Bug 1094855 takes care of updating min/max everywhere.
Reporter | ||
Updated•10 years ago
|
Reporter | ||
Comment 6•10 years ago
|
||
For float-to-int conversions, see also https://github.com/johnmccutchan/ecmascript_simd/issues/99
Comment 7•10 years ago
|
||
This has to be address before inlining SIMD.int32x4.fromFloat32x4 function in IonMonkey, otherwise fuzzers will complain about differential behaviour, as the interpreted function has the TypeObject semantic, and the SIMD operation has the metal semantic.
Blocks: 1112155
Reporter | ||
Comment 8•10 years ago
|
||
Seems all sub-bugs have been fixed and there's no other big issue I can think about, in our current implementation. Dan, any other specification issue we have in our current implementation, or can I mark this bug as resolved fixed?
Flags: needinfo?(sunfish)
Comment 9•10 years ago
|
||
I'm not aware of any other issues at the moment. If we discover anything, we can file a new bug.
Flags: needinfo?(sunfish)
Reporter | ||
Comment 10•10 years ago
|
||
Thanks for your input, let's close it then!
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•