diff options
author | Nate Begeman <natebegeman@mac.com> | 2006-01-13 23:26:38 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2006-01-13 23:26:38 +0000 |
commit | 7e36c4730784c9571f7e73782c4b271e4c5ab6c4 (patch) | |
tree | f461060390a68760b3c7e00ba63801fdad009e4c /docs | |
parent | fb6977de4fd20a8b0d615bc330081ed84393bfbb (diff) | |
download | external_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.html | 132 |
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 <id> ) -</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 <id> ) -</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 <id> ) -</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 <id> ) + declare uint %llvm.bswap.i32( uint <id> ) + declare ulong %llvm.bswap.i64( ulong <id> ) +</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> |