diff --git a/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td b/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td --- a/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td +++ b/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td @@ -4533,4 +4533,28 @@ string extendedInstSetName = setName; } +// Base classes for SPIR-V vendor ops. These have opcode in the form of +// Op, e.g., OpCooperativeMatrixStoreNV. +class SPV_VendorOp traits = []> : + SPV_Op { + string spirvOpName = "Op" # mnemonic # vendorName; +} + +class SPV_ExtVendorOp traits = []> : + SPV_VendorOp { +} + +class SPV_KhrVendorOp traits = []> : + SPV_VendorOp { +} + +class SPV_IntelVendorOp traits = []> : + SPV_VendorOp { +} + +class SPV_NvVendorOp traits = []> : + SPV_VendorOp { +} + #endif // MLIR_DIALECT_SPIRV_IR_BASE