[Mlir-commits] [mlir] [mlir][SPIR-V] Lower AND/OR/XOR vector reductions (PR #192293)
Arseniy Obolenskiy
llvmlistbot at llvm.org
Fri Apr 17 03:39:14 PDT 2026
================
@@ -442,10 +442,17 @@ struct VectorReductionPattern final : OpConversionPattern<vector::ReductionOp> {
INT_OR_FLOAT_CASE(MAXUI, SPIRVUMaxOp);
INT_OR_FLOAT_CASE(MAXSI, SPIRVSMaxOp);
- case vector::CombiningKind::AND:
- case vector::CombiningKind::OR:
- case vector::CombiningKind::XOR:
- return rewriter.notifyMatchFailure(reduceOp, "unimplemented");
+#define INT_CASE(kind, iop) \
+ case vector::CombiningKind::kind: \
+ assert(isa<IntegerType>(resultType)); \
+ result = spirv::iop::create(rewriter, loc, resultType, result, next); \
+ break
+
+ INT_CASE(AND, BitwiseAndOp);
+ INT_CASE(OR, BitwiseOrOp);
+ INT_CASE(XOR, BitwiseXorOp);
+
+#undef INT_CASE
----------------
aobolensk wrote:
Done
https://github.com/llvm/llvm-project/pull/192293
More information about the Mlir-commits
mailing list