[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