================
@@ -926,27 +926,31 @@ Example:
 
 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 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
- ET __builtin_reduce_or(VT a)            \|                                    
                                 integer types
- ET __builtin_reduce_xor(VT a)           ^                                     
                                 integer types
- ET __builtin_reduce_maximum(VT a)       return the largest element of the 
vector. Follows IEEE 754-2019        floating point types
-                                         semantics, see `LangRef
-                                         
<http://llvm.org/docs/LangRef.html#i-fminmax-family>`_
-                                         for the comparison.
- ET __builtin_reduce_minimum(VT a)       return the smallest element of the 
vector. Follows IEEE 754-2019       floating point types
-                                         semantics, see `LangRef
-                                         
<http://llvm.org/docs/LangRef.html#i-fminmax-family>`_
-                                         for the comparison.
-======================================= 
====================================================================== 
==================================
+============================================== 
====================================================================== 
==================================
+         Name                                   Operation                      
                                        Supported element types
+============================================== 
====================================================================== 
==================================
+ 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
+ ET __builtin_reduce_or(VT a)                   \|                             
                                        integer types
+ ET __builtin_reduce_xor(VT a)                  ^                              
                                        integer types
+ ET __builtin_reduce_maximum(VT a)              return the largest element of 
the vector. Follows IEEE 754-2019        floating point types
+                                                semantics, see `LangRef
+                                                
<http://llvm.org/docs/LangRef.html#i-fminmax-family>`_
+                                                for the comparison.
+ ET __builtin_reduce_minimum(VT a)              return the smallest element of 
the vector. Follows IEEE 754-2019       floating point types
+                                                semantics, see `LangRef
+                                                
<http://llvm.org/docs/LangRef.html#i-fminmax-family>`_
+                                                for the comparison.
+ ET __builtin_reduce_assoc_fadd(VT a)           floating-point associative 
fadd reduction.                              floating point types
+ ET __builtin_reduce_in_order_fadd(VT a, ET s)  in order floating-point fadd 
reduction, initializing the accumulator    floating point types
----------------
MacDue wrote:

I think it already does:
```
in order floating-point fadd reduction, initializing the accumulator with 
`(ET)s`, then adding each lane of the `a` in-order, starting from lane 0.
```

https://github.com/llvm/llvm-project/pull/176160
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to