[mlir][spirv] Define `spirv.*Dot` integer dot product ops
authorJakub Kuderski <kubak@google.com>
Wed, 7 Dec 2022 01:17:40 +0000 (20:17 -0500)
committerJakub Kuderski <kubak@google.com>
Wed, 7 Dec 2022 01:17:41 +0000 (20:17 -0500)
commit03e6bf5f564c440ffbbac3a7a30015b6ca779afe
treeff0ef478d3f576cb6efc882709d5ede730d3fbe1
parent297e95b865aab8e33bfb792c36ed8c166a2d09d6
[mlir][spirv] Define `spirv.*Dot` integer dot product ops

This covers `SDot`, `SUDot`, and `UDot`. The `*AccSat` version will be
added in a follow-up revision.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D139242
mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntegerDotProductOps.td [new file with mode: 0644]
mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.td
mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
mlir/test/Dialect/SPIRV/IR/availability.mlir
mlir/test/Dialect/SPIRV/IR/integer-dot-product-ops.mlir [new file with mode: 0644]
mlir/test/Dialect/SPIRV/IR/target-env.mlir
mlir/test/lib/Dialect/SPIRV/TestAvailability.cpp
mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
mlir/utils/spirv/define_enum.sh