diff options
-rw-r--r-- | docs/LangRef.html | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html index 8417259..76655ad 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -107,6 +107,8 @@ <ol> <li><a href="#i_readport">'<tt>llvm.readport</tt>' Intrinsic</a></li> <li><a href="#i_writeport">'<tt>llvm.writeport</tt>' Intrinsic</a></li> + <li><a href="#i_readio">'<tt>llvm.readio</tt>' Intrinsic</a></li> + <li><a href="#i_writeio">'<tt>llvm.writeio</tt>' Intrinsic</a></li> </ol> <li><a href="#int_libc">Standard C Library Intrinsics</a> <ol> @@ -2013,6 +2015,7 @@ operating system level code. </p> </div> + <!-- _______________________________________________________________________ --> <div class="doc_subsubsection"> <a name="i_readport">'<tt>llvm.readport</tt>' Intrinsic</a> @@ -2095,6 +2098,99 @@ value written must be 8, 16, or 32 bits in length. </div> +<!-- _______________________________________________________________________ --> +<div class="doc_subsubsection"> + <a name="i_readio">'<tt>llvm.readio</tt>' Intrinsic</a> +</div> + +<div class="doc_text"> + +<h5>Syntax:</h5> +<pre> + call <integer type> (<integer type>)* %llvm.readio (<integer type> <address>) +</pre> + +<h5>Overview:</h5> + +<p> +The '<tt>llvm.readio</tt>' intrinsic reads data from a memory mapped I/O +address. +</p> + +<h5>Arguments:</h5> + +<p> +The argument to this intrinsic indicates the memory address from which to read +the data. +</p> + +<h5>Semantics:</h5> + +<p> +The '<tt>llvm.readio</tt>' intrinsic reads data from a memory mapped I/O +location specified by <i>address</i> and returns the value. The address and +return value must be integers, but the size allowed for each is dependent upon +the platform upon which the program is code generated. +</p> + +<p> +This intrinsic ensures that the I/O data read occurs in instruction order in +relation to other I/O data reads and writes (as opposed to a normal load, where +hardware scheduling can re-arrange the actual memory accesses to occur out of +order). +</p> + +</div> + +<!-- _______________________________________________________________________ --> +<div class="doc_subsubsection"> + <a name="i_writeio">'<tt>llvm.writeio</tt>' Intrinsic</a> +</div> + +<div class="doc_text"> + +<h5>Syntax:</h5> +<pre> + call void (<integer type>, <integer type>)* %llvm.writeio (<integer type> <value>, <integer type> <address>) +</pre> + +<h5>Overview:</h5> + +<p> +The '<tt>llvm.writeio</tt>' intrinsic writes data to the specified memory +mapped I/O address. +</p> + +<h5>Arguments:</h5> + +<p> +The first argument to this intrinsic indicates the memory address to which data +should be written. +</p> + +<p> +The second argument is the value to write to the memory mapped I/O location. +</p> + +<h5>Semantics:</h5> + +<p> +The '<tt>llvm.writeio</tt>' intrinsic writes <i>value</i> to the memory mapped +I/O address 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. +</p> + +<p> +This intrinsic ensures that the I/O data write occurs in instruction order in +relation to other I/O data reads and writes (as opposed to a normal store, +where hardware scheduling can re-arrange the actual memory accesses to occur +out of order). +</p> + +</div> + + <!-- ======================================================================= --> <div class="doc_subsection"> <a name="int_libc">Standard C Library Intrinsics</a> |