Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
883: For floating point operations, allow inputs to be arbitrary, including SNaNs. r=nlewycky a=nlewycky # Description For floating point operations, allow inputs to be arbitrary, including SNaNs. Instead of ensuring inputs are canonical NaNs on every operation, we tag outputs as pending such a canonicalization check, so that a sequence of computations can have a single canonicalization step at the end. There's an extra wriggle for SIMD. The Wasm type system only indicates them as V128, so it's possible that we might do computations as F32x4Add, I8x16Add, F64x2Add in a row with no other computations in between. Since a canonicalization may change the bit patterns in a way that transforms one non-NaN to another non-NaN in the next subsequent instructions interpretation, most SIMD functions apply pending canonicalizations to their inputs, even the integer SIMD operations. # Review - [x] Add a short description of the the change to the CHANGELOG.md file Co-authored-by: Nick Lewycky <[email protected]> Co-authored-by: nlewycky <[email protected]> Co-authored-by: Syrus Akbary <[email protected]>
- Loading branch information