diff options
author | c8ef <c8ef@outlook.com> | 2024-11-14 09:28:51 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-14 09:28:51 +0800 |
commit | 6e614e11df6a152082b51a1b18332cb8730a4032 (patch) | |
tree | aa92044edc5f6dd5280adbb90f7ccfff15de051b /clang/docs/LanguageExtensions.rst | |
parent | aed4356252df2a4ab2e430d77a29bdb3dfd874fc (diff) | |
download | llvm-6e614e11df6a152082b51a1b18332cb8730a4032.zip llvm-6e614e11df6a152082b51a1b18332cb8730a4032.tar.gz llvm-6e614e11df6a152082b51a1b18332cb8730a4032.tar.bz2 |
[clang][docs] Revise documentation for `__builtin_reduce_(max|min)`. (#114637)
The function operation described in the document did not match its
actual semantic meaning, this patch resolved the problem.
Diffstat (limited to 'clang/docs/LanguageExtensions.rst')
-rw-r--r-- | clang/docs/LanguageExtensions.rst | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/clang/docs/LanguageExtensions.rst b/clang/docs/LanguageExtensions.rst index 0998e6b..ff8e841 100644 --- a/clang/docs/LanguageExtensions.rst +++ b/clang/docs/LanguageExtensions.rst @@ -745,12 +745,10 @@ Let ``VT`` be a vector type and ``ET`` the element type of ``VT``. ======================================= ====================================================================== ================================== Name Operation Supported element types ======================================= ====================================================================== ================================== - ET __builtin_reduce_max(VT a) return x or y, whichever is larger; If exactly one argument is integer and floating point types - a NaN, return the other argument. If both arguments are NaNs, - fmax() return a NaN. - ET __builtin_reduce_min(VT a) return x or y, whichever is smaller; If exactly one argument integer and floating point types - is a NaN, return the other argument. If both arguments are - NaNs, fmax() return a NaN. + ET __builtin_reduce_max(VT a) return the largest element of the vector. The floating point result integer and floating point types + will always be a number unless all elements of the vector are NaN. + ET __builtin_reduce_min(VT a) return the smallest element of the vector. The floating point result integer and floating point types + will always be a number unless all elements of the vector are NaN. ET __builtin_reduce_add(VT a) \+ integer types ET __builtin_reduce_mul(VT a) \* integer types ET __builtin_reduce_and(VT a) & integer types |