Halide 19.0.0
Halide compiler and libraries
|
Horizontally reduce a vector to a scalar or narrower vector using the given commutative and associative binary operator. More...
#include <IR.h>
Public Types | |
enum | Operator { Add , SaturatingAdd , Mul , Min , Max , And , Or } |
Static Public Member Functions | |
static Expr | make (Operator op, Expr vec, int lanes) |
Public Attributes | |
Expr | value |
Operator | op |
Public Attributes inherited from Halide::Internal::BaseExprNode | |
Type | type |
Public Attributes inherited from Halide::Internal::IRNode | |
RefCount | ref_count |
These classes are all managed with intrusive reference counting, so we also track a reference count. | |
IRNodeType | node_type |
Each IR node subclass has a unique identifier. | |
Static Public Attributes | |
static const IRNodeType | _node_type = IRNodeType::VectorReduce |
Additional Inherited Members | |
Public Member Functions inherited from Halide::Internal::ExprNode< VectorReduce > | |
void | accept (IRVisitor *v) const override |
We use the visitor pattern to traverse IR nodes throughout the compiler, so we have a virtual accept method which accepts visitors. | |
Expr | mutate_expr (IRMutator *v) const override |
ExprNode () | |
~ExprNode () override=default | |
Public Member Functions inherited from Halide::Internal::BaseExprNode | |
BaseExprNode (IRNodeType t) | |
Public Member Functions inherited from Halide::Internal::IRNode | |
IRNode (IRNodeType t) | |
virtual | ~IRNode ()=default |
Horizontally reduce a vector to a scalar or narrower vector using the given commutative and associative binary operator.
The reduction factor is dictated by the number of lanes in the input and output types. Groups of adjacent lanes are combined. The number of lanes in the input type must be a divisor of the number of lanes of the output type.
Expr Halide::Internal::VectorReduce::value |
Definition at line 993 of file IR.h.
Referenced by Halide::Internal::IRMatcher::VectorReduceOp< A, B, reduce_op >::match().
Operator Halide::Internal::VectorReduce::op |
Definition at line 994 of file IR.h.
Referenced by Halide::Internal::IRMatcher::VectorReduceOp< A, B, reduce_op >::match().
|
static |
Definition at line 998 of file IR.h.
Referenced by Halide::Internal::IRMatcher::VectorReduceOp< A, B, reduce_op >::match().