aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJan Voung <jvoung@chromium.org>2013-07-02 16:29:16 -0700
committerJan Voung <jvoung@chromium.org>2013-07-02 16:29:16 -0700
commita6817fbfe9248e8992132206448eb5eda1745c92 (patch)
tree3b25adc633ea5203d5f52b028e67692a8858fb39 /docs
parent66d0d318bec6819fee76f501e67c674cf7a112d0 (diff)
Move LLVM sqrt intrinsic to stable (for float and doubles).
On the hardware that we support, they are implemented by instructions and have consistent behavior for -0.0, values less than -0.0, infinity, and nan. We will need to be careful to guarantee the same behavior for untested hardware. TEST=run_llvm_math_intrinsics_test BUG=http://code.google.com/p/nativeclient/issues/detail?id=3378 R=jfb@chromium.org, mseaborn@chromium.org Review URL: https://codereview.chromium.org/18559005
Diffstat (limited to 'docs')
-rw-r--r--docs/PNaClLangRef.rst6
1 files changed, 6 insertions, 0 deletions
diff --git a/docs/PNaClLangRef.rst b/docs/PNaClLangRef.rst
index e48bebc84d..4f322a3eff 100644
--- a/docs/PNaClLangRef.rst
+++ b/docs/PNaClLangRef.rst
@@ -344,6 +344,12 @@ TODO(jfb): atomics
supported with the i32 and i64 argument types (the types supported by
C-style GCC builtins).
+* ``llvm.sqrt``
+
+ The overloaded ``llvm.sqrt`` intrinsic is only supported for float
+ and double arguments types. Unlike the standard LLVM intrinsic,
+ PNaCl guarantees that llvm.sqrt returns a QNaN for values less than -0.0.
+
* ``llvm.stacksave``
* ``llvm.stackrestore``
* ``llvm.trap``