like bswap, the ct* intrinsics require unsigned operands
authorChris Lattner <sabre@nondot.org>
Mon, 16 Jan 2006 22:38:59 +0000 (22:38 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 16 Jan 2006 22:38:59 +0000 (22:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25373 91177308-0d34-0410-b5e6-96231b3b80d8

docs/LangRef.html

index be4725ce10156dd3ff67aed5733c51802ba170ce..7d308c46490fa55d2fb66760f0685ed8af677b33 100644 (file)
           <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>