initial descriptions of count intrinsics
authorAndrew Lenharth <andrewl@lenharth.org>
Tue, 3 May 2005 18:01:48 +0000 (18:01 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Tue, 3 May 2005 18:01:48 +0000 (18:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21677 91177308-0d34-0410-b5e6-96231b3b80d8

docs/LangRef.html

index 1e6b3d7c2ac5b1c5dff0327604330e40f39dda40..f313aed782bcf1a3cf6e3ef0d11308105851aa48 100644 (file)
           <li><a href="#i_isunordered">'<tt>llvm.isunordered</tt>' Intrinsic</a></li>
         </ol>
       </li>
+      <li><a href="#int_count">Bit counting Intrinsics</a>
+        <ol>
+          <li><a href="#int_ctpop">'<tt>llvm.ctpop</tt>' Intrinsic </a></li>
+          <li><a href="#int_cttz">'<tt>llvm.cttz</tt>' Intrinsic </a></li>
+          <li><a href="#int_ctlz">'<tt>llvm.ctlz</tt>' Intrinsic </a></li>
+        </ol>
+      </li>
       <li><a href="#int_debugger">Debugger intrinsics</a></li>
     </ol>
   </li>
@@ -3029,6 +3036,116 @@ false.
 </div>
 
 
+<!-- ======================================================================= -->
+<div class="doc_subsection">
+  <a name="int_count">Bit Counting Intrinsics</a>
+</div>
+
+<div class="doc_text">
+<p>
+LLVM provides intrinsics for a few important bit counting operations.
+These allow efficient code generation for some algorithms.
+</p>
+
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
+  <a name="int_ctpop">'<tt>llvm.ctpop</tt>' Intrinsic</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+<pre>
+  declare int %llvm.ctpop(int &lt;src&gt;)
+
+</pre>
+
+<h5>Overview:</h5>
+
+<p>
+The '<tt>llvm.ctpop</tt>' intrinsic counts the number of ones in a variable.
+</p>
+
+<h5>Arguments:</h5>
+
+<p>
+The only argument is the value to be counted.
+</p>
+
+<h5>Semantics:</h5>
+
+<p>
+The '<tt>llvm.ctpop</tt>' intrinsic counts the 1's in a variable.
+</p>
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
+  <a name="int_cttz">'<tt>llvm.cttz</tt>' Intrinsic</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+<pre>
+  declare int %llvm.cttz(int &lt;src&gt;)
+
+</pre>
+
+<h5>Overview:</h5>
+
+<p>
+The '<tt>llvm.cttz</tt>' intrinsic counts the number of trailing zeros.
+</p>
+
+<h5>Arguments:</h5>
+
+<p>
+The only argument is the value to be counted.
+</p>
+
+<h5>Semantics:</h5>
+
+<p>
+The '<tt>llvm.cttz</tt>' intrinsic counts the trailing zeros in a variable.  If the src == 0
+then the result is the size in bits of the type of src.
+</p>
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
+  <a name="int_ctlz">'<tt>llvm.ctlz</tt>' Intrinsic</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+<pre>
+  declare int %llvm.ctlz(int &lt;src&gt;)
+
+</pre>
+
+<h5>Overview:</h5>
+
+<p>
+The '<tt>llvm.ctlz</tt>' intrinsic counts the number of leading zeros in a variable.
+</p>
+
+<h5>Arguments:</h5>
+
+<p>
+The only argument is the value to be counted.
+</p>
+
+<h5>Semantics:</h5>
+
+<p>
+The '<tt>llvm.ctlz</tt>' intrinsic counts the leading zeros in a variable.  If the src == 0
+then the result is the size in bits of the type of src.
+</p>
+</div>
 
 
 <!-- ======================================================================= -->