[Mlir-commits] [mlir] [mlir][spirv] Expand support for TOSA Extended Instruction Set (00100… (PR #176908)
Jakub Kuderski
llvmlistbot at llvm.org
Tue Jan 20 05:59:02 PST 2026
================
@@ -20,6 +20,72 @@ namespace mlir::spirv {
// TOSA Operator Verifiers.
//===----------------------------------------------------------------------===//
+namespace {
+
+template <typename T>
+static LogicalResult verifyConvOp(T op) {
+ ShapedType inputTy = op.getInputType();
+ ShapedType biasTy = op.getBiasType();
+ ShapedType resultTy = op.getResultType();
+
+ Type inputETy = inputTy.getElementType();
+ Type biasETy = biasTy.getElementType();
+ Type resultETy = resultTy.getElementType();
+
+ if (inputETy.isInteger() && !inputETy.isInteger(8) &&
+ !inputETy.isInteger(16)) {
+ return op.emitOpError(
+ "input element type can only be of width 8 or 16 when integer type");
+ }
+
+ if (inputETy.isInteger(8) && !resultETy.isInteger(32)) {
+ return op.emitOpError("expect result type to be i32, got ") << resultETy;
+ }
+
+ if (inputETy.isInteger(16) && !resultETy.isInteger(64)) {
+ return op.emitOpError("expect result type to be i64, got ") << resultETy;
+ }
+
+ if (inputETy.isF16() && !resultETy.isF16()) {
+ return op.emitOpError("expect result type to be f16, got ") << resultETy;
+ }
+
+ if (inputETy.isF32() && !resultETy.isF32()) {
+ return op.emitOpError("expect result type to be f32, got ") << resultETy;
+ }
+
+ if (biasETy != resultETy) {
----------------
kuhar wrote:
Can we check this in ODS?
https://github.com/llvm/llvm-project/pull/176908
More information about the Mlir-commits
mailing list