diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2010-03-14 18:42:47 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2010-03-14 18:42:47 +0000 |
commit | f02e73018fcc0f0361950926f36a32105591700f (patch) | |
tree | ae935ecd64c1cf4aebe4c5d42a67dc2caf36062a /docs/LangRef.html | |
parent | b9b5840d96c68566a91d8e1840c7a811442f3753 (diff) | |
download | external_llvm-f02e73018fcc0f0361950926f36a32105591700f.zip external_llvm-f02e73018fcc0f0361950926f36a32105591700f.tar.gz external_llvm-f02e73018fcc0f0361950926f36a32105591700f.tar.bz2 |
Document fp16 intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98505 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/LangRef.html')
-rw-r--r-- | docs/LangRef.html | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html index adaf44a..a867ee0 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -255,6 +255,12 @@ <li><a href="#int_umul_overflow">'<tt>llvm.umul.with.overflow.*</tt> Intrinsics</a></li> </ol> </li> + <li><a href="#int_fp16">Half Precision Floating Point Intrinsics</a> + <ol> + <li><a href="#int_to_fp16">'<tt>llvm.convert.to.fp16</tt>' Intrinsic</a></li> + <li><a href="#int_from_fp16">'<tt>llvm.conver.from.fp16</tt>' Intrinsic</a></li> + </ol> + </li> <li><a href="#int_debugger">Debugger intrinsics</a></li> <li><a href="#int_eh">Exception Handling intrinsics</a></li> <li><a href="#int_trampoline">Trampoline Intrinsic</a> @@ -6608,6 +6614,90 @@ LLVM</a>.</p> <!-- ======================================================================= --> <div class="doc_subsection"> + <a name="int_fp16">Half Precision Floating Point Intrinsics</a> +</div> + +<div class="doc_text"> + +<p>Half precision floating point is storage-only format. That is why the values + in such format should be promoted to single precision format before any + operations. LLVM provides intrinsics for conversions to single precision and + back.</p> + +</div> + +<!-- _______________________________________________________________________ --> +<div class="doc_subsubsection"> + <a name="int_to_fp16">'<tt>llvm.convert.to.fp16</tt>' Intrinsic</a> +</div> + +<div class="doc_text"> + +<h5>Syntax:</h5> +<pre> + declare i16 @llvm.convert.to.fp16(f32 %a) +</pre> + +<h5>Overview:</h5> +<p>The '<tt>llvm.convert.to.fp16</tt>' intrinsic function performs + a conversion from single precision floating point format to half precision + floating point format.</p> + +<h5>Arguments:</h5> +<p>The intrinsic function contains single argument - the value to be + converted.</p> + +<h5>Semantics:</h5> +<p>The '<tt>llvm.convert.to.fp16</tt>' intrinsic function performs + a conversion from single precision floating point format to half precision + floating point format. Since the format is storage only the return value is + just an <tt>i16</tt> which contains the converted number.</p> + +<h5>Examples:</h5> +<pre> + %res = call i16 @llvm.convert.to.fp16(f32 %a) + store i16 %res, i16* @x, align 2 +</pre> + +</div> + +<!-- _______________________________________________________________________ --> +<div class="doc_subsubsection"> + <a name="int_from_fp16">'<tt>llvm.convert.from.fp16</tt>' Intrinsic</a> +</div> + +<div class="doc_text"> + +<h5>Syntax:</h5> +<pre> + declare f32 @llvm.convert.from.fp16(i16 %a) +</pre> + +<h5>Overview:</h5> +<p>The '<tt>llvm.convert.from.fp16</tt>' intrinsic function performs + a conversion from half precision floating point format to single precision + floating point format.</p> + +<h5>Arguments:</h5> +<p>The intrinsic function contains single argument - the value to be + converted.</p> + +<h5>Semantics:</h5> +<p>The '<tt>llvm.convert.from.fp16</tt>' intrinsic function performs a + conversion from half single precision floating point format to signle + precision floating point format. Since the format is storage only the + argument is represented by an <tt>i16</tt> value.</p> + +<h5>Examples:</h5> +<pre> + %a = load i16* @x, align 2 + %res = call f32 @llvm.convert.from.fp16(i16 %a) +</pre> + +</div> + +<!-- ======================================================================= --> +<div class="doc_subsection"> <a name="int_debugger">Debugger Intrinsics</a> </div> |