diff --git a/llvm/docs/LangRef.html b/llvm/docs/LangRef.html index 84172594c15f..76655ad4fc85 100644 --- a/llvm/docs/LangRef.html +++ b/llvm/docs/LangRef.html @@ -107,6 +107,8 @@
+ call <integer type> (<integer type>)* %llvm.readio (<integer type> <address>) ++ +
+The 'llvm.readio' intrinsic reads data from a memory mapped I/O +address. +
+ ++The argument to this intrinsic indicates the memory address from which to read +the data. +
+ ++The 'llvm.readio' intrinsic reads data from a memory mapped I/O +location specified by address 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. +
+ ++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). +
+ ++ call void (<integer type>, <integer type>)* %llvm.writeio (<integer type> <value>, <integer type> <address>) ++ +
+The 'llvm.writeio' intrinsic writes data to the specified memory +mapped I/O address. +
+ ++The first argument to this intrinsic indicates the memory address to which data +should be written. +
+ ++The second argument is the value to write to the memory mapped I/O location. +
+ ++The 'llvm.writeio' intrinsic writes value to the memory mapped +I/O address specified by address. The address and value must be +integers, but the size is dependent upon the platform upon which the program is +code generated. +
+ ++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). +
+ +