[Mlir-commits] [mlir] [mlir][tosa] Add support for block scaled types in matmul_t (PR #207851)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Mon Jul 6 14:47:35 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir

Author: Luke Hutton (lhutton1)

<details>
<summary>Changes</summary>

Builds on https://github.com/llvm/llvm-project/pull/203894 to enable MXFP block scaled fotmats within matmul_t.

---

Patch is 48.87 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/207851.diff


11 Files Affected:

- (modified) mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc (+520-41) 
- (modified) mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td (+7-1) 
- (modified) mlir/lib/Dialect/Tosa/IR/TosaOps.cpp (+16-6) 
- (modified) mlir/lib/Dialect/Tosa/Transforms/TosaDowngrade1p1To1p0.cpp (+3) 
- (modified) mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp (+2) 
- (modified) mlir/lib/Dialect/Tosa/Utils/QuantUtils.cpp (+10-6) 
- (modified) mlir/test/Dialect/Tosa/invalid_extension.mlir (+11) 
- (modified) mlir/test/Dialect/Tosa/ops.mlir (+27) 
- (modified) mlir/test/Dialect/Tosa/tosa-downgrade-1-1-to-1-0.mlir (+10) 
- (modified) mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir (+30) 
- (modified) mlir/test/Dialect/Tosa/verifier.mlir (+10) 


``````````diff
diff --git a/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc b/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
index ef644845ed937..c1fb71110d4a1 100644
--- a/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
+++ b/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
@@ -62,11 +62,14 @@ profileComplianceMap = {
         {{fp32T, fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
     {"tosa.matmul_t",
      {{{Profile::pro_int},
-       {{{i8T, i8T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
+       {{{i8T, i8T, i8T, i8T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
       {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
+       {{{fp16T, fp16T, fp16T, fp16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, fp16T, fp16T, fp16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp32T, fp32T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}}}}},
     {"tosa.max_pool2d",
      {{{Profile::pro_int}, {{{i8T, i8T}, SpecificationVersion::V_1_0}}},
       {{Profile::pro_fp},
@@ -696,52 +699,528 @@ extensionComplianceMap = {
        {{{bf16T, bf16T, bf16T, bf16T, fp32T}, SpecificationVersion::V_1_0}}}}},
     {"tosa.matmul_t",
      {{{Extension::int16},
-       {{{i16T, i16T, i48T}, SpecificationVersion::V_1_1_DRAFT}}},
+       {{{i16T, i16T, i16T, i16T, i48T}, SpecificationVersion::V_1_1_DRAFT}}},
       {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e4m3T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e4m3T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e4m3T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp8e4m3T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
+       {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e4m3T, fp16T, fp8e4m3T, fp16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, fp8e4m3T, fp16T, fp8e4m3T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e4m3T, fp16T, fp8e4m3T, fp16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, fp8e4m3T, fp16T, fp8e4m3T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp32T, fp8e4m3T, fp32T, fp8e4m3T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}}},
       {{Extension::fp8e4m3, Extension::fp8e5m2},
-       {{{fp8e4m3T, fp8e5m2T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e5m2T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp32T}, SpecificationVersion::V_1_1_DRAFT}},
+       {{{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
        allOf},
       {{Extension::bf16, Extension::fp8e4m3},
-       {{{fp8e4m3T, bf16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e4m3T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bf16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e4m3T, fp32T}, SpecificationVersion::V_1_1_DRAFT}},
+       {{{fp8e4m3T, bf16T, fp8e4m3T, bf16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bf16T, fp8e4m3T, bf16T, fp8e4m3T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e4m3T, bf16T, fp8e4m3T, bf16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bf16T, fp8e4m3T, bf16T, fp8e4m3T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3},
+       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e5m2},
+       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp8e4m3T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp8e4m3T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e3m2},
+       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp8e4m3T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp8e4m3T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e2m3},
+       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp8e4m3T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp8e4m3T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp4e2m1},
+       {{{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, fp8e4m3T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, fp8e4m3T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_int8},
+       {{{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp8e4m3T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp8e4m3T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
        allOf},
       {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e5m2T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e5m2T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e5m2T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp8e5m2T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
+       {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, fp16T, fp8e5m2T, fp16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, fp8e5m2T, fp16T, fp8e5m2T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, fp16T, fp8e5m2T, fp16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, fp32T, fp8e5m2T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, fp8e5m2T, fp16T, fp8e5m2T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp32T, fp8e5m2T, fp32T, fp8e5m2T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}}},
       {{Extension::bf16, Extension::fp8e5m2},
-       {{{fp8e5m2T, bf16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e5m2T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bf16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e5m2T, fp32T}, SpecificationVersion::V_1_1_DRAFT}},
+       {{{fp8e5m2T, bf16T, fp8e5m2T, bf16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bf16T, fp8e5m2T, bf16T, fp8e5m2T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, bf16T, fp8e5m2T, bf16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bf16T, fp8e5m2T, bf16T, fp8e5m2T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e4m3},
+       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp8e5m2T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp8e5m2T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e5m2},
+       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e3m2},
+       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, fp8e5m2T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, fp8e5m2T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e2m3},
+       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp8e5m2T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp8e5m2T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp4e2m1},
+       {{{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, fp8e5m2T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, fp8e5m2T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_int8},
+       {{{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, fp8e5m2T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, fp8e5m2T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
        allOf},
       {{Extension::bf16},
-       {{{fp16T, bf16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bf16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bf16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bf16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bf16T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
+       {{{fp16T, bf16T, fp16T, bf16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bf16T, fp16T, bf16T, fp16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bf16T, bf16T, bf16T, bf16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, bf16T, fp16T, bf16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bf16T, fp16T, bf16T, fp16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bf16T, bf16T, bf16T, bf16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bf16T, fp32T, bf16T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp32T, bf16T, fp32T, bf16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bf16T, bf16T, bf16T, bf16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}}},
+      {{Extension::mx_common, Extension::mx_fp8e4m3},
+       {{{fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp32T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::mx_common, Extension::mx_fp8e5m2},
+       {{{fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp32T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::mx_common, Extension::mx_fp6e3m2},
+       {{{fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp32T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::mx_common, Extension::mx_fp6e2m3},
+       {{{fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp32T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::mx_common, Extension::mx_fp4e2m1},
+       {{{fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp32T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::mx_common, Extension::mx_int8},
+       {{{fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp16T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp32T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp16T, fp32T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{bs32_fp8ue...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/207851


More information about the Mlir-commits mailing list