[mlir] Allow vector.contract to have mixed types operands
authorThomas Raoux <thomasraoux@google.com>
Sat, 20 Jun 2020 00:08:57 +0000 (17:08 -0700)
committerThomas Raoux <thomasraoux@google.com>
Sat, 20 Jun 2020 00:08:57 +0000 (17:08 -0700)
commite4bc08f0121e4bf152592679a64af14c7cbfdba7
treeccd2aff5b3f1fd7885907bc0b1cf75c4f8f6403e
parentc310bf8256f83f365921562cebc5e4c9aec8e87e
[mlir] Allow vector.contract to have mixed types operands

Allow lhs and rhs to have different type than accumulator/destination. Some
hardware like GPUs support natively operations like uint8xuint8xuint32.

Differential Revision: https://reviews.llvm.org/D82069
mlir/include/mlir/Dialect/Vector/VectorOps.td
mlir/lib/Dialect/Vector/VectorTransforms.cpp
mlir/test/Dialect/Vector/invalid.mlir
mlir/test/Dialect/Vector/ops.mlir