[llvm-commits] CVS: llvm/docs/LangRef.html

Reid Spencer reid at x10sys.com
Mon Jan 16 13:12:53 PST 2006



Changes in directory llvm/docs:

LangRef.html updated: 1.127 -> 1.128
---
Log message:

For PR411: http://llvm.cs.uiuc.edu/PR411 :
This patch is an incremental step towards supporting a flat symbol table.
It de-overloads the intrinsic functions by providing type-specific intrinsics
and arranging for automatically upgrading from the old overloaded name to
the new non-overloaded name. Specifically:
  llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64
  llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64
  llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64
  llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64
  llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64
New code should not use the overloaded intrinsic names. Warnings will be 
emitted if they are used.


---
Diffs of the changes:  (+28 -15)

 LangRef.html |   43 ++++++++++++++++++++++++++++---------------
 1 files changed, 28 insertions(+), 15 deletions(-)


Index: llvm/docs/LangRef.html
diff -u llvm/docs/LangRef.html:1.127 llvm/docs/LangRef.html:1.128
--- llvm/docs/LangRef.html:1.127	Sun Jan 15 14:48:27 2006
+++ llvm/docs/LangRef.html	Mon Jan 16 15:12:35 2006
@@ -3394,20 +3394,21 @@
 
 <!-- _______________________________________________________________________ -->
 <div class="doc_subsubsection">
-  <a name="i_isunordered">'<tt>llvm.isunordered</tt>' Intrinsic</a>
+  <a name="i_isunordered">'<tt>llvm.isunordered.*</tt>' Intrinsic</a>
 </div>
 
 <div class="doc_text">
 
 <h5>Syntax:</h5>
 <pre>
-  declare bool %llvm.isunordered(<float or double> Val1, <float or double> Val2)
+  declare bool %llvm.isunordered.f32(float Val1, float  Val2)
+  declare bool %llvm.isunordered.f64(double Val1, double Val2)
 </pre>
 
 <h5>Overview:</h5>
 
 <p>
-The '<tt>llvm.isunordered</tt>' intrinsic returns true if either or both of the
+The '<tt>llvm.isunordered</tt>' intrinsics return true if either or both of the
 specified floating point values is a NAN.
 </p>
 
@@ -3435,13 +3436,14 @@
 
 <h5>Syntax:</h5>
 <pre>
-  declare <float or double> %llvm.sqrt(<float or double> Val)
+  declare double %llvm.sqrt.f32(float Val)
+  declare double %llvm.sqrt.f64(double Val)
 </pre>
 
 <h5>Overview:</h5>
 
 <p>
-The '<tt>llvm.sqrt</tt>' intrinsic returns the sqrt of the specified operand,
+The '<tt>llvm.sqrt</tt>' intrinsics return the sqrt of the specified operand,
 returning the same value as the libm '<tt>sqrt</tt>' function would.  Unlike
 <tt>sqrt</tt> in libm, however, <tt>llvm.sqrt</tt> has undefined behavior for
 negative numbers (which allows for better optimization).
@@ -3483,6 +3485,7 @@
 
 <h5>Syntax:</h5>
 <pre>
+  declare ushort %llvm.bswap.i8( ubyte <id> )
   declare ushort %llvm.bswap.i16( ushort <id> )
   declare uint %llvm.bswap.i32( uint <id> )
   declare ulong %llvm.bswap.i64( ulong <id> )
@@ -3511,20 +3514,24 @@
 
 <!-- _______________________________________________________________________ -->
 <div class="doc_subsubsection">
-  <a name="int_ctpop">'<tt>llvm.ctpop</tt>' Intrinsic</a>
+  <a name="int_ctpop">'<tt>llvm.ctpop.*</tt>' Intrinsic</a>
 </div>
 
 <div class="doc_text">
 
 <h5>Syntax:</h5>
 <pre>
-  declare int %llvm.ctpop(int <src>)
+  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>)
 </pre>
 
 <h5>Overview:</h5>
 
 <p>
-The '<tt>llvm.ctpop</tt>' intrinsic counts the number of ones in a variable.
+The '<tt>llvm.ctpop</tt>' family of intrinsics counts the number of ones in a 
+variable.
 </p>
 
 <h5>Arguments:</h5>
@@ -3550,15 +3557,17 @@
 
 <h5>Syntax:</h5>
 <pre>
-  declare int %llvm.ctlz(int <src>)
-
+  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>)
 </pre>
 
 <h5>Overview:</h5>
 
 <p>
-The '<tt>llvm.ctlz</tt>' intrinsic counts the number of leading zeros in a
-variable.
+The '<tt>llvm.ctlz</tt>' family of intrinsic functions counts the number of 
+leading zeros in a variable.
 </p>
 
 <h5>Arguments:</h5>
@@ -3588,13 +3597,17 @@
 
 <h5>Syntax:</h5>
 <pre>
-  declare int %llvm.cttz(int <src>)
+  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>)
 </pre>
 
 <h5>Overview:</h5>
 
 <p>
-The '<tt>llvm.cttz</tt>' intrinsic counts the number of trailing zeros.
+The '<tt>llvm.cttz</tt>' family of intrinsic functions counts the number of 
+trailing zeros.
 </p>
 
 <h5>Arguments:</h5>
@@ -3638,7 +3651,7 @@
 
   <a href="mailto:sabre at nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2006/01/15 20:48:27 $
+  Last modified: $Date: 2006/01/16 21:12:35 $
 </address>
 </body>
 </html>






More information about the llvm-commits mailing list