[LangRef] Clarify absence of rounding guarantees for fmuladd.

During the review of D67434, it was recommended to make fmuladd's
behavior more explicit. D67434 depends on this interpretation.

Reviewers: efriedma, jfb, reames, scanon, lebedev.ri, spatel

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D67552

llvm-svn: 372892
This commit is contained in:
Florian Hahn 2019-09-25 16:09:24 +00:00
parent 7fa72881d4
commit 6b3749f696
1 changed files with 6 additions and 6 deletions

View File

@ -13959,12 +13959,12 @@ The expression:
%0 = call float @llvm.fmuladd.f32(%a, %b, %c)
is equivalent to the expression a \* b + c, except that rounding will
not be performed between the multiplication and addition steps if the
code generator fuses the operations. Fusion is not guaranteed, even if
the target platform supports it. If a fused multiply-add is required, the
corresponding :ref:`llvm.fma <int_fma>` intrinsic function should be used
instead. This never sets errno, just as '``llvm.fma.*``'.
is equivalent to the expression a \* b + c, except that it is unspecified
whether rounding will be performed between the multiplication and addition
steps. Fusion is not guaranteed, even if the target platform supports it.
If a fused multiply-add is required, the corresponding
:ref:`llvm.fma <int_fma>` intrinsic function should be used instead.
This never sets errno, just as '``llvm.fma.*``'.
Examples:
"""""""""