diff options
author | Jan Voung <jvoung@chromium.org> | 2013-07-02 16:29:16 -0700 |
---|---|---|
committer | Jan Voung <jvoung@chromium.org> | 2013-07-02 16:29:16 -0700 |
commit | a6817fbfe9248e8992132206448eb5eda1745c92 (patch) | |
tree | 3b25adc633ea5203d5f52b028e67692a8858fb39 /docs | |
parent | 66d0d318bec6819fee76f501e67c674cf7a112d0 (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.rst | 6 |
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`` |