diff options
author | John Criswell <criswell@uiuc.edu> | 2004-04-09 15:23:37 +0000 |
---|---|---|
committer | John Criswell <criswell@uiuc.edu> | 2004-04-09 15:23:37 +0000 |
commit | cfd3baccce806243243e8ad6943a9208f737f62a (patch) | |
tree | 9daeff5c4b34a5a29ffb68ee459aef0ce473330f /docs | |
parent | aee0cf3fca7ad509b3bfdbd21f3a8fb3abe9d74a (diff) | |
download | external_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.html | 91 |
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 <address>) + call ubyte (ushort address)* %llvm.readport(ushort <address>) + call short (ushort address)* %llvm.readport(ushort <address>) + call ushort (ushort address)* %llvm.readport(ushort <address>) + call int (ushort address)* %llvm.readport(ushort <address>) + call uint (ushort address)* %llvm.readport(ushort <address>) +</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 <address>, sbyte <value>) + call void (ushort address, ubyte value)* %llvm.writeport(ushort <address>, ubyte <value>) + call void (ushort address, short value)* %llvm.writeport(ushort <address>, short <value>) + call void (ushort address, ushort value)* %llvm.writeport(ushort <address>, ushort <value>) + call void (ushort address, int value)* %llvm.writeport(ushort <address>, int <value>) + call void (ushort address, uint value)* %llvm.writeport(ushort <address>, uint <value>) +</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"> |