[llvm] r329065 - [LangRef] fix description and examples of fptrunc
Sanjay Patel via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 3 06:05:20 PDT 2018
Author: spatel
Date: Tue Apr 3 06:05:20 2018
New Revision: 329065
URL: http://llvm.org/viewvc/llvm-project?rev=329065&view=rev
Log:
[LangRef] fix description and examples of fptrunc
As noted in PR36966:
https://bugs.llvm.org/show_bug.cgi?id=36966
The old description doesn't match what we do in code,
so this just fixes the documentation to avoid confusion.
Differential Revision: https://reviews.llvm.org/D45190
Modified:
llvm/trunk/docs/LangRef.rst
Modified: llvm/trunk/docs/LangRef.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/LangRef.rst?rev=329065&r1=329064&r2=329065&view=diff
==============================================================================
--- llvm/trunk/docs/LangRef.rst (original)
+++ llvm/trunk/docs/LangRef.rst Tue Apr 3 06:05:20 2018
@@ -8371,18 +8371,17 @@ Semantics:
The '``fptrunc``' instruction casts a ``value`` from a larger
:ref:`floating-point <t_floating>` type to a smaller :ref:`floating-point
-<t_floating>` type. If the value cannot fit (i.e. overflows) within the
-destination type, ``ty2``, then the results are undefined. If the cast produces
-an inexact result, how rounding is performed (e.g. truncation, also known as
-round to zero) is undefined.
+<t_floating>` type.
+This instruction is assumed to execute in the default :ref:`floating-point
+environment <floatenv>`.
Example:
""""""""
.. code-block:: llvm
- %X = fptrunc double 123.0 to float ; yields float:123.0
- %Y = fptrunc double 1.0E+300 to float ; yields undefined
+ %X = fptrunc double 16777217.0 to float ; yields float:16777216.0
+ %Y = fptrunc double 1.0E+300 to half ; yields half:+infinity
'``fpext .. to``' Instruction
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
More information about the llvm-commits
mailing list