mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
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:
parent
8a886be335
commit
ec6cb6115f
@ -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 <id> )
|
||||
declare uint %llvm.bswap.i32( uint <id> )
|
||||
declare ulong %llvm.bswap.i64( ulong <id> )
|
||||
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>
|
||||
@ -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 <src>)
|
||||
declare short %llvm.ctpop.i16(short <src>)
|
||||
declare int %llvm.ctpop.i32(int <src>)
|
||||
declare long %llvm.ctpop.i64(long <src>)
|
||||
declare ubyte %llvm.ctpop.i8 (ubyte <src>)
|
||||
declare ushort %llvm.ctpop.i16(ushort <src>)
|
||||
declare uint %llvm.ctpop.i32(uint <src>)
|
||||
declare ulong %llvm.ctpop.i64(ulong <src>)
|
||||
</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 <src>)
|
||||
declare short %llvm.ctlz.i16(short <src>)
|
||||
declare int %llvm.ctlz.i32(int <src>)
|
||||
declare long %llvm.ctlz.i64(long <src>)
|
||||
declare ubyte %llvm.ctlz.i8 (ubyte <src>)
|
||||
declare ushort %llvm.ctlz.i16(ushort <src>)
|
||||
declare uint %llvm.ctlz.i32(uint <src>)
|
||||
declare ulong %llvm.ctlz.i64(ulong <src>)
|
||||
</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 <src>)
|
||||
declare short %llvm.cttz.i16(short <src>)
|
||||
declare int %llvm.cttz.i32(int <src>)
|
||||
declare long %llvm.cttz.i64(long <src>)
|
||||
declare ubyte %llvm.cttz.i8 (ubyte <src>)
|
||||
declare ushort %llvm.cttz.i16(ushort <src>)
|
||||
declare uint %llvm.cttz.i32(uint <src>)
|
||||
declare ulong %llvm.cttz.i64(ulong <src>)
|
||||
</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>
|
||||
|
Loading…
Reference in New Issue
Block a user