[PATCH] D139349: LangRef: Clarify semantics of lround/llround and lrint/llrint

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 5 11:15:32 PST 2022


arsenm updated this revision to Diff 480171.
arsenm added a comment.

Rephrase


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139349/new/

https://reviews.llvm.org/D139349

Files:
  llvm/docs/LangRef.rst


Index: llvm/docs/LangRef.rst
===================================================================
--- llvm/docs/LangRef.rst
+++ llvm/docs/LangRef.rst
@@ -15082,8 +15082,10 @@
 Semantics:
 """"""""""
 
-This function returns the same values as the libm ``lround``
-functions would, but without setting errno.
+This function returns the same values as the libm ``lround`` functions
+would, but without setting errno. If the rounded value is too large to
+be stored in the result type, the return value is a non-deterministic
+value (equivalent to `freeze poison`).
 
 '``llvm.llround.*``' Intrinsic
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -15118,7 +15120,9 @@
 """"""""""
 
 This function returns the same values as the libm ``llround``
-functions would, but without setting errno.
+functions would, but without setting errno. If the rounded value is
+too large to be stored in the result type, the return value is a
+non-deterministic value (equivalent to `freeze poison`).
 
 '``llvm.lrint.*``' Intrinsic
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -15159,8 +15163,10 @@
 Semantics:
 """"""""""
 
-This function returns the same values as the libm ``lrint``
-functions would, but without setting errno.
+This function returns the same values as the libm ``lrint`` functions
+would, but without setting errno. If the rounded value is too large to
+be stored in the result type, the return value is a non-deterministic
+value (equivalent to `freeze poison`).
 
 '``llvm.llrint.*``' Intrinsic
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -15194,8 +15200,10 @@
 Semantics:
 """"""""""
 
-This function returns the same values as the libm ``llrint``
-functions would, but without setting errno.
+This function returns the same values as the libm ``llrint`` functions
+would, but without setting errno. If the rounded value is too large to
+be stored in the result type, the return value is a non-deterministic
+value (equivalent to `freeze poison`).
 
 Bit Manipulation Intrinsics
 ---------------------------


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D139349.480171.patch
Type: text/x-patch
Size: 1986 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221205/1d809c6b/attachment.bin>


More information about the llvm-commits mailing list