[Mlir-commits] [mlir] [mlir][tosa] Switch matmul_t output to bf16 from fp16 (PR #212970)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Thu Jul 30 02:27:03 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir-tosa

Author: Jeremy Johnson (jjohnson-arm)

<details>
<summary>Changes</summary>

Note that this implements the TOSA specification change: https://github.com/arm/tosa-specification/pull/67

---

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


4 Files Affected:

- (modified) mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc (+271-217) 
- (modified) mlir/test/Dialect/Tosa/invalid_extension.mlir (+4-4) 
- (modified) mlir/test/Dialect/Tosa/ops.mlir (+3-3) 
- (modified) mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir (+3-3) 


``````````diff
diff --git a/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc b/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
index d08cd7453bea0..cf02420fb67ea 100644
--- a/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
+++ b/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
@@ -72,8 +72,6 @@ profileComplianceMap = {
          SpecificationVersion::V_1_1_DRAFT},
         {{fp32T, fp16T, fp32T, fp16T, fp32T},
          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",
@@ -1682,13 +1680,7 @@ extensionComplianceMap = {
      {{{Extension::int16},
        {{{i16T, i16T, i16T, i16T, i48T}, SpecificationVersion::V_1_1_DRAFT}}},
       {{Extension::fp8e4m3},
-       {{{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},
+        {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T},
          SpecificationVersion::V_1_1_DRAFT},
         {{fp8e4m3T, fp16T, fp8e4m3T, fp16T, fp32T},
          SpecificationVersion::V_1_1_DRAFT},
@@ -1698,94 +1690,108 @@ extensionComplianceMap = {
          SpecificationVersion::V_1_1_DRAFT},
         {{fp32T, fp8e4m3T, fp32T, fp8e4m3T, fp32T},
          SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3, Extension::fp8e5m2},
-       {{{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T},
+      {{Extension::fp8e4m3, Extension::fp8e5m2, Extension::bf16},
+       {{{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp32T},
+        {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e4m3, Extension::fp8e5m2},
+       {{{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, fp8e4m3T, bf16T, fp16T},
+       {{{fp8e4m3T, bf16T, fp8e4m3T, bf16T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e4m3T, bf16T, fp8e4m3T, fp16T},
+        {{bf16T, fp8e4m3T, bf16T, fp8e4m3T, bf16T},
          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},
+        {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e4m3T, fp16T, fp8e4m3T, fp16T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, fp8e4m3T, fp16T, fp8e4m3T, bf16T},
          SpecificationVersion::V_1_1_DRAFT}},
        allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp16T},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3, Extension::bf16},
+       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp32T},
+        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3},
+       {{{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},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e5m2, Extension::bf16},
+       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp32T},
+        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp8e4m3T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e5m2},
+       {{{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},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e3m2, Extension::bf16},
+       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp8e4m3T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp32T},
+        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp8e4m3T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e3m2},
+       {{{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},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e2m3, Extension::bf16},
+       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp32T},
+        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp8e4m3T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e2m3},
+       {{{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},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp4e2m1, Extension::bf16},
+       {{{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, fp32T},
+        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, fp8e4m3T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp4e2m1},
+       {{{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},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_int8, Extension::bf16},
+       {{{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp8e4m3T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp32T},
+        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp8e4m3T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_int8},
+       {{{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, 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},
+       {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T},
          SpecificationVersion::V_1_1_DRAFT},
         {{fp8e5m2T, fp16T, fp8e5m2T, fp16T, fp32T},
          SpecificationVersion::V_1_1_DRAFT},
@@ -1796,81 +1802,99 @@ extensionComplianceMap = {
         {{fp32T, fp8e5m2T, fp32T, fp8e5m2T, fp32T},
          SpecificationVersion::V_1_1_DRAFT}}},
       {{Extension::bf16, Extension::fp8e5m2},
-       {{{fp8e5m2T, bf16T, fp8e5m2T, bf16T, fp16T},
+       {{{fp8e5m2T, bf16T, fp8e5m2T, bf16T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e5m2T, bf16T, fp8e5m2T, fp16T},
+        {{bf16T, fp8e5m2T, bf16T, fp8e5m2T, bf16T},
          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},
+        {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp8e5m2T, fp16T, fp8e5m2T, fp16T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT},
+        {{fp16T, fp8e5m2T, fp16T, fp8e5m2T, bf16T},
          SpecificationVersion::V_1_1_DRAFT}},
        allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp16T},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e4m3, Extension::bf16},
+       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp8e5m2T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp32T},
+        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp8e5m2T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e4m3},
+       {{{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},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e5m2, Extension::bf16},
+       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, fp32T},
+        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e5m2},
+       {{{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},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e3m2, Extension::bf16},
+       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, fp32T},
+        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, fp8e5m2T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e3m2},
+       {{{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},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e2m3, Extension::bf16},
+       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp8e5m2T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp32T},
+        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp8e5m2T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e2m3},
+       {{{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},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp4e2m1, Extension::bf16},
+       {{{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, fp32T},
+        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, fp8e5m2T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp4e2m1},
+       {{{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},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_int8, Extension::bf16},
+       {{{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, fp32T},
+        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, fp8e5m2T, bf16T},
+         SpecificationVersion::V_1_1_DRAFT}},
+       allOf},
+      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_int8},
+       {{{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, bf16T, fp16T},
+       {{{fp16T, bf16T, fp16T, bf16T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp16T, bf16T, fp16T, fp16T},
+        {{bf16T, fp16T, bf16T, fp16T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bf16T, bf16T, bf16T, fp16T},
+        {{bf16T, bf16T, bf16T, bf16T, bf16T},
          SpecificationVersion::V_1_1_DRAFT},
         {{fp16T, bf16T, fp16T, bf16T, fp32T},
          SpecificationVersion::V_1_1_DRAFT},
@@ -1883,13 +1907,7 @@ extensionComplianceMap = {
         {{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},
+       {{{fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T},
          SpecificationVersion::V_1_1_DRAFT},
         {{fp32T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T},
          SpecificationVersion::V_1_1_DRAFT},
@@ -1901,13 +1919,7 @@ extensionComplianceMap = {
          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},
+       {{{fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T},
          SpecificationVersion::V_1_1_DRAFT},
         {{fp32T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T},
          SpecificationVersion::V_1_1_DRAFT},
@@ -1919,13 +1931,7 @@ extensionComplianceMap = {
          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},
+       {{{fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T},
          SpecificationVersion::V_1_1_DRAFT},
         {{fp32T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T},
          SpecificationVersion::V_1_1_DRAFT},
@@ -1937,13 +1943,7 @@ extensionComplianceMap = {
          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},
+       {{{fp16T, bs32_fp8...
[truncated]

``````````

</details>


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


More information about the Mlir-commits mailing list