aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorJohn Criswell <criswell@uiuc.edu>2004-04-09 15:23:37 +0000
committerJohn Criswell <criswell@uiuc.edu>2004-04-09 15:23:37 +0000
commitcfd3baccce806243243e8ad6943a9208f737f62a (patch)
tree9daeff5c4b34a5a29ffb68ee459aef0ce473330f /docs
parentaee0cf3fca7ad509b3bfdbd21f3a8fb3abe9d74a (diff)
downloadexternal_llvm-cfd3baccce806243243e8ad6943a9208f737f62a.zip
external_llvm-cfd3baccce806243243e8ad6943a9208f737f62a.tar.gz
external_llvm-cfd3baccce806243243e8ad6943a9208f737f62a.tar.bz2
Added the llvm.readport and llvm.writeport intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12788 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/LangRef.html91
1 files changed, 91 insertions, 0 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 60dba67..e6cd794 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -101,6 +101,8 @@
<ol>
<li><a href="#i_returnaddress">'<tt>llvm.returnaddress</tt>' Intrinsic</a></li>
<li><a href="#i_frameaddress">'<tt>llvm.frameaddress</tt>' Intrinsic</a></li>
+ <li><a href="#i_readport">'<tt>llvm.readport</tt>' Intrinsic</a></li>
+ <li><a href="#i_writeport">'<tt>llvm.writeport</tt>' Intrinsic</a></li>
</ol>
</li>
<li><a href="#int_libc">Standard C Library Intrinsics</a>
@@ -1996,6 +1998,95 @@ source-language caller.
</p>
</div>
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
+ <a name="i_readport">'<tt>llvm.readport</tt>' Intrinsic</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+<pre>
+ call sbyte (ushort address)* %llvm.readport(ushort &lt;address&gt;)
+ call ubyte (ushort address)* %llvm.readport(ushort &lt;address&gt;)
+ call short (ushort address)* %llvm.readport(ushort &lt;address&gt;)
+ call ushort (ushort address)* %llvm.readport(ushort &lt;address&gt;)
+ call int (ushort address)* %llvm.readport(ushort &lt;address&gt;)
+ call uint (ushort address)* %llvm.readport(ushort &lt;address&gt;)
+</pre>
+
+<h5>Overview:</h5>
+
+<p>
+The '<tt>llvm.readport</tt>' intrinsic reads data from the specified I/O port.
+</p>
+
+<h5>Arguments:</h5>
+
+<p>
+The argument to this intrinsic indicates the I/O address from which to read
+the data. The address is in the I/O address namespace; it is not a memory
+location.
+</p>
+
+<h5>Semantics:</h5>
+
+<p>
+The '<tt>llvm.readport</tt>' intrinsic reads data from the I/O port specified
+by <i>address</i> and returns the value. The address and return value must
+be integers, but the size is dependent upon the platform upon which the
+program is code generated. For example, on x86, the address must be a
+ushort, and the return value must be 8, 16, or 32 bits.
+</p>
+
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
+ <a name="i_writeport">'<tt>llvm.writeport</tt>' Intrinsic</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+<pre>
+ call void (ushort address, sbyte value)* %llvm.writeport(ushort &lt;address&gt;, sbyte &lt;value&gt;)
+ call void (ushort address, ubyte value)* %llvm.writeport(ushort &lt;address&gt;, ubyte &lt;value&gt;)
+ call void (ushort address, short value)* %llvm.writeport(ushort &lt;address&gt;, short &lt;value&gt;)
+ call void (ushort address, ushort value)* %llvm.writeport(ushort &lt;address&gt;, ushort &lt;value&gt;)
+ call void (ushort address, int value)* %llvm.writeport(ushort &lt;address&gt;, int &lt;value&gt;)
+ call void (ushort address, uint value)* %llvm.writeport(ushort &lt;address&gt;, uint &lt;value&gt;)
+</pre>
+
+<h5>Overview:</h5>
+
+<p>
+The '<tt>llvm.writeport</tt>' intrinsic writes data to the specified I/O port.
+</p>
+
+<h5>Arguments:</h5>
+
+<p>
+The first argument to this intrinsic indicates the I/O address to which data
+should be written. The address is in the I/O address namespace; it is not a
+memory location.
+</p>
+
+<p>
+The second argument is the value to write to the I/O port.
+</p>
+
+<h5>Semantics:</h5>
+
+<p>
+The '<tt>llvm.writeport</tt>' intrinsic writes <i>value</i> to the I/O port
+specified by <i>address</i>. The address and value must be integers, but the
+size is dependent upon the platform upon which the program is code generated.
+For example, on x86, the address must be a ushort, and the value written must
+be 8, 16, or 32 bits in length.
+</p>
+
+</div>
<!-- ======================================================================= -->
<div class="doc_subsection">