1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00

Make the bswap documentation more to sabre's liking!

llvm-svn: 25302
This commit is contained in:
Nate Begeman 2006-01-13 23:26:38 +00:00
parent 5b621f5b0b
commit 96db94e03b

View File

@ -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>
@ -2705,93 +2703,6 @@ be implemented with code generator support.
</div>
<!-- _______________________________________________________________________ -->
<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>
@ -3499,17 +3410,52 @@ 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>
</div>
<!-- _______________________________________________________________________ -->
<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>