aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-11-21 16:42:48 +0000
committerChris Lattner <sabre@nondot.org>2008-11-21 16:42:48 +0000
commit82c2e4332a1578fce36412e997c4a563b3f66274 (patch)
treef91d265e59851bb2409eb6784c8a83b1d18b8267 /docs
parent39d5f588224111a18ad441069eb9ebef0ba2f8f9 (diff)
downloadexternal_llvm-82c2e4332a1578fce36412e997c4a563b3f66274.zip
external_llvm-82c2e4332a1578fce36412e997c4a563b3f66274.tar.gz
external_llvm-82c2e4332a1578fce36412e997c4a563b3f66274.tar.bz2
reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an
arbitrary integer width for the count. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59823 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/LangRef.html18
1 files changed, 18 insertions, 0 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 59be63b..f0cb5d4 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -5070,7 +5070,13 @@ for more efficient code generation.
<div class="doc_text">
<h5>Syntax:</h5>
+<p>This is an overloaded intrinsic. You can use llvm.memcpy on any integer bit
+width. Not all targets support all bit widths however.</p>
<pre>
+ declare void @llvm.memcpy.i8(i8 * &lt;dest&gt;, i8 * &lt;src&gt;,
+ i8 &lt;len&gt;, i32 &lt;align&gt;)
+ declare void @llvm.memcpy.i16(i8 * &lt;dest&gt;, i8 * &lt;src&gt;,
+ i16 &lt;len&gt;, i32 &lt;align&gt;)
declare void @llvm.memcpy.i32(i8 * &lt;dest&gt;, i8 * &lt;src&gt;,
i32 &lt;len&gt;, i32 &lt;align&gt;)
declare void @llvm.memcpy.i64(i8 * &lt;dest&gt;, i8 * &lt;src&gt;,
@@ -5124,7 +5130,13 @@ be set to 0 or 1.
<div class="doc_text">
<h5>Syntax:</h5>
+<p>This is an overloaded intrinsic. You can use llvm.memmove on any integer bit
+width. Not all targets support all bit widths however.</p>
<pre>
+ declare void @llvm.memmove.i8(i8 * &lt;dest&gt;, i8 * &lt;src&gt;,
+ i8 &lt;len&gt;, i32 &lt;align&gt;)
+ declare void @llvm.memmove.i16(i8 * &lt;dest&gt;, i8 * &lt;src&gt;,
+ i16 &lt;len&gt;, i32 &lt;align&gt;)
declare void @llvm.memmove.i32(i8 * &lt;dest&gt;, i8 * &lt;src&gt;,
i32 &lt;len&gt;, i32 &lt;align&gt;)
declare void @llvm.memmove.i64(i8 * &lt;dest&gt;, i8 * &lt;src&gt;,
@@ -5179,7 +5191,13 @@ be set to 0 or 1.
<div class="doc_text">
<h5>Syntax:</h5>
+<p>This is an overloaded intrinsic. You can use llvm.memset on any integer bit
+width. Not all targets support all bit widths however.</p>
<pre>
+ declare void @llvm.memset.i8(i8 * &lt;dest&gt;, i8 &lt;val&gt;,
+ i8 &lt;len&gt;, i32 &lt;align&gt;)
+ declare void @llvm.memset.i16(i8 * &lt;dest&gt;, i8 &lt;val&gt;,
+ i16 &lt;len&gt;, i32 &lt;align&gt;)
declare void @llvm.memset.i32(i8 * &lt;dest&gt;, i8 &lt;val&gt;,
i32 &lt;len&gt;, i32 &lt;align&gt;)
declare void @llvm.memset.i64(i8 * &lt;dest&gt;, i8 &lt;val&gt;,