vector.contract lowers to add/mul contraction regardless of the contraction kind specified. Repro (expected to find compares or mins in the output, but add/mul are generated instead):
On a side note, the modeling of contraction kind by a single selector isn't very clear to me. There are two primitive operations involved: per-element combination (multiplication) and accumulation (summation), which of them is being controlled by the kind?
vector.contract
lowers to add/mul contraction regardless of the contraction kind specified. Repro (expected to find compares or mins in the output, but add/mul are generated instead):https://reviews.llvm.org/D136079 adds a stopgap, but a proper lowering may be desired.
On a side note, the modeling of contraction kind by a single selector isn't very clear to me. There are two primitive operations involved: per-element combination (multiplication) and accumulation (summation), which of them is being controlled by the kind?