aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2006-01-13 23:26:38 +0000
committerNate Begeman <natebegeman@mac.com>2006-01-13 23:26:38 +0000
commit7e36c4730784c9571f7e73782c4b271e4c5ab6c4 (patch)
treef461060390a68760b3c7e00ba63801fdad009e4c /docs
parentfb6977de4fd20a8b0d615bc330081ed84393bfbb (diff)
downloadexternal_llvm-7e36c4730784c9571f7e73782c4b271e4c5ab6c4.zip
external_llvm-7e36c4730784c9571f7e73782c4b271e4c5ab6c4.tar.gz
external_llvm-7e36c4730784c9571f7e73782c4b271e4c5ab6c4.tar.bz2
Make the bswap documentation more to sabre's liking!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25302 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/LangRef.html132
1 files changed, 39 insertions, 93 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 7dc743f..f3f82d9 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -125,9 +125,6 @@
</li>
<li><a href="#int_codegen">Code Generator Intrinsics</a>
<ol>
- <li><a href="#i_bswap_i16">'<tt>llvm.bswap.i16</tt>' Intrinsic</a></li>
- <li><a href="#i_bswap_i32">'<tt>llvm.bswap.i32</tt>' Intrinsic</a></li>
- <li><a href="#i_bswap_i64">'<tt>llvm.bswap.i64</tt>' Intrinsic</a></li>
<li><a href="#i_returnaddress">'<tt>llvm.returnaddress</tt>' Intrinsic</a></li>
<li><a href="#i_frameaddress">'<tt>llvm.frameaddress</tt>' Intrinsic</a></li>
<li><a href="#i_stacksave">'<tt>llvm.stacksave</tt>' Intrinsic</a></li>
@@ -154,8 +151,9 @@
</ol>
</li>
- <li><a href="#int_count">Bit counting Intrinsics</a>
+ <li><a href="#int_manip">Bit Manipulation Intrinsics</a>
<ol>
+ <li><a href="#i_bswap">'<tt>llvm.bswap.*</tt>' Intrinsics</a></li>
<li><a href="#int_ctpop">'<tt>llvm.ctpop</tt>' Intrinsic </a></li>
<li><a href="#int_ctlz">'<tt>llvm.ctlz</tt>' Intrinsic </a></li>
<li><a href="#int_cttz">'<tt>llvm.cttz</tt>' Intrinsic </a></li>
@@ -2707,93 +2705,6 @@ be implemented with code generator support.
<!-- _______________________________________________________________________ -->
<div class="doc_subsubsection">
- <a name="i_bswap_i16">'<tt>llvm.bswap.i16</tt>' Intrinsic</a>
-</div>
-
-<div class="doc_text">
-
-<h5>Syntax:</h5>
-<pre>
- declare ushort %llvm.bswap.i16( ushort &lt;id&gt; )
-</pre>
-
-<h5>Overview:</h5>
-
-<p>
-The '<tt>llvm.bwsap.i16</tt>' intrinsic is used to byteswap a 16 bit quantity.
-This is useful for performing operations on data that is not in the target's
-native byte order.
-</p>
-
-<h5>Semantics:</h5>
-
-<p>
-This intrinsic returns a ushort value that has the two bytes of the input ushort
-swapped.
-</p>
-
-</div>
-
-<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="i_bswap_i32">'<tt>llvm.bswap.i32</tt>' Intrinsic</a>
-</div>
-
-<div class="doc_text">
-
-<h5>Syntax:</h5>
-<pre>
- declare uint %llvm.bswap.i32( uint &lt;id&gt; )
-</pre>
-
-<h5>Overview:</h5>
-
-<p>
-The '<tt>llvm.bwsap.i32</tt>' intrinsic is used to byteswap a 32 bit quantity.
-This is useful for performing operations on data that is not in the target's
-native byte order.
-</p>
-
-<h5>Semantics:</h5>
-
-<p>
-This intrinsic returns a uint value that has the four bytes of the input uint
-swapped, so that if the input bytes are numbered 0, 1, 2, 3 then the returned
-uint will have its bytes in 3, 2, 1, 0 order.
-</p>
-
-</div>
-
-<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="i_bswap_i64">'<tt>llvm.bswap.i64</tt>' Intrinsic</a>
-</div>
-
-<div class="doc_text">
-
-<h5>Syntax:</h5>
-<pre>
- declare ulong %llvm.bswap.i64( ulong &lt;id&gt; )
-</pre>
-
-<h5>Overview:</h5>
-
-<p>
-The '<tt>llvm.bwsap.i64</tt>' intrinsic is used to byteswap a 64 bit quantity.
-This is useful for performing operations on data that is not in the target's
-native byte order.
-</p>
-
-<h5>Semantics:</h5>
-
-<p>
-See the description for <a href="#i_bswap_i32"><tt>llvm.bswap.i32</tt></a>.
-</p>
-
-</div>
-
-<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
<a name="i_returnaddress">'<tt>llvm.returnaddress</tt>' Intrinsic</a>
</div>
@@ -3499,12 +3410,12 @@ floating point number.
<!-- ======================================================================= -->
<div class="doc_subsection">
- <a name="int_count">Bit Counting Intrinsics</a>
+ <a name="int_manip">Bit Manipulation Intrinsics</a>
</div>
<div class="doc_text">
<p>
-LLVM provides intrinsics for a few important bit counting operations.
+LLVM provides intrinsics for a few important bit manipulation operations.
These allow efficient code generation for some algorithms.
</p>
@@ -3512,6 +3423,41 @@ These allow efficient code generation for some algorithms.
<!-- _______________________________________________________________________ -->
<div class="doc_subsubsection">
+ <a name="i_bswap">'<tt>llvm.bswap.*</tt>' Intrinsics</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+<pre>
+ declare ushort %llvm.bswap.i16( ushort &lt;id&gt; )
+ declare uint %llvm.bswap.i32( uint &lt;id&gt; )
+ declare ulong %llvm.bswap.i64( ulong &lt;id&gt; )
+</pre>
+
+<h5>Overview:</h5>
+
+<p>
+The '<tt>llvm.bwsap</tt>' family of intrinsics is used to byteswap a 16, 32 or
+64 bit quantity. These are useful for performing operations on data that is not
+in the target's native byte order.
+</p>
+
+<h5>Semantics:</h5>
+
+<p>
+The llvm.bswap.16 intrinsic returns a ushort value that has the high and low
+byte of the input ushort swapped. Similarly, the llvm.bswap.i32 intrinsic
+returns a uint value that has the four bytes of the input uint swapped, so that
+if the input bytes are numbered 0, 1, 2, 3 then the returned uint will have its
+bytes in 3, 2, 1, 0 order. The llvm.bswap.i64 intrinsic extends this concept
+to 64 bits.
+</p>
+
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
<a name="int_ctpop">'<tt>llvm.ctpop</tt>' Intrinsic</a>
</div>