like bswap, the ct* intrinsics require unsigned operands

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25373 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-01-16 22:38:59 +00:00
parent 8a886be335
commit ec6cb6115f

View File

@ -147,8 +147,8 @@
<li><a href="#i_memcpy">'<tt>llvm.memcpy</tt>' Intrinsic</a></li>
<li><a href="#i_memmove">'<tt>llvm.memmove</tt>' Intrinsic</a></li>
<li><a href="#i_memset">'<tt>llvm.memset</tt>' Intrinsic</a></li>
<li><a href="#i_isunordered">'<tt>llvm.isunordered</tt>' Intrinsic</a></li>
<li><a href="#i_sqrt">'<tt>llvm.sqrt</tt>' Intrinsic</a></li>
<li><a href="#i_isunordered">'<tt>llvm.isunordered.*</tt>' Intrinsic</a></li>
<li><a href="#i_sqrt">'<tt>llvm.sqrt.*</tt>' Intrinsic</a></li>
</ol>
</li>
@ -3429,7 +3429,7 @@ false.
<!-- _______________________________________________________________________ -->
<div class="doc_subsubsection">
<a name="i_sqrt">'<tt>llvm.sqrt</tt>' Intrinsic</a>
<a name="i_sqrt">'<tt>llvm.sqrt.*</tt>' Intrinsic</a>
</div>
<div class="doc_text">
@ -3485,9 +3485,9 @@ These allow efficient code generation for some algorithms.
<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; )
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>
@ -3501,11 +3501,11 @@ in the target's native byte order.
<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
The <tt>llvm.bswap.16</tt> intrinsic returns a ushort value that has the high and low
byte of the input ushort swapped. Similarly, the <tt>llvm.bswap.i32</tt> 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
bytes in 3, 2, 1, 0 order. The <tt>llvm.bswap.i64</tt> intrinsic extends this concept
to 64 bits.
</p>
@ -3520,24 +3520,24 @@ to 64 bits.
<h5>Syntax:</h5>
<pre>
declare sbyte %llvm.ctpop.i8(sbyte &lt;src&gt;)
declare short %llvm.ctpop.i16(short &lt;src&gt;)
declare int %llvm.ctpop.i32(int &lt;src&gt;)
declare long %llvm.ctpop.i64(long &lt;src&gt;)
declare ubyte %llvm.ctpop.i8 (ubyte &lt;src&gt;)
declare ushort %llvm.ctpop.i16(ushort &lt;src&gt;)
declare uint %llvm.ctpop.i32(uint &lt;src&gt;)
declare ulong %llvm.ctpop.i64(ulong &lt;src&gt;)
</pre>
<h5>Overview:</h5>
<p>
The '<tt>llvm.ctpop</tt>' family of intrinsics counts the number of ones in a
variable.
The '<tt>llvm.ctpop</tt>' family of intrinsics counts the number of bits set in a
value.
</p>
<h5>Arguments:</h5>
<p>
The only argument is the value to be counted. The argument may be of any
integer type. The return type must match the argument type.
unsigned integer type. The return type must match the argument type.
</p>
<h5>Semantics:</h5>
@ -3556,10 +3556,10 @@ The '<tt>llvm.ctpop</tt>' intrinsic counts the 1's in a variable.
<h5>Syntax:</h5>
<pre>
declare sbyte %llvm.ctlz.i8(sbyte &lt;src&gt;)
declare short %llvm.ctlz.i16(short &lt;src&gt;)
declare int %llvm.ctlz.i32(int &lt;src&gt;)
declare long %llvm.ctlz.i64(long &lt;src&gt;)
declare ubyte %llvm.ctlz.i8 (ubyte &lt;src&gt;)
declare ushort %llvm.ctlz.i16(ushort &lt;src&gt;)
declare uint %llvm.ctlz.i32(uint &lt;src&gt;)
declare ulong %llvm.ctlz.i64(ulong &lt;src&gt;)
</pre>
<h5>Overview:</h5>
@ -3573,7 +3573,7 @@ leading zeros in a variable.
<p>
The only argument is the value to be counted. The argument may be of any
integer type. The return type must match the argument type.
unsigned integer type. The return type must match the argument type.
</p>
<h5>Semantics:</h5>
@ -3596,10 +3596,10 @@ of src. For example, <tt>llvm.cttz(int 2) = 30</tt>.
<h5>Syntax:</h5>
<pre>
declare sbyte %llvm.cttz.i8(sbyte &lt;src&gt;)
declare short %llvm.cttz.i16(short &lt;src&gt;)
declare int %llvm.cttz.i32(int &lt;src&gt;)
declare long %llvm.cttz.i64(long &lt;src&gt;)
declare ubyte %llvm.cttz.i8 (ubyte &lt;src&gt;)
declare ushort %llvm.cttz.i16(ushort &lt;src&gt;)
declare uint %llvm.cttz.i32(uint &lt;src&gt;)
declare ulong %llvm.cttz.i64(ulong &lt;src&gt;)
</pre>
<h5>Overview:</h5>
@ -3613,7 +3613,7 @@ trailing zeros.
<p>
The only argument is the value to be counted. The argument may be of any
integer type. The return type must match the argument type.
unsigned integer type. The return type must match the argument type.
</p>
<h5>Semantics:</h5>