Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1562)

Unified Diff: native_client_sdk/doc_generated/reference/pnacl-bitcode-abi.html

Issue 169753005: [NaClDocs] Add note about errno in PNaCl ABI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: reset some stuff Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | native_client_sdk/doc_generated/sitemap.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: native_client_sdk/doc_generated/reference/pnacl-bitcode-abi.html
diff --git a/native_client_sdk/doc_generated/reference/pnacl-bitcode-abi.html b/native_client_sdk/doc_generated/reference/pnacl-bitcode-abi.html
index bdc0be98b1aa521bfc04c8722d347d822f0fb933..d1eff91e0bbedb9cea24d80232a99469bc1be749 100644
--- a/native_client_sdk/doc_generated/reference/pnacl-bitcode-abi.html
+++ b/native_client_sdk/doc_generated/reference/pnacl-bitcode-abi.html
@@ -36,18 +36,19 @@
</ul>
</li>
<li><a class="reference internal" href="#intrinsic-global-variables" id="id23">Intrinsic Global Variables</a></li>
-<li><p class="first"><a class="reference internal" href="#instruction-reference" id="id24">Instruction Reference</a></p>
+<li><a class="reference internal" href="#errno-and-errors-in-arithmetic-instructions" id="id24">Errno and errors in arithmetic instructions</a></li>
+<li><p class="first"><a class="reference internal" href="#instruction-reference" id="id25">Instruction Reference</a></p>
<ul class="small-gap">
-<li><a class="reference internal" href="#list-of-allowed-instructions" id="id25">List of allowed instructions</a></li>
-<li><a class="reference internal" href="#alloca" id="id26"><code>alloca</code></a></li>
+<li><a class="reference internal" href="#list-of-allowed-instructions" id="id26">List of allowed instructions</a></li>
+<li><a class="reference internal" href="#alloca" id="id27"><code>alloca</code></a></li>
</ul>
</li>
-<li><p class="first"><a class="reference internal" href="#intrinsic-functions" id="id27">Intrinsic Functions</a></p>
+<li><p class="first"><a class="reference internal" href="#intrinsic-functions" id="id28">Intrinsic Functions</a></p>
<ul class="small-gap">
-<li><a class="reference internal" href="#list-of-allowed-intrinsics" id="id28">List of allowed intrinsics</a></li>
-<li><a class="reference internal" href="#thread-pointer-related-intrinsics" id="id29">Thread pointer related intrinsics</a></li>
-<li><a class="reference internal" href="#setjmp-and-longjmp" id="id30">Setjmp and Longjmp</a></li>
-<li><a class="reference internal" href="#atomic-intrinsics" id="id31">Atomic intrinsics</a></li>
+<li><a class="reference internal" href="#list-of-allowed-intrinsics" id="id29">List of allowed intrinsics</a></li>
+<li><a class="reference internal" href="#thread-pointer-related-intrinsics" id="id30">Thread pointer related intrinsics</a></li>
+<li><a class="reference internal" href="#setjmp-and-longjmp" id="id31">Setjmp and Longjmp</a></li>
+<li><a class="reference internal" href="#atomic-intrinsics" id="id32">Atomic intrinsics</a></li>
</ul>
</li>
</ul>
@@ -223,6 +224,13 @@ distributed pexes.</p>
<h2 id="intrinsic-global-variables">Intrinsic Global Variables</h2>
<p><a class="reference external" href="http://llvm.org/releases/3.3/docs/LangRef.html#intrinsic-global-variables">LLVM LangRef: Intrinsic Global Variables</a></p>
<p>PNaCl bitcode does not support intrinsic global variables.</p>
+</section><section id="errno-and-errors-in-arithmetic-instructions">
+<span id="ir-and-errno"></span><h2 id="errno-and-errors-in-arithmetic-instructions"><span id="ir-and-errno"></span>Errno and errors in arithmetic instructions</h2>
+<p>Some arithmetic instructions and intrinsics have the similar semantics to
+libc math functions, but differ in the treatment of <code>errno</code>. While the
+libc functions may set <code>errno</code> for domain errors, the instructions and
+intrinsics do not. This is because the variable <code>errno</code> is not special
+and is not required to be part of the program.</p>
</section><section id="instruction-reference">
<h2 id="instruction-reference">Instruction Reference</h2>
<section id="list-of-allowed-instructions">
@@ -254,7 +262,14 @@ guaranteed to trap in PNaCl bitcode.</p>
<li><code>fsub</code></li>
<li><code>fmul</code></li>
<li><code>fdiv</code></li>
-<li><code>frem</code></li>
+<li><p class="first"><code>frem</code></p>
+<p>The frem instruction has the semantics of the libc fmod function for
+computing the floating point remainder. If the numerator is infinity, or
+denominator is zero, or either are NaN, then the result is NaN.
+Unlike the libc fmod function, this does not set <code>errno</code> when the
+result is NaN (see the <a class="reference internal" href="#ir-and-errno"><em>instructions and errno</em></a>
+section).</p>
+</li>
<li><p class="first"><code>alloca</code></p>
<p>See <a class="reference internal" href="#bitcode-allocainst"><em>alloca instructions</em></a>.</p>
</li>
@@ -325,8 +340,10 @@ C-style GCC builtins).</p>
</li>
<li><p class="first"><code>llvm.sqrt</code></p>
<p>The overloaded <code>llvm.sqrt</code> 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.</p>
+and double arguments types. This has the same semantics as the libc
+sqrt function, returning NaN for values less than -0.0. However, this
+does not set <code>errno</code> when the result is NaN (see the
+<a class="reference internal" href="#ir-and-errno"><em>instructions and errno</em></a> section).</p>
</li>
<li><code>llvm.stacksave</code></li>
<li><p class="first"><code>llvm.stackrestore</code></p>
« no previous file with comments | « no previous file | native_client_sdk/doc_generated/sitemap.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698