[PATCH] D146188: [Clang][DOC] Add documentation in for __builtin_flt_rounds and __builtin_set_flt_rounds
xiongji90 via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Mar 19 23:27:05 PDT 2023
xiongji90 updated this revision to Diff 506472.
xiongji90 added a comment.
Combine description of __builtin_flt_rounds and __builtin_set_flt_rounds
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146188/new/
https://reviews.llvm.org/D146188
Files:
clang/docs/LanguageExtensions.rst
clang/docs/ReleaseNotes.rst
Index: clang/docs/ReleaseNotes.rst
===================================================================
--- clang/docs/ReleaseNotes.rst
+++ clang/docs/ReleaseNotes.rst
@@ -272,6 +272,7 @@
- Add ``__builtin_elementwise_log2`` builtin for floating point types only.
- Add ``__builtin_elementwise_exp`` builtin for floating point types only.
- Add ``__builtin_elementwise_exp2`` builtin for floating point types only.
+- Add ``__builtin_set_flt_rounds`` builtin for X86, x86_64, Arm and AArch64 only.
AST Matchers
------------
Index: clang/docs/LanguageExtensions.rst
===================================================================
--- clang/docs/LanguageExtensions.rst
+++ clang/docs/LanguageExtensions.rst
@@ -3246,7 +3246,7 @@
double __builtin_canonicalize(double);
float __builtin_canonicalizef(float);
- long double__builtin_canonicalizel(long double);
+ long double __builtin_canonicalizel(long double);
Returns the platform specific canonical encoding of a floating point
number. This canonicalization is useful for implementing certain
@@ -3254,6 +3254,25 @@
<https://llvm.org/docs/LangRef.html#llvm-canonicalize-intrinsic>`_ for
more information on the semantics.
+``__builtin_flt_rounds`` and ``__builtin_set_flt_rounds``
+---------------------------------------------------------
+
+.. code-block:: c
+
+ int __builtin_flt_rounds();
+ void __builtin_set_flt_rounds(int);
+
+Returns and sets current rounding mode. Encoding of the returned values and
+input parameter is same as the result of FLT_ROUNDS, specified by C standard:
+0 - toward zero
+1 - to nearest, ties to even
+2 - toward positive infinity
+3 - toward negative infinity
+4 - to nearest, ties away from zero
+The effect of passing some other value to ``__builtin_flt_rounds`` is
+implementation-defined. ``__builtin_set_flt_rounds`` is restricted to work on
+X86 and Arm targets currently.
+
String builtins
---------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D146188.506472.patch
Type: text/x-patch
Size: 1942 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230320/227e77d2/attachment.bin>
More information about the cfe-commits
mailing list