//===- CooperativeMatrixOps.cpp - MLIR SPIR-V Cooperative Matrix Ops -----===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // Defines the Cooperative Matrix operations in the SPIR-V dialect. // //===----------------------------------------------------------------------===// #include "SPIRVParsingUtils.h" #include "mlir/Dialect/SPIRV/IR/SPIRVAttributes.h" #include "mlir/Dialect/SPIRV/IR/SPIRVEnums.h" #include "mlir/Dialect/SPIRV/IR/SPIRVOps.h" #include "llvm/ADT/STLExtras.h" #include <cstdint> usingnamespacemlir::spirv::AttrNames; namespace mlir::spirv { static LogicalResult verifyCoopMatrixAccess(Operation *op, Type pointer, Type coopMatrix, spirv::MemoryAccessAttr memoryOperand) { … } //===----------------------------------------------------------------------===// // spirv.KHR.CooperativeMatrixLoad //===----------------------------------------------------------------------===// LogicalResult KHRCooperativeMatrixLoadOp::verify() { … } //===----------------------------------------------------------------------===// // spirv.KHR.CooperativeMatrixStore //===----------------------------------------------------------------------===// LogicalResult KHRCooperativeMatrixStoreOp::verify() { … } //===----------------------------------------------------------------------===// // spirv.KHR.CooperativeMatrixMulAdd //===----------------------------------------------------------------------===// LogicalResult KHRCooperativeMatrixMulAddOp::verify() { … } } // namespace mlir::spirv