[llvm-commits] CVS: llvm/docs/LangRef.html
Chris Lattner
lattner at cs.uiuc.edu
Thu Mar 2 16:07:32 PST 2006
Changes in directory llvm/docs:
LangRef.html updated: 1.135 -> 1.136
---
Log message:
Update the llvm.memset/memcpy/memmove intrinsics to reflect the recent split
into types.
---
Diffs of the changes: (+33 -26)
LangRef.html | 59 +++++++++++++++++++++++++++++++++--------------------------
1 files changed, 33 insertions(+), 26 deletions(-)
Index: llvm/docs/LangRef.html
diff -u llvm/docs/LangRef.html:1.135 llvm/docs/LangRef.html:1.136
--- llvm/docs/LangRef.html:1.135 Fri Feb 17 15:18:08 2006
+++ llvm/docs/LangRef.html Thu Mar 2 18:07:20 2006
@@ -152,9 +152,9 @@
</ol>
<li><a href="#int_libc">Standard C Library Intrinsics</a>
<ol>
- <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_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>
@@ -3483,27 +3483,29 @@
<h5>Syntax:</h5>
<pre>
- declare void %llvm.memcpy(sbyte* <dest>, sbyte* <src>,
- uint <len>, uint <align>)
+ declare void %llvm.memcpy.i32(sbyte* <dest>, sbyte* <src>,
+ uint <len>, uint <align>)
+ declare void %llvm.memcpy.i64(sbyte* <dest>, sbyte* <src>,
+ ulong <len>, uint <align>)
</pre>
<h5>Overview:</h5>
<p>
-The '<tt>llvm.memcpy</tt>' intrinsic copies a block of memory from the source
+The '<tt>llvm.memcpy.*</tt>' intrinsics copy a block of memory from the source
location to the destination location.
</p>
<p>
-Note that, unlike the standard libc function, the <tt>llvm.memcpy</tt> intrinsic
-does not return a value, and takes an extra alignment argument.
+Note that, unlike the standard libc function, the <tt>llvm.memcpy.*</tt>
+intrinsics do not return a value, and takes an extra alignment argument.
</p>
<h5>Arguments:</h5>
<p>
The first argument is a pointer to the destination, the second is a pointer to
-the source. The third argument is an (arbitrarily sized) integer argument
+the source. The third argument is an integer argument
specifying the number of bytes to copy, and the fourth argument is the alignment
of the source and destination locations.
</p>
@@ -3517,7 +3519,7 @@
<h5>Semantics:</h5>
<p>
-The '<tt>llvm.memcpy</tt>' intrinsic copies a block of memory from the source
+The '<tt>llvm.memcpy.*</tt>' intrinsics copy a block of memory from the source
location to the destination location, which are not allowed to overlap. It
copies "len" bytes of memory over. If the argument is known to be aligned to
some boundary, this can be specified as the fourth argument, otherwise it should
@@ -3535,28 +3537,30 @@
<h5>Syntax:</h5>
<pre>
- declare void %llvm.memmove(sbyte* <dest>, sbyte* <src>,
- uint <len>, uint <align>)
+ declare void %llvm.memmove.i32(sbyte* <dest>, sbyte* <src>,
+ uint <len>, uint <align>)
+ declare void %llvm.memmove.i64(sbyte* <dest>, sbyte* <src>,
+ ulong <len>, uint <align>)
</pre>
<h5>Overview:</h5>
<p>
-The '<tt>llvm.memmove</tt>' intrinsic moves a block of memory from the source
-location to the destination location. It is similar to the '<tt>llvm.memcpy</tt>'
-intrinsic but allows the two memory locations to overlap.
+The '<tt>llvm.memmove.*</tt>' intrinsics move a block of memory from the source
+location to the destination location. It is similar to the
+'<tt>llvm.memcmp</tt>' intrinsic but allows the two memory locations to overlap.
</p>
<p>
-Note that, unlike the standard libc function, the <tt>llvm.memmove</tt> intrinsic
-does not return a value, and takes an extra alignment argument.
+Note that, unlike the standard libc function, the <tt>llvm.memmove.*</tt>
+intrinsics do not return a value, and takes an extra alignment argument.
</p>
<h5>Arguments:</h5>
<p>
The first argument is a pointer to the destination, the second is a pointer to
-the source. The third argument is an (arbitrarily sized) integer argument
+the source. The third argument is an integer argument
specifying the number of bytes to copy, and the fourth argument is the alignment
of the source and destination locations.
</p>
@@ -3570,7 +3574,7 @@
<h5>Semantics:</h5>
<p>
-The '<tt>llvm.memmove</tt>' intrinsic copies a block of memory from the source
+The '<tt>llvm.memmove.*</tt>' intrinsics copy a block of memory from the source
location to the destination location, which may overlap. It
copies "len" bytes of memory over. If the argument is known to be aligned to
some boundary, this can be specified as the fourth argument, otherwise it should
@@ -3581,21 +3585,23 @@
<!-- _______________________________________________________________________ -->
<div class="doc_subsubsection">
- <a name="i_memset">'<tt>llvm.memset</tt>' Intrinsic</a>
+ <a name="i_memset">'<tt>llvm.memset.*</tt>' Intrinsics</a>
</div>
<div class="doc_text">
<h5>Syntax:</h5>
<pre>
- declare void %llvm.memset(sbyte* <dest>, ubyte <val>,
- uint <len>, uint <align>)
+ declare void %llvm.memset.i32(sbyte* <dest>, ubyte <val>,
+ uint <len>, uint <align>)
+ declare void %llvm.memset.i64(sbyte* <dest>, ubyte <val>,
+ ulong <len>, uint <align>)
</pre>
<h5>Overview:</h5>
<p>
-The '<tt>llvm.memset</tt>' intrinsic fills a block of memory with a particular
+The '<tt>llvm.memset.*</tt>' intrinsics fill a block of memory with a particular
byte value.
</p>
@@ -3608,7 +3614,7 @@
<p>
The first argument is a pointer to the destination to fill, the second is the
-byte value to fill it with, the third argument is an (arbitrarily sized) integer
+byte value to fill it with, the third argument is an integer
argument specifying the number of bytes to fill, and the fourth argument is the
known alignment of destination location.
</p>
@@ -3622,7 +3628,8 @@
<h5>Semantics:</h5>
<p>
-The '<tt>llvm.memset</tt>' intrinsic fills "len" bytes of memory starting at the
+The '<tt>llvm.memset.*</tt>' intrinsics fill "len" bytes of memory starting at
+the
destination location. If the argument is known to be aligned to some boundary,
this can be specified as the fourth argument, otherwise it should be set to 0 or
1.
@@ -3888,7 +3895,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/02/17 21:18:08 $
+ Last modified: $Date: 2006/03/03 00:07:20 $
</address>
</body>
</html>
More information about the llvm-commits
mailing list