From 1152f9eeb86b5fe443539063422b1c1709f23e0a Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 17 Jul 2015 16:29:55 -0700 Subject: [PATCH] Move handling of subnormals into FutureFeatures. --- AstSemantics.md | 2 -- FutureFeatures.md | 8 ++++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/AstSemantics.md b/AstSemantics.md index 162af009..6eb83faf 100644 --- a/AstSemantics.md +++ b/AstSemantics.md @@ -401,8 +401,6 @@ Floating point arithmetic follows the IEEE-754 standard, except that: - WebAssembly uses the round-to-nearest ties-to-even rounding attribute, except where otherwise specified. Non-default directed rounding attributes are not supported. - - The strategy for gradual underflow (subnormals) is - [under discussion](https://github.com/WebAssembly/design/issues/148). In the future, these limitations may be lifted, enabling [full IEEE-754 support](FutureFeatures.md#full-ieee-754-conformance). diff --git a/FutureFeatures.md b/FutureFeatures.md index 9a84c812..247267f9 100644 --- a/FutureFeatures.md +++ b/FutureFeatures.md @@ -337,6 +337,14 @@ enabled only from developer tools, that would enable traps on selected floating point exceptions, however care should be taken, since not all floating point exceptions indicate bugs. +## Flushing Subnormal Values to Zero + +Many popular CPUs have significant stalls when processing subnormal values, +and support modes where subnormal values are flushed to zero which avoid +these stalls. And, ARMv7 NEON has no support for subnormal values and always +flushes them. A mode where floating point computations have subnormals flushed +to zero in WebAssembly would address these two issues. + ## Integer Overflow Detection There are two different use cases here, one where the application wishes to