[Mlir-commits] [mlir] [mlir][tosa] Move profile compliance metadata to static constexpr tables (PR #232857)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Fri Oct 16 11:56:10 PDT 2026


https://github.com/DeanSturtevant1 updated https://github.com/llvm/llvm-project/pull/232857

>From 09b6825b6ac3f801ad6795d503fdfcb4c9c6b56d Mon Sep 17 00:00:00 2001
From: Dean Sturtevant <dsturtevant at google.com>
Date: Fri, 16 Oct 2026 12:18:39 -0400
Subject: [PATCH 1/4] [mlir][tosa] Move profile compliance metadata to static
 constexpr tables

`TosaProfileCompliance::TosaProfileCompliance()` previously populated two
`std::unordered_map` instances with 169 operation entries and over 2,300
nested `SmallVector` objects at runtime. Compiling that constructor for
AArch64 triggered quadratic CFG checks during instruction selection and
register allocation at `-O1`, and quadratic candidate merging in the
machine outliner under `LLVM_ATTRIBUTE_MINSIZE` (`-Os`), causing
compilation of `TosaProfileCompliance.cpp` to take over 400 seconds.

Replace runtime `mlir::TypeID` fields in `TypeInfo` with a
`constexpr`-compatible `ComplianceTypeKind` enum, switch
`VersionedTypeInfo` and `OpComplianceInfo` from `SmallVector` to
`ArrayRef`, and emit deduplicated `static constexpr` arrays in
`TosaComplianceData.h.inc`. Look up per-operation compliance entries with
`llvm::lower_bound` over sorted tables instead of copying the entire
compliance map by value on every operation check, and remove the
`LLVM_ATTRIBUTE_MINSIZE` / `optnone` constructor workaround.

AArch64 compilation time for `TosaProfileCompliance.cpp` drops from over
400 seconds to ~4.2 seconds at `-O1` and ~4.5 seconds at `-Os`, while
eliminating heap allocations during `TosaValidation` pass initialization.

Assisted-by: Antigravity / Gemini
---
 .../Dialect/Tosa/IR/TosaComplianceData.h.inc  | 9290 +++++------------
 .../Dialect/Tosa/IR/TosaProfileCompliance.h   |  123 +-
 .../Tosa/Transforms/TosaProfileCompliance.cpp |  217 +-
 3 files changed, 3095 insertions(+), 6535 deletions(-)

diff --git a/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc b/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
index 7ef07772b713ea..e5b4f9eaad8a77 100644
--- a/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
+++ b/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
@@ -1,6402 +1,2900 @@
 // The profile-based compliance content below is auto-generated by the script
 // `tools/genspec.py` in https://github.com/arm/tosa-specification
-profileComplianceMap = {
-    {"tosa.argmax",
-     {{{Profile::pro_int}, {{{i8T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, i32T}, SpecificationVersion::V_1_0},
-        {{fp32T, i32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.argmin",
-     {{{Profile::pro_int}, {{{i8T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Profile::pro_fp},
-       {{{fp16T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.avg_pool2d",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i8T, i32T, i8T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp16T, fp16T, fp16T, fp32T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.avg_pool2d_adaptive",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i8T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp16T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.conv2d",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_0},
-        {{fp16T, fp16T, fp32T, fp16T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp32T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.conv3d",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_0},
-        {{fp16T, fp16T, fp32T, fp16T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp32T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.depthwise_conv2d",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_0}}}}},
-    {"tosa.matmul",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i8T, i8T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp16T, fp16T, fp16T, fp16T, fp32T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.matmul_t",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i8T, i8T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp16T, fp16T, fp16T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp16T, fp32T, 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},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.max_pool2d_adaptive",
-     {{{Profile::pro_int}, {{{i8T, i8T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.transpose_conv2d",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_0},
-        {{fp16T, fp16T, fp32T, fp16T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp32T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.clamp",
-     {{{Profile::pro_int}, {{{i8T, i8T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.erf",
-     {{{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.sigmoid",
-     {{{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.tanh",
-     {{{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.add",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
-       anyOf},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.arithmetic_right_shift",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.bitwise_and",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.bitwise_or",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.bitwise_xor",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.intdiv",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
-       anyOf}}},
-    {"tosa.logical_and",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf}}},
-    {"tosa.logical_left_shift",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
-       anyOf}}},
-    {"tosa.logical_right_shift",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
-       anyOf}}},
-    {"tosa.logical_or",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf}}},
-    {"tosa.logical_xor",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf}}},
-    {"tosa.maximum",
-     {{{Profile::pro_int}, {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.minimum",
-     {{{Profile::pro_int}, {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.mul",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i32T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_int, Profile::pro_fp},
-       {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
-       anyOf},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.pow",
-     {{{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.sub",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
-       anyOf},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.table",
-     {{{Profile::pro_int}, {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.abs",
-     {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.bitwise_not",
-     {{{Profile::pro_int},
-       {{{i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.ceil",
-     {{{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.clz",
-     {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.cos",
-     {{{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.exp",
-     {{{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.floor",
-     {{{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.log",
-     {{{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.logical_not",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf}}},
-    {"tosa.negate",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.reciprocal",
-     {{{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.rsqrt",
-     {{{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.sin",
-     {{{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.select",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf},
-      {{Profile::pro_int},
-       {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.equal",
-     {{{Profile::pro_int},
-       {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.greater",
-     {{{Profile::pro_int},
-       {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.greater_equal",
-     {{{Profile::pro_int},
-       {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.reduce_all",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf}}},
-    {"tosa.reduce_any",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf}}},
-    {"tosa.reduce_max",
-     {{{Profile::pro_int},
-       {{{i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.reduce_min",
-     {{{Profile::pro_int},
-       {{{i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.reduce_product",
-     {{{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.reduce_sum",
-     {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.concat",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf},
-      {{Profile::pro_int},
-       {{{i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0},
-        {{i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.pad",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf},
-      {{Profile::pro_int},
-       {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0},
-        {{i8T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.reshape",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf},
-      {{Profile::pro_int},
-       {{{i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0},
-        {{i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.reverse",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf},
-      {{Profile::pro_int},
-       {{{i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0},
-        {{i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.slice",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf},
-      {{Profile::pro_int},
-       {{{i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0},
-        {{i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.tile",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf},
-      {{Profile::pro_int},
-       {{{i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0},
-        {{i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.transpose",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT}, SpecificationVersion::V_1_0}},
-       anyOf},
-      {{Profile::pro_int},
-       {{{i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0},
-        {{i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.gather",
-     {{{Profile::pro_int},
-       {{{i8T, i32T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i32T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{i8T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, i32T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, i32T, fp32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp, Profile::pro_int},
-       {{{boolT, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT},
-        {{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT}},
-       anyOf}}},
-    {"tosa.row_gather",
-     {{{Profile::pro_int},
-       {{{boolT, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT},
-        {{i8T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i64T, i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{boolT, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT},
-        {{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Profile::pro_fp},
-       {{{boolT, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT},
-        {{i8T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i64T, i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, i32T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, i32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{boolT, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT},
-        {{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, i64T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, i64T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.row_gather_block_scaled",
-     {{{Profile::pro_int},
-       {{{i8T, i32T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i32T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Profile::pro_fp},
-       {{{i8T, i32T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i32T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, i32T, i32T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, i32T, i32T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Profile::pro_fp, Profile::pro_int},
-       {{{boolT, i32T, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT},
-        {{i8T, i64T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i64T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i64T, i64T, i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{boolT, i64T, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT}},
-       anyOf}}},
-    {"tosa.scatter",
-     {{{Profile::pro_int},
-       {{{i8T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{i8T, i32T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i32T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, i32T, fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, i32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp, Profile::pro_int},
-       {{{boolT, i32T, boolT, boolT}, SpecificationVersion::V_1_1_DRAFT},
-        {{i8T, i64T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i64T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}},
-       anyOf}}},
-    {"tosa.resize",
-     {{{Profile::pro_int},
-       {{{i8T, i32T}, SpecificationVersion::V_1_0},
-        {{i8T, i8T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.cast",
-     {{{Profile::pro_int},
-       {{{boolT, i8T}, SpecificationVersion::V_1_0},
-        {{boolT, i16T}, SpecificationVersion::V_1_0},
-        {{boolT, i32T}, SpecificationVersion::V_1_0},
-        {{i8T, boolT}, SpecificationVersion::V_1_0},
-        {{i8T, i16T}, SpecificationVersion::V_1_0},
-        {{i8T, i32T}, SpecificationVersion::V_1_0},
-        {{i16T, boolT}, SpecificationVersion::V_1_0},
-        {{i16T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i32T}, SpecificationVersion::V_1_0},
-        {{i32T, boolT}, SpecificationVersion::V_1_0},
-        {{i32T, i8T}, SpecificationVersion::V_1_0},
-        {{i32T, i16T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{boolT, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i8T, fp16T}, SpecificationVersion::V_1_0},
-        {{i8T, fp32T}, SpecificationVersion::V_1_0},
-        {{i16T, fp16T}, SpecificationVersion::V_1_0},
-        {{i16T, fp32T}, SpecificationVersion::V_1_0},
-        {{i32T, fp16T}, SpecificationVersion::V_1_0},
-        {{i32T, fp32T}, SpecificationVersion::V_1_0},
-        {{fp16T, i8T}, SpecificationVersion::V_1_0},
-        {{fp16T, i16T}, SpecificationVersion::V_1_0},
-        {{fp16T, i32T}, SpecificationVersion::V_1_0},
-        {{fp16T, fp32T}, SpecificationVersion::V_1_0},
-        {{fp32T, i8T}, SpecificationVersion::V_1_0},
-        {{fp32T, i16T}, SpecificationVersion::V_1_0},
-        {{fp32T, i32T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, boolT}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.rescale",
-     {{{Profile::pro_int},
-       {{{i8T, i8T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i8T, i8T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T, i32T, i32T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.const",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT}, SpecificationVersion::V_1_0},
-        {{i8T}, SpecificationVersion::V_1_0},
-        {{i16T}, SpecificationVersion::V_1_0},
-        {{i32T}, SpecificationVersion::V_1_0}},
-       anyOf},
-      {{Profile::pro_fp},
-       {{{fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.identity",
-     {{{Profile::pro_int, Profile::pro_fp},
-       {{{boolT, boolT}, SpecificationVersion::V_1_0},
-        {{i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i32T, i32T}, SpecificationVersion::V_1_0}},
-       anyOf},
-      {{Profile::pro_fp},
-       {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.variable",
-     {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.variable_write",
-     {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.variable_read",
-     {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
-      {{Profile::pro_fp},
-       {{{fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.custom", {{{Profile::pro_int, Profile::pro_fp}, {}, anyOf}}},
-    {"tosa.const_shape", {{{Profile::pro_int, Profile::pro_fp}, {}, anyOf}}},
+
+static constexpr TypeInfo kComplianceTypeInfos[] = {
+    i32T, i32T, fp16T, fp16T, fp32T, fp32T, i32T, i32T,
+    i32T, fp16T, fp16T, fp16T, fp32T, fp32T, fp32T, i8T,
+    i32T, fp16T, i32T, fp32T, i32T, fp16T, i64T, fp32T,
+    i64T, i8T, i8T, i8T, i16T, i16T, i16T, i8T,
+    i8T, i8T, i32T, i8T, fp16T, fp16T, fp16T, fp16T,
+    fp16T, fp16T, fp16T, fp16T, fp32T, fp16T, fp32T, fp32T,
+    fp32T, fp32T, fp32T, i8T, i8T, i16T, i16T, boolT,
+    i8T, boolT, i16T, boolT, i32T, i8T, boolT, i8T,
+    i16T, i16T, boolT, i16T, i8T, i16T, i32T, i32T,
+    boolT, i32T, i8T, i32T, i16T, boolT, fp32T, i8T,
+    fp16T, i8T, fp32T, i16T, fp16T, i16T, fp32T, i32T,
+    fp16T, i32T, fp32T, fp16T, i8T, fp16T, i16T, fp16T,
+    fp32T, fp32T, i8T, fp32T, i16T, fp32T, fp16T, fp32T,
+    boolT, boolT, boolT, boolT, i8T, i16T, i32T, fp16T,
+    fp32T, i8T, i8T, i32T, i8T, i8T, i32T, i32T,
+    fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T,
+    fp16T, fp16T, fp16T, fp16T, fp32T, fp16T, fp32T, fp32T,
+    fp32T, fp32T, fp32T, fp32T, fp32T, fp16T, fp16T, fp32T,
+    fp16T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T, fp16T,
+    fp32T, fp32T, fp32T, fp32T, fp16T, fp32T, fp32T, fp16T,
+    fp32T, fp32T, i32T, i32T, boolT, fp16T, fp16T, boolT,
+    fp32T, fp32T, boolT, i8T, i32T, i8T, i16T, i32T,
+    i16T, fp16T, i32T, fp16T, fp32T, i32T, fp32T, boolT,
+    i32T, boolT, i8T, i64T, i8T, i16T, i64T, i16T,
+    i32T, i64T, i32T, boolT, boolT, boolT, i8T, i8T,
+    i8T, i8T, i32T, fp16T, fp16T, fp16T, fp16T, fp32T,
+    fp16T, fp32T, fp16T, fp32T, fp32T, fp32T, fp16T, fp32T,
+    fp16T, fp32T, i8T, i8T, i32T, i16T, i16T, i32T,
+    i8T, i8T, i8T, i8T, i16T, i16T, i16T, i16T,
+    i32T, i32T, i32T, i32T, fp16T, fp16T, fp16T, fp16T,
+    fp32T, fp32T, fp32T, fp32T, i8T, i8T, i16T, i16T,
+    i8T, i8T, i32T, i32T, i16T, i16T, i8T, i8T,
+    i16T, i16T, i32T, i32T, i32T, i32T, i8T, i8T,
+    i32T, i32T, i16T, i16T, i64T, i32T, i64T, boolT,
+    i64T, boolT, i64T, i64T, i64T, fp16T, i64T, fp16T,
+    fp32T, i64T, fp32T, i8T, i32T, i32T, i8T, i16T,
+    i32T, i32T, i16T, fp16T, i32T, i32T, fp16T, fp32T,
+    i32T, i32T, fp32T, boolT, i32T, i32T, boolT, i8T,
+    i64T, i32T, i8T, i16T, i64T, i32T, i16T, i32T,
+    i64T, i32T, i32T, i64T, i64T, i32T, i64T, boolT,
+    i64T, i32T, boolT, i8T, i32T, i8T, i8T, i16T,
+    i32T, i16T, i16T, fp16T, i32T, fp16T, fp16T, fp32T,
+    i32T, fp32T, fp32T, boolT, i32T, boolT, boolT, i8T,
+    i64T, i8T, i8T, i16T, i64T, i16T, i16T, i64T,
+    i64T, bf16T, bf16T, bf16T, bf16T, bf16T, i8T, i64T,
+    i16T, i64T, i32T, i64T, fp8e4m3T, i32T, fp8e5m2T, i32T,
+    bf16T, i32T, fp8e4m3T, i64T, fp8e5m2T, i64T, bf16T, i64T,
+    i16T, i16T, i16T, i32T, i16T, fp8e4m3T, fp8e4m3T, fp8e4m3T,
+    fp16T, fp8e4m3T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, bf16T,
+    bf16T, bf16T, fp32T, bf16T, i8T, bf16T, i16T, bf16T,
+    i32T, bf16T, bf16T, i8T, bf16T, i16T, bf16T, fp32T,
+    fp32T, bf16T, i64T, i32T, boolT, i64T, i64T, boolT,
+    bf16T, fp8e4m3T, fp8e4m3T, bf16T, bf16T, fp8e5m2T, fp8e5m2T, bf16T,
+    fp8e4m3T, fp16T, fp8e4m3T, fp32T, fp16T, fp8e4m3T, fp32T, fp8e4m3T,
+    fp8e5m2T, fp16T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, fp32T, fp8e5m2T,
+    fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T,
+    fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T,
+    fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp8e4m3T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp8e4m3T,
+    fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T,
+    fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T,
+    fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp8e5m2T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp8e5m2T,
+    fp16T, bs32_fp8ue8m0_fp8e4m3T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp32T,
+    fp16T, bs32_fp8ue8m0_fp8e5m2T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp32T,
+    fp16T, bs32_fp8ue8m0_fp6e3m2T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp32T,
+    fp16T, bs32_fp8ue8m0_fp6e2m3T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, bs32_fp8ue8m0_fp6e2m3T, fp32T,
+    fp16T, bs32_fp8ue8m0_fp4e2m1T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp32T,
+    fp16T, bs32_fp8ue8m0_mxint8T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, bs32_fp8ue8m0_mxint8T, fp32T,
+    bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, bf16T,
+    fp4e2m1T, fp8ue8m0T, bf16T, fp6e2m3T, fp8ue8m0T, bf16T, fp6e3m2T, fp8ue8m0T,
+    bf16T, fp8e4m3T, fp8ue8m0T, bf16T, fp8e5m2T, fp8ue8m0T, bf16T, mxint8T,
+    fp8ue8m0T, bf16T, fp4e2m1T, fp8ue8m0T, fp32T, fp6e2m3T, fp8ue8m0T, fp32T,
+    fp6e3m2T, fp8ue8m0T, fp32T, fp8e4m3T, fp8ue8m0T, fp32T, fp8e5m2T, fp8ue8m0T,
+    fp32T, mxint8T, fp8ue8m0T, fp32T, bf16T, fp4e2m1T, fp8ue8m0T, fp32T,
+    fp4e2m1T, fp8ue8m0T, fp32T, fp6e2m3T, fp8ue8m0T, fp32T, fp6e3m2T, fp8ue8m0T,
+    fp32T, fp8e4m3T, fp8ue8m0T, fp32T, fp8e5m2T, fp8ue8m0T, fp32T, mxint8T,
+    fp8ue8m0T, bf16T, fp6e2m3T, fp8ue8m0T, bf16T, fp6e3m2T, fp8ue8m0T, bf16T,
+    fp8e4m3T, fp8ue8m0T, bf16T, fp8e5m2T, fp8ue8m0T, bf16T, mxint8T, fp8ue8m0T,
+    fp8e4m3T, fp8e4m3T, fp8e5m2T, fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T,
+    i4T, i48T, i64T, fp8e4m3T, fp8e5m2T, bf16T, fp8ue8m0T, fp6e3m2T,
+    fp6e2m3T, fp4e2m1T, mxint8T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T, i8T, i4T, i32T, i8T, i4T, i32T, i32T,
+    i16T, i8T, i48T, i16T, i8T, i48T, i48T, fp8e4m3T,
+    fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp8e4m3T,
+    fp16T, fp8e4m3T, fp8e4m3T, fp32T, fp16T, fp8e4m3T, fp16T, fp16T,
+    fp8e4m3T, fp16T, fp16T, fp16T, fp8e4m3T, fp16T, fp16T, fp8e4m3T,
+    fp16T, fp32T, fp16T, fp16T, fp8e4m3T, fp16T, fp16T, fp8e4m3T,
+    fp16T, fp16T, fp16T, fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp32T,
+    fp16T, fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T,
+    fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T, fp32T, fp32T, fp8e4m3T,
+    fp32T, fp32T, fp8e4m3T, fp32T, fp32T, fp32T, fp16T, fp8e4m3T,
+    fp32T, fp16T, fp8e4m3T, fp32T, fp32T, fp32T, fp8e4m3T, fp32T,
+    fp32T, fp8e4m3T, fp32T, fp32T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T,
+    fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T,
+    fp32T, fp16T, fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp16T,
+    fp16T, fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp32T, fp16T,
+    fp16T, fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp16T, fp16T,
+    fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, fp8e5m2T,
+    fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp16T, fp32T,
+    fp8e5m2T, fp16T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T, fp8e5m2T,
+    fp32T, fp32T, fp32T, fp16T, fp8e5m2T, fp32T, fp16T, fp8e5m2T,
+    fp32T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
+    fp32T, bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T,
+    bf16T, bf16T, bf16T, bf16T, bf16T, bf16T, bf16T, fp16T,
+    bf16T, fp32T, fp16T, bf16T, fp32T, fp32T, bf16T, fp16T,
+    fp32T, bf16T, fp16T, fp32T, fp32T, bf16T, bf16T, fp32T,
+    bf16T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T, bf16T,
+    fp32T, fp32T, fp32T, fp32T, bf16T, fp32T, fp32T, bf16T,
+    fp32T, fp32T, fp8e4m3T, fp8e5m2T, fp16T, fp8e4m3T, fp8e5m2T, fp16T,
+    fp16T, fp8e4m3T, fp8e5m2T, fp16T, fp8e4m3T, fp8e5m2T, fp32T, fp16T,
+    fp8e5m2T, fp8e4m3T, fp16T, fp8e5m2T, fp8e4m3T, fp16T, fp16T, fp8e5m2T,
+    fp8e4m3T, fp16T, fp8e5m2T, fp8e4m3T, fp32T, fp16T, fp8e4m3T, fp8e5m2T,
+    fp32T, fp8e4m3T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp8e4m3T, fp32T,
+    fp8e5m2T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e4m3T,
+    fp32T, fp16T, fp16T, fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e4m3T, fp32T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T, fp16T,
+    fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T,
+    fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T,
+    fp16T, fp8e4m3T, fp32T, fp16T, fp16T, fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T,
+    fp8e4m3T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp16T, fp32T,
+    fp8e4m3T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T,
+    fp32T, fp16T, fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp8e4m3T, fp32T, fp32T,
+    fp32T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T,
+    fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e4m3T, fp32T, fp16T, fp16T, fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e4m3T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T,
+    fp16T, fp32T, fp8e4m3T, fp16T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp16T,
+    fp32T, fp8e4m3T, fp32T, fp16T, fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp8e4m3T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp32T, fp8e4m3T,
+    fp32T, fp32T, fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e4m3T, fp32T, fp16T,
+    fp16T, fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e4m3T, fp32T, fp32T, fp16T,
+    bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T,
+    fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T, fp16T, fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T,
+    fp32T, fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T,
+    fp32T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e4m3T,
+    fp32T, fp16T, fp16T, fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e4m3T, fp32T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T, fp16T,
+    fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T,
+    fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, bs32_fp8ue8m0_mxint8T,
+    fp16T, fp8e4m3T, fp32T, fp16T, fp16T, fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T,
+    fp8e4m3T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp16T, fp32T,
+    fp8e4m3T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp16T, fp32T, fp8e4m3T,
+    fp32T, fp16T, fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp8e4m3T, fp32T, fp32T,
+    fp32T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T,
+    fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e5m2T, fp32T, fp16T, fp16T, fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e5m2T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T,
+    fp16T, fp32T, fp8e5m2T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp16T,
+    fp32T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp8e5m2T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp32T, fp8e5m2T,
+    fp32T, fp32T, fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e5m2T, fp32T, fp16T,
+    fp16T, fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e5m2T, fp32T, fp32T, fp16T,
+    bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T,
+    fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T,
+    fp32T, fp8e5m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T,
+    fp32T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e5m2T,
+    fp32T, fp16T, fp16T, fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e5m2T, fp32T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T, fp16T,
+    fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp8e5m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
+    fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T,
+    fp16T, fp8e5m2T, fp32T, fp16T, fp16T, fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T,
+    fp8e5m2T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp16T, fp32T,
+    fp8e5m2T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T,
+    fp32T, fp16T, fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp8e5m2T, fp32T, fp32T,
+    fp32T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T,
+    fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e5m2T, fp32T, fp16T, fp16T, fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e5m2T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T,
+    fp16T, fp32T, fp8e5m2T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp16T,
+    fp32T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp8e5m2T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, fp32T, fp8e5m2T,
+    fp32T, fp32T, fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e5m2T, fp32T, fp16T,
+    fp16T, fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e5m2T, fp32T, fp32T, fp16T,
+    bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T,
+    fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, bs32_fp8ue8m0_mxint8T,
+    fp32T, fp8e5m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T,
+    fp32T, fp8e5m2T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T,
+    fp32T, fp16T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp16T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T,
+    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T,
+    fp32T, fp16T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, fp32T,
+    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
+    fp16T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp16T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T,
+    fp16T, fp16T, fp32T, fp16T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T,
+    fp16T, fp32T, fp16T, fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T,
+    fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T,
+    fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp16T, fp32T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T,
+    fp32T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T,
+    bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T,
+    fp16T, fp16T, fp32T, fp16T, fp16T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T,
+    fp16T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T,
+    fp16T, fp16T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp16T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T, fp32T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp16T, fp32T, fp32T, fp32T, fp32T,
+    bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, fp16T,
+    fp32T, fp32T, fp16T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T,
+    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T,
+    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T,
+    fp16T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp32T,
+    fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T,
+    bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T,
+    fp16T, fp32T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, fp32T,
+    fp16T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp16T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T,
+    fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T,
+    fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T,
+    bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T,
+    fp16T, fp32T, fp16T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T,
+    fp32T, fp16T, fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T,
+    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
+    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp16T, fp32T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp32T, fp32T,
+    bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T,
+    fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T,
+    fp32T, fp32T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_mxint8T, fp16T,
+    fp16T, fp32T, fp16T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp16T,
+    fp32T, fp32T, fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp16T,
+    fp16T, fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp16T, fp32T,
+    fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp16T, fp16T,
+    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp32T, fp16T, fp16T,
+    bs32_fp8ue8m0_mxint8T, fp32T, fp16T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T,
+    fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T,
+    fp32T, fp16T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp32T, fp16T,
+    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T,
+    fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T,
+    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T,
+    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp32T, fp16T,
+    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T,
+    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T,
+    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T,
+    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T,
+    fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T, fp32T,
+    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T,
+    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp16T,
+    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp32T, fp16T,
+    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T,
+    fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp32T,
+    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T,
+    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp32T, fp16T,
+    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T,
+    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T,
+    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T,
+    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T,
+    fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T,
+    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T,
+    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp16T,
+    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp32T, fp16T,
+    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T,
+    fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp32T,
+    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T,
+    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T, fp32T, fp16T,
+    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T,
+    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T,
+    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T,
+    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp32T,
+    fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T,
+    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T,
+    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp16T,
+    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp16T,
+    fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp32T, fp16T,
+    bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T,
+    fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp32T,
+    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T,
+    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
+    fp32T, fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp16T,
+    fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp32T, fp16T,
+    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T,
+    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp16T,
+    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T,
+    fp32T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, fp32T,
+    fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp32T, fp32T,
+    fp8e4m3T, fp8e4m3T, bf16T, fp8e4m3T, fp8e4m3T, bf16T, bf16T, fp8e4m3T,
+    fp8e4m3T, bf16T, fp8e4m3T, fp8e4m3T, fp32T, bf16T, fp8e4m3T, bf16T,
+    bf16T, fp8e4m3T, bf16T, bf16T, bf16T, fp8e4m3T, bf16T, bf16T,
+    fp8e4m3T, bf16T, fp32T, bf16T, bf16T, fp8e4m3T, bf16T, bf16T,
+    fp8e4m3T, bf16T, bf16T, bf16T, fp8e4m3T, bf16T, bf16T, fp8e4m3T,
+    fp32T, bf16T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T, fp32T,
+    fp32T, bf16T, fp8e4m3T, fp32T, bf16T, fp8e4m3T, fp32T, fp32T,
+    fp8e4m3T, fp8e5m2T, bf16T, fp8e4m3T, fp8e5m2T, bf16T, bf16T, fp8e4m3T,
+    fp8e5m2T, bf16T, fp8e4m3T, fp8e5m2T, fp32T, bf16T, fp8e5m2T, fp8e4m3T,
+    bf16T, fp8e5m2T, fp8e4m3T, bf16T, bf16T, fp8e5m2T, fp8e4m3T, bf16T,
+    fp8e5m2T, fp8e4m3T, fp32T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e4m3T,
+    fp32T, bf16T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e4m3T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T, bf16T,
+    fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e4m3T, fp32T, bf16T, bf16T, fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e4m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T,
+    bf16T, fp32T, fp8e4m3T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, bf16T,
+    fp32T, fp8e4m3T, fp32T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e4m3T,
+    fp32T, bf16T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e4m3T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T, bf16T,
+    fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e4m3T, fp32T, bf16T, bf16T, fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e4m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T,
+    bf16T, fp32T, fp8e4m3T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, bf16T,
+    fp32T, fp8e4m3T, fp32T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e4m3T,
+    fp32T, bf16T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e4m3T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T, bf16T,
+    fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e4m3T, fp32T, bf16T, bf16T, fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T, bf16T, fp8e4m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, fp8e4m3T,
+    bf16T, fp32T, fp8e4m3T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, bf16T,
+    fp32T, fp8e4m3T, fp32T, bf16T, fp8e5m2T, fp8e5m2T, bf16T, fp8e5m2T,
+    fp8e5m2T, bf16T, bf16T, fp8e5m2T, fp8e5m2T, bf16T, fp8e5m2T, fp8e5m2T,
+    fp32T, bf16T, fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, bf16T,
+    bf16T, fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, fp32T, bf16T,
+    bf16T, fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, bf16T, bf16T,
+    fp8e5m2T, bf16T, bf16T, fp8e5m2T, fp32T, bf16T, fp8e5m2T, bf16T,
+    fp32T, fp8e5m2T, bf16T, fp32T, fp32T, bf16T, fp8e5m2T, fp32T,
+    bf16T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e5m2T,
+    fp32T, bf16T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e5m2T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T, bf16T,
+    fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e5m2T, fp32T, bf16T, bf16T, fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e5m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T,
+    bf16T, fp32T, fp8e5m2T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, bf16T,
+    fp32T, fp8e5m2T, fp32T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e5m2T,
+    fp32T, bf16T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e5m2T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T, bf16T,
+    fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e5m2T, fp32T, bf16T, bf16T, fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e5m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T,
+    bf16T, fp32T, fp8e5m2T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, bf16T,
+    fp32T, fp8e5m2T, fp32T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e5m2T,
+    fp32T, bf16T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e5m2T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T, bf16T,
+    fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e5m2T, fp32T, bf16T, bf16T, fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T, bf16T, fp8e5m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, fp8e5m2T,
+    bf16T, fp32T, fp8e5m2T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, bf16T,
+    fp32T, fp8e5m2T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T,
+    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, bf16T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T,
+    fp32T, bf16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T,
+    fp32T, bf16T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T,
+    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, bf16T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T,
+    fp32T, bf16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T,
+    fp32T, bf16T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T,
+    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, bf16T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T,
+    fp32T, bf16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T,
+    fp32T, bf16T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T,
+    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, bf16T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T,
+    fp32T, bf16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T,
+    fp32T, bf16T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T,
+    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, bf16T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T,
+    fp32T, bf16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T,
+    fp32T, bf16T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T,
+    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, bf16T, bf16T,
+    bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T,
+    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T,
+    fp32T, bf16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T,
+    fp32T, bf16T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T,
+    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T,
+    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T,
+    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T,
+    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T,
+    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, bf16T,
+    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T,
+    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, bf16T,
+    bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T,
+    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T,
+    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T,
+    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T,
+    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, bf16T,
+    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T,
+    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, bf16T,
+    bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T,
+    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T,
+    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T,
+    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T,
+    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, bf16T,
+    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T,
+    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, bf16T,
+    bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T,
+    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, bf16T,
+    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T,
+    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, bf16T,
+    bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, fp32T, bf16T,
+    fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T, fp32T, fp6e2m3T, fp8ue8m0T,
+    fp6e2m3T, fp8ue8m0T, fp32T, fp32T, fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T,
+    fp32T, fp32T, fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T, fp32T,
+    fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T, fp32T, i64T, i64T,
+    boolT, bf16T, bf16T, boolT, fp8e4m3T, i32T, fp8e4m3T, fp8e5m2T,
+    i32T, fp8e5m2T, bf16T, i32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, i32T, bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T, i32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, i32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, i32T,
+    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, i32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, i32T, bs32_fp8ue8m0_mxint8T, fp8e4m3T,
+    i64T, fp8e4m3T, fp8e5m2T, i64T, fp8e5m2T, bf16T, i64T, bf16T,
+    bs32_fp8ue8m0_fp8e4m3T, i64T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, i64T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, i64T,
+    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, i64T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, i64T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T,
+    i64T, bs32_fp8ue8m0_mxint8T, i4T, i4T, i48T, i48T, i16T, i16T,
+    i16T, i16T, i48T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T,
+    fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T, fp8e5m2T, fp8e5m2T, fp8e5m2T,
+    fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T, fp8e4m3T,
+    fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T,
+    fp32T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T, fp8e5m2T, fp8e4m3T,
+    fp8e5m2T, fp8e4m3T, fp32T, bf16T, bf16T, bf16T, bf16T, fp32T,
+    fp8e4m3T, fp16T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T, fp8e4m3T,
+    fp32T, fp32T, fp16T, fp8e4m3T, fp16T, fp8e4m3T, fp32T, fp32T,
+    fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T,
+    bf16T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, bf16T, fp8e4m3T, bf16T,
+    fp8e4m3T, bf16T, bf16T, bf16T, fp8e4m3T, bf16T, fp8e4m3T, bf16T,
+    fp8e4m3T, bf16T, fp8e4m3T, bf16T, fp32T, bf16T, fp8e4m3T, bf16T,
+    fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, bf16T, fp8e4m3T,
+    fp16T, fp8e4m3T, fp16T, bf16T, fp16T, fp8e4m3T, fp16T, fp8e4m3T,
+    bf16T, fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T,
+    fp32T, fp8e4m3T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp32T,
+    bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp8e4m3T, bf16T, fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp8e4m3T,
+    fp32T, fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T,
+    fp32T, fp8e4m3T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp32T,
+    bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp8e4m3T, bf16T, fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp8e4m3T,
+    fp32T, fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T,
+    fp32T, fp8e4m3T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, fp32T,
+    bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp8e4m3T,
+    fp32T, bf16T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp8e4m3T, bf16T, fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp8e4m3T,
+    fp32T, fp8e5m2T, fp16T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
+    fp8e5m2T, fp32T, fp32T, fp16T, fp8e5m2T, fp16T, fp8e5m2T, fp32T,
+    fp32T, fp8e5m2T, fp32T, fp8e5m2T, fp32T, fp8e5m2T, bf16T, fp8e5m2T,
+    bf16T, bf16T, bf16T, fp8e5m2T, bf16T, fp8e5m2T, bf16T, fp8e5m2T,
+    bf16T, fp8e5m2T, bf16T, fp32T, bf16T, fp8e5m2T, bf16T, fp8e5m2T,
+    fp32T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, bf16T, fp8e5m2T, fp16T,
+    fp8e5m2T, fp16T, bf16T, fp16T, fp8e5m2T, fp16T, fp8e5m2T, bf16T,
+    fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T,
+    fp8e5m2T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T,
+    fp8e5m2T, fp32T, fp8e5m2T, fp32T, fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T,
+    bf16T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T,
+    fp8e5m2T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp32T,
+    fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T,
+    fp8e5m2T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
+    fp8e5m2T, fp32T, fp8e5m2T, fp32T, fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T,
+    bf16T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp8e5m2T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T,
+    fp8e5m2T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp8e5m2T, fp32T,
+    fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T,
+    fp8e5m2T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T,
+    fp8e5m2T, fp32T, fp8e5m2T, fp32T, fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T,
+    bf16T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, fp8e5m2T, bf16T, fp8e5m2T, bs32_fp8ue8m0_mxint8T,
+    fp8e5m2T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, fp8e5m2T, fp32T,
+    fp16T, bf16T, fp16T, bf16T, bf16T, bf16T, fp16T, bf16T,
+    fp16T, bf16T, bf16T, bf16T, bf16T, bf16T, bf16T, fp16T,
+    bf16T, fp16T, bf16T, fp32T, bf16T, fp16T, bf16T, fp16T,
+    fp32T, bf16T, fp32T, bf16T, fp32T, fp32T, fp32T, bf16T,
+    fp32T, bf16T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
+    fp32T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T,
+    fp16T, fp32T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp16T,
+    fp32T, fp16T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T,
+    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
+    fp16T, fp32T, fp16T, fp32T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
+    fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T,
+    fp16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
+    bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp16T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp16T,
+    bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T,
+    fp32T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp16T, fp32T, bs32_fp8ue8m0_fp4e2m1T, fp32T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
+    fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp16T, fp32T, bs32_fp8ue8m0_mxint8T,
+    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T,
+    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
+    bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, bf16T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp16T, bf16T, bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T,
+    bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T,
+    bf16T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, bf16T, fp32T,
+    fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T,
+    fp16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T, bf16T,
+    bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, bf16T,
+    bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bf16T,
+    fp32T, bf16T, fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp16T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T,
+    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T,
+    bf16T, fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T,
+    fp32T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, bf16T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T,
+    fp16T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp16T, bf16T,
+    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T,
+    fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, bf16T, bf16T, bf16T,
+    bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, bf16T,
+    fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, fp16T,
+    fp32T, fp16T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T,
+    bf16T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T,
+    bf16T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T,
+    bf16T, fp32T, bf16T, fp32T, fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T,
+    bf16T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp16T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T,
+    fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T,
+    bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T,
+    bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T,
+    bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T,
+    bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T,
+    bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T,
+    bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T,
+    bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T,
+    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T,
+    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp32T,
+    fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp4e2m1T,
+    fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T, fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T,
+    fp32T, fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T, fp8e4m3T, fp8ue8m0T,
+    fp8e4m3T, fp8ue8m0T, fp32T, fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T,
+    mxint8T, fp8ue8m0T, mxint8T, fp8ue8m0T, fp32T, i64T, i64T, i64T,
+    i64T, bf16T, bf16T, bf16T, bf16T, fp8e4m3T, fp8e4m3T, fp8e4m3T,
+    fp8e5m2T, fp8e5m2T, fp8e5m2T, i48T, i48T, i8T, i8T, i48T,
+    i48T, i16T, i16T, i48T, i48T, i32T, i32T, i16T,
+    i48T, fp8e4m3T, i32T, i32T, fp8e4m3T, fp8e5m2T, i32T, i32T,
+    fp8e5m2T, bf16T, i32T, i32T, bf16T, fp16T, i64T, i32T,
+    fp16T, fp32T, i64T, i32T, fp32T, fp8e4m3T, i64T, i32T,
+    fp8e4m3T, fp8e5m2T, i64T, i32T, fp8e5m2T, bf16T, i64T, i32T,
+    bf16T, fp4e2m1T, fp8ue8m0T, i32T, i32T, fp4e2m1T, fp8ue8m0T, fp6e2m3T,
+    fp8ue8m0T, i32T, i32T, fp6e2m3T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, i32T,
+    i32T, fp6e3m2T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, i32T, i32T, fp8e4m3T,
+    fp8ue8m0T, fp8e5m2T, fp8ue8m0T, i32T, i32T, fp8e5m2T, fp8ue8m0T, mxint8T,
+    fp8ue8m0T, i32T, i32T, mxint8T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, i64T,
+    i32T, fp4e2m1T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, i64T, i32T, fp6e2m3T,
+    fp8ue8m0T, fp6e3m2T, fp8ue8m0T, i64T, i32T, fp6e3m2T, fp8ue8m0T, fp8e4m3T,
+    fp8ue8m0T, i64T, i32T, fp8e4m3T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, i64T,
+    i32T, fp8e5m2T, fp8ue8m0T, mxint8T, fp8ue8m0T, i64T, i32T, mxint8T,
+    fp8ue8m0T, fp8e4m3T, i32T, fp8e4m3T, fp8e4m3T, fp8e5m2T, i32T, fp8e5m2T,
+    fp8e5m2T, bf16T, i32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, i32T, bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, i32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, i32T, bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, i32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, i32T, bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, i32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, i64T, fp16T,
+    fp16T, fp32T, i64T, fp32T, fp32T, boolT, i64T, boolT,
+    boolT, fp8e4m3T, i64T, fp8e4m3T, fp8e4m3T, fp8e5m2T, i64T, fp8e5m2T,
+    fp8e5m2T, bf16T, i64T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, i64T, bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, i64T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, i64T, bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, i64T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, i64T, bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, i64T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T,
+};
+
+static constexpr VersionedTypeInfo kVersionedTypeInfos[] = {
+    {llvm::ArrayRef(&kComplianceTypeInfos[0], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[9], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[12], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[15], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[17], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[19], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[15], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[17], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[19], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[21], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[23], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[25], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[28], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[31], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[36], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[41], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[46], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[31], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[36], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[41], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[46], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[53], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[0], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[55], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[57], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[59], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[61], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[63], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[15], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[65], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[67], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[69], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[71], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[73], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[75], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[77], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[79], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[81], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[83], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[85], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[87], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[89], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[91], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[93], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[17], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[95], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[97], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[99], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[19], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[101], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[103], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[105], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[0], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[53], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[0], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[107], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[108], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[109], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[110], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[111], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[112], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[113], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[120], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[127], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[134], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[141], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[148], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[155], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[120], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[127], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[134], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[162], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[165], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[168], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[171], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[171], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[177], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[180], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[183], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[105], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[53], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[0], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[195], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[198], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[36], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[203], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[46], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[198], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[36], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[203], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[208], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[213], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[46], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[218], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[221], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[224], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[228], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[236], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[240], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[9], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[12], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[25], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[28], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[224], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[244], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[248], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[252], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[228], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[256], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[260], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[264], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[15], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[183], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[171], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[268], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[271], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[183], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[171], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[268], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[177], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[180], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[271], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[277], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[280], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[283], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[287], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[283], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[287], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[291], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[295], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[299], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[303], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[307], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[311], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[315], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[319], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[323], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[327], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[323], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[327], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[331], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[335], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[339], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[343], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[347], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[311], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[25], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[108], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[351], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[353], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[355], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[69], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[358], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[360], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[362], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[351], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[21], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[23], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[364], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[366], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[368], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[370], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[372], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[374], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[69], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[364], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[366], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[368], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[376], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[381], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[386], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[391], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[376], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[381], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[386], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[391], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[396], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[398], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[400], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[402], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[404], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[368], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[406], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[408], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[362], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[410], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[412], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[414], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[416], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[418], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[420], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[422], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[424], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[426], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[428], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[430], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[432], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[434], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[436], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[438], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[440], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[442], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[444], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[446], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[448], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[450], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[452], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[454], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[456], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[458], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[460], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[462], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[464], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[466], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[468], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[470], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[472], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[474], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[476], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[478], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[480], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[482], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[484], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[486], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[488], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[490], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[492], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[494], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[496], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[498], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[500], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[502], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[504], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[506], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[508], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[510], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[512], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[514], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[516], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[518], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[520], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[522], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[524], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[526], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[528], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[530], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[532], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[534], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[536], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[538], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[540], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[542], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[544], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[546], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[548], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[550], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[552], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[554], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[556], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[558], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[560], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[563], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[566], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[569], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[572], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[575], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[578], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[581], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[584], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[587], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[590], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[593], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[596], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[599], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[602], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[605], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[608], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[611], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[614], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[617], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[620], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[623], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[626], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[629], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[53], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[632], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[634], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[636], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[638], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[640], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[642], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[644], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[646], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[648], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[649], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[650], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[651], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[652], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[653], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[654], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[655], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[656], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[657], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[658], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[659], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[660], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[661], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[662], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[663], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[664], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[665], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[672], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[679], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[686], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[693], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[700], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[707], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[714], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[721], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[728], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[735], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[742], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[749], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[756], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[763], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[770], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[777], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[784], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[791], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[798], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[805], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[812], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[819], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[826], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[833], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[840], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[847], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[854], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[861], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[868], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[875], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[882], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[889], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[896], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[903], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[910], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[917], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[924], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[931], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[938], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[945], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[952], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[959], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[966], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[973], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[980], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[987], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[994], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1001], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1008], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1015], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1022], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1029], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1036], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1043], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1050], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1057], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1064], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1071], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1078], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1085], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1092], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1099], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1106], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1113], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1120], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1127], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1134], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1141], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1148], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1155], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1162], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1169], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1176], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1183], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1190], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1197], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1204], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1211], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1218], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1225], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1232], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1239], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1246], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1253], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1260], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1267], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1274], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1281], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1288], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1295], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1302], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1309], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1316], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1323], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1330], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1337], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1344], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1351], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1358], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1365], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1372], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1379], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1386], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1393], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1400], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1407], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1414], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1421], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1428], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1435], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1442], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1449], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1456], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1463], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1470], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1477], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1484], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1491], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1498], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1505], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1512], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1519], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1526], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1533], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1540], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1547], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1554], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1561], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1568], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1575], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1582], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1589], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1596], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1603], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1610], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1617], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1624], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1631], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1638], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1645], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1652], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1659], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1666], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1673], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1680], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1687], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1694], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1701], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1708], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1715], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1722], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1729], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1736], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1743], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1750], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1757], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1764], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1771], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1778], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1785], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1792], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1799], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1806], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1813], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1820], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1827], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1834], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1841], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1848], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1855], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1862], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1869], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1876], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1883], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1890], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1897], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1904], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1911], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1918], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1925], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1932], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1939], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1946], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1953], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1960], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1967], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1974], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1981], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1988], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1995], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2002], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2009], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2016], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2023], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2030], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2037], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2044], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2051], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2058], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2065], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2072], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2079], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2086], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2093], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2100], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2107], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2114], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2121], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2128], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2135], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2142], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2149], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2156], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2163], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2170], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2177], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2184], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2191], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2198], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2205], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2212], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2219], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2226], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2233], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2240], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2247], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2254], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2261], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2268], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2275], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2282], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2289], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2296], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2303], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2310], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2317], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2324], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2331], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2338], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2345], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2352], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2359], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2366], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2373], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2380], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2387], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2394], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2401], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2408], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2415], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2422], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2429], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2436], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2443], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2450], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2457], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2464], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2471], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2478], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2485], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2492], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2499], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2506], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2513], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2520], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2527], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2534], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2541], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2548], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2555], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2562], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2569], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2576], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2583], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2590], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2597], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2604], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2611], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2618], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2625], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2632], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2639], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2646], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2653], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2660], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2667], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2674], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2681], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2688], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2695], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2702], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2709], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2716], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2723], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2730], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2737], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2744], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2751], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2758], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2765], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2772], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2779], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2786], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2793], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2800], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2807], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2814], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2821], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2828], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2835], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2842], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2849], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2856], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2863], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2870], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2877], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2884], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2891], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2898], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2905], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2912], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2919], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2926], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2933], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2940], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2947], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2954], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2961], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2968], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2975], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2982], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2989], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2996], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3003], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3010], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3017], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3024], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3031], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3038], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3045], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3052], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3059], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3066], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3073], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3080], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3087], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3094], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3101], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3108], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3115], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3122], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3129], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3136], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3143], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3150], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3157], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3164], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3171], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3178], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3185], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3192], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3199], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3206], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3213], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3220], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3227], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3234], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3241], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3248], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3255], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3262], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3269], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3276], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3283], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3290], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3297], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3304], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3311], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3318], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3325], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3332], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3339], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3346], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3353], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3360], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3367], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3374], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3381], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3388], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3395], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3402], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3409], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3416], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3423], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3430], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3437], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3444], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3451], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3458], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3465], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3472], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3479], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3486], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3493], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3500], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3507], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3514], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3521], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3528], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3535], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3542], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3549], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3556], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3563], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3570], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3577], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3584], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3591], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3598], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3605], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3612], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3619], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3626], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3633], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3640], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3647], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3654], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3661], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3668], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3675], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3682], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3689], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3696], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3703], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3710], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3717], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3724], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3731], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3738], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3745], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3752], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3758], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3764], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3770], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3776], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[679], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[721], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[756], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[798], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[833], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[107], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[108], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[109], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[110], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[111], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[112], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[651], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[652], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[653], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[655], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[656], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[657], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[658], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[654], 1), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3782], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3785], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[240], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3788], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3791], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3794], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3797], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3800], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3803], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3806], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3809], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3812], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[277], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[280], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[271], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3815], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3818], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3821], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3824], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3827], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3830], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3833], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3836], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3839], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3842], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3844], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3846], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3851], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3856], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3861], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3866], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3871], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3876], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3881], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3886], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3891], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3846], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3856], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3896], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3901], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3906], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3911], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3916], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3921], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3876], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3886], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3926], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3931], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3936], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3941], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3946], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3951], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3956], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3961], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3966], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3971], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3976], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3981], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3986], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3991], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3996], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4001], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4006], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4011], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4016], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4021], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4026], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4031], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4036], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4041], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4046], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4051], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4056], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4061], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4066], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4071], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4076], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3866], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4081], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4086], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4091], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4096], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4101], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4106], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4111], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4116], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4121], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4126], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4131], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4136], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4141], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4146], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4151], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4156], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4161], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4166], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4171], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4176], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4181], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4186], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4191], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4196], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4201], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4206], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4211], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4216], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4221], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4226], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4231], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4236], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4241], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4246], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4251], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4256], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4261], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4266], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4271], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4276], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4281], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4286], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3891], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4291], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4296], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4301], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4306], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4311], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4316], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4321], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4326], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4331], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4336], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4341], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4346], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4351], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4356], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4361], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4366], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4371], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4376], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4381], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4386], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4391], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4396], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4401], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4406], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4411], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4416], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4421], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4426], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4431], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4436], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4441], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4446], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4451], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4456], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4461], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4466], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4471], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4476], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4481], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4486], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4491], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4496], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4501], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4506], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4511], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4516], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4521], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4526], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4531], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4536], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4541], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4546], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4551], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4556], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4561], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4566], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4571], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4576], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4581], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4586], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4591], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4596], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4601], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4606], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4611], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4616], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4621], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4626], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4631], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4636], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4641], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4646], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4651], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4656], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4661], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4666], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4671], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4676], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4681], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4686], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4691], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4696], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4701], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4706], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4711], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4716], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4721], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4726], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4731], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4736], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4741], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4746], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4751], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4756], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4761], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4766], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4771], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4776], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4781], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4786], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4791], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4796], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4801], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4806], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4811], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4816], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4821], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4826], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4831], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4836], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4841], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4846], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4851], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4856], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4861], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4866], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4871], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4876], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4881], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4886], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4891], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4896], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4901], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4906], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4911], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4916], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4921], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4926], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4931], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4936], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4941], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4946], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4951], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4956], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4961], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4966], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4971], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4976], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[53], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[632], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[634], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[353], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4981], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4985], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4989], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4992], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4995], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4999], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5003], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5007], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[53], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[12], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[268], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[271], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[277], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[280], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3788], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3791], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3794], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5009], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5013], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5017], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[303], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[307], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[311], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[315], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5021], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5025], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[319], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5029], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5033], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5037], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5041], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5047], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5053], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5059], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5065], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5071], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5077], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5083], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5089], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5095], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5101], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5107], 6), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5113], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5117], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5121], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5125], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5129], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5133], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5137], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5141], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5145], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[343], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[347], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[311], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4981], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5149], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5153], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5157], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5161], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5165], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5169], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5173], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5177], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5181], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5185], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5189], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5193], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[221], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[679], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[721], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[686], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[693], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[700], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[707], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[714], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[728], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[735], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[742], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[749], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[756], 7), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[798], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[763], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[770], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[777], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[784], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[791], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[805], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[812], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[819], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[826], 7), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[108], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[111], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[112], 1), SpecificationVersion::V_1_0},
+};
+
+static constexpr Profile kProfileModes[] = {
+    Profile::pro_int, Profile::pro_fp, Profile::pro_int, Profile::pro_fp,
+    Profile::pro_fp, Profile::pro_int,
+};
+
+static constexpr Extension kExtensionModes[] = {
+    Extension::int64, Extension::bf16, Extension::shape, Extension::int16,
+    Extension::fp8e4m3, Extension::fp8e5m2, Extension::fp8e4m3, Extension::int64,
+    Extension::fp8e5m2, Extension::int64, Extension::bf16, Extension::int64,
+    Extension::bf16, Extension::fp8e4m3, Extension::bf16, Extension::fp8e5m2,
+    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3, Extension::fp8e4m3,
+    Extension::mx_common, Extension::mx_fp8e5m2, Extension::fp8e4m3, Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e2m3,
+    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp4e2m1, Extension::fp8e4m3,
+    Extension::mx_common, Extension::mx_int8, Extension::fp8e5m2, Extension::mx_common,
+    Extension::mx_fp8e4m3, Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e5m2,
+    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e3m2, Extension::fp8e5m2,
+    Extension::mx_common, Extension::mx_fp6e2m3, Extension::fp8e5m2, Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::fp8e5m2, Extension::mx_common, Extension::mx_int8,
+    Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_common, Extension::mx_fp8e5m2,
+    Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_common, Extension::mx_fp6e2m3,
+    Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_common, Extension::mx_int8,
+    Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp8e5m2, Extension::bf16, Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
+    Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1, Extension::bf16,
+    Extension::mx_common, Extension::mx_int8, Extension::bf16, Extension::mxfp,
+    Extension::mxfp, Extension::controlflow, Extension::int4, Extension::fp8e4m3,
+    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_fp8e5m2,
+    Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e4m3, Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::mx_fp8e4m3, Extension::mx_common, Extension::mx_fp4e2m1,
+    Extension::mx_fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_int8,
+    Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e5m2, Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::mx_fp8e5m2, Extension::mx_common, Extension::mx_fp4e2m1,
+    Extension::mx_fp8e5m2, Extension::mx_common, Extension::mx_fp8e5m2, Extension::mx_int8,
+    Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp6e3m2, Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::mx_fp6e3m2, Extension::mx_common, Extension::mx_fp6e3m2,
+    Extension::mx_int8, Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e2m3,
+    Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_int8, Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::mx_int8, Extension::bf16, Extension::fp8e4m3,
+    Extension::fp8e5m2, Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
+    Extension::mx_fp8e4m3, Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
+    Extension::mx_fp8e5m2, Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
+    Extension::mx_int8, Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
+    Extension::mx_fp8e4m3, Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
+    Extension::mx_fp8e5m2, Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
+    Extension::mx_int8, Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3,
+    Extension::mx_fp8e5m2, Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
+    Extension::mx_fp8e4m3, Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
+    Extension::mx_fp8e4m3, Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
+    Extension::mx_fp8e4m3, Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3,
+    Extension::mx_int8, Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
+    Extension::mx_fp8e5m2, Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
+    Extension::mx_fp8e5m2, Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
+    Extension::mx_fp8e5m2, Extension::bf16, Extension::mx_common, Extension::mx_fp8e5m2,
+    Extension::mx_int8, Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
+    Extension::mx_fp6e3m2, Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
+    Extension::mx_fp6e3m2, Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
+    Extension::mx_int8, Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
+    Extension::mx_fp6e2m3, Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
+    Extension::mx_int8, Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
+    Extension::mx_int8, Extension::mxfp_conv, Extension::fp8e4m3, Extension::shape,
+    Extension::fp8e5m2, Extension::shape, Extension::bf16, Extension::shape,
+    Extension::mxfp, Extension::shape, Extension::int64, Extension::shape,
+    Extension::mx_common, Extension::mx_fp8e4m3, Extension::shape, Extension::mx_common,
+    Extension::mx_fp8e5m2, Extension::shape, Extension::mx_common, Extension::mx_fp6e3m2,
+    Extension::shape, Extension::mx_common, Extension::mx_fp6e2m3, Extension::shape,
+    Extension::mx_common, Extension::mx_fp4e2m1, Extension::shape, Extension::mx_common,
+    Extension::mx_int8, Extension::shape, Extension::fft, Extension::int64,
+    Extension::mx_common, Extension::mx_fp8e4m3, Extension::int64, Extension::mx_common,
+    Extension::mx_fp8e5m2, Extension::int64, Extension::mx_common, Extension::mx_fp6e3m2,
+    Extension::int64, Extension::mx_common, Extension::mx_fp6e2m3, Extension::int64,
+    Extension::mx_common, Extension::mx_fp4e2m1, Extension::int64, Extension::mx_common,
+    Extension::mx_int8, Extension::fp8e4m3, Extension::fp8e5m2, Extension::bf16,
+    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3, Extension::bf16,
+    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e5m2, Extension::bf16,
+    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e3m2, Extension::bf16,
+    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e2m3, Extension::bf16,
+    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp4e2m1, Extension::bf16,
+    Extension::fp8e4m3, Extension::mx_common, Extension::mx_int8, Extension::bf16,
+    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e4m3, Extension::bf16,
+    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e5m2, Extension::bf16,
+    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e3m2, Extension::bf16,
+    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e2m3, Extension::bf16,
+    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp4e2m1, Extension::bf16,
+    Extension::fp8e5m2, Extension::mx_common, Extension::mx_int8, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_fp8e5m2, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e4m3, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e4m3, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e4m3, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_int8, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e5m2, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e5m2, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e5m2, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp8e5m2, Extension::mx_int8, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp6e3m2, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e3m2, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_int8, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e2m3, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_int8, Extension::bf16,
+    Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_int8, Extension::bf16,
+    Extension::int16, Extension::int64, Extension::mxfp, Extension::int64,
+    Extension::variable,
 };
 
-extensionComplianceMap = {
-    {"tosa.argmax",
-     {{{Extension::int16}, {{{i16T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Extension::int64},
-       {{{i8T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3}, {{{fp8e4m3T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2}, {{{fp8e5m2T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16}, {{{bf16T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e4m3, Extension::int64},
-       {{{fp8e4m3T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::int64},
-       {{{fp8e5m2T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::int64},
-       {{{bf16T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.argmin",
-     {{{Extension::int16}, {{{i16T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::int64},
-       {{{i8T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16}, {{{bf16T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3, Extension::int64},
-       {{{fp8e4m3T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::int64},
-       {{{fp8e5m2T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::int64},
-       {{{bf16T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.avg_pool2d",
-     {{{Extension::int16},
-       {{{i16T, i16T, i16T, i32T, i16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T},
-         SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T},
-         SpecificationVersion::V_1_0}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T, fp32T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.avg_pool2d_adaptive",
-     {{{Extension::int16},
-       {{{i16T, i16T, i16T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.conv2d",
-     {{{Extension::int4},
-       {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Extension::int16},
-       {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
-         SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e4m3T, fp32T, fp16T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_0},
-        {{bf16T, bf16T, bf16T, bf16T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bf16T, fp32T, fp16T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp16T, fp32T, bf16T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bf16T, fp32T, bf16T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp32T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3, Extension::fp8e5m2},
-       {{{fp8e4m3T, fp8e5m2T, fp16T, fp8e4m3T, fp8e5m2T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e5m2T, fp16T, fp8e4m3T, fp8e5m2T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp16T, fp8e5m2T, fp8e4m3T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp16T, fp8e5m2T, fp8e4m3T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e5m2T, fp32T, fp8e4m3T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp32T, fp8e5m2T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_int8},
-       {{{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_int8},
-       {{{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_mxint8T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T, bf16T, fp8e4m3T, fp8e4m3T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e4m3T, bf16T, fp8e4m3T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bf16T, bf16T, fp8e4m3T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bf16T, bf16T, fp8e4m3T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e4m3T, bf16T, bf16T, fp8e4m3T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e4m3T, bf16T, bf16T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e4m3T, fp32T, bf16T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::fp8e5m2},
-       {{{fp8e4m3T, fp8e5m2T, bf16T, fp8e4m3T, fp8e5m2T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e5m2T, bf16T, fp8e4m3T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, bf16T, fp8e5m2T, fp8e4m3T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, bf16T, fp8e5m2T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp8e4m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp8e5m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp6e3m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp6e2m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp4e2m1},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_int8},
-       {{{fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T, bf16T, fp8e5m2T, fp8e5m2T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e5m2T, bf16T, fp8e5m2T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e5m2T, bf16T, bf16T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e5m2T, fp32T, bf16T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp8e4m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp8e5m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp6e3m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp6e2m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp4e2m1},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_int8},
-       {{{fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e4m3T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e5m2T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e3m2T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e2m3T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp4e2m1T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_int8},
-       {{{bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_mxint8T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3,
-        Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
-        Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-        Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
-        Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-        Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e5m2,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-        Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.conv2d_block_scaled",
-     {{{Extension::mxfp_conv},
-       {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.conv3d",
-     {{{Extension::int4},
-       {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Extension::int16},
-       {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
-         SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e4m3T, fp32T, fp16T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_0},
-        {{bf16T, bf16T, bf16T, bf16T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bf16T, fp32T, fp16T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp16T, fp32T, bf16T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bf16T, fp32T, bf16T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp32T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3, Extension::fp8e5m2},
-       {{{fp8e4m3T, fp8e5m2T, fp16T, fp8e4m3T, fp8e5m2T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e5m2T, fp16T, fp8e4m3T, fp8e5m2T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp16T, fp8e5m2T, fp8e4m3T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp16T, fp8e5m2T, fp8e4m3T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e5m2T, fp32T, fp8e4m3T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp32T, fp8e5m2T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_int8},
-       {{{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_int8},
-       {{{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_mxint8T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T, bf16T, fp8e4m3T, fp8e4m3T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e4m3T, bf16T, fp8e4m3T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bf16T, bf16T, fp8e4m3T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bf16T, bf16T, fp8e4m3T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e4m3T, bf16T, bf16T, fp8e4m3T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e4m3T, bf16T, bf16T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e4m3T, fp32T, bf16T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::fp8e5m2},
-       {{{fp8e4m3T, fp8e5m2T, bf16T, fp8e4m3T, fp8e5m2T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e5m2T, bf16T, fp8e4m3T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, bf16T, fp8e5m2T, fp8e4m3T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, bf16T, fp8e5m2T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp8e4m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp8e5m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp6e3m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp6e2m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp4e2m1},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_int8},
-       {{{fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T, bf16T, fp8e5m2T, fp8e5m2T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e5m2T, bf16T, fp8e5m2T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e5m2T, bf16T, bf16T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e5m2T, fp32T, bf16T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp8e4m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp8e5m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp6e3m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp6e2m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp4e2m1},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_int8},
-       {{{fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e4m3T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e5m2T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e3m2T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e2m3T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp4e2m1T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_int8},
-       {{{bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_mxint8T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3,
-        Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
-        Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-        Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
-        Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-        Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e5m2,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-        Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.depthwise_conv2d",
-     {{{Extension::int4},
-       {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Extension::int16},
-       {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
-         SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_0}}}}},
-    {"tosa.fft2d",
-     {{{Extension::fft},
-       {{{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.matmul",
-     {{{Extension::int16},
-       {{{i16T, i16T, i16T, i16T, i48T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3, Extension::fp8e5m2},
-       {{{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T, bf16T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.matmul_t",
-     {{{Extension::int16},
-       {{{i16T, i16T, i16T, i16T, i48T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3},
-       {{{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, Extension::bf16},
-       {{{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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,
-        Extension::bf16},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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,
-        Extension::bf16},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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,
-        Extension::bf16},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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,
-        Extension::bf16},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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,
-        Extension::bf16},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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,
-        Extension::bf16},
-       {{{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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, 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, fp8e5m2T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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,
-        Extension::bf16},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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,
-        Extension::bf16},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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,
-        Extension::bf16},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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,
-        Extension::bf16},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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,
-        Extension::bf16},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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,
-        Extension::bf16},
-       {{{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{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, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp16T, bf16T, fp16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bf16T, bf16T, bf16T, bf16T},
-         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, 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, 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, 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, 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, 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, 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, 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_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, bf16T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, bf16T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, bf16T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, bf16T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, bf16T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_int8},
-       {{{bf16T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bf16T, fp32T, bf16T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_fp8e5m2,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e4m3,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e4m3,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e4m3,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_int8,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e5m2,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e5m2,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e5m2,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2, Extension::mx_int8,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp6e3m2,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e3m2,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_int8,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e2m3,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_int8,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_int8,
-        Extension::bf16},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.matmul_t_block_scaled",
-     {{{Extension::mxfp},
-       {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{mxint8T, fp8ue8m0T, mxint8T, fp8ue8m0T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.max_pool2d",
-     {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.max_pool2d_adaptive",
-     {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.rfft2d",
-     {{{Extension::fft},
-       {{{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.transpose_conv2d",
-     {{{Extension::int4},
-       {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
-      {{Extension::int16},
-       {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
-         SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e4m3T, fp32T, fp16T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
-         SpecificationVersion::V_1_0},
-        {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_0},
-        {{bf16T, bf16T, bf16T, bf16T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bf16T, fp32T, fp16T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp16T, fp32T, bf16T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bf16T, fp32T, bf16T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp32T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3, Extension::fp8e5m2},
-       {{{fp8e4m3T, fp8e5m2T, fp16T, fp8e4m3T, fp8e5m2T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e5m2T, fp16T, fp8e4m3T, fp8e5m2T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp16T, fp8e5m2T, fp8e4m3T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp16T, fp8e5m2T, fp8e4m3T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e5m2T, fp32T, fp8e4m3T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, fp32T, fp8e5m2T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_int8},
-       {{{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e4m3T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e4m3T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp8e4m3T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_int8},
-       {{{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e5m2T, fp32T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e5m2T, fp32T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-          fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp8e5m2T, fp32T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-          fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, bs32_fp8ue8m0_mxint8T, fp32T, fp16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp16T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-          fp32T, fp16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-          fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T, bf16T, fp8e4m3T, fp8e4m3T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e4m3T, bf16T, fp8e4m3T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bf16T, bf16T, fp8e4m3T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bf16T, bf16T, fp8e4m3T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e4m3T, bf16T, bf16T, fp8e4m3T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e4m3T, bf16T, bf16T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e4m3T, fp32T, bf16T, fp8e4m3T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::fp8e5m2},
-       {{{fp8e4m3T, fp8e5m2T, bf16T, fp8e4m3T, fp8e5m2T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8e5m2T, bf16T, fp8e4m3T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, bf16T, fp8e5m2T, fp8e4m3T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e4m3T, bf16T, fp8e5m2T, fp8e4m3T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp8e4m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp8e5m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp6e3m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp6e2m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_fp4e2m1},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-        Extension::mx_int8},
-       {{{fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e4m3T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e4m3T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T, bf16T, fp8e5m2T, fp8e5m2T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8e5m2T, bf16T, fp8e5m2T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e5m2T, bf16T, bf16T, fp8e5m2T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e5m2T, fp32T, bf16T, fp8e5m2T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp8e4m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp8e5m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp6e3m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp6e2m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_fp4e2m1},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-        Extension::mx_int8},
-       {{{fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e5m2T, fp32T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e5m2T, fp32T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T,
-          bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e4m3T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp8e5m2T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e3m2T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp6e2m3T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_fp4e2m1T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_int8},
-       {{{bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, bf16T, bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, bs32_fp8ue8m0_mxint8T, fp32T, bf16T, fp32T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3,
-        Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
-        Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-        Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
-        Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-        Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e5m2,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-        Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-        Extension::mx_int8},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          bf16T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-          fp32T, bf16T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.clamp",
-     {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.erf",
-     {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.sigmoid",
-     {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.tanh",
-     {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.add",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.arithmetic_right_shift",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.bitwise_and",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.bitwise_or",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.bitwise_xor",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.intdiv",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.logical_left_shift",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.logical_right_shift",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.maximum",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.minimum",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.mul",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.pow",
-     {{{Extension::bf16},
-       {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.sub",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.table",
-     {{{Extension::int16},
-       {{{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.abs",
-     {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.bitwise_not",
-     {{{Extension::int64},
-       {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.ceil",
-     {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.clz",
-     {{{Extension::int64},
-       {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.cos",
-     {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.exp",
-     {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.floor",
-     {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.log",
-     {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.negate",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.reciprocal",
-     {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.rsqrt",
-     {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.sin",
-     {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.select",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.equal",
-     {{{Extension::int64},
-       {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.greater",
-     {{{Extension::int64},
-       {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.greater_equal",
-     {{{Extension::int64},
-       {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.reduce_max",
-     {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.reduce_min",
-     {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.reduce_product",
-     {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.reduce_sum",
-     {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.concat",
-     {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.pad",
-     {{{Extension::int64},
-       {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16},
-       {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.reshape",
-     {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.reverse",
-     {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.slice",
-     {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.tile",
-     {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.transpose",
-     {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.gather",
-     {{{Extension::fp8e4m3},
-       {{{fp8e4m3T, i32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, i32T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16},
-       {{{bf16T, i32T, bf16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, i32T, bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, i32T, bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, i32T, bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, i32T, bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, i32T, bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, i32T, bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64},
-       {{{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, i64T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, i64T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{boolT, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3, Extension::int64},
-       {{{fp8e4m3T, i64T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::int64},
-       {{{fp8e5m2T, i64T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::int64},
-       {{{bf16T, i64T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, i64T, bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, i64T, bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, i64T, bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, i64T, bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, i64T, bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, i64T, bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.row_gather",
-     {{{Extension::int16},
-       {{{i16T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::int64},
-       {{{i64T, i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{boolT, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT},
-        {{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, i64T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, i64T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::int16, Extension::int64},
-       {{{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, i32T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, i32T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, i32T, bf16T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, i32T, bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, i32T, bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, i32T, bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, i32T, bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, i32T, bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, i32T, bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::int64},
-       {{{fp8e4m3T, i64T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::int64},
-       {{{fp8e5m2T, i64T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::int64},
-       {{{bf16T, i64T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, i64T, bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, i64T, bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, i64T, bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, i64T, bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, i64T, bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, i64T, bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.row_gather_block_scaled",
-     {{{Extension::fp8e4m3},
-       {{{fp8e4m3T, i32T, i32T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, i32T, i32T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16},
-       {{{bf16T, i32T, i32T, bf16T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::int64},
-       {{{i8T, i64T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i64T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i64T, i64T, i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, i64T, i32T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, i64T, i32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{boolT, i64T, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3, Extension::int64},
-       {{{fp8e4m3T, i64T, i32T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::int64},
-       {{{fp8e5m2T, i64T, i32T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::int64},
-       {{{bf16T, i64T, i32T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mxfp},
-       {{{fp4e2m1T, fp8ue8m0T, i32T, i32T, fp4e2m1T, fp8ue8m0T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e2m3T, fp8ue8m0T, i32T, i32T, fp6e2m3T, fp8ue8m0T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e3m2T, fp8ue8m0T, i32T, i32T, fp6e3m2T, fp8ue8m0T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8ue8m0T, i32T, i32T, fp8e4m3T, fp8ue8m0T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8ue8m0T, i32T, i32T, fp8e5m2T, fp8ue8m0T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{mxint8T, fp8ue8m0T, i32T, i32T, mxint8T, fp8ue8m0T},
-         SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::mxfp, Extension::int64},
-       {{{fp4e2m1T, fp8ue8m0T, i64T, i32T, fp4e2m1T, fp8ue8m0T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e2m3T, fp8ue8m0T, i64T, i32T, fp6e2m3T, fp8ue8m0T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e3m2T, fp8ue8m0T, i64T, i32T, fp6e3m2T, fp8ue8m0T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8ue8m0T, i64T, i32T, fp8e4m3T, fp8ue8m0T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8ue8m0T, i64T, i32T, fp8e5m2T, fp8ue8m0T},
-         SpecificationVersion::V_1_1_DRAFT},
-        {{mxint8T, fp8ue8m0T, i64T, i32T, mxint8T, fp8ue8m0T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.scatter",
-     {{{Extension::fp8e4m3},
-       {{{fp8e4m3T, i32T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, i32T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16},
-       {{{bf16T, i32T, bf16T, bf16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, i32T, bs32_fp8ue8m0_fp8e4m3T,
-          bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, i32T, bs32_fp8ue8m0_fp8e5m2T,
-          bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, i32T, bs32_fp8ue8m0_fp6e3m2T,
-          bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, i32T, bs32_fp8ue8m0_fp6e2m3T,
-          bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, i32T, bs32_fp8ue8m0_fp4e2m1T,
-          bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, i32T, bs32_fp8ue8m0_mxint8T,
-          bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64},
-       {{{i8T, i64T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T, i64T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T, i64T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, i64T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{boolT, i64T, boolT, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3, Extension::int64},
-       {{{fp8e4m3T, i64T, fp8e4m3T, fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::int64},
-       {{{fp8e5m2T, i64T, fp8e5m2T, fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::int64},
-       {{{bf16T, i64T, bf16T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, i64T, bs32_fp8ue8m0_fp8e4m3T,
-          bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, i64T, bs32_fp8ue8m0_fp8e5m2T,
-          bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, i64T, bs32_fp8ue8m0_fp6e3m2T,
-          bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, i64T, bs32_fp8ue8m0_fp6e2m3T,
-          bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, i64T, bs32_fp8ue8m0_fp4e2m1T,
-          bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, i64T, bs32_fp8ue8m0_mxint8T,
-          bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.resize",
-     {{{Extension::int16},
-       {{{i16T, i48T}, SpecificationVersion::V_1_0},
-        {{i16T, i16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.cast",
-     {{{Extension::bf16},
-       {{{i8T, bf16T}, SpecificationVersion::V_1_0},
-        {{i16T, bf16T}, SpecificationVersion::V_1_0},
-        {{i32T, bf16T}, SpecificationVersion::V_1_0},
-        {{bf16T, i8T}, SpecificationVersion::V_1_0},
-        {{bf16T, i16T}, SpecificationVersion::V_1_0},
-        {{bf16T, i32T}, SpecificationVersion::V_1_0},
-        {{bf16T, fp32T}, SpecificationVersion::V_1_0},
-        {{fp32T, bf16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::int64},
-       {{{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{boolT, i64T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16, Extension::fp8e4m3},
-       {{{bf16T, fp8e4m3T}, SpecificationVersion::V_1_0},
-        {{fp8e4m3T, bf16T}, SpecificationVersion::V_1_0}},
-       allOf},
-      {{Extension::bf16, Extension::fp8e5m2},
-       {{{bf16T, fp8e5m2T}, SpecificationVersion::V_1_0},
-        {{fp8e5m2T, bf16T}, SpecificationVersion::V_1_0}},
-       allOf},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp8e4m3T, fp32T}, SpecificationVersion::V_1_0},
-        {{fp16T, fp8e4m3T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp16T}, SpecificationVersion::V_1_0},
-        {{fp8e5m2T, fp32T}, SpecificationVersion::V_1_0},
-        {{fp16T, fp8e5m2T}, SpecificationVersion::V_1_0},
-        {{fp32T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e4m3, Extension::mx_common, Extension::mx_int8},
-       {{{fp8e4m3T, bs32_fp8ue8m0_mxint8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::mx_common, Extension::mx_int8},
-       {{{fp8e5m2T, bs32_fp8ue8m0_mxint8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{fp16T, bs32_fp8ue8m0_fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, fp32T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{fp16T, bs32_fp8ue8m0_fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, fp32T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{fp16T, bs32_fp8ue8m0_fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, fp32T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{fp16T, bs32_fp8ue8m0_fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, fp32T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{fp16T, bs32_fp8ue8m0_fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, fp32T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{fp16T, bs32_fp8ue8m0_mxint8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, bs32_fp8ue8m0_mxint8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, fp32T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bf16T, bs32_fp8ue8m0_fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e4m3T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bf16T, bs32_fp8ue8m0_fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp8e5m2T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bf16T, bs32_fp8ue8m0_fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e3m2T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bf16T, bs32_fp8ue8m0_fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp6e2m3T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bf16T, bs32_fp8ue8m0_fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_fp4e2m1T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::mx_common, Extension::mx_int8},
-       {{{bf16T, bs32_fp8ue8m0_mxint8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bs32_fp8ue8m0_mxint8T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.cast_from_block_scaled",
-     {{{Extension::bf16, Extension::mxfp},
-       {{{fp4e2m1T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e2m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e3m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{mxint8T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mxfp},
-       {{{fp4e2m1T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e2m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e3m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e4m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8e5m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{mxint8T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
-    {"tosa.cast_to_block_scaled",
-     {{{Extension::mxfp},
-       {{{bf16T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::bf16, Extension::mxfp},
-       {{{bf16T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
-        {{bf16T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.rescale",
-     {{{Extension::int16},
-       {{{i48T, i48T, i8T, i8T}, SpecificationVersion::V_1_0},
-        {{i48T, i48T, i16T, i16T}, SpecificationVersion::V_1_0},
-        {{i48T, i48T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.const",
-     {{{Extension::int4}, {{{i4T}, SpecificationVersion::V_1_0}}},
-      {{Extension::int16}, {{{i48T}, SpecificationVersion::V_1_0}}},
-      {{Extension::int64}, {{{i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3}, {{{fp8e4m3T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2}, {{{fp8e5m2T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16}, {{{bf16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::mxfp},
-       {{{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
-        {{mxint8T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.identity",
-     {{{Extension::int4}, {{{i4T, i4T}, SpecificationVersion::V_1_0}}},
-      {{Extension::int16}, {{{i48T, i48T}, SpecificationVersion::V_1_0}}},
-      {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3},
-       {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
-      {{Extension::fp8e5m2},
-       {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
-      {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}},
-      {{Extension::mx_common, Extension::mx_fp8e4m3},
-       {{{bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2},
-       {{{bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2},
-       {{{bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3},
-       {{{bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1},
-       {{{bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8},
-       {{{bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T},
-         SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}},
-    {"tosa.variable",
-     {{{Extension::variable},
-       {{{i8T}, SpecificationVersion::V_1_0},
-        {{fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.variable_write",
-     {{{Extension::variable},
-       {{{i8T}, SpecificationVersion::V_1_0},
-        {{fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.variable_read",
-     {{{Extension::variable},
-       {{{i8T}, SpecificationVersion::V_1_0},
-        {{fp16T}, SpecificationVersion::V_1_0},
-        {{fp32T}, SpecificationVersion::V_1_0}}}}},
-    {"tosa.add_shape", {{{Extension::shape}, {}}}},
-    {"tosa.assert_equal_shape", {{{Extension::shape}, {}}}},
-    {"tosa.concat_shape", {{{Extension::shape}, {}}}},
-    {"tosa.div_ceil_shape", {{{Extension::shape}, {}}}},
-    {"tosa.div_floor_shape", {{{Extension::shape}, {}}}},
-    {"tosa.exp2_shape", {{{Extension::shape}, {}}}},
-    {"tosa.log2_ceil_shape", {{{Extension::shape}, {}}}},
-    {"tosa.log2_floor_shape", {{{Extension::shape}, {}}}},
-    {"tosa.max_shape", {{{Extension::shape}, {}}}},
-    {"tosa.min_shape", {{{Extension::shape}, {}}}},
-    {"tosa.mod_shape", {{{Extension::shape}, {}}}},
-    {"tosa.mul_shape", {{{Extension::shape}, {}}}},
-    {"tosa.slice_shape", {{{Extension::shape}, {}}}},
-    {"tosa.sub_shape", {{{Extension::shape}, {}}}},
-    {"tosa.while_loop", {{{Extension::controlflow}, {}}}},
-    {"tosa.cond_if", {{{Extension::controlflow}, {}}}},
-    {"tosa.dim",
-     {{{Extension::shape},
-       {{{boolT}, SpecificationVersion::V_1_1_DRAFT},
-        {{i8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{i32T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp16T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
-      {{Extension::fp8e4m3, Extension::shape},
-       {{{fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::fp8e5m2, Extension::shape},
-       {{{fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::bf16, Extension::shape},
-       {{{bf16T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mxfp, Extension::shape},
-       {{{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
-        {{mxint8T}, SpecificationVersion::V_1_1_DRAFT},
-        {{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::int64, Extension::shape},
-       {{{i64T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e4m3, Extension::shape},
-       {{{bs32_fp8ue8m0_fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp8e5m2, Extension::shape},
-       {{{bs32_fp8ue8m0_fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e3m2, Extension::shape},
-       {{{bs32_fp8ue8m0_fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp6e2m3, Extension::shape},
-       {{{bs32_fp8ue8m0_fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_fp4e2m1, Extension::shape},
-       {{{bs32_fp8ue8m0_fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf},
-      {{Extension::mx_common, Extension::mx_int8, Extension::shape},
-       {{{bs32_fp8ue8m0_mxint8T}, SpecificationVersion::V_1_1_DRAFT}},
-       allOf}}}};
+static constexpr OpComplianceInfo<Profile> kProfileComplianceInfos[] = {
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[0], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[6], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[7], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[9], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[10], 4)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[17], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[18], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[21], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[22], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[28], 12)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[40], 16)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[56], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[0], 1)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[58], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[65], 4)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[69], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), {}},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[71], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[72], 6)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[71], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[72], 6)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), {}},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[71], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[78], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[81], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[82], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[84], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[87], 5)},
+    {llvm::ArrayRef(&kProfileModes[4], 2), llvm::ArrayRef(&kVersionedTypeInfos[92], 4)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[81], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[82], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[81], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[82], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[96], 4)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[101], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[102], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[105], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[106], 5)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[56], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[111], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[112], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[114], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[116], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[119], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[121], 5)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[0], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[126], 9)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[135], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[137], 10)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[147], 14)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[161], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[164], 5)},
+    {llvm::ArrayRef(&kProfileModes[4], 2), llvm::ArrayRef(&kVersionedTypeInfos[169], 6)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[175], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[178], 5)},
+    {llvm::ArrayRef(&kProfileModes[4], 2), llvm::ArrayRef(&kVersionedTypeInfos[183], 4)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[187], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
+    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[71], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[72], 6)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[188], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[69], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[188], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[69], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[188], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[69], 2)},
+};
+
+static constexpr OpComplianceInfo<Extension> kExtensionComplianceInfos[] = {
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[193], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[194], 6)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[200], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[201], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[202], 1)},
+    {llvm::ArrayRef(&kExtensionModes[6], 2), llvm::ArrayRef(&kVersionedTypeInfos[203], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[8], 2), llvm::ArrayRef(&kVersionedTypeInfos[204], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[10], 2), llvm::ArrayRef(&kVersionedTypeInfos[205], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[206], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[194], 6)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[207], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[208], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[209], 1)},
+    {llvm::ArrayRef(&kExtensionModes[6], 2), llvm::ArrayRef(&kVersionedTypeInfos[203], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[8], 2), llvm::ArrayRef(&kVersionedTypeInfos[204], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[10], 2), llvm::ArrayRef(&kVersionedTypeInfos[205], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[210], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[211], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[212], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[213], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[214], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[215], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[216], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[217], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[218], 8)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[226], 4)},
+    {llvm::ArrayRef(&kExtensionModes[12], 2), llvm::ArrayRef(&kVersionedTypeInfos[230], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[14], 2), llvm::ArrayRef(&kVersionedTypeInfos[232], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[234], 4)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[238], 4)},
+    {llvm::ArrayRef(&kExtensionModes[16], 3), llvm::ArrayRef(&kVersionedTypeInfos[242], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[19], 3), llvm::ArrayRef(&kVersionedTypeInfos[244], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[22], 3), llvm::ArrayRef(&kVersionedTypeInfos[246], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[25], 3), llvm::ArrayRef(&kVersionedTypeInfos[248], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[28], 3), llvm::ArrayRef(&kVersionedTypeInfos[250], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[31], 3), llvm::ArrayRef(&kVersionedTypeInfos[252], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[34], 3), llvm::ArrayRef(&kVersionedTypeInfos[254], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[37], 3), llvm::ArrayRef(&kVersionedTypeInfos[256], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[40], 3), llvm::ArrayRef(&kVersionedTypeInfos[258], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[43], 3), llvm::ArrayRef(&kVersionedTypeInfos[260], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[46], 3), llvm::ArrayRef(&kVersionedTypeInfos[262], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[49], 3), llvm::ArrayRef(&kVersionedTypeInfos[264], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[266], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[270], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[274], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[278], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[282], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[286], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[64], 3), llvm::ArrayRef(&kVersionedTypeInfos[290], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[67], 3), llvm::ArrayRef(&kVersionedTypeInfos[292], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[70], 3), llvm::ArrayRef(&kVersionedTypeInfos[294], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[73], 3), llvm::ArrayRef(&kVersionedTypeInfos[296], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[76], 3), llvm::ArrayRef(&kVersionedTypeInfos[298], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[79], 3), llvm::ArrayRef(&kVersionedTypeInfos[300], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[82], 2), llvm::ArrayRef(&kVersionedTypeInfos[302], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[84], 1), llvm::ArrayRef(&kVersionedTypeInfos[308], 6)},
+    {llvm::ArrayRef(&kExtensionModes[84], 1), llvm::ArrayRef(&kVersionedTypeInfos[314], 7)},
+    {llvm::ArrayRef(&kExtensionModes[82], 2), llvm::ArrayRef(&kVersionedTypeInfos[321], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[326], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[326], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[85], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[86], 1), llvm::ArrayRef(&kVersionedTypeInfos[335], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[336], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[337], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[338], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[339], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[340], 1)},
+    {llvm::ArrayRef(&kExtensionModes[84], 1), llvm::ArrayRef(&kVersionedTypeInfos[341], 5)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[346], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[347], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[348], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[349], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[350], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[351], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[86], 1), llvm::ArrayRef(&kVersionedTypeInfos[352], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[353], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[354], 11)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[365], 11)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[376], 7)},
+    {llvm::ArrayRef(&kExtensionModes[87], 2), llvm::ArrayRef(&kVersionedTypeInfos[383], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[16], 3), llvm::ArrayRef(&kVersionedTypeInfos[389], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[19], 3), llvm::ArrayRef(&kVersionedTypeInfos[395], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[22], 3), llvm::ArrayRef(&kVersionedTypeInfos[401], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[25], 3), llvm::ArrayRef(&kVersionedTypeInfos[407], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[28], 3), llvm::ArrayRef(&kVersionedTypeInfos[413], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[31], 3), llvm::ArrayRef(&kVersionedTypeInfos[419], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[34], 3), llvm::ArrayRef(&kVersionedTypeInfos[425], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[37], 3), llvm::ArrayRef(&kVersionedTypeInfos[431], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[40], 3), llvm::ArrayRef(&kVersionedTypeInfos[437], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[43], 3), llvm::ArrayRef(&kVersionedTypeInfos[443], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[46], 3), llvm::ArrayRef(&kVersionedTypeInfos[449], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[49], 3), llvm::ArrayRef(&kVersionedTypeInfos[455], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[461], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[472], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[483], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[494], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[505], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[516], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[89], 3), llvm::ArrayRef(&kVersionedTypeInfos[527], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[92], 3), llvm::ArrayRef(&kVersionedTypeInfos[533], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[95], 3), llvm::ArrayRef(&kVersionedTypeInfos[539], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[98], 3), llvm::ArrayRef(&kVersionedTypeInfos[545], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[101], 3), llvm::ArrayRef(&kVersionedTypeInfos[551], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[104], 3), llvm::ArrayRef(&kVersionedTypeInfos[557], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[107], 3), llvm::ArrayRef(&kVersionedTypeInfos[563], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[110], 3), llvm::ArrayRef(&kVersionedTypeInfos[569], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[113], 3), llvm::ArrayRef(&kVersionedTypeInfos[575], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[116], 3), llvm::ArrayRef(&kVersionedTypeInfos[581], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[119], 3), llvm::ArrayRef(&kVersionedTypeInfos[587], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[122], 3), llvm::ArrayRef(&kVersionedTypeInfos[593], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[125], 3), llvm::ArrayRef(&kVersionedTypeInfos[599], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[128], 3), llvm::ArrayRef(&kVersionedTypeInfos[605], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[131], 3), llvm::ArrayRef(&kVersionedTypeInfos[611], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[12], 2), llvm::ArrayRef(&kVersionedTypeInfos[617], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[134], 3), llvm::ArrayRef(&kVersionedTypeInfos[625], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[137], 4), llvm::ArrayRef(&kVersionedTypeInfos[629], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[141], 4), llvm::ArrayRef(&kVersionedTypeInfos[633], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[145], 4), llvm::ArrayRef(&kVersionedTypeInfos[637], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[149], 4), llvm::ArrayRef(&kVersionedTypeInfos[641], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[153], 4), llvm::ArrayRef(&kVersionedTypeInfos[645], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[157], 4), llvm::ArrayRef(&kVersionedTypeInfos[649], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[14], 2), llvm::ArrayRef(&kVersionedTypeInfos[653], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[161], 4), llvm::ArrayRef(&kVersionedTypeInfos[661], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[165], 4), llvm::ArrayRef(&kVersionedTypeInfos[665], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[169], 4), llvm::ArrayRef(&kVersionedTypeInfos[669], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[173], 4), llvm::ArrayRef(&kVersionedTypeInfos[673], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[177], 4), llvm::ArrayRef(&kVersionedTypeInfos[677], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[181], 4), llvm::ArrayRef(&kVersionedTypeInfos[681], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[64], 3), llvm::ArrayRef(&kVersionedTypeInfos[685], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[67], 3), llvm::ArrayRef(&kVersionedTypeInfos[693], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[70], 3), llvm::ArrayRef(&kVersionedTypeInfos[701], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[73], 3), llvm::ArrayRef(&kVersionedTypeInfos[709], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[76], 3), llvm::ArrayRef(&kVersionedTypeInfos[717], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[79], 3), llvm::ArrayRef(&kVersionedTypeInfos[725], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[185], 4), llvm::ArrayRef(&kVersionedTypeInfos[733], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[189], 4), llvm::ArrayRef(&kVersionedTypeInfos[737], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[193], 4), llvm::ArrayRef(&kVersionedTypeInfos[741], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[197], 4), llvm::ArrayRef(&kVersionedTypeInfos[745], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[201], 4), llvm::ArrayRef(&kVersionedTypeInfos[749], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[205], 4), llvm::ArrayRef(&kVersionedTypeInfos[753], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[209], 4), llvm::ArrayRef(&kVersionedTypeInfos[757], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[213], 4), llvm::ArrayRef(&kVersionedTypeInfos[761], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[217], 4), llvm::ArrayRef(&kVersionedTypeInfos[765], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[221], 4), llvm::ArrayRef(&kVersionedTypeInfos[769], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[225], 4), llvm::ArrayRef(&kVersionedTypeInfos[773], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[229], 4), llvm::ArrayRef(&kVersionedTypeInfos[777], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[233], 4), llvm::ArrayRef(&kVersionedTypeInfos[781], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[237], 4), llvm::ArrayRef(&kVersionedTypeInfos[785], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[241], 4), llvm::ArrayRef(&kVersionedTypeInfos[789], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[245], 1), llvm::ArrayRef(&kVersionedTypeInfos[793], 5)},
+    {llvm::ArrayRef(&kExtensionModes[86], 1), llvm::ArrayRef(&kVersionedTypeInfos[352], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[353], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[354], 11)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[365], 11)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[376], 7)},
+    {llvm::ArrayRef(&kExtensionModes[87], 2), llvm::ArrayRef(&kVersionedTypeInfos[383], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[16], 3), llvm::ArrayRef(&kVersionedTypeInfos[389], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[19], 3), llvm::ArrayRef(&kVersionedTypeInfos[395], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[22], 3), llvm::ArrayRef(&kVersionedTypeInfos[401], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[25], 3), llvm::ArrayRef(&kVersionedTypeInfos[407], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[28], 3), llvm::ArrayRef(&kVersionedTypeInfos[413], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[31], 3), llvm::ArrayRef(&kVersionedTypeInfos[419], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[34], 3), llvm::ArrayRef(&kVersionedTypeInfos[425], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[37], 3), llvm::ArrayRef(&kVersionedTypeInfos[431], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[40], 3), llvm::ArrayRef(&kVersionedTypeInfos[437], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[43], 3), llvm::ArrayRef(&kVersionedTypeInfos[443], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[46], 3), llvm::ArrayRef(&kVersionedTypeInfos[449], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[49], 3), llvm::ArrayRef(&kVersionedTypeInfos[455], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[461], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[472], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[483], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[494], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[505], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[516], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[89], 3), llvm::ArrayRef(&kVersionedTypeInfos[527], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[92], 3), llvm::ArrayRef(&kVersionedTypeInfos[533], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[95], 3), llvm::ArrayRef(&kVersionedTypeInfos[539], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[98], 3), llvm::ArrayRef(&kVersionedTypeInfos[545], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[101], 3), llvm::ArrayRef(&kVersionedTypeInfos[551], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[104], 3), llvm::ArrayRef(&kVersionedTypeInfos[557], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[107], 3), llvm::ArrayRef(&kVersionedTypeInfos[563], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[110], 3), llvm::ArrayRef(&kVersionedTypeInfos[569], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[113], 3), llvm::ArrayRef(&kVersionedTypeInfos[575], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[116], 3), llvm::ArrayRef(&kVersionedTypeInfos[581], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[119], 3), llvm::ArrayRef(&kVersionedTypeInfos[587], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[122], 3), llvm::ArrayRef(&kVersionedTypeInfos[593], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[125], 3), llvm::ArrayRef(&kVersionedTypeInfos[599], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[128], 3), llvm::ArrayRef(&kVersionedTypeInfos[605], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[131], 3), llvm::ArrayRef(&kVersionedTypeInfos[611], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[12], 2), llvm::ArrayRef(&kVersionedTypeInfos[617], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[134], 3), llvm::ArrayRef(&kVersionedTypeInfos[625], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[137], 4), llvm::ArrayRef(&kVersionedTypeInfos[629], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[141], 4), llvm::ArrayRef(&kVersionedTypeInfos[633], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[145], 4), llvm::ArrayRef(&kVersionedTypeInfos[637], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[149], 4), llvm::ArrayRef(&kVersionedTypeInfos[641], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[153], 4), llvm::ArrayRef(&kVersionedTypeInfos[645], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[157], 4), llvm::ArrayRef(&kVersionedTypeInfos[649], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[14], 2), llvm::ArrayRef(&kVersionedTypeInfos[653], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[161], 4), llvm::ArrayRef(&kVersionedTypeInfos[661], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[165], 4), llvm::ArrayRef(&kVersionedTypeInfos[665], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[169], 4), llvm::ArrayRef(&kVersionedTypeInfos[669], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[173], 4), llvm::ArrayRef(&kVersionedTypeInfos[673], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[177], 4), llvm::ArrayRef(&kVersionedTypeInfos[677], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[181], 4), llvm::ArrayRef(&kVersionedTypeInfos[681], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[64], 3), llvm::ArrayRef(&kVersionedTypeInfos[685], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[67], 3), llvm::ArrayRef(&kVersionedTypeInfos[693], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[70], 3), llvm::ArrayRef(&kVersionedTypeInfos[701], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[73], 3), llvm::ArrayRef(&kVersionedTypeInfos[709], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[76], 3), llvm::ArrayRef(&kVersionedTypeInfos[717], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[79], 3), llvm::ArrayRef(&kVersionedTypeInfos[725], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[185], 4), llvm::ArrayRef(&kVersionedTypeInfos[733], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[189], 4), llvm::ArrayRef(&kVersionedTypeInfos[737], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[193], 4), llvm::ArrayRef(&kVersionedTypeInfos[741], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[197], 4), llvm::ArrayRef(&kVersionedTypeInfos[745], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[201], 4), llvm::ArrayRef(&kVersionedTypeInfos[749], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[205], 4), llvm::ArrayRef(&kVersionedTypeInfos[753], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[209], 4), llvm::ArrayRef(&kVersionedTypeInfos[757], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[213], 4), llvm::ArrayRef(&kVersionedTypeInfos[761], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[217], 4), llvm::ArrayRef(&kVersionedTypeInfos[765], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[221], 4), llvm::ArrayRef(&kVersionedTypeInfos[769], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[225], 4), llvm::ArrayRef(&kVersionedTypeInfos[773], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[229], 4), llvm::ArrayRef(&kVersionedTypeInfos[777], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[233], 4), llvm::ArrayRef(&kVersionedTypeInfos[781], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[237], 4), llvm::ArrayRef(&kVersionedTypeInfos[785], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[241], 4), llvm::ArrayRef(&kVersionedTypeInfos[789], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[86], 1), llvm::ArrayRef(&kVersionedTypeInfos[352], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[353], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[798], 2)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[800], 2)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[802], 1)},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), llvm::ArrayRef(&kVersionedTypeInfos[803], 6)},
+    {llvm::ArrayRef(&kExtensionModes[246], 2), llvm::ArrayRef(&kVersionedTypeInfos[809], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[248], 2), llvm::ArrayRef(&kVersionedTypeInfos[810], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[250], 2), llvm::ArrayRef(&kVersionedTypeInfos[811], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[252], 2), llvm::ArrayRef(&kVersionedTypeInfos[812], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[254], 2), llvm::ArrayRef(&kVersionedTypeInfos[337], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[256], 3), llvm::ArrayRef(&kVersionedTypeInfos[346], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[259], 3), llvm::ArrayRef(&kVersionedTypeInfos[347], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[262], 3), llvm::ArrayRef(&kVersionedTypeInfos[348], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[265], 3), llvm::ArrayRef(&kVersionedTypeInfos[349], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[268], 3), llvm::ArrayRef(&kVersionedTypeInfos[350], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[271], 3), llvm::ArrayRef(&kVersionedTypeInfos[351], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[817], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[818], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[274], 1), llvm::ArrayRef(&kVersionedTypeInfos[819], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[820], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[821], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[822], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[823], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[824], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[825], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[826], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[827], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[828], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[829], 7)},
+    {llvm::ArrayRef(&kExtensionModes[6], 2), llvm::ArrayRef(&kVersionedTypeInfos[836], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[8], 2), llvm::ArrayRef(&kVersionedTypeInfos[837], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[10], 2), llvm::ArrayRef(&kVersionedTypeInfos[838], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[275], 3), llvm::ArrayRef(&kVersionedTypeInfos[839], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[278], 3), llvm::ArrayRef(&kVersionedTypeInfos[840], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[281], 3), llvm::ArrayRef(&kVersionedTypeInfos[841], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[284], 3), llvm::ArrayRef(&kVersionedTypeInfos[842], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[287], 3), llvm::ArrayRef(&kVersionedTypeInfos[843], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[290], 3), llvm::ArrayRef(&kVersionedTypeInfos[844], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[817], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[818], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[817], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[818], 1)},
+    {llvm::ArrayRef(&kExtensionModes[86], 1), llvm::ArrayRef(&kVersionedTypeInfos[845], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[846], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[847], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[848], 2)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[850], 2)},
+    {llvm::ArrayRef(&kExtensionModes[87], 2), llvm::ArrayRef(&kVersionedTypeInfos[852], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[856], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[857], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[858], 5)},
+    {llvm::ArrayRef(&kExtensionModes[293], 3), llvm::ArrayRef(&kVersionedTypeInfos[863], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[87], 2), llvm::ArrayRef(&kVersionedTypeInfos[865], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[12], 2), llvm::ArrayRef(&kVersionedTypeInfos[867], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[296], 4), llvm::ArrayRef(&kVersionedTypeInfos[874], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[16], 3), llvm::ArrayRef(&kVersionedTypeInfos[876], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[300], 4), llvm::ArrayRef(&kVersionedTypeInfos[878], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[19], 3), llvm::ArrayRef(&kVersionedTypeInfos[880], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[304], 4), llvm::ArrayRef(&kVersionedTypeInfos[882], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[22], 3), llvm::ArrayRef(&kVersionedTypeInfos[884], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[308], 4), llvm::ArrayRef(&kVersionedTypeInfos[886], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[25], 3), llvm::ArrayRef(&kVersionedTypeInfos[888], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[312], 4), llvm::ArrayRef(&kVersionedTypeInfos[890], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[28], 3), llvm::ArrayRef(&kVersionedTypeInfos[892], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[316], 4), llvm::ArrayRef(&kVersionedTypeInfos[894], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[31], 3), llvm::ArrayRef(&kVersionedTypeInfos[896], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[898], 5)},
+    {llvm::ArrayRef(&kExtensionModes[14], 2), llvm::ArrayRef(&kVersionedTypeInfos[903], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[320], 4), llvm::ArrayRef(&kVersionedTypeInfos[910], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[34], 3), llvm::ArrayRef(&kVersionedTypeInfos[912], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[324], 4), llvm::ArrayRef(&kVersionedTypeInfos[914], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[37], 3), llvm::ArrayRef(&kVersionedTypeInfos[916], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[328], 4), llvm::ArrayRef(&kVersionedTypeInfos[918], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[40], 3), llvm::ArrayRef(&kVersionedTypeInfos[920], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[332], 4), llvm::ArrayRef(&kVersionedTypeInfos[922], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[43], 3), llvm::ArrayRef(&kVersionedTypeInfos[924], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[336], 4), llvm::ArrayRef(&kVersionedTypeInfos[926], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[46], 3), llvm::ArrayRef(&kVersionedTypeInfos[928], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[340], 4), llvm::ArrayRef(&kVersionedTypeInfos[930], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[49], 3), llvm::ArrayRef(&kVersionedTypeInfos[932], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[934], 8)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[942], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[947], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[952], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[957], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[962], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[967], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[64], 3), llvm::ArrayRef(&kVersionedTypeInfos[972], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[67], 3), llvm::ArrayRef(&kVersionedTypeInfos[979], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[70], 3), llvm::ArrayRef(&kVersionedTypeInfos[986], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[73], 3), llvm::ArrayRef(&kVersionedTypeInfos[993], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[76], 3), llvm::ArrayRef(&kVersionedTypeInfos[1000], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[79], 3), llvm::ArrayRef(&kVersionedTypeInfos[1007], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[344], 4), llvm::ArrayRef(&kVersionedTypeInfos[1014], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[89], 3), llvm::ArrayRef(&kVersionedTypeInfos[1016], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[348], 4), llvm::ArrayRef(&kVersionedTypeInfos[1018], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[92], 3), llvm::ArrayRef(&kVersionedTypeInfos[1020], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[352], 4), llvm::ArrayRef(&kVersionedTypeInfos[1022], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[95], 3), llvm::ArrayRef(&kVersionedTypeInfos[1024], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[356], 4), llvm::ArrayRef(&kVersionedTypeInfos[1026], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[98], 3), llvm::ArrayRef(&kVersionedTypeInfos[1028], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[360], 4), llvm::ArrayRef(&kVersionedTypeInfos[1030], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[101], 3), llvm::ArrayRef(&kVersionedTypeInfos[1032], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[364], 4), llvm::ArrayRef(&kVersionedTypeInfos[1034], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[104], 3), llvm::ArrayRef(&kVersionedTypeInfos[1036], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[368], 4), llvm::ArrayRef(&kVersionedTypeInfos[1038], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[107], 3), llvm::ArrayRef(&kVersionedTypeInfos[1040], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[372], 4), llvm::ArrayRef(&kVersionedTypeInfos[1042], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[110], 3), llvm::ArrayRef(&kVersionedTypeInfos[1044], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[376], 4), llvm::ArrayRef(&kVersionedTypeInfos[1046], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[113], 3), llvm::ArrayRef(&kVersionedTypeInfos[1048], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[380], 4), llvm::ArrayRef(&kVersionedTypeInfos[1050], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[116], 3), llvm::ArrayRef(&kVersionedTypeInfos[1052], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[384], 4), llvm::ArrayRef(&kVersionedTypeInfos[1054], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[119], 3), llvm::ArrayRef(&kVersionedTypeInfos[1056], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[388], 4), llvm::ArrayRef(&kVersionedTypeInfos[1058], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[122], 3), llvm::ArrayRef(&kVersionedTypeInfos[1060], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[392], 4), llvm::ArrayRef(&kVersionedTypeInfos[1062], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[125], 3), llvm::ArrayRef(&kVersionedTypeInfos[1064], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[396], 4), llvm::ArrayRef(&kVersionedTypeInfos[1066], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[128], 3), llvm::ArrayRef(&kVersionedTypeInfos[1068], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[400], 4), llvm::ArrayRef(&kVersionedTypeInfos[1070], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[131], 3), llvm::ArrayRef(&kVersionedTypeInfos[1072], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[84], 1), llvm::ArrayRef(&kVersionedTypeInfos[1074], 6)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[326], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[1080], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1081], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1082], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1083], 1)},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[1084], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1085], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1086], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1087], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[1088], 3)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[1091], 2)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1081], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1082], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[274], 1), llvm::ArrayRef(&kVersionedTypeInfos[1093], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[1094], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[1095], 7)},
+    {llvm::ArrayRef(&kExtensionModes[404], 2), llvm::ArrayRef(&kVersionedTypeInfos[1102], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1103], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1104], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1105], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[823], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[824], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[825], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[826], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[827], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[828], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[6], 2), llvm::ArrayRef(&kVersionedTypeInfos[836], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[8], 2), llvm::ArrayRef(&kVersionedTypeInfos[837], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[10], 2), llvm::ArrayRef(&kVersionedTypeInfos[838], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[275], 3), llvm::ArrayRef(&kVersionedTypeInfos[839], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[278], 3), llvm::ArrayRef(&kVersionedTypeInfos[840], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[281], 3), llvm::ArrayRef(&kVersionedTypeInfos[841], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[284], 3), llvm::ArrayRef(&kVersionedTypeInfos[842], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[287], 3), llvm::ArrayRef(&kVersionedTypeInfos[843], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[290], 3), llvm::ArrayRef(&kVersionedTypeInfos[844], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1106], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1107], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1108], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[1109], 7)},
+    {llvm::ArrayRef(&kExtensionModes[6], 2), llvm::ArrayRef(&kVersionedTypeInfos[1116], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[8], 2), llvm::ArrayRef(&kVersionedTypeInfos[1117], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[10], 2), llvm::ArrayRef(&kVersionedTypeInfos[1118], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[84], 1), llvm::ArrayRef(&kVersionedTypeInfos[1119], 6)},
+    {llvm::ArrayRef(&kExtensionModes[406], 2), llvm::ArrayRef(&kVersionedTypeInfos[1125], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1131], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1132], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1133], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[1134], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[1135], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[1136], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[1137], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[1138], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[1139], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[1140], 7)},
+    {llvm::ArrayRef(&kExtensionModes[6], 2), llvm::ArrayRef(&kVersionedTypeInfos[1147], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[8], 2), llvm::ArrayRef(&kVersionedTypeInfos[1148], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[10], 2), llvm::ArrayRef(&kVersionedTypeInfos[1149], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[275], 3), llvm::ArrayRef(&kVersionedTypeInfos[1150], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[278], 3), llvm::ArrayRef(&kVersionedTypeInfos[1151], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[281], 3), llvm::ArrayRef(&kVersionedTypeInfos[1152], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[284], 3), llvm::ArrayRef(&kVersionedTypeInfos[1153], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[287], 3), llvm::ArrayRef(&kVersionedTypeInfos[1154], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[290], 3), llvm::ArrayRef(&kVersionedTypeInfos[1155], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[1156], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[86], 1), llvm::ArrayRef(&kVersionedTypeInfos[352], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[353], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1157], 11)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1168], 11)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[376], 7)},
+    {llvm::ArrayRef(&kExtensionModes[87], 2), llvm::ArrayRef(&kVersionedTypeInfos[383], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[16], 3), llvm::ArrayRef(&kVersionedTypeInfos[389], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[19], 3), llvm::ArrayRef(&kVersionedTypeInfos[395], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[22], 3), llvm::ArrayRef(&kVersionedTypeInfos[401], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[25], 3), llvm::ArrayRef(&kVersionedTypeInfos[407], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[28], 3), llvm::ArrayRef(&kVersionedTypeInfos[413], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[31], 3), llvm::ArrayRef(&kVersionedTypeInfos[419], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[34], 3), llvm::ArrayRef(&kVersionedTypeInfos[425], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[37], 3), llvm::ArrayRef(&kVersionedTypeInfos[431], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[40], 3), llvm::ArrayRef(&kVersionedTypeInfos[437], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[43], 3), llvm::ArrayRef(&kVersionedTypeInfos[443], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[46], 3), llvm::ArrayRef(&kVersionedTypeInfos[449], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[49], 3), llvm::ArrayRef(&kVersionedTypeInfos[455], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[461], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[472], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[483], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[494], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[505], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[516], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[89], 3), llvm::ArrayRef(&kVersionedTypeInfos[527], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[92], 3), llvm::ArrayRef(&kVersionedTypeInfos[533], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[95], 3), llvm::ArrayRef(&kVersionedTypeInfos[539], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[98], 3), llvm::ArrayRef(&kVersionedTypeInfos[545], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[101], 3), llvm::ArrayRef(&kVersionedTypeInfos[551], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[104], 3), llvm::ArrayRef(&kVersionedTypeInfos[557], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[107], 3), llvm::ArrayRef(&kVersionedTypeInfos[563], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[110], 3), llvm::ArrayRef(&kVersionedTypeInfos[569], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[113], 3), llvm::ArrayRef(&kVersionedTypeInfos[575], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[116], 3), llvm::ArrayRef(&kVersionedTypeInfos[581], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[119], 3), llvm::ArrayRef(&kVersionedTypeInfos[587], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[122], 3), llvm::ArrayRef(&kVersionedTypeInfos[593], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[125], 3), llvm::ArrayRef(&kVersionedTypeInfos[599], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[128], 3), llvm::ArrayRef(&kVersionedTypeInfos[605], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[131], 3), llvm::ArrayRef(&kVersionedTypeInfos[611], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[12], 2), llvm::ArrayRef(&kVersionedTypeInfos[617], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[134], 3), llvm::ArrayRef(&kVersionedTypeInfos[625], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[137], 4), llvm::ArrayRef(&kVersionedTypeInfos[629], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[141], 4), llvm::ArrayRef(&kVersionedTypeInfos[633], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[145], 4), llvm::ArrayRef(&kVersionedTypeInfos[637], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[149], 4), llvm::ArrayRef(&kVersionedTypeInfos[641], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[153], 4), llvm::ArrayRef(&kVersionedTypeInfos[645], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[157], 4), llvm::ArrayRef(&kVersionedTypeInfos[649], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[14], 2), llvm::ArrayRef(&kVersionedTypeInfos[653], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[161], 4), llvm::ArrayRef(&kVersionedTypeInfos[661], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[165], 4), llvm::ArrayRef(&kVersionedTypeInfos[665], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[169], 4), llvm::ArrayRef(&kVersionedTypeInfos[669], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[173], 4), llvm::ArrayRef(&kVersionedTypeInfos[673], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[177], 4), llvm::ArrayRef(&kVersionedTypeInfos[677], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[181], 4), llvm::ArrayRef(&kVersionedTypeInfos[681], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[64], 3), llvm::ArrayRef(&kVersionedTypeInfos[685], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[67], 3), llvm::ArrayRef(&kVersionedTypeInfos[693], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[70], 3), llvm::ArrayRef(&kVersionedTypeInfos[701], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[73], 3), llvm::ArrayRef(&kVersionedTypeInfos[709], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[76], 3), llvm::ArrayRef(&kVersionedTypeInfos[717], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[79], 3), llvm::ArrayRef(&kVersionedTypeInfos[725], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[185], 4), llvm::ArrayRef(&kVersionedTypeInfos[733], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[189], 4), llvm::ArrayRef(&kVersionedTypeInfos[737], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[193], 4), llvm::ArrayRef(&kVersionedTypeInfos[741], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[197], 4), llvm::ArrayRef(&kVersionedTypeInfos[745], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[201], 4), llvm::ArrayRef(&kVersionedTypeInfos[749], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[205], 4), llvm::ArrayRef(&kVersionedTypeInfos[753], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[209], 4), llvm::ArrayRef(&kVersionedTypeInfos[757], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[213], 4), llvm::ArrayRef(&kVersionedTypeInfos[761], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[217], 4), llvm::ArrayRef(&kVersionedTypeInfos[765], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[221], 4), llvm::ArrayRef(&kVersionedTypeInfos[769], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[225], 4), llvm::ArrayRef(&kVersionedTypeInfos[773], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[229], 4), llvm::ArrayRef(&kVersionedTypeInfos[777], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[233], 4), llvm::ArrayRef(&kVersionedTypeInfos[781], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[237], 4), llvm::ArrayRef(&kVersionedTypeInfos[785], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[241], 4), llvm::ArrayRef(&kVersionedTypeInfos[789], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[408], 1), llvm::ArrayRef(&kVersionedTypeInfos[1179], 3)},
+    {llvm::ArrayRef(&kExtensionModes[408], 1), llvm::ArrayRef(&kVersionedTypeInfos[1179], 3)},
+    {llvm::ArrayRef(&kExtensionModes[408], 1), llvm::ArrayRef(&kVersionedTypeInfos[1179], 3)},
+    {llvm::ArrayRef(&kExtensionModes[85], 1), {}},
+};
+
+static constexpr OpComplianceEntry<Profile> kProfileComplianceTable[] = {
+    {"tosa.abs", llvm::ArrayRef(&kProfileComplianceInfos[0], 2)},
+    {"tosa.add", llvm::ArrayRef(&kProfileComplianceInfos[2], 2)},
+    {"tosa.argmax", llvm::ArrayRef(&kProfileComplianceInfos[4], 2)},
+    {"tosa.argmin", llvm::ArrayRef(&kProfileComplianceInfos[6], 2)},
+    {"tosa.arithmetic_right_shift", llvm::ArrayRef(&kProfileComplianceInfos[8], 1)},
+    {"tosa.avg_pool2d", llvm::ArrayRef(&kProfileComplianceInfos[9], 2)},
+    {"tosa.avg_pool2d_adaptive", llvm::ArrayRef(&kProfileComplianceInfos[11], 2)},
+    {"tosa.bitwise_and", llvm::ArrayRef(&kProfileComplianceInfos[13], 1)},
+    {"tosa.bitwise_not", llvm::ArrayRef(&kProfileComplianceInfos[14], 1)},
+    {"tosa.bitwise_or", llvm::ArrayRef(&kProfileComplianceInfos[15], 1)},
+    {"tosa.bitwise_xor", llvm::ArrayRef(&kProfileComplianceInfos[16], 1)},
+    {"tosa.cast", llvm::ArrayRef(&kProfileComplianceInfos[17], 2)},
+    {"tosa.ceil", llvm::ArrayRef(&kProfileComplianceInfos[19], 1)},
+    {"tosa.clamp", llvm::ArrayRef(&kProfileComplianceInfos[20], 2)},
+    {"tosa.clz", llvm::ArrayRef(&kProfileComplianceInfos[22], 1)},
+    {"tosa.concat", llvm::ArrayRef(&kProfileComplianceInfos[23], 3)},
+    {"tosa.const", llvm::ArrayRef(&kProfileComplianceInfos[26], 2)},
+    {"tosa.const_shape", llvm::ArrayRef(&kProfileComplianceInfos[28], 1)},
+    {"tosa.conv2d", llvm::ArrayRef(&kProfileComplianceInfos[29], 2)},
+    {"tosa.conv3d", llvm::ArrayRef(&kProfileComplianceInfos[31], 2)},
+    {"tosa.cos", llvm::ArrayRef(&kProfileComplianceInfos[33], 1)},
+    {"tosa.custom", llvm::ArrayRef(&kProfileComplianceInfos[34], 1)},
+    {"tosa.depthwise_conv2d", llvm::ArrayRef(&kProfileComplianceInfos[35], 2)},
+    {"tosa.equal", llvm::ArrayRef(&kProfileComplianceInfos[37], 2)},
+    {"tosa.erf", llvm::ArrayRef(&kProfileComplianceInfos[39], 1)},
+    {"tosa.exp", llvm::ArrayRef(&kProfileComplianceInfos[40], 1)},
+    {"tosa.floor", llvm::ArrayRef(&kProfileComplianceInfos[41], 1)},
+    {"tosa.gather", llvm::ArrayRef(&kProfileComplianceInfos[42], 3)},
+    {"tosa.greater", llvm::ArrayRef(&kProfileComplianceInfos[45], 2)},
+    {"tosa.greater_equal", llvm::ArrayRef(&kProfileComplianceInfos[47], 2)},
+    {"tosa.identity", llvm::ArrayRef(&kProfileComplianceInfos[49], 2)},
+    {"tosa.intdiv", llvm::ArrayRef(&kProfileComplianceInfos[51], 1)},
+    {"tosa.log", llvm::ArrayRef(&kProfileComplianceInfos[52], 1)},
+    {"tosa.logical_and", llvm::ArrayRef(&kProfileComplianceInfos[53], 1)},
+    {"tosa.logical_left_shift", llvm::ArrayRef(&kProfileComplianceInfos[54], 1)},
+    {"tosa.logical_not", llvm::ArrayRef(&kProfileComplianceInfos[55], 1)},
+    {"tosa.logical_or", llvm::ArrayRef(&kProfileComplianceInfos[56], 1)},
+    {"tosa.logical_right_shift", llvm::ArrayRef(&kProfileComplianceInfos[57], 1)},
+    {"tosa.logical_xor", llvm::ArrayRef(&kProfileComplianceInfos[58], 1)},
+    {"tosa.matmul", llvm::ArrayRef(&kProfileComplianceInfos[59], 2)},
+    {"tosa.matmul_t", llvm::ArrayRef(&kProfileComplianceInfos[61], 2)},
+    {"tosa.max_pool2d", llvm::ArrayRef(&kProfileComplianceInfos[63], 2)},
+    {"tosa.max_pool2d_adaptive", llvm::ArrayRef(&kProfileComplianceInfos[65], 2)},
+    {"tosa.maximum", llvm::ArrayRef(&kProfileComplianceInfos[67], 2)},
+    {"tosa.minimum", llvm::ArrayRef(&kProfileComplianceInfos[69], 2)},
+    {"tosa.mul", llvm::ArrayRef(&kProfileComplianceInfos[71], 3)},
+    {"tosa.negate", llvm::ArrayRef(&kProfileComplianceInfos[74], 2)},
+    {"tosa.pad", llvm::ArrayRef(&kProfileComplianceInfos[76], 3)},
+    {"tosa.pow", llvm::ArrayRef(&kProfileComplianceInfos[79], 1)},
+    {"tosa.reciprocal", llvm::ArrayRef(&kProfileComplianceInfos[80], 1)},
+    {"tosa.reduce_all", llvm::ArrayRef(&kProfileComplianceInfos[81], 1)},
+    {"tosa.reduce_any", llvm::ArrayRef(&kProfileComplianceInfos[82], 1)},
+    {"tosa.reduce_max", llvm::ArrayRef(&kProfileComplianceInfos[83], 2)},
+    {"tosa.reduce_min", llvm::ArrayRef(&kProfileComplianceInfos[85], 2)},
+    {"tosa.reduce_product", llvm::ArrayRef(&kProfileComplianceInfos[87], 1)},
+    {"tosa.reduce_sum", llvm::ArrayRef(&kProfileComplianceInfos[88], 2)},
+    {"tosa.rescale", llvm::ArrayRef(&kProfileComplianceInfos[90], 1)},
+    {"tosa.reshape", llvm::ArrayRef(&kProfileComplianceInfos[91], 3)},
+    {"tosa.resize", llvm::ArrayRef(&kProfileComplianceInfos[94], 2)},
+    {"tosa.reverse", llvm::ArrayRef(&kProfileComplianceInfos[96], 3)},
+    {"tosa.row_gather", llvm::ArrayRef(&kProfileComplianceInfos[99], 2)},
+    {"tosa.row_gather_block_scaled", llvm::ArrayRef(&kProfileComplianceInfos[101], 3)},
+    {"tosa.rsqrt", llvm::ArrayRef(&kProfileComplianceInfos[104], 1)},
+    {"tosa.scatter", llvm::ArrayRef(&kProfileComplianceInfos[105], 3)},
+    {"tosa.select", llvm::ArrayRef(&kProfileComplianceInfos[108], 3)},
+    {"tosa.sigmoid", llvm::ArrayRef(&kProfileComplianceInfos[111], 1)},
+    {"tosa.sin", llvm::ArrayRef(&kProfileComplianceInfos[112], 1)},
+    {"tosa.slice", llvm::ArrayRef(&kProfileComplianceInfos[113], 3)},
+    {"tosa.sub", llvm::ArrayRef(&kProfileComplianceInfos[116], 2)},
+    {"tosa.table", llvm::ArrayRef(&kProfileComplianceInfos[118], 1)},
+    {"tosa.tanh", llvm::ArrayRef(&kProfileComplianceInfos[119], 1)},
+    {"tosa.tile", llvm::ArrayRef(&kProfileComplianceInfos[120], 3)},
+    {"tosa.transpose", llvm::ArrayRef(&kProfileComplianceInfos[123], 3)},
+    {"tosa.transpose_conv2d", llvm::ArrayRef(&kProfileComplianceInfos[126], 2)},
+    {"tosa.variable", llvm::ArrayRef(&kProfileComplianceInfos[128], 2)},
+    {"tosa.variable_read", llvm::ArrayRef(&kProfileComplianceInfos[130], 2)},
+    {"tosa.variable_write", llvm::ArrayRef(&kProfileComplianceInfos[132], 2)},
+};
+
+static constexpr OpComplianceEntry<Extension> kExtensionComplianceTable[] = {
+    {"tosa.abs", llvm::ArrayRef(&kExtensionComplianceInfos[0], 2)},
+    {"tosa.add", llvm::ArrayRef(&kExtensionComplianceInfos[2], 2)},
+    {"tosa.add_shape", llvm::ArrayRef(&kExtensionComplianceInfos[4], 1)},
+    {"tosa.argmax", llvm::ArrayRef(&kExtensionComplianceInfos[5], 8)},
+    {"tosa.argmin", llvm::ArrayRef(&kExtensionComplianceInfos[13], 8)},
+    {"tosa.arithmetic_right_shift", llvm::ArrayRef(&kExtensionComplianceInfos[21], 1)},
+    {"tosa.assert_equal_shape", llvm::ArrayRef(&kExtensionComplianceInfos[22], 1)},
+    {"tosa.avg_pool2d", llvm::ArrayRef(&kExtensionComplianceInfos[23], 4)},
+    {"tosa.avg_pool2d_adaptive", llvm::ArrayRef(&kExtensionComplianceInfos[27], 4)},
+    {"tosa.bitwise_and", llvm::ArrayRef(&kExtensionComplianceInfos[31], 1)},
+    {"tosa.bitwise_not", llvm::ArrayRef(&kExtensionComplianceInfos[32], 1)},
+    {"tosa.bitwise_or", llvm::ArrayRef(&kExtensionComplianceInfos[33], 1)},
+    {"tosa.bitwise_xor", llvm::ArrayRef(&kExtensionComplianceInfos[34], 1)},
+    {"tosa.cast", llvm::ArrayRef(&kExtensionComplianceInfos[35], 30)},
+    {"tosa.cast_from_block_scaled", llvm::ArrayRef(&kExtensionComplianceInfos[65], 2)},
+    {"tosa.cast_to_block_scaled", llvm::ArrayRef(&kExtensionComplianceInfos[67], 2)},
+    {"tosa.ceil", llvm::ArrayRef(&kExtensionComplianceInfos[69], 1)},
+    {"tosa.clamp", llvm::ArrayRef(&kExtensionComplianceInfos[70], 2)},
+    {"tosa.clz", llvm::ArrayRef(&kExtensionComplianceInfos[72], 1)},
+    {"tosa.concat", llvm::ArrayRef(&kExtensionComplianceInfos[73], 11)},
+    {"tosa.concat_shape", llvm::ArrayRef(&kExtensionComplianceInfos[84], 1)},
+    {"tosa.cond_if", llvm::ArrayRef(&kExtensionComplianceInfos[85], 1)},
+    {"tosa.const", llvm::ArrayRef(&kExtensionComplianceInfos[86], 13)},
+    {"tosa.conv2d", llvm::ArrayRef(&kExtensionComplianceInfos[99], 75)},
+    {"tosa.conv2d_block_scaled", llvm::ArrayRef(&kExtensionComplianceInfos[174], 1)},
+    {"tosa.conv3d", llvm::ArrayRef(&kExtensionComplianceInfos[175], 75)},
+    {"tosa.cos", llvm::ArrayRef(&kExtensionComplianceInfos[250], 1)},
+    {"tosa.depthwise_conv2d", llvm::ArrayRef(&kExtensionComplianceInfos[251], 5)},
+    {"tosa.dim", llvm::ArrayRef(&kExtensionComplianceInfos[256], 12)},
+    {"tosa.div_ceil_shape", llvm::ArrayRef(&kExtensionComplianceInfos[268], 1)},
+    {"tosa.div_floor_shape", llvm::ArrayRef(&kExtensionComplianceInfos[269], 1)},
+    {"tosa.equal", llvm::ArrayRef(&kExtensionComplianceInfos[270], 2)},
+    {"tosa.erf", llvm::ArrayRef(&kExtensionComplianceInfos[272], 1)},
+    {"tosa.exp", llvm::ArrayRef(&kExtensionComplianceInfos[273], 1)},
+    {"tosa.exp2_shape", llvm::ArrayRef(&kExtensionComplianceInfos[274], 1)},
+    {"tosa.fft2d", llvm::ArrayRef(&kExtensionComplianceInfos[275], 1)},
+    {"tosa.floor", llvm::ArrayRef(&kExtensionComplianceInfos[276], 1)},
+    {"tosa.gather", llvm::ArrayRef(&kExtensionComplianceInfos[277], 19)},
+    {"tosa.greater", llvm::ArrayRef(&kExtensionComplianceInfos[296], 2)},
+    {"tosa.greater_equal", llvm::ArrayRef(&kExtensionComplianceInfos[298], 2)},
+    {"tosa.identity", llvm::ArrayRef(&kExtensionComplianceInfos[300], 12)},
+    {"tosa.intdiv", llvm::ArrayRef(&kExtensionComplianceInfos[312], 1)},
+    {"tosa.log", llvm::ArrayRef(&kExtensionComplianceInfos[313], 1)},
+    {"tosa.log2_ceil_shape", llvm::ArrayRef(&kExtensionComplianceInfos[314], 1)},
+    {"tosa.log2_floor_shape", llvm::ArrayRef(&kExtensionComplianceInfos[315], 1)},
+    {"tosa.logical_left_shift", llvm::ArrayRef(&kExtensionComplianceInfos[316], 1)},
+    {"tosa.logical_right_shift", llvm::ArrayRef(&kExtensionComplianceInfos[317], 1)},
+    {"tosa.matmul", llvm::ArrayRef(&kExtensionComplianceInfos[318], 5)},
+    {"tosa.matmul_t", llvm::ArrayRef(&kExtensionComplianceInfos[323], 74)},
+    {"tosa.matmul_t_block_scaled", llvm::ArrayRef(&kExtensionComplianceInfos[397], 1)},
+    {"tosa.max_pool2d", llvm::ArrayRef(&kExtensionComplianceInfos[398], 4)},
+    {"tosa.max_pool2d_adaptive", llvm::ArrayRef(&kExtensionComplianceInfos[402], 4)},
+    {"tosa.max_shape", llvm::ArrayRef(&kExtensionComplianceInfos[406], 1)},
+    {"tosa.maximum", llvm::ArrayRef(&kExtensionComplianceInfos[407], 2)},
+    {"tosa.min_shape", llvm::ArrayRef(&kExtensionComplianceInfos[409], 1)},
+    {"tosa.minimum", llvm::ArrayRef(&kExtensionComplianceInfos[410], 2)},
+    {"tosa.mod_shape", llvm::ArrayRef(&kExtensionComplianceInfos[412], 1)},
+    {"tosa.mul", llvm::ArrayRef(&kExtensionComplianceInfos[413], 2)},
+    {"tosa.mul_shape", llvm::ArrayRef(&kExtensionComplianceInfos[415], 1)},
+    {"tosa.negate", llvm::ArrayRef(&kExtensionComplianceInfos[416], 2)},
+    {"tosa.pad", llvm::ArrayRef(&kExtensionComplianceInfos[418], 4)},
+    {"tosa.pow", llvm::ArrayRef(&kExtensionComplianceInfos[422], 1)},
+    {"tosa.reciprocal", llvm::ArrayRef(&kExtensionComplianceInfos[423], 1)},
+    {"tosa.reduce_max", llvm::ArrayRef(&kExtensionComplianceInfos[424], 2)},
+    {"tosa.reduce_min", llvm::ArrayRef(&kExtensionComplianceInfos[426], 2)},
+    {"tosa.reduce_product", llvm::ArrayRef(&kExtensionComplianceInfos[428], 1)},
+    {"tosa.reduce_sum", llvm::ArrayRef(&kExtensionComplianceInfos[429], 2)},
+    {"tosa.rescale", llvm::ArrayRef(&kExtensionComplianceInfos[431], 1)},
+    {"tosa.reshape", llvm::ArrayRef(&kExtensionComplianceInfos[432], 10)},
+    {"tosa.resize", llvm::ArrayRef(&kExtensionComplianceInfos[442], 10)},
+    {"tosa.reverse", llvm::ArrayRef(&kExtensionComplianceInfos[452], 10)},
+    {"tosa.rfft2d", llvm::ArrayRef(&kExtensionComplianceInfos[462], 1)},
+    {"tosa.row_gather", llvm::ArrayRef(&kExtensionComplianceInfos[463], 21)},
+    {"tosa.row_gather_block_scaled", llvm::ArrayRef(&kExtensionComplianceInfos[484], 9)},
+    {"tosa.rsqrt", llvm::ArrayRef(&kExtensionComplianceInfos[493], 1)},
+    {"tosa.scatter", llvm::ArrayRef(&kExtensionComplianceInfos[494], 19)},
+    {"tosa.select", llvm::ArrayRef(&kExtensionComplianceInfos[513], 2)},
+    {"tosa.sigmoid", llvm::ArrayRef(&kExtensionComplianceInfos[515], 1)},
+    {"tosa.sin", llvm::ArrayRef(&kExtensionComplianceInfos[516], 1)},
+    {"tosa.slice", llvm::ArrayRef(&kExtensionComplianceInfos[517], 10)},
+    {"tosa.slice_shape", llvm::ArrayRef(&kExtensionComplianceInfos[527], 1)},
+    {"tosa.sub", llvm::ArrayRef(&kExtensionComplianceInfos[528], 2)},
+    {"tosa.sub_shape", llvm::ArrayRef(&kExtensionComplianceInfos[530], 1)},
+    {"tosa.table", llvm::ArrayRef(&kExtensionComplianceInfos[531], 1)},
+    {"tosa.tanh", llvm::ArrayRef(&kExtensionComplianceInfos[532], 1)},
+    {"tosa.tile", llvm::ArrayRef(&kExtensionComplianceInfos[533], 10)},
+    {"tosa.transpose", llvm::ArrayRef(&kExtensionComplianceInfos[543], 10)},
+    {"tosa.transpose_conv2d", llvm::ArrayRef(&kExtensionComplianceInfos[553], 75)},
+    {"tosa.variable", llvm::ArrayRef(&kExtensionComplianceInfos[628], 1)},
+    {"tosa.variable_read", llvm::ArrayRef(&kExtensionComplianceInfos[629], 1)},
+    {"tosa.variable_write", llvm::ArrayRef(&kExtensionComplianceInfos[630], 1)},
+    {"tosa.while_loop", llvm::ArrayRef(&kExtensionComplianceInfos[631], 1)},
+};
 
 // End of auto-generated metadata
diff --git a/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h b/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
index faff61c58a6120..5799c0373cb95c 100644
--- a/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
+++ b/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
@@ -9,12 +9,16 @@
 #ifndef MLIR_DIALECT_TOSA_TRANSFORMS_TOSAPROFILECOMPILANCE_H
 #define MLIR_DIALECT_TOSA_TRANSFORMS_TOSAPROFILECOMPILANCE_H
 
-#include <unordered_map>
+#include <cstdint>
+#include <optional>
+#include <utility>
 
 #include "mlir/Dialect/Tosa/IR/TargetEnv.h"
 #include "mlir/Dialect/Tosa/Transforms/Passes.h"
-
-#include "mlir/Support/TypeID.h"
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/SmallString.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/StringRef.h"
 
 using namespace mlir;
 using namespace mlir::tosa;
@@ -23,20 +27,40 @@ using namespace mlir::tosa;
 // Type Compilance Definition
 //===----------------------------------------------------------------------===//
 
-struct TypeInfo {
-  TypeInfo(mlir::TypeID typeID, uint32_t bitWidth)
-      : typeID(typeID), bitWidth(bitWidth), valueTypeID(mlir::TypeID()),
-        scaleTypeID(mlir::TypeID()), blockShape(std::nullopt) {}
-
-  TypeInfo(mlir::TypeID typeID, uint32_t bitWidth, mlir::TypeID valueTypeID,
-           mlir::TypeID scaleTypeID, tosa::BlockShape blockShape)
-      : typeID(typeID), bitWidth(bitWidth), valueTypeID(valueTypeID),
-        scaleTypeID(scaleTypeID), blockShape(blockShape) {}
+enum class ComplianceTypeKind : uint8_t {
+  None = 0,
+  Integer,
+  BFloat16,
+  Float16,
+  Float32,
+  Float8E4M3FN,
+  Float8E5M2,
+  Float6E2M3FN,
+  Float6E3M2FN,
+  Float4E2M1FN,
+  Float8E8M0FNU,
+  MxInt8,
+  BlockScaled,
+  Unknown,
+};
 
-  mlir::TypeID typeID;
+struct TypeInfo {
+  constexpr TypeInfo(ComplianceTypeKind typeKind, uint32_t bitWidth)
+      : typeKind(typeKind), bitWidth(bitWidth),
+        valueTypeKind(ComplianceTypeKind::None),
+        scaleTypeKind(ComplianceTypeKind::None), blockShape(std::nullopt) {}
+
+  constexpr TypeInfo(ComplianceTypeKind typeKind, uint32_t bitWidth,
+                     ComplianceTypeKind valueTypeKind,
+                     ComplianceTypeKind scaleTypeKind,
+                     tosa::BlockShape blockShape)
+      : typeKind(typeKind), bitWidth(bitWidth), valueTypeKind(valueTypeKind),
+        scaleTypeKind(scaleTypeKind), blockShape(blockShape) {}
+
+  ComplianceTypeKind typeKind;
   uint32_t bitWidth;
-  mlir::TypeID valueTypeID;
-  mlir::TypeID scaleTypeID;
+  ComplianceTypeKind valueTypeKind;
+  ComplianceTypeKind scaleTypeKind;
   std::optional<tosa::BlockShape> blockShape;
 };
 
@@ -49,21 +73,22 @@ enum CheckCondition {
 };
 
 using VersionedTypeInfo =
-    std::pair<SmallVector<TypeInfo>, SpecificationVersion>;
+    std::pair<ArrayRef<TypeInfo>, SpecificationVersion>;
 
 template <typename T>
 struct OpComplianceInfo {
   // Certain operations require multiple modes enabled.
   // e.g. cast bf16 to fp8e4m3 requires EXT-BF16 and EXT-FP8E4M3.
-  SmallVector<T> mode;
-  SmallVector<VersionedTypeInfo> operandTypeInfoSet;
+  ArrayRef<T> mode;
+  ArrayRef<VersionedTypeInfo> operandTypeInfoSet;
   CheckCondition condition = CheckCondition::anyOf;
 };
 
-using OperationProfileComplianceMap =
-    std::unordered_map<std::string, SmallVector<OpComplianceInfo<Profile>>>;
-using OperationExtensionComplianceMap =
-    std::unordered_map<std::string, SmallVector<OpComplianceInfo<Extension>>>;
+template <typename T>
+struct OpComplianceEntry {
+  llvm::StringLiteral opName;
+  ArrayRef<OpComplianceInfo<T>> infos;
+};
 
 //===----------------------------------------------------------------------===//
 // Tosa Profile And Extension Information Depot
@@ -81,14 +106,43 @@ class ProfileInfoDepot {
   SmallVector<TypeInfo> getInfo() { return tyInfo; }
 
 private:
+  static ComplianceTypeKind getComplianceTypeKind(Type type) {
+    if (isa<IntegerType>(type))
+      return ComplianceTypeKind::Integer;
+    if (isa<BFloat16Type>(type))
+      return ComplianceTypeKind::BFloat16;
+    if (isa<Float16Type>(type))
+      return ComplianceTypeKind::Float16;
+    if (isa<Float32Type>(type))
+      return ComplianceTypeKind::Float32;
+    if (isa<Float8E4M3FNType>(type))
+      return ComplianceTypeKind::Float8E4M3FN;
+    if (isa<Float8E5M2Type>(type))
+      return ComplianceTypeKind::Float8E5M2;
+    if (isa<Float6E2M3FNType>(type))
+      return ComplianceTypeKind::Float6E2M3FN;
+    if (isa<Float6E3M2FNType>(type))
+      return ComplianceTypeKind::Float6E3M2FN;
+    if (isa<Float4E2M1FNType>(type))
+      return ComplianceTypeKind::Float4E2M1FN;
+    if (isa<Float8E8M0FNUType>(type))
+      return ComplianceTypeKind::Float8E8M0FNU;
+    if (isa<tosa::mxint8Type>(type))
+      return ComplianceTypeKind::MxInt8;
+    if (isa<tosa::BlockScaledType>(type))
+      return ComplianceTypeKind::BlockScaled;
+    return ComplianceTypeKind::Unknown;
+  }
+
   TypeInfo convertTypeToInfo(Type type) {
     if (auto blockScaledTy = dyn_cast<tosa::BlockScaledType>(type)) {
       Type valueTy = blockScaledTy.getValueType();
       Type scaleTy = blockScaledTy.getScaleType();
-      return {type.getTypeID(), tosa::getBitWidth(valueTy), valueTy.getTypeID(),
-              scaleTy.getTypeID(), blockScaledTy.getBlockShape()};
+      return {ComplianceTypeKind::BlockScaled, tosa::getBitWidth(valueTy),
+              getComplianceTypeKind(valueTy), getComplianceTypeKind(scaleTy),
+              blockScaledTy.getBlockShape()};
     }
-    return {type.getTypeID(), tosa::getBitWidth(type)};
+    return {getComplianceTypeKind(type), tosa::getBitWidth(type)};
   }
 
   TypeInfo convertValueToInfo(Value value) {
@@ -126,10 +180,9 @@ class TosaProfileCompliance {
 public:
   explicit TosaProfileCompliance();
 
-  // Accessor of the compliance info map.
+  // Accessor of the compliance info for an operation.
   template <typename T>
-  std::unordered_map<std::string, SmallVector<OpComplianceInfo<T>>>
-  getProfileComplianceMap() {
+  ArrayRef<OpComplianceInfo<T>> getProfileComplianceInfos(StringRef opName) {
     // Only profile and extension compliance info are provided.
     return {};
   }
@@ -145,16 +198,19 @@ class TosaProfileCompliance {
                                         const tosa::TargetEnv &targetEnv);
 
   bool isSameTypeInfo(TypeInfo a, TypeInfo b) {
-    return a.typeID == b.typeID && a.bitWidth == b.bitWidth &&
-           a.valueTypeID == b.valueTypeID && a.scaleTypeID == b.scaleTypeID &&
-           a.blockShape == b.blockShape;
+    if (a.typeKind == ComplianceTypeKind::Unknown ||
+        b.typeKind == ComplianceTypeKind::Unknown)
+      return false;
+    return a.typeKind == b.typeKind && a.bitWidth == b.bitWidth &&
+           a.valueTypeKind == b.valueTypeKind &&
+           a.scaleTypeKind == b.scaleTypeKind && a.blockShape == b.blockShape;
   }
 
   // Find the required profiles or extensions from the compliance info according
   // to the operand type combination.
   template <typename T>
   SmallVector<OpComplianceInfo<T>>
-  findMatchedEntries(Operation *op, SmallVector<OpComplianceInfo<T>> compInfo);
+  findMatchedEntries(Operation *op, ArrayRef<OpComplianceInfo<T>> compInfo);
 
   // Debug utilites.
   template <typename T>
@@ -170,9 +226,6 @@ class TosaProfileCompliance {
   template <typename T>
   FailureOr<SmallVector<OpComplianceInfo<T>>>
   getOperatorMatchedEntries(Operation *op);
-
-  OperationProfileComplianceMap profileComplianceMap;
-  OperationExtensionComplianceMap extensionComplianceMap;
 };
 
 #endif // MLIR_DIALECT_TOSA_TRANSFORMS_TOSAPROFILECOMPILANCE_H
diff --git a/mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp b/mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
index 8a692280da682c..b249101c2c1a18 100644
--- a/mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
+++ b/mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "mlir/Dialect/Tosa/IR/TosaProfileCompliance.h"
+#include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/raw_ostream.h"
@@ -14,83 +15,92 @@
 using namespace mlir;
 using namespace mlir::tosa;
 
-// Building this ~5,000-line generated initializer map under AddressSanitizer,
-// HWAddressSanitizer, or MemorySanitizer leads to extreme compile times (>3.5
-// minutes) during InstCombine and greedy register allocation due to
-// instrumentation overhead. Disable optimization under ASan/HWAsan/MSan to keep
-// build times manageable.
-#if LLVM_ADDRESS_SANITIZER_BUILD || LLVM_HWADDRESS_SANITIZER_BUILD ||          \
-    LLVM_MEMORY_SANITIZER_BUILD
-__attribute__((optnone))
-#else
-LLVM_ATTRIBUTE_MINSIZE
-#endif
-TosaProfileCompliance::TosaProfileCompliance() {
-  const TypeInfo boolT = {mlir::IntegerType::getTypeID(), 1};
-  const TypeInfo i4T = {mlir::IntegerType::getTypeID(), 4};
-  const TypeInfo i8T = {mlir::IntegerType::getTypeID(), 8};
-  const TypeInfo i16T = {mlir::IntegerType::getTypeID(), 16};
-  const TypeInfo i32T = {mlir::IntegerType::getTypeID(), 32};
-  const TypeInfo i48T = {mlir::IntegerType::getTypeID(), 48};
-  const TypeInfo i64T = {mlir::IntegerType::getTypeID(), 64};
-  const TypeInfo bf16T = {mlir::BFloat16Type::getTypeID(), 16};
-  const TypeInfo fp16T = {mlir::Float16Type::getTypeID(), 16};
-  const TypeInfo fp32T = {mlir::Float32Type::getTypeID(), 32};
-  const TypeInfo fp8e4m3T = {mlir::Float8E4M3FNType::getTypeID(), 8};
-  const TypeInfo fp8e5m2T = {mlir::Float8E5M2Type::getTypeID(), 8};
-
-  // micro-scaling formats
-  // Note: these types exist to suppport the deprecated block_scaled operations
-  // and can be removed once those operations are removed.
-  const TypeInfo fp6e2m3T = {mlir::Float6E2M3FNType::getTypeID(), 6};
-  const TypeInfo fp6e3m2T = {mlir::Float6E3M2FNType::getTypeID(), 6};
-  const TypeInfo fp4e2m1T = {mlir::Float4E2M1FNType::getTypeID(), 4};
-  const TypeInfo fp8ue8m0T = {mlir::Float8E8M0FNUType::getTypeID(), 8};
-  const TypeInfo mxint8T = {mlir::tosa::mxint8Type::getTypeID(), 8};
-
-  // Block scaled formats
-  const TypeID blockScaledID = mlir::tosa::BlockScaledType::getTypeID();
-  const TypeID fp4e2m1ID = mlir::Float4E2M1FNType::getTypeID();
-  const TypeID fp6e2m3ID = mlir::Float6E2M3FNType::getTypeID();
-  const TypeID fp6e3m2ID = mlir::Float6E3M2FNType::getTypeID();
-  const TypeID fp8e4m3ID = mlir::Float8E4M3FNType::getTypeID();
-  const TypeID fp8e5m2ID = mlir::Float8E5M2Type::getTypeID();
-  const TypeID fp8ue8m0ID = mlir::Float8E8M0FNUType::getTypeID();
-  const TypeID mxint8ID = mlir::tosa::mxint8Type::getTypeID();
-
-  const TypeInfo bs32_fp8ue8m0_fp4e2m1T = {blockScaledID, 4, fp4e2m1ID,
-                                           fp8ue8m0ID,
-                                           tosa::BlockShape::BLOCK_SHAPE_32};
-  const TypeInfo bs32_fp8ue8m0_fp6e2m3T = {blockScaledID, 6, fp6e2m3ID,
-                                           fp8ue8m0ID,
-                                           tosa::BlockShape::BLOCK_SHAPE_32};
-  const TypeInfo bs32_fp8ue8m0_fp6e3m2T = {blockScaledID, 6, fp6e3m2ID,
-                                           fp8ue8m0ID,
-                                           tosa::BlockShape::BLOCK_SHAPE_32};
-  const TypeInfo bs32_fp8ue8m0_fp8e4m3T = {blockScaledID, 8, fp8e4m3ID,
-                                           fp8ue8m0ID,
-                                           tosa::BlockShape::BLOCK_SHAPE_32};
-  const TypeInfo bs32_fp8ue8m0_fp8e5m2T = {blockScaledID, 8, fp8e5m2ID,
-                                           fp8ue8m0ID,
-                                           tosa::BlockShape::BLOCK_SHAPE_32};
-  const TypeInfo bs32_fp8ue8m0_mxint8T = {
-      blockScaledID, 8, mxint8ID, fp8ue8m0ID, tosa::BlockShape::BLOCK_SHAPE_32};
+namespace {
+
+constexpr TypeInfo boolT = {ComplianceTypeKind::Integer, 1};
+constexpr TypeInfo i4T = {ComplianceTypeKind::Integer, 4};
+constexpr TypeInfo i8T = {ComplianceTypeKind::Integer, 8};
+constexpr TypeInfo i16T = {ComplianceTypeKind::Integer, 16};
+constexpr TypeInfo i32T = {ComplianceTypeKind::Integer, 32};
+constexpr TypeInfo i48T = {ComplianceTypeKind::Integer, 48};
+constexpr TypeInfo i64T = {ComplianceTypeKind::Integer, 64};
+constexpr TypeInfo bf16T = {ComplianceTypeKind::BFloat16, 16};
+constexpr TypeInfo fp16T = {ComplianceTypeKind::Float16, 16};
+constexpr TypeInfo fp32T = {ComplianceTypeKind::Float32, 32};
+constexpr TypeInfo fp8e4m3T = {ComplianceTypeKind::Float8E4M3FN, 8};
+constexpr TypeInfo fp8e5m2T = {ComplianceTypeKind::Float8E5M2, 8};
+
+// micro-scaling formats
+// Note: these types exist to suppport the deprecated block_scaled operations
+// and can be removed once those operations are removed.
+constexpr TypeInfo fp6e2m3T = {ComplianceTypeKind::Float6E2M3FN, 6};
+constexpr TypeInfo fp6e3m2T = {ComplianceTypeKind::Float6E3M2FN, 6};
+constexpr TypeInfo fp4e2m1T = {ComplianceTypeKind::Float4E2M1FN, 4};
+constexpr TypeInfo fp8ue8m0T = {ComplianceTypeKind::Float8E8M0FNU, 8};
+constexpr TypeInfo mxint8T = {ComplianceTypeKind::MxInt8, 8};
+
+// Block scaled formats
+constexpr TypeInfo bs32_fp8ue8m0_fp4e2m1T = {
+    ComplianceTypeKind::BlockScaled, 4, ComplianceTypeKind::Float4E2M1FN,
+    ComplianceTypeKind::Float8E8M0FNU, tosa::BlockShape::BLOCK_SHAPE_32};
+constexpr TypeInfo bs32_fp8ue8m0_fp6e2m3T = {
+    ComplianceTypeKind::BlockScaled, 6, ComplianceTypeKind::Float6E2M3FN,
+    ComplianceTypeKind::Float8E8M0FNU, tosa::BlockShape::BLOCK_SHAPE_32};
+constexpr TypeInfo bs32_fp8ue8m0_fp6e3m2T = {
+    ComplianceTypeKind::BlockScaled, 6, ComplianceTypeKind::Float6E3M2FN,
+    ComplianceTypeKind::Float8E8M0FNU, tosa::BlockShape::BLOCK_SHAPE_32};
+constexpr TypeInfo bs32_fp8ue8m0_fp8e4m3T = {
+    ComplianceTypeKind::BlockScaled, 8, ComplianceTypeKind::Float8E4M3FN,
+    ComplianceTypeKind::Float8E8M0FNU, tosa::BlockShape::BLOCK_SHAPE_32};
+constexpr TypeInfo bs32_fp8ue8m0_fp8e5m2T = {
+    ComplianceTypeKind::BlockScaled, 8, ComplianceTypeKind::Float8E5M2,
+    ComplianceTypeKind::Float8E8M0FNU, tosa::BlockShape::BLOCK_SHAPE_32};
+constexpr TypeInfo bs32_fp8ue8m0_mxint8T = {
+    ComplianceTypeKind::BlockScaled, 8, ComplianceTypeKind::MxInt8,
+    ComplianceTypeKind::Float8E8M0FNU, tosa::BlockShape::BLOCK_SHAPE_32};
 
 // The profile-based compliance content below is auto-generated by a script
 // in https://github.com/arm/tosa-specification
 #include "mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc"
-  // End of auto-generated metadata
+// End of auto-generated metadata
+
+template <typename T>
+ArrayRef<OpComplianceInfo<T>>
+lookupComplianceInfos(ArrayRef<OpComplianceEntry<T>> table, StringRef opName) {
+  const auto *it = llvm::lower_bound(
+      table, opName, [](const OpComplianceEntry<T> &entry, StringRef name) {
+        return entry.opName < name;
+      });
+  if (it != table.end() && it->opName == opName)
+    return it->infos;
+  return {};
+}
+
+} // namespace
+
+TosaProfileCompliance::TosaProfileCompliance() {
+  assert(llvm::is_sorted(kProfileComplianceTable,
+                         [](const auto &a, const auto &b) {
+                           return a.opName < b.opName;
+                         }) &&
+         "profile compliance table must be sorted by opName");
+  assert(llvm::is_sorted(kExtensionComplianceTable,
+                         [](const auto &a, const auto &b) {
+                           return a.opName < b.opName;
+                         }) &&
+         "extension compliance table must be sorted by opName");
 }
 
 template <>
-OperationProfileComplianceMap TosaProfileCompliance::getProfileComplianceMap() {
-  return profileComplianceMap;
+ArrayRef<OpComplianceInfo<Profile>>
+TosaProfileCompliance::getProfileComplianceInfos(StringRef opName) {
+  return lookupComplianceInfos<Profile>(kProfileComplianceTable, opName);
 }
 
 template <>
-OperationExtensionComplianceMap
-TosaProfileCompliance::getProfileComplianceMap() {
-  return extensionComplianceMap;
+ArrayRef<OpComplianceInfo<Extension>>
+TosaProfileCompliance::getProfileComplianceInfos(StringRef opName) {
+  return lookupComplianceInfos<Extension>(kExtensionComplianceTable, opName);
 }
 
 // Base populating function
@@ -464,13 +474,12 @@ LogicalResult ProfileInfoDepot::populatationDispatch(Operation *op) {
 template <typename T>
 FailureOr<SmallVector<OpComplianceInfo<T>>>
 TosaProfileCompliance::getOperatorMatchedEntries(Operation *op) {
-  const std::string opName = op->getName().getStringRef().str();
-  const auto complianceMap = getProfileComplianceMap<T>();
-  const auto it = complianceMap.find(opName);
-  if (it == complianceMap.end())
+  ArrayRef<OpComplianceInfo<T>> compInfo =
+      getProfileComplianceInfos<T>(op->getName().getStringRef());
+  if (compInfo.empty())
     return {};
 
-  return findMatchedEntries<T>(op, it->second);
+  return findMatchedEntries<T>(op, compInfo);
 }
 
 template <typename T>
@@ -584,14 +593,14 @@ LogicalResult TosaProfileCompliance::checkInvalid(Operation *op) {
 
     // avoid polluting the error message output by outputting only
     // the best match
-    const std::string opName = op->getName().getStringRef().str();
+    const StringRef opName = op->getName().getStringRef();
     int maxMatches = -1;
-    SmallVector<TypeInfo> bestTypeInfo;
-    const auto searchBestMatch = [&](auto map) {
-      for (const auto &complianceInfos : map[opName]) {
-        for (const auto &versionedTypeInfos :
+    ArrayRef<TypeInfo> bestTypeInfo;
+    const auto searchBestMatch = [&](auto complianceInfosList) {
+      for (const auto &complianceInfos : complianceInfosList) {
+        for (const VersionedTypeInfo &versionedTypeInfos :
              complianceInfos.operandTypeInfoSet) {
-          const SmallVector<TypeInfo> typeInfos = versionedTypeInfos.first;
+          ArrayRef<TypeInfo> typeInfos = versionedTypeInfos.first;
           if (current.size() != typeInfos.size())
             continue;
           const int matches = llvm::count_if(
@@ -606,8 +615,8 @@ LogicalResult TosaProfileCompliance::checkInvalid(Operation *op) {
         }
       }
     };
-    searchBestMatch(getProfileComplianceMap<Profile>());
-    searchBestMatch(getProfileComplianceMap<Extension>());
+    searchBestMatch(getProfileComplianceInfos<Profile>(opName));
+    searchBestMatch(getProfileComplianceInfos<Extension>(opName));
 
     os << ", did you mean (";
     for (const auto &typeInfo : llvm::drop_end(bestTypeInfo))
@@ -626,7 +635,7 @@ LogicalResult TosaProfileCompliance::checkInvalid(Operation *op) {
 // type of the operand list.
 template <typename T>
 SmallVector<OpComplianceInfo<T>> TosaProfileCompliance::findMatchedEntries(
-    Operation *op, SmallVector<OpComplianceInfo<T>> compInfo) {
+    Operation *op, ArrayRef<OpComplianceInfo<T>> compInfo) {
   assert(compInfo.size() != 0 &&
          "profile-based compliance information is empty");
 
@@ -651,9 +660,9 @@ SmallVector<OpComplianceInfo<T>> TosaProfileCompliance::findMatchedEntries(
 
   // Compare 'present' against known type signatures in the compliance metadata
   for (size_t i = 0; i < compInfo.size(); i++) {
-    SmallVector<VersionedTypeInfo> sets = compInfo[i].operandTypeInfoSet;
-    for (const auto &set : sets) {
-      SmallVector<TypeInfo> expected = set.first;
+    ArrayRef<VersionedTypeInfo> sets = compInfo[i].operandTypeInfoSet;
+    for (const VersionedTypeInfo &set : sets) {
+      ArrayRef<TypeInfo> expected = set.first;
       // Tensor-list operators can legitimately have multiple valid signatures
       // with different operand/result counts, e.g. data-only and data+scale
       // forms. Treat those as non-matches instead of asserting.
@@ -672,10 +681,9 @@ SmallVector<OpComplianceInfo<T>> TosaProfileCompliance::findMatchedEntries(
       }
 
       if (isFound == true) {
-        SmallVector<VersionedTypeInfo> typeInfoSet{set};
-        OpComplianceInfo<T> info{compInfo[i].mode, typeInfoSet,
-                                 compInfo[i].condition};
-        matchedInfos.push_back(info);
+        matchedInfos.push_back(OpComplianceInfo<T>{
+            compInfo[i].mode, ArrayRef<VersionedTypeInfo>(&set, 1),
+            compInfo[i].condition});
       }
     }
   }
@@ -714,36 +722,37 @@ llvm::SmallString<32>
 TosaProfileCompliance::stringifyTypeInfo(const TypeInfo &typeInfo) {
   const auto stringifyScalarTypeInfo =
       [](const TypeInfo &typeInfo) -> llvm::SmallString<32> {
-    if (typeInfo.typeID == mlir::IntegerType::getTypeID()) {
+    switch (typeInfo.typeKind) {
+    case ComplianceTypeKind::Integer:
       return {"i" + llvm::utostr(typeInfo.bitWidth)};
-    }
-    if (typeInfo.typeID == mlir::Float16Type::getTypeID()) {
+    case ComplianceTypeKind::Float16:
       return {"f16"};
-    } else if (typeInfo.typeID == mlir::Float32Type::getTypeID()) {
+    case ComplianceTypeKind::Float32:
       return {"f32"};
-    } else if (typeInfo.typeID == mlir::BFloat16Type::getTypeID()) {
+    case ComplianceTypeKind::BFloat16:
       return {"bf16"};
-    } else if (typeInfo.typeID == mlir::Float8E4M3FNType::getTypeID()) {
+    case ComplianceTypeKind::Float8E4M3FN:
       return {"fp8e4m3"};
-    } else if (typeInfo.typeID == mlir::Float8E5M2Type::getTypeID()) {
+    case ComplianceTypeKind::Float8E5M2:
       return {"fp8e5m2"};
-    } else if (typeInfo.typeID == mlir::Float6E2M3FNType::getTypeID()) {
+    case ComplianceTypeKind::Float6E2M3FN:
       return {"fp6e2m3"};
-    } else if (typeInfo.typeID == mlir::Float6E3M2FNType::getTypeID()) {
+    case ComplianceTypeKind::Float6E3M2FN:
       return {"fp6e3m2"};
-    } else if (typeInfo.typeID == mlir::Float4E2M1FNType::getTypeID()) {
+    case ComplianceTypeKind::Float4E2M1FN:
       return {"fp4e2m1"};
-    } else if (typeInfo.typeID == mlir::Float8E8M0FNUType::getTypeID()) {
+    case ComplianceTypeKind::Float8E8M0FNU:
       return {"fp8e8m0"};
-    } else if (typeInfo.typeID == tosa::mxint8Type::getTypeID()) {
+    case ComplianceTypeKind::MxInt8:
       return {"mxint8"};
+    default:
+      llvm_unreachable("unknown type");
     }
-    llvm_unreachable("unknown type");
   };
 
-  if (typeInfo.typeID == tosa::BlockScaledType::getTypeID()) {
-    TypeInfo valueInfo = {typeInfo.valueTypeID, typeInfo.bitWidth};
-    TypeInfo scaleInfo = {typeInfo.scaleTypeID, 8};
+  if (typeInfo.typeKind == ComplianceTypeKind::BlockScaled) {
+    TypeInfo valueInfo = {typeInfo.valueTypeKind, typeInfo.bitWidth};
+    TypeInfo scaleInfo = {typeInfo.scaleTypeKind, 8};
     llvm::SmallString<32> result;
     llvm::raw_svector_ostream os(result);
     os << "bs"

>From 039fe68d2723bec0106c941c5363fd7ae1db1a2e Mon Sep 17 00:00:00 2001
From: Dean Sturtevant <dsturtevant at google.com>
Date: Fri, 16 Oct 2026 13:45:59 -0400
Subject: [PATCH 2/4] Ran clang-format on the files.

---
 .../Dialect/Tosa/IR/TosaComplianceData.h.inc  | 11753 ++++++++++++----
 .../Dialect/Tosa/IR/TosaProfileCompliance.h   |     3 +-
 .../Tosa/Transforms/TosaProfileCompliance.cpp |     2 -
 3 files changed, 9112 insertions(+), 2646 deletions(-)

diff --git a/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc b/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
index e5b4f9eaad8a77..44a6eca8c8ca60 100644
--- a/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
+++ b/mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
@@ -2,656 +2,5203 @@
 // `tools/genspec.py` in https://github.com/arm/tosa-specification
 
 static constexpr TypeInfo kComplianceTypeInfos[] = {
-    i32T, i32T, fp16T, fp16T, fp32T, fp32T, i32T, i32T,
-    i32T, fp16T, fp16T, fp16T, fp32T, fp32T, fp32T, i8T,
-    i32T, fp16T, i32T, fp32T, i32T, fp16T, i64T, fp32T,
-    i64T, i8T, i8T, i8T, i16T, i16T, i16T, i8T,
-    i8T, i8T, i32T, i8T, fp16T, fp16T, fp16T, fp16T,
-    fp16T, fp16T, fp16T, fp16T, fp32T, fp16T, fp32T, fp32T,
-    fp32T, fp32T, fp32T, i8T, i8T, i16T, i16T, boolT,
-    i8T, boolT, i16T, boolT, i32T, i8T, boolT, i8T,
-    i16T, i16T, boolT, i16T, i8T, i16T, i32T, i32T,
-    boolT, i32T, i8T, i32T, i16T, boolT, fp32T, i8T,
-    fp16T, i8T, fp32T, i16T, fp16T, i16T, fp32T, i32T,
-    fp16T, i32T, fp32T, fp16T, i8T, fp16T, i16T, fp16T,
-    fp32T, fp32T, i8T, fp32T, i16T, fp32T, fp16T, fp32T,
-    boolT, boolT, boolT, boolT, i8T, i16T, i32T, fp16T,
-    fp32T, i8T, i8T, i32T, i8T, i8T, i32T, i32T,
-    fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T,
-    fp16T, fp16T, fp16T, fp16T, fp32T, fp16T, fp32T, fp32T,
-    fp32T, fp32T, fp32T, fp32T, fp32T, fp16T, fp16T, fp32T,
-    fp16T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T, fp16T,
-    fp32T, fp32T, fp32T, fp32T, fp16T, fp32T, fp32T, fp16T,
-    fp32T, fp32T, i32T, i32T, boolT, fp16T, fp16T, boolT,
-    fp32T, fp32T, boolT, i8T, i32T, i8T, i16T, i32T,
-    i16T, fp16T, i32T, fp16T, fp32T, i32T, fp32T, boolT,
-    i32T, boolT, i8T, i64T, i8T, i16T, i64T, i16T,
-    i32T, i64T, i32T, boolT, boolT, boolT, i8T, i8T,
-    i8T, i8T, i32T, fp16T, fp16T, fp16T, fp16T, fp32T,
-    fp16T, fp32T, fp16T, fp32T, fp32T, fp32T, fp16T, fp32T,
-    fp16T, fp32T, i8T, i8T, i32T, i16T, i16T, i32T,
-    i8T, i8T, i8T, i8T, i16T, i16T, i16T, i16T,
-    i32T, i32T, i32T, i32T, fp16T, fp16T, fp16T, fp16T,
-    fp32T, fp32T, fp32T, fp32T, i8T, i8T, i16T, i16T,
-    i8T, i8T, i32T, i32T, i16T, i16T, i8T, i8T,
-    i16T, i16T, i32T, i32T, i32T, i32T, i8T, i8T,
-    i32T, i32T, i16T, i16T, i64T, i32T, i64T, boolT,
-    i64T, boolT, i64T, i64T, i64T, fp16T, i64T, fp16T,
-    fp32T, i64T, fp32T, i8T, i32T, i32T, i8T, i16T,
-    i32T, i32T, i16T, fp16T, i32T, i32T, fp16T, fp32T,
-    i32T, i32T, fp32T, boolT, i32T, i32T, boolT, i8T,
-    i64T, i32T, i8T, i16T, i64T, i32T, i16T, i32T,
-    i64T, i32T, i32T, i64T, i64T, i32T, i64T, boolT,
-    i64T, i32T, boolT, i8T, i32T, i8T, i8T, i16T,
-    i32T, i16T, i16T, fp16T, i32T, fp16T, fp16T, fp32T,
-    i32T, fp32T, fp32T, boolT, i32T, boolT, boolT, i8T,
-    i64T, i8T, i8T, i16T, i64T, i16T, i16T, i64T,
-    i64T, bf16T, bf16T, bf16T, bf16T, bf16T, i8T, i64T,
-    i16T, i64T, i32T, i64T, fp8e4m3T, i32T, fp8e5m2T, i32T,
-    bf16T, i32T, fp8e4m3T, i64T, fp8e5m2T, i64T, bf16T, i64T,
-    i16T, i16T, i16T, i32T, i16T, fp8e4m3T, fp8e4m3T, fp8e4m3T,
-    fp16T, fp8e4m3T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, bf16T,
-    bf16T, bf16T, fp32T, bf16T, i8T, bf16T, i16T, bf16T,
-    i32T, bf16T, bf16T, i8T, bf16T, i16T, bf16T, fp32T,
-    fp32T, bf16T, i64T, i32T, boolT, i64T, i64T, boolT,
-    bf16T, fp8e4m3T, fp8e4m3T, bf16T, bf16T, fp8e5m2T, fp8e5m2T, bf16T,
-    fp8e4m3T, fp16T, fp8e4m3T, fp32T, fp16T, fp8e4m3T, fp32T, fp8e4m3T,
-    fp8e5m2T, fp16T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, fp32T, fp8e5m2T,
-    fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T,
-    fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T,
-    fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp8e4m3T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp8e4m3T,
-    fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T,
-    fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T,
-    fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp8e5m2T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp8e5m2T,
-    fp16T, bs32_fp8ue8m0_fp8e4m3T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp32T,
-    fp16T, bs32_fp8ue8m0_fp8e5m2T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp32T,
-    fp16T, bs32_fp8ue8m0_fp6e3m2T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp32T,
-    fp16T, bs32_fp8ue8m0_fp6e2m3T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, bs32_fp8ue8m0_fp6e2m3T, fp32T,
-    fp16T, bs32_fp8ue8m0_fp4e2m1T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp32T,
-    fp16T, bs32_fp8ue8m0_mxint8T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, bs32_fp8ue8m0_mxint8T, fp32T,
-    bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, bf16T,
-    fp4e2m1T, fp8ue8m0T, bf16T, fp6e2m3T, fp8ue8m0T, bf16T, fp6e3m2T, fp8ue8m0T,
-    bf16T, fp8e4m3T, fp8ue8m0T, bf16T, fp8e5m2T, fp8ue8m0T, bf16T, mxint8T,
-    fp8ue8m0T, bf16T, fp4e2m1T, fp8ue8m0T, fp32T, fp6e2m3T, fp8ue8m0T, fp32T,
-    fp6e3m2T, fp8ue8m0T, fp32T, fp8e4m3T, fp8ue8m0T, fp32T, fp8e5m2T, fp8ue8m0T,
-    fp32T, mxint8T, fp8ue8m0T, fp32T, bf16T, fp4e2m1T, fp8ue8m0T, fp32T,
-    fp4e2m1T, fp8ue8m0T, fp32T, fp6e2m3T, fp8ue8m0T, fp32T, fp6e3m2T, fp8ue8m0T,
-    fp32T, fp8e4m3T, fp8ue8m0T, fp32T, fp8e5m2T, fp8ue8m0T, fp32T, mxint8T,
-    fp8ue8m0T, bf16T, fp6e2m3T, fp8ue8m0T, bf16T, fp6e3m2T, fp8ue8m0T, bf16T,
-    fp8e4m3T, fp8ue8m0T, bf16T, fp8e5m2T, fp8ue8m0T, bf16T, mxint8T, fp8ue8m0T,
-    fp8e4m3T, fp8e4m3T, fp8e5m2T, fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T,
-    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T,
-    i4T, i48T, i64T, fp8e4m3T, fp8e5m2T, bf16T, fp8ue8m0T, fp6e3m2T,
-    fp6e2m3T, fp4e2m1T, mxint8T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T,
-    bs32_fp8ue8m0_mxint8T, i8T, i4T, i32T, i8T, i4T, i32T, i32T,
-    i16T, i8T, i48T, i16T, i8T, i48T, i48T, fp8e4m3T,
-    fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp8e4m3T,
-    fp16T, fp8e4m3T, fp8e4m3T, fp32T, fp16T, fp8e4m3T, fp16T, fp16T,
-    fp8e4m3T, fp16T, fp16T, fp16T, fp8e4m3T, fp16T, fp16T, fp8e4m3T,
-    fp16T, fp32T, fp16T, fp16T, fp8e4m3T, fp16T, fp16T, fp8e4m3T,
-    fp16T, fp16T, fp16T, fp8e4m3T, fp16T, fp16T, fp8e4m3T, fp32T,
-    fp16T, fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T,
-    fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T, fp32T, fp32T, fp8e4m3T,
-    fp32T, fp32T, fp8e4m3T, fp32T, fp32T, fp32T, fp16T, fp8e4m3T,
-    fp32T, fp16T, fp8e4m3T, fp32T, fp32T, fp32T, fp8e4m3T, fp32T,
-    fp32T, fp8e4m3T, fp32T, fp32T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T,
-    fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T,
-    fp32T, fp16T, fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp16T,
-    fp16T, fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp32T, fp16T,
-    fp16T, fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp16T, fp16T, fp16T,
-    fp8e5m2T, fp16T, fp16T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, fp8e5m2T,
-    fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp16T, fp32T,
-    fp8e5m2T, fp16T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T, fp8e5m2T,
-    fp32T, fp32T, fp32T, fp16T, fp8e5m2T, fp32T, fp16T, fp8e5m2T,
-    fp32T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T,
-    fp32T, bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T,
-    bf16T, bf16T, bf16T, bf16T, bf16T, bf16T, bf16T, fp16T,
-    bf16T, fp32T, fp16T, bf16T, fp32T, fp32T, bf16T, fp16T,
-    fp32T, bf16T, fp16T, fp32T, fp32T, bf16T, bf16T, fp32T,
-    bf16T, bf16T, fp32T, fp32T, bf16T, fp32T, fp32T, bf16T,
-    fp32T, fp32T, fp32T, fp32T, bf16T, fp32T, fp32T, bf16T,
-    fp32T, fp32T, fp8e4m3T, fp8e5m2T, fp16T, fp8e4m3T, fp8e5m2T, fp16T,
-    fp16T, fp8e4m3T, fp8e5m2T, fp16T, fp8e4m3T, fp8e5m2T, fp32T, fp16T,
-    fp8e5m2T, fp8e4m3T, fp16T, fp8e5m2T, fp8e4m3T, fp16T, fp16T, fp8e5m2T,
-    fp8e4m3T, fp16T, fp8e5m2T, fp8e4m3T, fp32T, fp16T, fp8e4m3T, fp8e5m2T,
-    fp32T, fp8e4m3T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp8e4m3T, fp32T,
-    fp8e5m2T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e4m3T,
-    fp32T, fp16T, fp16T, fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e4m3T, fp32T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T, fp16T,
-    fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T,
-    fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T,
-    fp16T, fp8e4m3T, fp32T, fp16T, fp16T, fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T,
-    fp8e4m3T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp16T, fp32T,
-    fp8e4m3T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp16T, fp32T, fp8e4m3T,
-    fp32T, fp16T, fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp8e4m3T, fp32T, fp32T,
-    fp32T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T,
-    fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e4m3T, fp32T, fp16T, fp16T, fp8e4m3T,
-    bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e4m3T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T,
-    fp16T, fp32T, fp8e4m3T, fp16T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp16T,
-    fp32T, fp8e4m3T, fp32T, fp16T, fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp8e4m3T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp32T, fp8e4m3T,
-    fp32T, fp32T, fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e4m3T, fp32T, fp16T,
-    fp16T, fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp8e4m3T, fp32T, fp32T, fp16T,
-    bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T,
-    fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T, fp16T, fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T,
-    fp32T, fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T,
-    fp32T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e4m3T,
-    fp32T, fp16T, fp16T, fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e4m3T, fp32T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T, fp16T,
-    fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T,
-    fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, bs32_fp8ue8m0_mxint8T,
-    fp16T, fp8e4m3T, fp32T, fp16T, fp16T, fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T,
-    fp8e4m3T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp16T, fp32T,
-    fp8e4m3T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp16T, fp32T, fp8e4m3T,
-    fp32T, fp16T, fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp8e4m3T, fp32T, fp32T,
-    fp32T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp32T, fp8e4m3T, fp32T, fp32T,
-    fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e5m2T, fp32T, fp16T, fp16T, fp8e5m2T,
-    bs32_fp8ue8m0_fp8e4m3T, fp16T, fp8e5m2T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T,
-    fp16T, fp32T, fp8e5m2T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp16T,
-    fp32T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp8e5m2T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp32T, fp8e5m2T,
-    fp32T, fp32T, fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e5m2T, fp32T, fp16T,
-    fp16T, fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp8e5m2T, fp32T, fp32T, fp16T,
-    bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T,
-    fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T,
-    fp32T, fp8e5m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T,
-    fp32T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e5m2T,
-    fp32T, fp16T, fp16T, fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp8e5m2T, fp32T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T, fp16T,
-    fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp8e5m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
-    fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T,
-    fp16T, fp8e5m2T, fp32T, fp16T, fp16T, fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T,
-    fp8e5m2T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp16T, fp32T,
-    fp8e5m2T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp16T, fp32T, fp8e5m2T,
-    fp32T, fp16T, fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp8e5m2T, fp32T, fp32T,
-    fp32T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, fp32T, fp32T,
-    fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e5m2T, fp32T, fp16T, fp16T, fp8e5m2T,
-    bs32_fp8ue8m0_fp4e2m1T, fp16T, fp8e5m2T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T,
-    fp16T, fp32T, fp8e5m2T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp16T,
-    fp32T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp8e5m2T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, fp32T, fp8e5m2T,
-    fp32T, fp32T, fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e5m2T, fp32T, fp16T,
-    fp16T, fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp8e5m2T, fp32T, fp32T, fp16T,
-    bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T,
-    fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T, fp16T, fp8e5m2T, bs32_fp8ue8m0_mxint8T,
-    fp32T, fp8e5m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T,
-    fp32T, fp8e5m2T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T,
-    fp32T, fp16T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp16T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T,
-    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T,
-    bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T,
-    fp32T, fp16T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, fp32T,
-    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-    fp16T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp16T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp16T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T,
-    fp16T, fp16T, fp32T, fp16T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T,
-    fp16T, fp32T, fp16T, fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T,
-    fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T,
-    fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp16T, fp32T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T,
-    fp32T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T,
-    bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T,
-    bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T,
-    fp16T, fp16T, fp32T, fp16T, fp16T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T,
-    fp16T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T,
-    fp16T, fp16T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp16T, fp32T, fp16T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T, fp32T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp16T, fp32T, fp32T, fp32T, fp32T,
-    bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, fp16T,
-    fp32T, fp32T, fp16T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T,
-    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T,
-    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T,
-    fp16T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp32T,
-    fp16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T,
-    bs32_fp8ue8m0_fp6e2m3T, fp16T, fp16T, fp32T, fp16T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T,
-    bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T,
-    fp16T, fp32T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, fp32T,
-    fp16T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp16T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T,
-    fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T,
-    fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp16T, fp16T, fp16T,
-    bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T,
-    fp16T, fp32T, fp16T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp16T,
-    fp32T, fp16T, fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T,
-    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp16T, fp32T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp32T, fp32T,
-    bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp16T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T,
-    fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T,
-    fp32T, fp32T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_mxint8T, fp16T,
-    fp16T, fp32T, fp16T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp16T,
-    fp32T, fp32T, fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp16T,
-    fp16T, fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp16T, fp32T, fp16T, fp32T,
-    fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp16T, fp16T,
-    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp32T, fp16T, fp16T,
-    bs32_fp8ue8m0_mxint8T, fp32T, fp16T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T,
-    fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T,
-    fp32T, fp16T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp32T, fp16T,
-    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T,
-    bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T,
-    fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T,
-    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T,
-    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp32T, fp16T,
-    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
-    bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T,
-    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp16T,
-    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T,
-    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T,
-    fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T, fp32T,
-    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e4m3T,
-    bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T,
-    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp16T,
-    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp32T, fp16T,
-    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T,
-    bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T,
-    fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp32T,
-    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T,
-    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp32T, fp16T,
-    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
-    bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T,
-    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T,
-    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T,
-    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T,
-    fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T, fp32T,
-    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp8e5m2T,
-    bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T,
-    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp16T,
-    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp32T, fp16T,
-    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T,
-    bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T,
-    fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp32T,
-    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T,
-    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T, fp32T, fp16T,
-    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T,
-    bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T,
-    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp16T,
-    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T,
-    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp32T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp32T,
-    fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp32T, fp32T,
-    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e3m2T,
-    bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T,
-    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp16T,
-    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp16T,
-    fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp32T, fp16T,
-    bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T,
-    bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T,
-    fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp32T,
-    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T,
-    fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T,
-    fp32T, fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp16T,
-    fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp32T, fp32T, fp16T,
-    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T,
-    bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T,
-    fp16T, fp32T, fp32T, fp16T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp16T,
-    fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T,
-    fp32T, fp16T, fp16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, fp32T,
-    fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp32T, fp32T,
-    fp8e4m3T, fp8e4m3T, bf16T, fp8e4m3T, fp8e4m3T, bf16T, bf16T, fp8e4m3T,
-    fp8e4m3T, bf16T, fp8e4m3T, fp8e4m3T, fp32T, bf16T, fp8e4m3T, bf16T,
-    bf16T, fp8e4m3T, bf16T, bf16T, bf16T, fp8e4m3T, bf16T, bf16T,
-    fp8e4m3T, bf16T, fp32T, bf16T, bf16T, fp8e4m3T, bf16T, bf16T,
-    fp8e4m3T, bf16T, bf16T, bf16T, fp8e4m3T, bf16T, bf16T, fp8e4m3T,
-    fp32T, bf16T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T, fp32T,
-    fp32T, bf16T, fp8e4m3T, fp32T, bf16T, fp8e4m3T, fp32T, fp32T,
-    fp8e4m3T, fp8e5m2T, bf16T, fp8e4m3T, fp8e5m2T, bf16T, bf16T, fp8e4m3T,
-    fp8e5m2T, bf16T, fp8e4m3T, fp8e5m2T, fp32T, bf16T, fp8e5m2T, fp8e4m3T,
-    bf16T, fp8e5m2T, fp8e4m3T, bf16T, bf16T, fp8e5m2T, fp8e4m3T, bf16T,
-    fp8e5m2T, fp8e4m3T, fp32T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e4m3T,
-    fp32T, bf16T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e4m3T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T, bf16T,
-    fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e4m3T, fp32T, bf16T, bf16T, fp8e4m3T,
-    bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e4m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T,
-    bf16T, fp32T, fp8e4m3T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, bf16T,
-    fp32T, fp8e4m3T, fp32T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e4m3T,
-    fp32T, bf16T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e4m3T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T, bf16T,
-    fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e4m3T, fp32T, bf16T, bf16T, fp8e4m3T,
-    bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e4m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T,
-    bf16T, fp32T, fp8e4m3T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, bf16T,
-    fp32T, fp8e4m3T, fp32T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e4m3T,
-    fp32T, bf16T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e4m3T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, bf16T, fp32T, fp8e4m3T, fp32T, bf16T,
-    fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e4m3T, fp32T, bf16T, bf16T, fp8e4m3T,
-    bs32_fp8ue8m0_mxint8T, bf16T, fp8e4m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, fp8e4m3T,
-    bf16T, fp32T, fp8e4m3T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, bf16T,
-    fp32T, fp8e4m3T, fp32T, bf16T, fp8e5m2T, fp8e5m2T, bf16T, fp8e5m2T,
-    fp8e5m2T, bf16T, bf16T, fp8e5m2T, fp8e5m2T, bf16T, fp8e5m2T, fp8e5m2T,
-    fp32T, bf16T, fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, bf16T,
-    bf16T, fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, fp32T, bf16T,
-    bf16T, fp8e5m2T, bf16T, bf16T, fp8e5m2T, bf16T, bf16T, bf16T,
-    fp8e5m2T, bf16T, bf16T, fp8e5m2T, fp32T, bf16T, fp8e5m2T, bf16T,
-    fp32T, fp8e5m2T, bf16T, fp32T, fp32T, bf16T, fp8e5m2T, fp32T,
-    bf16T, fp8e5m2T, fp32T, fp32T, fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e5m2T,
-    fp32T, bf16T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp8e5m2T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T, bf16T,
-    fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e5m2T, fp32T, bf16T, bf16T, fp8e5m2T,
-    bs32_fp8ue8m0_fp8e5m2T, bf16T, fp8e5m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T,
-    bf16T, fp32T, fp8e5m2T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, bf16T,
-    fp32T, fp8e5m2T, fp32T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e5m2T,
-    fp32T, bf16T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp8e5m2T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T, bf16T,
-    fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e5m2T, fp32T, bf16T, bf16T, fp8e5m2T,
-    bs32_fp8ue8m0_fp6e2m3T, bf16T, fp8e5m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T,
-    bf16T, fp32T, fp8e5m2T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, bf16T,
-    fp32T, fp8e5m2T, fp32T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e5m2T,
-    fp32T, bf16T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp8e5m2T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, bf16T, fp32T, fp8e5m2T, fp32T, bf16T,
-    fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp8e5m2T, fp32T, bf16T, bf16T, fp8e5m2T,
-    bs32_fp8ue8m0_mxint8T, bf16T, fp8e5m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, fp8e5m2T,
-    bf16T, fp32T, fp8e5m2T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, bf16T,
-    fp32T, fp8e5m2T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T,
-    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, bf16T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T,
-    bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T,
-    fp32T, bf16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T,
-    fp32T, bf16T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T,
-    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, bf16T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T,
-    bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T,
-    fp32T, bf16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T,
-    fp32T, bf16T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T,
-    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, bf16T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T,
-    bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T,
-    fp32T, bf16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T,
-    fp32T, bf16T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T,
-    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, bf16T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T,
-    bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T,
-    fp32T, bf16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T,
-    fp32T, bf16T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T,
-    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, bf16T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T,
-    bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T,
-    fp32T, bf16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T,
-    fp32T, bf16T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T,
-    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, bf16T, bf16T,
-    bf16T, bs32_fp8ue8m0_mxint8T, bf16T, bf16T, fp32T, bf16T, fp32T, bf16T,
-    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T,
-    bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T,
-    fp32T, bf16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T,
-    fp32T, bf16T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T,
-    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T,
-    bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T,
-    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, bf16T,
-    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T,
-    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T,
-    bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T,
-    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, bf16T,
-    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T,
-    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, bf16T,
-    bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T,
-    bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T,
-    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, bf16T,
-    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T,
-    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T,
-    bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T,
-    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, bf16T,
-    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T,
-    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, bf16T,
-    bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T,
-    bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T,
-    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, bf16T,
-    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T,
-    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T,
-    bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T,
-    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, bf16T,
-    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T,
-    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, bf16T,
-    bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T,
-    bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T,
-    bf16T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, bf16T,
-    fp32T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T,
-    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, bf16T,
-    bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, fp32T, bf16T,
-    fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T, fp32T, fp6e2m3T, fp8ue8m0T,
-    fp6e2m3T, fp8ue8m0T, fp32T, fp32T, fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T,
-    fp32T, fp32T, fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T, fp32T,
-    fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T, fp32T, i64T, i64T,
-    boolT, bf16T, bf16T, boolT, fp8e4m3T, i32T, fp8e4m3T, fp8e5m2T,
-    i32T, fp8e5m2T, bf16T, i32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, i32T, bs32_fp8ue8m0_fp8e4m3T,
-    bs32_fp8ue8m0_fp8e5m2T, i32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, i32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, i32T,
-    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, i32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, i32T, bs32_fp8ue8m0_mxint8T, fp8e4m3T,
-    i64T, fp8e4m3T, fp8e5m2T, i64T, fp8e5m2T, bf16T, i64T, bf16T,
-    bs32_fp8ue8m0_fp8e4m3T, i64T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, i64T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, i64T,
-    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, i64T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, i64T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T,
-    i64T, bs32_fp8ue8m0_mxint8T, i4T, i4T, i48T, i48T, i16T, i16T,
-    i16T, i16T, i48T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T,
-    fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T, fp8e5m2T, fp8e5m2T, fp8e5m2T,
-    fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T, fp8e4m3T,
-    fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T,
-    fp32T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T, fp8e5m2T, fp8e4m3T,
-    fp8e5m2T, fp8e4m3T, fp32T, bf16T, bf16T, bf16T, bf16T, fp32T,
-    fp8e4m3T, fp16T, fp8e4m3T, fp16T, fp32T, fp8e4m3T, fp32T, fp8e4m3T,
-    fp32T, fp32T, fp16T, fp8e4m3T, fp16T, fp8e4m3T, fp32T, fp32T,
-    fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T,
-    bf16T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, bf16T, fp8e4m3T, bf16T,
-    fp8e4m3T, bf16T, bf16T, bf16T, fp8e4m3T, bf16T, fp8e4m3T, bf16T,
-    fp8e4m3T, bf16T, fp8e4m3T, bf16T, fp32T, bf16T, fp8e4m3T, bf16T,
-    fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, bf16T, fp8e4m3T,
-    fp16T, fp8e4m3T, fp16T, bf16T, fp16T, fp8e4m3T, fp16T, fp8e4m3T,
-    bf16T, fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T,
-    fp32T, fp8e4m3T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp32T,
-    bs32_fp8ue8m0_fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp8e4m3T, bf16T, fp8e4m3T,
-    bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp8e4m3T, fp32T, fp8e4m3T,
-    fp32T, fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T,
-    fp32T, fp8e4m3T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp32T,
-    bs32_fp8ue8m0_fp6e3m2T, fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp8e4m3T, bf16T, fp8e4m3T,
-    bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp8e4m3T, fp32T, fp8e4m3T,
-    fp32T, fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T,
-    fp32T, fp8e4m3T, bf16T, fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, fp32T,
-    bs32_fp8ue8m0_fp4e2m1T, fp8e4m3T, fp32T, fp8e4m3T, fp32T, fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp8e4m3T,
-    fp32T, bf16T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp8e4m3T, bf16T, fp8e4m3T,
-    bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp8e4m3T, fp32T, fp8e4m3T,
-    fp32T, fp8e5m2T, fp16T, fp8e5m2T, fp16T, fp32T, fp8e5m2T, fp32T,
-    fp8e5m2T, fp32T, fp32T, fp16T, fp8e5m2T, fp16T, fp8e5m2T, fp32T,
-    fp32T, fp8e5m2T, fp32T, fp8e5m2T, fp32T, fp8e5m2T, bf16T, fp8e5m2T,
-    bf16T, bf16T, bf16T, fp8e5m2T, bf16T, fp8e5m2T, bf16T, fp8e5m2T,
-    bf16T, fp8e5m2T, bf16T, fp32T, bf16T, fp8e5m2T, bf16T, fp8e5m2T,
-    fp32T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, bf16T, fp8e5m2T, fp16T,
-    fp8e5m2T, fp16T, bf16T, fp16T, fp8e5m2T, fp16T, fp8e5m2T, bf16T,
-    fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T,
-    fp8e5m2T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp8e5m2T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T,
-    fp8e5m2T, fp32T, fp8e5m2T, fp32T, fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T,
-    bf16T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T,
-    fp8e5m2T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp32T,
-    fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T,
-    fp8e5m2T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp8e5m2T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
-    fp8e5m2T, fp32T, fp8e5m2T, fp32T, fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T,
-    bf16T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp8e5m2T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T,
-    fp8e5m2T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp8e5m2T, fp32T, fp8e5m2T, fp32T,
-    fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T,
-    fp8e5m2T, bf16T, fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp8e5m2T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T,
-    fp8e5m2T, fp32T, fp8e5m2T, fp32T, fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T,
-    bf16T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, fp8e5m2T, bf16T, fp8e5m2T, bs32_fp8ue8m0_mxint8T,
-    fp8e5m2T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp8e5m2T, fp32T, fp8e5m2T, fp32T,
-    fp16T, bf16T, fp16T, bf16T, bf16T, bf16T, fp16T, bf16T,
-    fp16T, bf16T, bf16T, bf16T, bf16T, bf16T, bf16T, fp16T,
-    bf16T, fp16T, bf16T, fp32T, bf16T, fp16T, bf16T, fp16T,
-    fp32T, bf16T, fp32T, bf16T, fp32T, fp32T, fp32T, bf16T,
-    fp32T, bf16T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp32T,
-    fp32T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T,
-    fp16T, fp32T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T,
-    bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp16T,
-    fp32T, fp16T, fp32T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp32T,
-    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
-    fp16T, fp32T, fp16T, fp32T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T,
-    fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T,
-    fp16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T,
-    bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp16T, fp32T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, fp16T,
-    bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T,
-    fp32T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, fp16T, fp32T, bs32_fp8ue8m0_fp4e2m1T, fp32T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T,
-    fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp16T, fp32T, bs32_fp8ue8m0_mxint8T,
-    fp32T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T,
-    fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, fp32T,
-    bs32_fp8ue8m0_fp8e4m3T, bf16T, fp32T, bf16T, fp32T, fp16T, bs32_fp8ue8m0_fp8e4m3T, fp16T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, fp16T, fp32T, fp16T, bf16T, bs32_fp8ue8m0_fp8e4m3T,
-    bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T,
-    bf16T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp8e5m2T,
-    bf16T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bf16T, fp32T, bf16T, fp32T,
-    fp16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, fp16T, fp32T,
-    fp16T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T, bf16T,
-    bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, bf16T,
-    bf16T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bf16T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bf16T,
-    fp32T, bf16T, fp32T, fp16T, bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp6e3m2T, fp16T, fp32T, fp16T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T,
-    fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T,
-    bf16T, fp32T, bf16T, bf16T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T,
-    fp32T, bs32_fp8ue8m0_fp6e2m3T, bf16T, fp32T, bf16T, fp32T, fp16T, bs32_fp8ue8m0_fp6e2m3T,
-    fp16T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, fp16T, fp32T, fp16T, bf16T,
-    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T,
-    fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, bf16T, bf16T, bf16T,
-    bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bf16T, fp32T, bf16T,
-    fp32T, fp16T, bs32_fp8ue8m0_fp4e2m1T, fp16T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, fp16T,
-    fp32T, fp16T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T,
-    bf16T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T,
-    bf16T, bf16T, bf16T, bs32_fp8ue8m0_mxint8T, bf16T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T,
-    bf16T, fp32T, bf16T, fp32T, fp16T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T,
-    bf16T, bs32_fp8ue8m0_mxint8T, fp16T, fp32T, fp16T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T,
-    fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T,
-    bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T,
-    bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e4m3T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp6e2m3T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T,
-    bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T,
-    bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e4m3T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_mxint8T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e4m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T,
-    bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T,
-    bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp8e5m2T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T,
-    bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T,
-    bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp8e5m2T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_mxint8T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp8e5m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
-    bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T,
-    bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e3m2T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp4e2m1T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e3m2T,
-    bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T, fp32T, fp32T,
-    bf16T, bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e3m2T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp6e2m3T,
-    bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T, fp32T, fp32T,
-    bf16T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp6e2m3T,
-    fp32T, fp32T, fp32T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp32T, fp32T, bf16T,
-    bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, bf16T, bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, fp32T,
-    fp32T, fp32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_fp4e2m1T, fp32T, fp32T, fp32T, fp4e2m1T,
-    fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T, fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T,
-    fp32T, fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T, fp8e4m3T, fp8ue8m0T,
-    fp8e4m3T, fp8ue8m0T, fp32T, fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T,
-    mxint8T, fp8ue8m0T, mxint8T, fp8ue8m0T, fp32T, i64T, i64T, i64T,
-    i64T, bf16T, bf16T, bf16T, bf16T, fp8e4m3T, fp8e4m3T, fp8e4m3T,
-    fp8e5m2T, fp8e5m2T, fp8e5m2T, i48T, i48T, i8T, i8T, i48T,
-    i48T, i16T, i16T, i48T, i48T, i32T, i32T, i16T,
-    i48T, fp8e4m3T, i32T, i32T, fp8e4m3T, fp8e5m2T, i32T, i32T,
-    fp8e5m2T, bf16T, i32T, i32T, bf16T, fp16T, i64T, i32T,
-    fp16T, fp32T, i64T, i32T, fp32T, fp8e4m3T, i64T, i32T,
-    fp8e4m3T, fp8e5m2T, i64T, i32T, fp8e5m2T, bf16T, i64T, i32T,
-    bf16T, fp4e2m1T, fp8ue8m0T, i32T, i32T, fp4e2m1T, fp8ue8m0T, fp6e2m3T,
-    fp8ue8m0T, i32T, i32T, fp6e2m3T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, i32T,
-    i32T, fp6e3m2T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, i32T, i32T, fp8e4m3T,
-    fp8ue8m0T, fp8e5m2T, fp8ue8m0T, i32T, i32T, fp8e5m2T, fp8ue8m0T, mxint8T,
-    fp8ue8m0T, i32T, i32T, mxint8T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, i64T,
-    i32T, fp4e2m1T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, i64T, i32T, fp6e2m3T,
-    fp8ue8m0T, fp6e3m2T, fp8ue8m0T, i64T, i32T, fp6e3m2T, fp8ue8m0T, fp8e4m3T,
-    fp8ue8m0T, i64T, i32T, fp8e4m3T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, i64T,
-    i32T, fp8e5m2T, fp8ue8m0T, mxint8T, fp8ue8m0T, i64T, i32T, mxint8T,
-    fp8ue8m0T, fp8e4m3T, i32T, fp8e4m3T, fp8e4m3T, fp8e5m2T, i32T, fp8e5m2T,
-    fp8e5m2T, bf16T, i32T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, i32T, bs32_fp8ue8m0_fp8e4m3T,
-    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, i32T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, i32T, bs32_fp8ue8m0_fp6e3m2T,
-    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, i32T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, i32T, bs32_fp8ue8m0_fp4e2m1T,
-    bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, i32T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T, fp16T, i64T, fp16T,
-    fp16T, fp32T, i64T, fp32T, fp32T, boolT, i64T, boolT,
-    boolT, fp8e4m3T, i64T, fp8e4m3T, fp8e4m3T, fp8e5m2T, i64T, fp8e5m2T,
-    fp8e5m2T, bf16T, i64T, bf16T, bf16T, bs32_fp8ue8m0_fp8e4m3T, i64T, bs32_fp8ue8m0_fp8e4m3T,
-    bs32_fp8ue8m0_fp8e4m3T, bs32_fp8ue8m0_fp8e5m2T, i64T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp8e5m2T, bs32_fp8ue8m0_fp6e3m2T, i64T, bs32_fp8ue8m0_fp6e3m2T,
-    bs32_fp8ue8m0_fp6e3m2T, bs32_fp8ue8m0_fp6e2m3T, i64T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp6e2m3T, bs32_fp8ue8m0_fp4e2m1T, i64T, bs32_fp8ue8m0_fp4e2m1T,
-    bs32_fp8ue8m0_fp4e2m1T, bs32_fp8ue8m0_mxint8T, i64T, bs32_fp8ue8m0_mxint8T, bs32_fp8ue8m0_mxint8T,
+    i32T,
+    i32T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp32T,
+    i32T,
+    i32T,
+    i32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    i8T,
+    i32T,
+    fp16T,
+    i32T,
+    fp32T,
+    i32T,
+    fp16T,
+    i64T,
+    fp32T,
+    i64T,
+    i8T,
+    i8T,
+    i8T,
+    i16T,
+    i16T,
+    i16T,
+    i8T,
+    i8T,
+    i8T,
+    i32T,
+    i8T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    i8T,
+    i8T,
+    i16T,
+    i16T,
+    boolT,
+    i8T,
+    boolT,
+    i16T,
+    boolT,
+    i32T,
+    i8T,
+    boolT,
+    i8T,
+    i16T,
+    i16T,
+    boolT,
+    i16T,
+    i8T,
+    i16T,
+    i32T,
+    i32T,
+    boolT,
+    i32T,
+    i8T,
+    i32T,
+    i16T,
+    boolT,
+    fp32T,
+    i8T,
+    fp16T,
+    i8T,
+    fp32T,
+    i16T,
+    fp16T,
+    i16T,
+    fp32T,
+    i32T,
+    fp16T,
+    i32T,
+    fp32T,
+    fp16T,
+    i8T,
+    fp16T,
+    i16T,
+    fp16T,
+    fp32T,
+    fp32T,
+    i8T,
+    fp32T,
+    i16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    boolT,
+    boolT,
+    boolT,
+    boolT,
+    i8T,
+    i16T,
+    i32T,
+    fp16T,
+    fp32T,
+    i8T,
+    i8T,
+    i32T,
+    i8T,
+    i8T,
+    i32T,
+    i32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    i32T,
+    i32T,
+    boolT,
+    fp16T,
+    fp16T,
+    boolT,
+    fp32T,
+    fp32T,
+    boolT,
+    i8T,
+    i32T,
+    i8T,
+    i16T,
+    i32T,
+    i16T,
+    fp16T,
+    i32T,
+    fp16T,
+    fp32T,
+    i32T,
+    fp32T,
+    boolT,
+    i32T,
+    boolT,
+    i8T,
+    i64T,
+    i8T,
+    i16T,
+    i64T,
+    i16T,
+    i32T,
+    i64T,
+    i32T,
+    boolT,
+    boolT,
+    boolT,
+    i8T,
+    i8T,
+    i8T,
+    i8T,
+    i32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    i8T,
+    i8T,
+    i32T,
+    i16T,
+    i16T,
+    i32T,
+    i8T,
+    i8T,
+    i8T,
+    i8T,
+    i16T,
+    i16T,
+    i16T,
+    i16T,
+    i32T,
+    i32T,
+    i32T,
+    i32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    i8T,
+    i8T,
+    i16T,
+    i16T,
+    i8T,
+    i8T,
+    i32T,
+    i32T,
+    i16T,
+    i16T,
+    i8T,
+    i8T,
+    i16T,
+    i16T,
+    i32T,
+    i32T,
+    i32T,
+    i32T,
+    i8T,
+    i8T,
+    i32T,
+    i32T,
+    i16T,
+    i16T,
+    i64T,
+    i32T,
+    i64T,
+    boolT,
+    i64T,
+    boolT,
+    i64T,
+    i64T,
+    i64T,
+    fp16T,
+    i64T,
+    fp16T,
+    fp32T,
+    i64T,
+    fp32T,
+    i8T,
+    i32T,
+    i32T,
+    i8T,
+    i16T,
+    i32T,
+    i32T,
+    i16T,
+    fp16T,
+    i32T,
+    i32T,
+    fp16T,
+    fp32T,
+    i32T,
+    i32T,
+    fp32T,
+    boolT,
+    i32T,
+    i32T,
+    boolT,
+    i8T,
+    i64T,
+    i32T,
+    i8T,
+    i16T,
+    i64T,
+    i32T,
+    i16T,
+    i32T,
+    i64T,
+    i32T,
+    i32T,
+    i64T,
+    i64T,
+    i32T,
+    i64T,
+    boolT,
+    i64T,
+    i32T,
+    boolT,
+    i8T,
+    i32T,
+    i8T,
+    i8T,
+    i16T,
+    i32T,
+    i16T,
+    i16T,
+    fp16T,
+    i32T,
+    fp16T,
+    fp16T,
+    fp32T,
+    i32T,
+    fp32T,
+    fp32T,
+    boolT,
+    i32T,
+    boolT,
+    boolT,
+    i8T,
+    i64T,
+    i8T,
+    i8T,
+    i16T,
+    i64T,
+    i16T,
+    i16T,
+    i64T,
+    i64T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    i8T,
+    i64T,
+    i16T,
+    i64T,
+    i32T,
+    i64T,
+    fp8e4m3T,
+    i32T,
+    fp8e5m2T,
+    i32T,
+    bf16T,
+    i32T,
+    fp8e4m3T,
+    i64T,
+    fp8e5m2T,
+    i64T,
+    bf16T,
+    i64T,
+    i16T,
+    i16T,
+    i16T,
+    i32T,
+    i16T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp16T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp16T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    i8T,
+    bf16T,
+    i16T,
+    bf16T,
+    i32T,
+    bf16T,
+    bf16T,
+    i8T,
+    bf16T,
+    i16T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    i64T,
+    i32T,
+    boolT,
+    i64T,
+    i64T,
+    boolT,
+    bf16T,
+    fp8e4m3T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    fp8e5m2T,
+    bf16T,
+    fp8e4m3T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e4m3T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e4m3T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e4m3T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e4m3T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e4m3T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e4m3T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e5m2T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e5m2T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e5m2T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e5m2T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e5m2T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e5m2T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp4e2m1T,
+    fp8ue8m0T,
+    bf16T,
+    fp6e2m3T,
+    fp8ue8m0T,
+    bf16T,
+    fp6e3m2T,
+    fp8ue8m0T,
+    bf16T,
+    fp8e4m3T,
+    fp8ue8m0T,
+    bf16T,
+    fp8e5m2T,
+    fp8ue8m0T,
+    bf16T,
+    mxint8T,
+    fp8ue8m0T,
+    bf16T,
+    fp4e2m1T,
+    fp8ue8m0T,
+    fp32T,
+    fp6e2m3T,
+    fp8ue8m0T,
+    fp32T,
+    fp6e3m2T,
+    fp8ue8m0T,
+    fp32T,
+    fp8e4m3T,
+    fp8ue8m0T,
+    fp32T,
+    fp8e5m2T,
+    fp8ue8m0T,
+    fp32T,
+    mxint8T,
+    fp8ue8m0T,
+    fp32T,
+    bf16T,
+    fp4e2m1T,
+    fp8ue8m0T,
+    fp32T,
+    fp4e2m1T,
+    fp8ue8m0T,
+    fp32T,
+    fp6e2m3T,
+    fp8ue8m0T,
+    fp32T,
+    fp6e3m2T,
+    fp8ue8m0T,
+    fp32T,
+    fp8e4m3T,
+    fp8ue8m0T,
+    fp32T,
+    fp8e5m2T,
+    fp8ue8m0T,
+    fp32T,
+    mxint8T,
+    fp8ue8m0T,
+    bf16T,
+    fp6e2m3T,
+    fp8ue8m0T,
+    bf16T,
+    fp6e3m2T,
+    fp8ue8m0T,
+    bf16T,
+    fp8e4m3T,
+    fp8ue8m0T,
+    bf16T,
+    fp8e5m2T,
+    fp8ue8m0T,
+    bf16T,
+    mxint8T,
+    fp8ue8m0T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
+    i4T,
+    i48T,
+    i64T,
+    fp8e4m3T,
+    fp8e5m2T,
+    bf16T,
+    fp8ue8m0T,
+    fp6e3m2T,
+    fp6e2m3T,
+    fp4e2m1T,
+    mxint8T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T,
+    i8T,
+    i4T,
+    i32T,
+    i8T,
+    i4T,
+    i32T,
+    i32T,
+    i16T,
+    i8T,
+    i48T,
+    i16T,
+    i8T,
+    i48T,
+    i48T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp16T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp16T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp16T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp16T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    fp16T,
+    bf16T,
+    fp32T,
+    fp16T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp16T,
+    fp32T,
+    bf16T,
+    fp16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp16T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp16T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp16T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp16T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp32T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp32T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp8e5m2T,
+    bf16T,
+    fp8e4m3T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    fp8e5m2T,
+    bf16T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    fp8e5m2T,
+    fp8e4m3T,
+    bf16T,
+    fp8e5m2T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    fp8e4m3T,
+    bf16T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    fp8e5m2T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp4e2m1T,
+    fp8ue8m0T,
+    fp4e2m1T,
+    fp8ue8m0T,
+    fp32T,
+    fp32T,
+    fp6e2m3T,
+    fp8ue8m0T,
+    fp6e2m3T,
+    fp8ue8m0T,
+    fp32T,
+    fp32T,
+    fp6e3m2T,
+    fp8ue8m0T,
+    fp6e3m2T,
+    fp8ue8m0T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp8ue8m0T,
+    fp8e4m3T,
+    fp8ue8m0T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp8ue8m0T,
+    fp8e5m2T,
+    fp8ue8m0T,
+    fp32T,
+    fp32T,
+    i64T,
+    i64T,
+    boolT,
+    bf16T,
+    bf16T,
+    boolT,
+    fp8e4m3T,
+    i32T,
+    fp8e4m3T,
+    fp8e5m2T,
+    i32T,
+    fp8e5m2T,
+    bf16T,
+    i32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    i32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    i32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    i32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    i32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    i32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T,
+    i32T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e4m3T,
+    i64T,
+    fp8e4m3T,
+    fp8e5m2T,
+    i64T,
+    fp8e5m2T,
+    bf16T,
+    i64T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    i64T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    i64T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    i64T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    i64T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    i64T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T,
+    i64T,
+    bs32_fp8ue8m0_mxint8T,
+    i4T,
+    i4T,
+    i48T,
+    i48T,
+    i16T,
+    i16T,
+    i16T,
+    i16T,
+    i48T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp16T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp32T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp16T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp32T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp16T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp16T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    fp32T,
+    fp8e4m3T,
+    fp16T,
+    fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp8e4m3T,
+    fp16T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    fp16T,
+    fp8e4m3T,
+    fp16T,
+    bf16T,
+    fp16T,
+    fp8e4m3T,
+    fp16T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e4m3T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    bf16T,
+    fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e4m3T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e4m3T,
+    fp32T,
+    fp8e4m3T,
+    fp32T,
+    fp8e5m2T,
+    fp16T,
+    fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp16T,
+    fp8e5m2T,
+    fp16T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    bf16T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    fp16T,
+    fp8e5m2T,
+    fp16T,
+    bf16T,
+    fp16T,
+    fp8e5m2T,
+    fp16T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e5m2T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    bf16T,
+    fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e5m2T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    fp8e5m2T,
+    fp32T,
+    fp8e5m2T,
+    fp32T,
+    fp16T,
+    bf16T,
+    fp16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    fp16T,
+    bf16T,
+    fp16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    fp16T,
+    bf16T,
+    fp16T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp16T,
+    bf16T,
+    fp16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp16T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp16T,
+    fp32T,
+    fp16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp16T,
+    fp32T,
+    fp16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp16T,
+    fp32T,
+    fp16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp16T,
+    fp32T,
+    fp16T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp16T,
+    fp32T,
+    fp16T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bf16T,
+    fp32T,
+    bf16T,
+    fp32T,
+    fp16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    fp32T,
+    fp16T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    bf16T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T,
+    fp32T,
+    fp32T,
+    fp32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    fp32T,
+    fp32T,
+    fp32T,
+    fp4e2m1T,
+    fp8ue8m0T,
+    fp4e2m1T,
+    fp8ue8m0T,
+    fp32T,
+    fp6e2m3T,
+    fp8ue8m0T,
+    fp6e2m3T,
+    fp8ue8m0T,
+    fp32T,
+    fp6e3m2T,
+    fp8ue8m0T,
+    fp6e3m2T,
+    fp8ue8m0T,
+    fp32T,
+    fp8e4m3T,
+    fp8ue8m0T,
+    fp8e4m3T,
+    fp8ue8m0T,
+    fp32T,
+    fp8e5m2T,
+    fp8ue8m0T,
+    fp8e5m2T,
+    fp8ue8m0T,
+    fp32T,
+    mxint8T,
+    fp8ue8m0T,
+    mxint8T,
+    fp8ue8m0T,
+    fp32T,
+    i64T,
+    i64T,
+    i64T,
+    i64T,
+    bf16T,
+    bf16T,
+    bf16T,
+    bf16T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp8e5m2T,
+    fp8e5m2T,
+    fp8e5m2T,
+    i48T,
+    i48T,
+    i8T,
+    i8T,
+    i48T,
+    i48T,
+    i16T,
+    i16T,
+    i48T,
+    i48T,
+    i32T,
+    i32T,
+    i16T,
+    i48T,
+    fp8e4m3T,
+    i32T,
+    i32T,
+    fp8e4m3T,
+    fp8e5m2T,
+    i32T,
+    i32T,
+    fp8e5m2T,
+    bf16T,
+    i32T,
+    i32T,
+    bf16T,
+    fp16T,
+    i64T,
+    i32T,
+    fp16T,
+    fp32T,
+    i64T,
+    i32T,
+    fp32T,
+    fp8e4m3T,
+    i64T,
+    i32T,
+    fp8e4m3T,
+    fp8e5m2T,
+    i64T,
+    i32T,
+    fp8e5m2T,
+    bf16T,
+    i64T,
+    i32T,
+    bf16T,
+    fp4e2m1T,
+    fp8ue8m0T,
+    i32T,
+    i32T,
+    fp4e2m1T,
+    fp8ue8m0T,
+    fp6e2m3T,
+    fp8ue8m0T,
+    i32T,
+    i32T,
+    fp6e2m3T,
+    fp8ue8m0T,
+    fp6e3m2T,
+    fp8ue8m0T,
+    i32T,
+    i32T,
+    fp6e3m2T,
+    fp8ue8m0T,
+    fp8e4m3T,
+    fp8ue8m0T,
+    i32T,
+    i32T,
+    fp8e4m3T,
+    fp8ue8m0T,
+    fp8e5m2T,
+    fp8ue8m0T,
+    i32T,
+    i32T,
+    fp8e5m2T,
+    fp8ue8m0T,
+    mxint8T,
+    fp8ue8m0T,
+    i32T,
+    i32T,
+    mxint8T,
+    fp8ue8m0T,
+    fp4e2m1T,
+    fp8ue8m0T,
+    i64T,
+    i32T,
+    fp4e2m1T,
+    fp8ue8m0T,
+    fp6e2m3T,
+    fp8ue8m0T,
+    i64T,
+    i32T,
+    fp6e2m3T,
+    fp8ue8m0T,
+    fp6e3m2T,
+    fp8ue8m0T,
+    i64T,
+    i32T,
+    fp6e3m2T,
+    fp8ue8m0T,
+    fp8e4m3T,
+    fp8ue8m0T,
+    i64T,
+    i32T,
+    fp8e4m3T,
+    fp8ue8m0T,
+    fp8e5m2T,
+    fp8ue8m0T,
+    i64T,
+    i32T,
+    fp8e5m2T,
+    fp8ue8m0T,
+    mxint8T,
+    fp8ue8m0T,
+    i64T,
+    i32T,
+    mxint8T,
+    fp8ue8m0T,
+    fp8e4m3T,
+    i32T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp8e5m2T,
+    i32T,
+    fp8e5m2T,
+    fp8e5m2T,
+    bf16T,
+    i32T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    i32T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    i32T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    i32T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    i32T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    i32T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T,
+    i32T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
+    fp16T,
+    i64T,
+    fp16T,
+    fp16T,
+    fp32T,
+    i64T,
+    fp32T,
+    fp32T,
+    boolT,
+    i64T,
+    boolT,
+    boolT,
+    fp8e4m3T,
+    i64T,
+    fp8e4m3T,
+    fp8e4m3T,
+    fp8e5m2T,
+    i64T,
+    fp8e5m2T,
+    fp8e5m2T,
+    bf16T,
+    i64T,
+    bf16T,
+    bf16T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    i64T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e4m3T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    i64T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp8e5m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    i64T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e3m2T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    i64T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp6e2m3T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    i64T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_fp4e2m1T,
+    bs32_fp8ue8m0_mxint8T,
+    i64T,
+    bs32_fp8ue8m0_mxint8T,
+    bs32_fp8ue8m0_mxint8T,
 };
 
 static constexpr VersionedTypeInfo kVersionedTypeInfos[] = {
@@ -664,11 +5211,16 @@ static constexpr VersionedTypeInfo kVersionedTypeInfos[] = {
     {llvm::ArrayRef(&kComplianceTypeInfos[15], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[17], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[19], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[15], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[17], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[19], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[21], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[23], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[15], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[17], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[19], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[21], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[23], 2),
+     SpecificationVersion::V_1_1_DRAFT},
     {llvm::ArrayRef(&kComplianceTypeInfos[25], 3), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[28], 3), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[6], 3), SpecificationVersion::V_1_0},
@@ -676,10 +5228,14 @@ static constexpr VersionedTypeInfo kVersionedTypeInfos[] = {
     {llvm::ArrayRef(&kComplianceTypeInfos[36], 5), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[41], 5), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[46], 5), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[31], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[36], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[41], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[46], 5), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[31], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[36], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[41], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[46], 5),
+     SpecificationVersion::V_1_1_DRAFT},
     {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[53], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[0], 2), SpecificationVersion::V_1_0},
@@ -695,7 +5251,8 @@ static constexpr VersionedTypeInfo kVersionedTypeInfos[] = {
     {llvm::ArrayRef(&kComplianceTypeInfos[71], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[73], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[75], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[77], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[77], 2),
+     SpecificationVersion::V_1_1_DRAFT},
     {llvm::ArrayRef(&kComplianceTypeInfos[79], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[81], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[83], 2), SpecificationVersion::V_1_0},
@@ -709,2016 +5266,3906 @@ static constexpr VersionedTypeInfo kVersionedTypeInfos[] = {
     {llvm::ArrayRef(&kComplianceTypeInfos[97], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[99], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[19], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[101], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[103], 2), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[101], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[103], 2),
+     SpecificationVersion::V_1_1_DRAFT},
     {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[105], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[105], 2),
+     SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[0], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[2], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[4], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[53], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[0], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[107], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[108], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[109], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[110], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[111], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[112], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[113], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[120], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[127], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[134], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[141], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[148], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[155], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[120], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[127], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[134], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[162], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[165], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[168], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[171], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[51], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[53], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[0], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[107], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[108], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[109], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[110], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[111], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[112], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[113], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[120], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[127], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[134], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[141], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[148], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[155], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[120], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[127], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[134], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[162], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[165], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[168], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[171], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3),
+     SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[6], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[171], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[177], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[180], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[183], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[105], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[171], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[177], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[180], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[183], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[105], 2),
+     SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[53], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[0], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[195], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[198], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[195], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[198], 5),
+     SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[36], 5), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[203], 5), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[203], 5),
+     SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[46], 5), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[198], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[36], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[203], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[208], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[213], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[46], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[218], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[221], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[224], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[228], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[236], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[240], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[198], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[36], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[203], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[208], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[213], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[46], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[51], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[218], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[221], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[224], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[228], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[236], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[240], 4),
+     SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[9], 3), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[12], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[25], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[28], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[224], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[244], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[248], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[252], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[228], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[256], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[260], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[264], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[25], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[28], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[224], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[244], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[248], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[252], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[228], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[256], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[260], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[264], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4),
+     SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[15], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[51], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[183], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[171], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[268], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[271], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[183], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[171], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[268], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[177], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[180], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[271], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[277], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[280], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[283], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[287], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[283], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[287], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[291], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[295], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[299], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[303], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[307], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[311], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[315], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[319], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[323], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[327], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[323], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[327], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[331], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[335], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[339], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[343], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[347], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[311], 4), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[183], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[171], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[268], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[271], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[183], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[171], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[6], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[268], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[177], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[180], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[271], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[277], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[280], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[283], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[287], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[283], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[287], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[291], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[295], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[299], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[303], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[307], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[311], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[315], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[319], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[323], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[327], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[323], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[327], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[232], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[331], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[335], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[339], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[343], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[347], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[311], 4),
+     SpecificationVersion::V_1_1_DRAFT},
     {llvm::ArrayRef(&kComplianceTypeInfos[25], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[108], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[351], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[353], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[355], 3), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[108], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[351], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[353], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[355], 3),
+     SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[69], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[358], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[360], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[362], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[351], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[21], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[23], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[364], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[366], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[368], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[370], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[372], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[374], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[69], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[364], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[366], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[368], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[376], 5), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[381], 5), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[386], 5), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[391], 5), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[376], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[381], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[386], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[391], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[396], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[398], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[400], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[402], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[404], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[368], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[406], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[408], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[362], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[410], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[412], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[414], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[416], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[418], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[420], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[422], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[424], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[426], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[428], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[430], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[432], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[434], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[436], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[438], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[440], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[442], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[444], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[446], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[448], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[450], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[452], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[454], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[456], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[458], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[460], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[462], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[464], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[466], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[468], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[470], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[472], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[474], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[476], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[478], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[480], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[482], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[484], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[486], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[488], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[490], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[492], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[494], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[496], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[498], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[500], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[502], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[504], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[506], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[508], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[510], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[512], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[514], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[516], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[518], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[520], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[522], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[524], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[526], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[528], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[530], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[532], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[534], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[536], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[538], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[540], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[542], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[544], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[546], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[548], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[550], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[552], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[554], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[556], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[558], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[560], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[563], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[566], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[569], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[572], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[575], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[578], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[581], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[584], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[587], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[590], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[593], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[596], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[599], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[602], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[605], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[608], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[611], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[614], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[617], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[620], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[623], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[626], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[629], 3), SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[358], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[360], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[362], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[351], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[21], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[23], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[364], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[366], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[368], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[370], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[372], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[374], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[69], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[364], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[366], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[368], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[376], 5),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[381], 5),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[386], 5),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[391], 5),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[376], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[381], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[386], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[391], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[396], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[398], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[400], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[402], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[404], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[368], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[406], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[408], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[362], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[410], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[412], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[414], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[416], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[418], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[420], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[422], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[424], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[426], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[428], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[430], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[432], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[434], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[436], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[438], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[440], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[442], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[444], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[446], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[448], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[450], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[452], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[454], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[456], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[458], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[460], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[462], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[464], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[466], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[468], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[470], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[472], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[474], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[476], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[478], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[480], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[482], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[484], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[486], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[488], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[490], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[492], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[494], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[496], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[498], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[500], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[502], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[504], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[506], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[508], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[510], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[512], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[514], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[516], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[518], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[520], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[522], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[524], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[526], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[528], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[530], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[532], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[534], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[536], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[538], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[540], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[542], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[544], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[546], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[548], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[550], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[552], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[554], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[556], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[558], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[560], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[563], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[566], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[569], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[572], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[575], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[578], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[581], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[584], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[587], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[590], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[593], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[596], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[599], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[602], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[605], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[608], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[611], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[614], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[617], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[620], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[623], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[626], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[629], 3),
+     SpecificationVersion::V_1_1_DRAFT},
     {llvm::ArrayRef(&kComplianceTypeInfos[53], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[632], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[634], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[636], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[638], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[640], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[642], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[644], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[646], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[648], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[649], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[650], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[651], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[652], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[653], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[654], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[655], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[656], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[657], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[658], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[659], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[660], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[661], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[662], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[663], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[664], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[665], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[672], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[679], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[686], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[693], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[700], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[707], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[714], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[721], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[728], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[735], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[742], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[749], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[756], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[763], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[770], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[777], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[784], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[791], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[798], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[805], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[812], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[819], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[826], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[833], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[840], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[847], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[854], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[861], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[868], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[875], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[882], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[889], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[896], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[903], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[910], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[917], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[924], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[931], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[938], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[945], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[952], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[959], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[966], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[973], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[980], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[987], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[994], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1001], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1008], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1015], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1022], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1029], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1036], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1043], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1050], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1057], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1064], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1071], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1078], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1085], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1092], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1099], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1106], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1113], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1120], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1127], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1134], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1141], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1148], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1155], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1162], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1169], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1176], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1183], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1190], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1197], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1204], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1211], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1218], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1225], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1232], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1239], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1246], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1253], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1260], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1267], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1274], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1281], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1288], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1295], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1302], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1309], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1316], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1323], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1330], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1337], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1344], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1351], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1358], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1365], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1372], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1379], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1386], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1393], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1400], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1407], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1414], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1421], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1428], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1435], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1442], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1449], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1456], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1463], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1470], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1477], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1484], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1491], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1498], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1505], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1512], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1519], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1526], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1533], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1540], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1547], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1554], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1561], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1568], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1575], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1582], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1589], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1596], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1603], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1610], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1617], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1624], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1631], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1638], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1645], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1652], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1659], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1666], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1673], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1680], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1687], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1694], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1701], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1708], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1715], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1722], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1729], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1736], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1743], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1750], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1757], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1764], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1771], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1778], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1785], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1792], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1799], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1806], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1813], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1820], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1827], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1834], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1841], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1848], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1855], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1862], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1869], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1876], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1883], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1890], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1897], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1904], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1911], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1918], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1925], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1932], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1939], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1946], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1953], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1960], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1967], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1974], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1981], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1988], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[1995], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2002], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2009], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2016], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2023], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2030], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2037], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2044], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2051], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2058], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2065], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2072], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2079], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2086], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2093], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2100], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2107], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2114], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2121], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2128], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2135], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2142], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2149], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2156], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2163], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2170], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2177], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2184], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2191], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2198], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2205], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2212], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2219], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2226], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2233], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2240], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2247], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2254], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2261], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2268], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2275], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2282], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2289], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2296], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2303], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2310], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2317], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2324], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2331], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2338], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2345], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2352], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2359], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2366], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2373], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2380], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2387], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2394], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2401], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2408], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2415], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2422], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2429], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2436], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2443], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2450], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2457], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2464], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2471], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2478], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2485], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2492], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2499], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2506], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2513], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2520], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2527], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2534], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2541], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2548], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2555], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2562], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2569], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2576], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2583], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2590], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2597], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2604], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2611], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2618], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2625], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2632], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2639], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2646], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2653], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2660], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2667], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2674], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2681], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2688], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2695], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2702], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2709], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2716], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2723], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2730], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2737], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2744], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2751], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2758], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2765], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2772], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2779], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2786], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2793], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2800], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2807], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2814], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2821], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2828], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2835], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2842], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2849], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2856], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2863], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2870], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2877], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2884], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2891], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2898], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2905], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2912], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2919], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2926], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2933], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2940], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2947], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2954], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2961], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2968], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2975], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2982], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2989], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[2996], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3003], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3010], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3017], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3024], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3031], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3038], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3045], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3052], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3059], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3066], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3073], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3080], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3087], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3094], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3101], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3108], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3115], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3122], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3129], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3136], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3143], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3150], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3157], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3164], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3171], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3178], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3185], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3192], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3199], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3206], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3213], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3220], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3227], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3234], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3241], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3248], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3255], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3262], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3269], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3276], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3283], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3290], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3297], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3304], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3311], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3318], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3325], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3332], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3339], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3346], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3353], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3360], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3367], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3374], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3381], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3388], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3395], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3402], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3409], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3416], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3423], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3430], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3437], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3444], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3451], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3458], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3465], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3472], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3479], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3486], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3493], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3500], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3507], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3514], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3521], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3528], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3535], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3542], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3549], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3556], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3563], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3570], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3577], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3584], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3591], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3598], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3605], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3612], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3619], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3626], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3633], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3640], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3647], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3654], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3661], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3668], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3675], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3682], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3689], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3696], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3703], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3710], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3717], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3724], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3731], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3738], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3745], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3752], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3758], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3764], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3770], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3776], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[679], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[721], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[756], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[798], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[833], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[107], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[108], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[109], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[110], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[111], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[112], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[651], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[652], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[653], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[655], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[656], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[657], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[658], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[654], 1), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3782], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3785], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[240], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3788], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3791], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3794], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3797], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3800], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3803], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3806], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3809], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3812], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[277], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[280], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[271], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3815], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3818], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3821], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3824], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3827], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3830], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3833], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3836], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3839], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3842], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3844], 2), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3846], 5), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3851], 5), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3856], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3861], 5), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3866], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3871], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3876], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3881], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3886], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3891], 5), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3846], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3856], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3896], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3901], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3906], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3911], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3916], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3921], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3876], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3886], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3926], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3931], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3936], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3941], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3946], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3951], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3956], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3961], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3966], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3971], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3976], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3981], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3986], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3991], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3996], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4001], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4006], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4011], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4016], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4021], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4026], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4031], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4036], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4041], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4046], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4051], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4056], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4061], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4066], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4071], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4076], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3866], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4081], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4086], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4091], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4096], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4101], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4106], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4111], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4116], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4121], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4126], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4131], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4136], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4141], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4146], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4151], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4156], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4161], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4166], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4171], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4176], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4181], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4186], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4191], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4196], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4201], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4206], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4211], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4216], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4221], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4226], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4231], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4236], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4241], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4246], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4251], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4256], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4261], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4266], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4271], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4276], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4281], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4286], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3891], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4291], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4296], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4301], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4306], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4311], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4316], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4321], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4326], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4331], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4336], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4341], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4346], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4351], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4356], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4361], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4366], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4371], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4376], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4381], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4386], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4391], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4396], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4401], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4406], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4411], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4416], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4421], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4426], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4431], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4436], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4441], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4446], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4451], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4456], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4461], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4466], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4471], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4476], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4481], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4486], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4491], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4496], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4501], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4506], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4511], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4516], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4521], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4526], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4531], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4536], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4541], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4546], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4551], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4556], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4561], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4566], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4571], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4576], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4581], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4586], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4591], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4596], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4601], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4606], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4611], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4616], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4621], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4626], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4631], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4636], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4641], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4646], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4651], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4656], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4661], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4666], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4671], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4676], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4681], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4686], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4691], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4696], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4701], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4706], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4711], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4716], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4721], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4726], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4731], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4736], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4741], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4746], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4751], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4756], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4761], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4766], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4771], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4776], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4781], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4786], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4791], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4796], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4801], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4806], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4811], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4816], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4821], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4826], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4831], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4836], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4841], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4846], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4851], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4856], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4861], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4866], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4871], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4876], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4881], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4886], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4891], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4896], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4901], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4906], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4911], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4916], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4921], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4926], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4931], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4936], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4941], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4946], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4951], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4956], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4961], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4966], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4971], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4976], 5), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[53], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[632], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[634], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[353], 2), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4981], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4985], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4989], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4992], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4995], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4999], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5003], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5007], 2), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[632], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[634], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[636], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[638], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[640], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[642], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[644], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[646], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[648], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[649], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[650], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[651], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[652], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[653], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[654], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[655], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[656], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[657], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[658], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[659], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[660], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[661], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[662], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[663], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[664], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[665], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[672], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[679], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[686], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[693], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[700], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[707], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[714], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[721], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[728], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[735], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[742], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[749], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[756], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[763], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[770], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[777], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[784], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[791], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[798], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[805], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[812], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[819], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[826], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[833], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[840], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[847], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[854], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[861], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[868], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[875], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[882], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[889], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[896], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[903], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[910], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[917], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[924], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[931], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[938], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[945], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[952], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[959], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[966], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[973], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[980], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[987], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[994], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1001], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1008], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1015], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1022], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1029], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1036], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1043], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1050], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1057], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1064], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1071], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1078], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1085], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1092], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1099], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1106], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1113], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1120], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1127], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1134], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1141], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1148], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1155], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1162], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1169], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1176], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1183], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1190], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1197], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1204], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1211], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1218], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1225], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1232], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1239], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1246], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1253], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1260], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1267], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1274], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1281], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1288], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1295], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1302], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1309], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1316], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1323], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1330], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1337], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1344], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1351], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1358], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1365], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1372], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1379], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1386], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1393], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1400], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1407], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1414], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1421], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1428], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1435], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1442], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1449], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1456], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1463], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1470], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1477], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1484], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1491], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1498], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1505], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1512], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1519], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1526], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1533], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1540], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1547], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1554], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1561], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1568], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1575], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1582], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1589], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1596], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1603], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1610], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1617], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1624], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1631], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1638], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1645], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1652], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1659], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1666], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1673], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1680], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1687], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1694], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1701], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1708], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1715], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1722], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1729], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1736], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1743], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1750], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1757], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1764], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1771], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1778], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1785], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1792], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1799], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1806], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1813], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1820], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1827], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1834], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1841], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1848], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1855], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1862], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1869], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1876], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1883], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1890], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1897], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1904], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1911], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1918], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1925], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1932], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1939], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1946], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1953], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1960], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1967], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1974], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1981], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1988], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[1995], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2002], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2009], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2016], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2023], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2030], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2037], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2044], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2051], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2058], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2065], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2072], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2079], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2086], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2093], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2100], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2107], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2114], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2121], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2128], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2135], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2142], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2149], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2156], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2163], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2170], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2177], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2184], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2191], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2198], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2205], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2212], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2219], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2226], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2233], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2240], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2247], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2254], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2261], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2268], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2275], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2282], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2289], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2296], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2303], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2310], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2317], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2324], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2331], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2338], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2345], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2352], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2359], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2366], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2373], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2380], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2387], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2394], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2401], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2408], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2415], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2422], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2429], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2436], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2443], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2450], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2457], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2464], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2471], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2478], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2485], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2492], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2499], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2506], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2513], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2520], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2527], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2534], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2541], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2548], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2555], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2562], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2569], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2576], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2583], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2590], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2597], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2604], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2611], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2618], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2625], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2632], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2639], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2646], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2653], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2660], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2667], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2674], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2681], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2688], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2695], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2702], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2709], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2716], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2723], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2730], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2737], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2744], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2751], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2758], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2765], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2772], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2779], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2786], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2793], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2800], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2807], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2814], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2821], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2828], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2835], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2842], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2849], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2856], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2863], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2870], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2877], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2884], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2891], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2898], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2905], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2912], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2919], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2926], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2933], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2940], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2947], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2954], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2961], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2968], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2975], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2982], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2989], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[2996], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3003], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3010], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3017], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3024], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3031], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3038], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3045], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3052], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3059], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3066], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3073], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3080], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3087], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3094], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3101], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3108], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3115], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3122], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3129], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3136], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3143], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3150], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3157], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3164], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3171], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3178], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3185], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3192], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3199], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3206], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3213], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3220], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3227], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3234], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3241], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3248], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3255], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3262], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3269], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3276], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3283], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3290], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3297], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3304], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3311], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3318], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3325], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3332], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3339], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3346], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3353], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3360], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3367], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3374], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3381], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3388], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3395], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3402], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3409], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3416], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3423], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3430], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3437], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3444], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3451], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3458], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3465], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3472], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3479], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3486], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3493], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3500], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3507], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3514], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3521], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3528], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3535], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3542], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3549], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3556], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3563], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3570], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3577], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3584], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3591], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3598], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3605], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3612], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3619], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3626], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3633], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3640], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3647], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3654], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3661], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3668], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3675], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3682], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3689], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3696], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3703], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3710], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3717], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3724], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3731], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3738], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3745], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3752], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3758], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3764], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3770], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3776], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[679], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[721], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[756], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[798], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[833], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[107], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[108], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[109], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[110], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[111], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[112], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[651], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[652], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[653], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[655], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[656], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[657], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[658], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[654], 1),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3782], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3785], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[240], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3788], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3791], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3794], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3797], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3800], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3803], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3806], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3809], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3812], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[277], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[280], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[271], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3815], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3818], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3821], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3824], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3827], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3830], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3833], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3836], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3839], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3842], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3844], 2),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3846], 5),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3851], 5),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3856], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3861], 5),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3866], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3871], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3876], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3881], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3886], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3891], 5),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3846], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3856], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3896], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3901], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3906], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3911], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3916], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3921], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3876], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3886], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3926], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3931], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3936], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3941], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3946], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3951], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3956], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3961], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3966], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3971], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3976], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3981], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3986], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3991], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3996], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4001], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4006], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4011], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4016], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4021], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4026], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4031], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4036], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4041], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4046], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4051], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4056], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4061], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4066], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4071], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4076], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3866], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4081], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4086], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4091], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4096], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4101], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4106], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4111], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4116], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4121], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4126], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4131], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4136], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4141], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4146], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4151], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4156], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4161], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4166], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4171], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4176], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4181], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4186], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4191], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4196], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4201], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4206], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4211], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4216], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4221], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4226], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4231], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4236], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4241], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4246], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4251], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4256], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4261], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4266], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4271], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4276], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4281], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4286], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3891], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4291], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4296], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4301], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4306], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4311], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4316], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4321], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4326], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4331], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4336], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4341], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4346], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4351], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4356], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4361], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4366], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4371], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4376], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4381], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4386], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4391], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4396], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4401], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4406], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4411], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4416], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4421], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4426], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4431], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4436], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4441], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4446], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4451], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4456], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4461], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4466], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4471], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4476], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4481], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4486], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4491], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4496], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4501], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4506], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4511], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4516], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4521], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4526], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4531], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4536], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4541], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4546], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4551], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4556], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4561], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4566], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4571], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4576], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4581], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4586], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4591], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4596], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4601], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4606], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4611], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4616], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4621], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4626], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4631], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4636], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4641], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4646], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4651], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4656], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4661], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4666], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4671], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4676], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4681], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4686], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4691], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4696], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4701], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4706], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4711], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4716], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4721], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4726], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4731], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4736], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4741], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4746], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4751], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4756], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4761], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4766], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4771], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4776], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4781], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4786], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4791], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4796], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4801], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4806], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4811], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4816], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4821], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4826], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4831], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4836], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4841], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4846], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4851], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4856], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4861], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4866], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4871], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4876], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4881], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4886], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4891], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4896], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4901], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4906], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4911], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4916], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4921], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4926], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4931], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4936], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4941], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4946], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4951], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4956], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4961], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4966], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4971], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4976], 5),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[53], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[632], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[634], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[353], 2),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4981], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4985], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4989], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4992], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4995], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4999], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5003], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5007], 2),
+     SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[53], 2), SpecificationVersion::V_1_0},
     {llvm::ArrayRef(&kComplianceTypeInfos[12], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[268], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[271], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[277], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[280], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3788], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3791], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[3794], 3), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5009], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5013], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5017], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[303], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[307], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[311], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[315], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5021], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5025], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[319], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5029], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5033], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5037], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5041], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5047], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5053], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5059], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5065], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5071], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5077], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5083], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5089], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5095], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5101], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5107], 6), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5113], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5117], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5121], 4), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5125], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5129], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5133], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5137], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5141], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5145], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[343], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[347], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[311], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[4981], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5149], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5153], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5157], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5161], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5165], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5169], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5173], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5177], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5181], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5185], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5189], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[5193], 4), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[221], 3), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[679], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[721], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[686], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[693], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[700], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[707], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[714], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[728], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[735], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[742], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[749], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[756], 7), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[798], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[763], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[770], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[777], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[784], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[791], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[805], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[812], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[819], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[826], 7), SpecificationVersion::V_1_1_DRAFT},
-    {llvm::ArrayRef(&kComplianceTypeInfos[108], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[111], 1), SpecificationVersion::V_1_0},
-    {llvm::ArrayRef(&kComplianceTypeInfos[112], 1), SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[174], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[268], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[271], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[186], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[192], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[274], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[277], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[280], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[189], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3788], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3791], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[3794], 3),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5009], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5013], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5017], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[303], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[307], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[311], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[315], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5021], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5025], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[319], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5029], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5033], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5037], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5041], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5047], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5053], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5059], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5065], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5071], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5077], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5083], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5089], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5095], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5101], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5107], 6),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5113], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5117], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5121], 4),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5125], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5129], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5133], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5137], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5141], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5145], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[343], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[347], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[311], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[4981], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5149], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5153], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5157], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5161], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5165], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5169], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5173], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5177], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5181], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5185], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5189], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[5193], 4),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[221], 3),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[679], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[721], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[686], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[693], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[700], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[707], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[714], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[728], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[735], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[742], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[749], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[756], 7),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[798], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[763], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[770], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[777], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[784], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[791], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[805], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[812], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[819], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[826], 7),
+     SpecificationVersion::V_1_1_DRAFT},
+    {llvm::ArrayRef(&kComplianceTypeInfos[108], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[111], 1),
+     SpecificationVersion::V_1_0},
+    {llvm::ArrayRef(&kComplianceTypeInfos[112], 1),
+     SpecificationVersion::V_1_0},
 };
 
 static constexpr Profile kProfileModes[] = {
-    Profile::pro_int, Profile::pro_fp, Profile::pro_int, Profile::pro_fp,
-    Profile::pro_fp, Profile::pro_int,
+    Profile::pro_int, Profile::pro_fp, Profile::pro_int,
+    Profile::pro_fp,  Profile::pro_fp, Profile::pro_int,
 };
 
 static constexpr Extension kExtensionModes[] = {
-    Extension::int64, Extension::bf16, Extension::shape, Extension::int16,
-    Extension::fp8e4m3, Extension::fp8e5m2, Extension::fp8e4m3, Extension::int64,
-    Extension::fp8e5m2, Extension::int64, Extension::bf16, Extension::int64,
-    Extension::bf16, Extension::fp8e4m3, Extension::bf16, Extension::fp8e5m2,
-    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3, Extension::fp8e4m3,
-    Extension::mx_common, Extension::mx_fp8e5m2, Extension::fp8e4m3, Extension::mx_common,
-    Extension::mx_fp6e3m2, Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e2m3,
-    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp4e2m1, Extension::fp8e4m3,
-    Extension::mx_common, Extension::mx_int8, Extension::fp8e5m2, Extension::mx_common,
-    Extension::mx_fp8e4m3, Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e5m2,
-    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e3m2, Extension::fp8e5m2,
-    Extension::mx_common, Extension::mx_fp6e2m3, Extension::fp8e5m2, Extension::mx_common,
-    Extension::mx_fp4e2m1, Extension::fp8e5m2, Extension::mx_common, Extension::mx_int8,
-    Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_common, Extension::mx_fp8e5m2,
-    Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_common, Extension::mx_fp6e2m3,
-    Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_common, Extension::mx_int8,
-    Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp8e5m2, Extension::bf16, Extension::mx_common,
-    Extension::mx_fp6e3m2, Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-    Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1, Extension::bf16,
-    Extension::mx_common, Extension::mx_int8, Extension::bf16, Extension::mxfp,
-    Extension::mxfp, Extension::controlflow, Extension::int4, Extension::fp8e4m3,
-    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_fp8e5m2,
-    Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e4m3, Extension::mx_common,
-    Extension::mx_fp6e2m3, Extension::mx_fp8e4m3, Extension::mx_common, Extension::mx_fp4e2m1,
-    Extension::mx_fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_int8,
-    Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e5m2, Extension::mx_common,
-    Extension::mx_fp6e2m3, Extension::mx_fp8e5m2, Extension::mx_common, Extension::mx_fp4e2m1,
-    Extension::mx_fp8e5m2, Extension::mx_common, Extension::mx_fp8e5m2, Extension::mx_int8,
-    Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp6e3m2, Extension::mx_common,
-    Extension::mx_fp4e2m1, Extension::mx_fp6e3m2, Extension::mx_common, Extension::mx_fp6e3m2,
-    Extension::mx_int8, Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e2m3,
-    Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_int8, Extension::mx_common,
-    Extension::mx_fp4e2m1, Extension::mx_int8, Extension::bf16, Extension::fp8e4m3,
-    Extension::fp8e5m2, Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-    Extension::mx_fp8e4m3, Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-    Extension::mx_fp8e5m2, Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-    Extension::mx_fp6e3m2, Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-    Extension::mx_fp6e2m3, Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-    Extension::mx_fp4e2m1, Extension::bf16, Extension::fp8e4m3, Extension::mx_common,
-    Extension::mx_int8, Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-    Extension::mx_fp8e4m3, Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-    Extension::mx_fp8e5m2, Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-    Extension::mx_fp6e3m2, Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-    Extension::mx_fp6e2m3, Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-    Extension::mx_fp4e2m1, Extension::bf16, Extension::fp8e5m2, Extension::mx_common,
-    Extension::mx_int8, Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3,
-    Extension::mx_fp8e5m2, Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
-    Extension::mx_fp8e4m3, Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-    Extension::mx_fp8e4m3, Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-    Extension::mx_fp8e4m3, Extension::bf16, Extension::mx_common, Extension::mx_fp8e4m3,
-    Extension::mx_int8, Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
-    Extension::mx_fp8e5m2, Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-    Extension::mx_fp8e5m2, Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-    Extension::mx_fp8e5m2, Extension::bf16, Extension::mx_common, Extension::mx_fp8e5m2,
-    Extension::mx_int8, Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-    Extension::mx_fp6e3m2, Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-    Extension::mx_fp6e3m2, Extension::bf16, Extension::mx_common, Extension::mx_fp6e3m2,
-    Extension::mx_int8, Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-    Extension::mx_fp6e2m3, Extension::bf16, Extension::mx_common, Extension::mx_fp6e2m3,
-    Extension::mx_int8, Extension::bf16, Extension::mx_common, Extension::mx_fp4e2m1,
-    Extension::mx_int8, Extension::mxfp_conv, Extension::fp8e4m3, Extension::shape,
-    Extension::fp8e5m2, Extension::shape, Extension::bf16, Extension::shape,
-    Extension::mxfp, Extension::shape, Extension::int64, Extension::shape,
-    Extension::mx_common, Extension::mx_fp8e4m3, Extension::shape, Extension::mx_common,
-    Extension::mx_fp8e5m2, Extension::shape, Extension::mx_common, Extension::mx_fp6e3m2,
-    Extension::shape, Extension::mx_common, Extension::mx_fp6e2m3, Extension::shape,
-    Extension::mx_common, Extension::mx_fp4e2m1, Extension::shape, Extension::mx_common,
-    Extension::mx_int8, Extension::shape, Extension::fft, Extension::int64,
-    Extension::mx_common, Extension::mx_fp8e4m3, Extension::int64, Extension::mx_common,
-    Extension::mx_fp8e5m2, Extension::int64, Extension::mx_common, Extension::mx_fp6e3m2,
-    Extension::int64, Extension::mx_common, Extension::mx_fp6e2m3, Extension::int64,
-    Extension::mx_common, Extension::mx_fp4e2m1, Extension::int64, Extension::mx_common,
-    Extension::mx_int8, Extension::fp8e4m3, Extension::fp8e5m2, Extension::bf16,
-    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e4m3, Extension::bf16,
-    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp8e5m2, Extension::bf16,
-    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e3m2, Extension::bf16,
-    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp6e2m3, Extension::bf16,
-    Extension::fp8e4m3, Extension::mx_common, Extension::mx_fp4e2m1, Extension::bf16,
-    Extension::fp8e4m3, Extension::mx_common, Extension::mx_int8, Extension::bf16,
-    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e4m3, Extension::bf16,
-    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp8e5m2, Extension::bf16,
-    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e3m2, Extension::bf16,
-    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp6e2m3, Extension::bf16,
-    Extension::fp8e5m2, Extension::mx_common, Extension::mx_fp4e2m1, Extension::bf16,
-    Extension::fp8e5m2, Extension::mx_common, Extension::mx_int8, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_fp8e5m2, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e4m3, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e4m3, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e4m3, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp8e4m3, Extension::mx_int8, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_fp8e5m2, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp8e5m2, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp8e5m2, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp8e5m2, Extension::mx_int8, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_fp6e3m2, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e3m2, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp6e3m2, Extension::mx_int8, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_fp6e2m3, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp6e2m3, Extension::mx_int8, Extension::bf16,
-    Extension::mx_common, Extension::mx_fp4e2m1, Extension::mx_int8, Extension::bf16,
-    Extension::int16, Extension::int64, Extension::mxfp, Extension::int64,
+    Extension::int64,      Extension::bf16,        Extension::shape,
+    Extension::int16,      Extension::fp8e4m3,     Extension::fp8e5m2,
+    Extension::fp8e4m3,    Extension::int64,       Extension::fp8e5m2,
+    Extension::int64,      Extension::bf16,        Extension::int64,
+    Extension::bf16,       Extension::fp8e4m3,     Extension::bf16,
+    Extension::fp8e5m2,    Extension::fp8e4m3,     Extension::mx_common,
+    Extension::mx_fp8e4m3, Extension::fp8e4m3,     Extension::mx_common,
+    Extension::mx_fp8e5m2, Extension::fp8e4m3,     Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::fp8e4m3,     Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::fp8e4m3,     Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::fp8e4m3,     Extension::mx_common,
+    Extension::mx_int8,    Extension::fp8e5m2,     Extension::mx_common,
+    Extension::mx_fp8e4m3, Extension::fp8e5m2,     Extension::mx_common,
+    Extension::mx_fp8e5m2, Extension::fp8e5m2,     Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::fp8e5m2,     Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::fp8e5m2,     Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::fp8e5m2,     Extension::mx_common,
+    Extension::mx_int8,    Extension::mx_common,   Extension::mx_fp8e4m3,
+    Extension::mx_common,  Extension::mx_fp8e5m2,  Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::mx_common,   Extension::mx_fp6e2m3,
+    Extension::mx_common,  Extension::mx_fp4e2m1,  Extension::mx_common,
+    Extension::mx_int8,    Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp8e4m3, Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp8e5m2, Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::bf16,        Extension::mx_common,
+    Extension::mx_int8,    Extension::bf16,        Extension::mxfp,
+    Extension::mxfp,       Extension::controlflow, Extension::int4,
+    Extension::fp8e4m3,    Extension::fp8e5m2,     Extension::mx_common,
+    Extension::mx_fp8e4m3, Extension::mx_fp8e5m2,  Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::mx_fp8e4m3,  Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::mx_fp8e4m3,  Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::mx_fp8e4m3,  Extension::mx_common,
+    Extension::mx_fp8e4m3, Extension::mx_int8,     Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::mx_fp8e5m2,  Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::mx_fp8e5m2,  Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::mx_fp8e5m2,  Extension::mx_common,
+    Extension::mx_fp8e5m2, Extension::mx_int8,     Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::mx_fp6e3m2,  Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::mx_fp6e3m2,  Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::mx_int8,     Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::mx_fp6e2m3,  Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::mx_int8,     Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::mx_int8,     Extension::bf16,
+    Extension::fp8e4m3,    Extension::fp8e5m2,     Extension::bf16,
+    Extension::fp8e4m3,    Extension::mx_common,   Extension::mx_fp8e4m3,
+    Extension::bf16,       Extension::fp8e4m3,     Extension::mx_common,
+    Extension::mx_fp8e5m2, Extension::bf16,        Extension::fp8e4m3,
+    Extension::mx_common,  Extension::mx_fp6e3m2,  Extension::bf16,
+    Extension::fp8e4m3,    Extension::mx_common,   Extension::mx_fp6e2m3,
+    Extension::bf16,       Extension::fp8e4m3,     Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::bf16,        Extension::fp8e4m3,
+    Extension::mx_common,  Extension::mx_int8,     Extension::bf16,
+    Extension::fp8e5m2,    Extension::mx_common,   Extension::mx_fp8e4m3,
+    Extension::bf16,       Extension::fp8e5m2,     Extension::mx_common,
+    Extension::mx_fp8e5m2, Extension::bf16,        Extension::fp8e5m2,
+    Extension::mx_common,  Extension::mx_fp6e3m2,  Extension::bf16,
+    Extension::fp8e5m2,    Extension::mx_common,   Extension::mx_fp6e2m3,
+    Extension::bf16,       Extension::fp8e5m2,     Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::bf16,        Extension::fp8e5m2,
+    Extension::mx_common,  Extension::mx_int8,     Extension::bf16,
+    Extension::mx_common,  Extension::mx_fp8e4m3,  Extension::mx_fp8e5m2,
+    Extension::bf16,       Extension::mx_common,   Extension::mx_fp6e3m2,
+    Extension::mx_fp8e4m3, Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::mx_fp8e4m3,  Extension::bf16,
+    Extension::mx_common,  Extension::mx_fp4e2m1,  Extension::mx_fp8e4m3,
+    Extension::bf16,       Extension::mx_common,   Extension::mx_fp8e4m3,
+    Extension::mx_int8,    Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::mx_fp8e5m2,  Extension::bf16,
+    Extension::mx_common,  Extension::mx_fp6e2m3,  Extension::mx_fp8e5m2,
+    Extension::bf16,       Extension::mx_common,   Extension::mx_fp4e2m1,
+    Extension::mx_fp8e5m2, Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp8e5m2, Extension::mx_int8,     Extension::bf16,
+    Extension::mx_common,  Extension::mx_fp6e2m3,  Extension::mx_fp6e3m2,
+    Extension::bf16,       Extension::mx_common,   Extension::mx_fp4e2m1,
+    Extension::mx_fp6e3m2, Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::mx_int8,     Extension::bf16,
+    Extension::mx_common,  Extension::mx_fp4e2m1,  Extension::mx_fp6e2m3,
+    Extension::bf16,       Extension::mx_common,   Extension::mx_fp6e2m3,
+    Extension::mx_int8,    Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::mx_int8,     Extension::mxfp_conv,
+    Extension::fp8e4m3,    Extension::shape,       Extension::fp8e5m2,
+    Extension::shape,      Extension::bf16,        Extension::shape,
+    Extension::mxfp,       Extension::shape,       Extension::int64,
+    Extension::shape,      Extension::mx_common,   Extension::mx_fp8e4m3,
+    Extension::shape,      Extension::mx_common,   Extension::mx_fp8e5m2,
+    Extension::shape,      Extension::mx_common,   Extension::mx_fp6e3m2,
+    Extension::shape,      Extension::mx_common,   Extension::mx_fp6e2m3,
+    Extension::shape,      Extension::mx_common,   Extension::mx_fp4e2m1,
+    Extension::shape,      Extension::mx_common,   Extension::mx_int8,
+    Extension::shape,      Extension::fft,         Extension::int64,
+    Extension::mx_common,  Extension::mx_fp8e4m3,  Extension::int64,
+    Extension::mx_common,  Extension::mx_fp8e5m2,  Extension::int64,
+    Extension::mx_common,  Extension::mx_fp6e3m2,  Extension::int64,
+    Extension::mx_common,  Extension::mx_fp6e2m3,  Extension::int64,
+    Extension::mx_common,  Extension::mx_fp4e2m1,  Extension::int64,
+    Extension::mx_common,  Extension::mx_int8,     Extension::fp8e4m3,
+    Extension::fp8e5m2,    Extension::bf16,        Extension::fp8e4m3,
+    Extension::mx_common,  Extension::mx_fp8e4m3,  Extension::bf16,
+    Extension::fp8e4m3,    Extension::mx_common,   Extension::mx_fp8e5m2,
+    Extension::bf16,       Extension::fp8e4m3,     Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::bf16,        Extension::fp8e4m3,
+    Extension::mx_common,  Extension::mx_fp6e2m3,  Extension::bf16,
+    Extension::fp8e4m3,    Extension::mx_common,   Extension::mx_fp4e2m1,
+    Extension::bf16,       Extension::fp8e4m3,     Extension::mx_common,
+    Extension::mx_int8,    Extension::bf16,        Extension::fp8e5m2,
+    Extension::mx_common,  Extension::mx_fp8e4m3,  Extension::bf16,
+    Extension::fp8e5m2,    Extension::mx_common,   Extension::mx_fp8e5m2,
+    Extension::bf16,       Extension::fp8e5m2,     Extension::mx_common,
+    Extension::mx_fp6e3m2, Extension::bf16,        Extension::fp8e5m2,
+    Extension::mx_common,  Extension::mx_fp6e2m3,  Extension::bf16,
+    Extension::fp8e5m2,    Extension::mx_common,   Extension::mx_fp4e2m1,
+    Extension::bf16,       Extension::fp8e5m2,     Extension::mx_common,
+    Extension::mx_int8,    Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp8e4m3, Extension::mx_fp8e5m2,  Extension::bf16,
+    Extension::mx_common,  Extension::mx_fp6e3m2,  Extension::mx_fp8e4m3,
+    Extension::bf16,       Extension::mx_common,   Extension::mx_fp6e2m3,
+    Extension::mx_fp8e4m3, Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::mx_fp8e4m3,  Extension::bf16,
+    Extension::mx_common,  Extension::mx_fp8e4m3,  Extension::mx_int8,
+    Extension::bf16,       Extension::mx_common,   Extension::mx_fp6e3m2,
+    Extension::mx_fp8e5m2, Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::mx_fp8e5m2,  Extension::bf16,
+    Extension::mx_common,  Extension::mx_fp4e2m1,  Extension::mx_fp8e5m2,
+    Extension::bf16,       Extension::mx_common,   Extension::mx_fp8e5m2,
+    Extension::mx_int8,    Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp6e2m3, Extension::mx_fp6e3m2,  Extension::bf16,
+    Extension::mx_common,  Extension::mx_fp4e2m1,  Extension::mx_fp6e3m2,
+    Extension::bf16,       Extension::mx_common,   Extension::mx_fp6e3m2,
+    Extension::mx_int8,    Extension::bf16,        Extension::mx_common,
+    Extension::mx_fp4e2m1, Extension::mx_fp6e2m3,  Extension::bf16,
+    Extension::mx_common,  Extension::mx_fp6e2m3,  Extension::mx_int8,
+    Extension::bf16,       Extension::mx_common,   Extension::mx_fp4e2m1,
+    Extension::mx_int8,    Extension::bf16,        Extension::int16,
+    Extension::int64,      Extension::mxfp,        Extension::int64,
     Extension::variable,
 };
 
 static constexpr OpComplianceInfo<Profile> kProfileComplianceInfos[] = {
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[0], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[6], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[7], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[9], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[10], 4)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[17], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[18], 3)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[21], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[22], 3)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[28], 12)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[40], 16)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[56], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[0], 1)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[58], 2)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[65], 4)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[69], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[0], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[6], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[7], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[9], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[10], 4)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[17], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[18], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[21], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[22], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[28], 12)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[40], 16)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[56], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[0], 1)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[58], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[65], 4)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[69], 2)},
     {llvm::ArrayRef(&kProfileModes[2], 2), {}},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[71], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[72], 6)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[71], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[72], 6)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[71], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[72], 6)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[71], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[72], 6)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
     {llvm::ArrayRef(&kProfileModes[2], 2), {}},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[71], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[78], 3)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[81], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[82], 2)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[84], 3)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[87], 5)},
-    {llvm::ArrayRef(&kProfileModes[4], 2), llvm::ArrayRef(&kVersionedTypeInfos[92], 4)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[81], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[82], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[81], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[82], 2)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[96], 4)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[101], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[102], 3)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[105], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[106], 5)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[56], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[111], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[112], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[114], 2)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[116], 3)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[119], 2)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[121], 5)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[0], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[126], 9)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[135], 2)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[137], 10)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[147], 14)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[161], 3)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[164], 5)},
-    {llvm::ArrayRef(&kProfileModes[4], 2), llvm::ArrayRef(&kVersionedTypeInfos[169], 6)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[175], 3)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[178], 5)},
-    {llvm::ArrayRef(&kProfileModes[4], 2), llvm::ArrayRef(&kVersionedTypeInfos[183], 4)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[187], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
-    {llvm::ArrayRef(&kProfileModes[2], 2), llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[71], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[72], 6)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[188], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[69], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[188], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[69], 2)},
-    {llvm::ArrayRef(&kProfileModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[188], 1)},
-    {llvm::ArrayRef(&kProfileModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[69], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[71], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[78], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[81], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[82], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[84], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[87], 5)},
+    {llvm::ArrayRef(&kProfileModes[4], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[92], 4)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[81], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[82], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[81], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[82], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[96], 4)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[101], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[102], 3)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[105], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[106], 5)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[56], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[111], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[112], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[114], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[116], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[119], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[121], 5)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[0], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[126], 9)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[135], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[137], 10)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[147], 14)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[161], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[164], 5)},
+    {llvm::ArrayRef(&kProfileModes[4], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[169], 6)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[175], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[178], 5)},
+    {llvm::ArrayRef(&kProfileModes[4], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[183], 4)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[100], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[14], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[3], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[4], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[187], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1], 2)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
+    {llvm::ArrayRef(&kProfileModes[2], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[57], 1)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[25], 3)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[60], 5)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[71], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[72], 6)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[188], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[69], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[188], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[69], 2)},
+    {llvm::ArrayRef(&kProfileModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[188], 1)},
+    {llvm::ArrayRef(&kProfileModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[69], 2)},
 };
 
 static constexpr OpComplianceInfo<Extension> kExtensionComplianceInfos[] = {
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[193], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[194], 6)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[200], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[201], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[202], 1)},
-    {llvm::ArrayRef(&kExtensionModes[6], 2), llvm::ArrayRef(&kVersionedTypeInfos[203], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[8], 2), llvm::ArrayRef(&kVersionedTypeInfos[204], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[10], 2), llvm::ArrayRef(&kVersionedTypeInfos[205], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[206], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[194], 6)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[207], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[208], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[209], 1)},
-    {llvm::ArrayRef(&kExtensionModes[6], 2), llvm::ArrayRef(&kVersionedTypeInfos[203], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[8], 2), llvm::ArrayRef(&kVersionedTypeInfos[204], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[10], 2), llvm::ArrayRef(&kVersionedTypeInfos[205], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[193], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[194], 6)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[200], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[201], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[202], 1)},
+    {llvm::ArrayRef(&kExtensionModes[6], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[203], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[8], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[204], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[10], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[205], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[206], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[194], 6)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[207], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[208], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[209], 1)},
+    {llvm::ArrayRef(&kExtensionModes[6], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[203], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[8], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[204], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[10], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[205], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[210], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[211], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[212], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[213], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[214], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[215], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[216], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[217], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[218], 8)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[226], 4)},
-    {llvm::ArrayRef(&kExtensionModes[12], 2), llvm::ArrayRef(&kVersionedTypeInfos[230], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[14], 2), llvm::ArrayRef(&kVersionedTypeInfos[232], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[234], 4)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[238], 4)},
-    {llvm::ArrayRef(&kExtensionModes[16], 3), llvm::ArrayRef(&kVersionedTypeInfos[242], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[19], 3), llvm::ArrayRef(&kVersionedTypeInfos[244], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[22], 3), llvm::ArrayRef(&kVersionedTypeInfos[246], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[25], 3), llvm::ArrayRef(&kVersionedTypeInfos[248], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[28], 3), llvm::ArrayRef(&kVersionedTypeInfos[250], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[31], 3), llvm::ArrayRef(&kVersionedTypeInfos[252], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[34], 3), llvm::ArrayRef(&kVersionedTypeInfos[254], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[37], 3), llvm::ArrayRef(&kVersionedTypeInfos[256], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[40], 3), llvm::ArrayRef(&kVersionedTypeInfos[258], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[43], 3), llvm::ArrayRef(&kVersionedTypeInfos[260], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[46], 3), llvm::ArrayRef(&kVersionedTypeInfos[262], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[49], 3), llvm::ArrayRef(&kVersionedTypeInfos[264], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[266], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[270], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[274], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[278], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[282], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[286], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[64], 3), llvm::ArrayRef(&kVersionedTypeInfos[290], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[67], 3), llvm::ArrayRef(&kVersionedTypeInfos[292], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[70], 3), llvm::ArrayRef(&kVersionedTypeInfos[294], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[73], 3), llvm::ArrayRef(&kVersionedTypeInfos[296], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[76], 3), llvm::ArrayRef(&kVersionedTypeInfos[298], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[79], 3), llvm::ArrayRef(&kVersionedTypeInfos[300], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[82], 2), llvm::ArrayRef(&kVersionedTypeInfos[302], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[84], 1), llvm::ArrayRef(&kVersionedTypeInfos[308], 6)},
-    {llvm::ArrayRef(&kExtensionModes[84], 1), llvm::ArrayRef(&kVersionedTypeInfos[314], 7)},
-    {llvm::ArrayRef(&kExtensionModes[82], 2), llvm::ArrayRef(&kVersionedTypeInfos[321], 5), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[326], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[326], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[210], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[211], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[212], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[213], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[214], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[215], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[216], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[217], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[218], 8)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[226], 4)},
+    {llvm::ArrayRef(&kExtensionModes[12], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[230], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[14], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[232], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[234], 4)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[238], 4)},
+    {llvm::ArrayRef(&kExtensionModes[16], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[242], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[19], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[244], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[22], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[246], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[25], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[248], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[28], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[250], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[31], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[252], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[34], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[254], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[37], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[256], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[40], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[258], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[43], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[260], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[46], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[262], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[49], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[264], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[266], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[270], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[274], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[278], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[282], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[286], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[64], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[290], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[67], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[292], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[70], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[294], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[73], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[296], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[76], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[298], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[79], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[300], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[82], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[302], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[84], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[308], 6)},
+    {llvm::ArrayRef(&kExtensionModes[84], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[314], 7)},
+    {llvm::ArrayRef(&kExtensionModes[82], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[321], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[326], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[326], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
     {llvm::ArrayRef(&kExtensionModes[85], 1), {}},
-    {llvm::ArrayRef(&kExtensionModes[86], 1), llvm::ArrayRef(&kVersionedTypeInfos[335], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[336], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[337], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[338], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[339], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[340], 1)},
-    {llvm::ArrayRef(&kExtensionModes[84], 1), llvm::ArrayRef(&kVersionedTypeInfos[341], 5)},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[346], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[347], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[348], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[349], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[350], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[351], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[86], 1), llvm::ArrayRef(&kVersionedTypeInfos[352], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[353], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[354], 11)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[365], 11)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[376], 7)},
-    {llvm::ArrayRef(&kExtensionModes[87], 2), llvm::ArrayRef(&kVersionedTypeInfos[383], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[16], 3), llvm::ArrayRef(&kVersionedTypeInfos[389], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[19], 3), llvm::ArrayRef(&kVersionedTypeInfos[395], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[22], 3), llvm::ArrayRef(&kVersionedTypeInfos[401], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[25], 3), llvm::ArrayRef(&kVersionedTypeInfos[407], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[28], 3), llvm::ArrayRef(&kVersionedTypeInfos[413], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[31], 3), llvm::ArrayRef(&kVersionedTypeInfos[419], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[34], 3), llvm::ArrayRef(&kVersionedTypeInfos[425], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[37], 3), llvm::ArrayRef(&kVersionedTypeInfos[431], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[40], 3), llvm::ArrayRef(&kVersionedTypeInfos[437], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[43], 3), llvm::ArrayRef(&kVersionedTypeInfos[443], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[46], 3), llvm::ArrayRef(&kVersionedTypeInfos[449], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[49], 3), llvm::ArrayRef(&kVersionedTypeInfos[455], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[461], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[472], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[483], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[494], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[505], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[516], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[89], 3), llvm::ArrayRef(&kVersionedTypeInfos[527], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[92], 3), llvm::ArrayRef(&kVersionedTypeInfos[533], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[95], 3), llvm::ArrayRef(&kVersionedTypeInfos[539], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[98], 3), llvm::ArrayRef(&kVersionedTypeInfos[545], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[101], 3), llvm::ArrayRef(&kVersionedTypeInfos[551], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[104], 3), llvm::ArrayRef(&kVersionedTypeInfos[557], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[107], 3), llvm::ArrayRef(&kVersionedTypeInfos[563], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[110], 3), llvm::ArrayRef(&kVersionedTypeInfos[569], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[113], 3), llvm::ArrayRef(&kVersionedTypeInfos[575], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[116], 3), llvm::ArrayRef(&kVersionedTypeInfos[581], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[119], 3), llvm::ArrayRef(&kVersionedTypeInfos[587], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[122], 3), llvm::ArrayRef(&kVersionedTypeInfos[593], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[125], 3), llvm::ArrayRef(&kVersionedTypeInfos[599], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[128], 3), llvm::ArrayRef(&kVersionedTypeInfos[605], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[131], 3), llvm::ArrayRef(&kVersionedTypeInfos[611], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[12], 2), llvm::ArrayRef(&kVersionedTypeInfos[617], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[134], 3), llvm::ArrayRef(&kVersionedTypeInfos[625], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[137], 4), llvm::ArrayRef(&kVersionedTypeInfos[629], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[141], 4), llvm::ArrayRef(&kVersionedTypeInfos[633], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[145], 4), llvm::ArrayRef(&kVersionedTypeInfos[637], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[149], 4), llvm::ArrayRef(&kVersionedTypeInfos[641], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[153], 4), llvm::ArrayRef(&kVersionedTypeInfos[645], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[157], 4), llvm::ArrayRef(&kVersionedTypeInfos[649], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[14], 2), llvm::ArrayRef(&kVersionedTypeInfos[653], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[161], 4), llvm::ArrayRef(&kVersionedTypeInfos[661], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[165], 4), llvm::ArrayRef(&kVersionedTypeInfos[665], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[169], 4), llvm::ArrayRef(&kVersionedTypeInfos[669], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[173], 4), llvm::ArrayRef(&kVersionedTypeInfos[673], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[177], 4), llvm::ArrayRef(&kVersionedTypeInfos[677], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[181], 4), llvm::ArrayRef(&kVersionedTypeInfos[681], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[64], 3), llvm::ArrayRef(&kVersionedTypeInfos[685], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[67], 3), llvm::ArrayRef(&kVersionedTypeInfos[693], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[70], 3), llvm::ArrayRef(&kVersionedTypeInfos[701], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[73], 3), llvm::ArrayRef(&kVersionedTypeInfos[709], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[76], 3), llvm::ArrayRef(&kVersionedTypeInfos[717], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[79], 3), llvm::ArrayRef(&kVersionedTypeInfos[725], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[185], 4), llvm::ArrayRef(&kVersionedTypeInfos[733], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[189], 4), llvm::ArrayRef(&kVersionedTypeInfos[737], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[193], 4), llvm::ArrayRef(&kVersionedTypeInfos[741], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[197], 4), llvm::ArrayRef(&kVersionedTypeInfos[745], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[201], 4), llvm::ArrayRef(&kVersionedTypeInfos[749], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[205], 4), llvm::ArrayRef(&kVersionedTypeInfos[753], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[209], 4), llvm::ArrayRef(&kVersionedTypeInfos[757], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[213], 4), llvm::ArrayRef(&kVersionedTypeInfos[761], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[217], 4), llvm::ArrayRef(&kVersionedTypeInfos[765], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[221], 4), llvm::ArrayRef(&kVersionedTypeInfos[769], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[225], 4), llvm::ArrayRef(&kVersionedTypeInfos[773], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[229], 4), llvm::ArrayRef(&kVersionedTypeInfos[777], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[233], 4), llvm::ArrayRef(&kVersionedTypeInfos[781], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[237], 4), llvm::ArrayRef(&kVersionedTypeInfos[785], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[241], 4), llvm::ArrayRef(&kVersionedTypeInfos[789], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[245], 1), llvm::ArrayRef(&kVersionedTypeInfos[793], 5)},
-    {llvm::ArrayRef(&kExtensionModes[86], 1), llvm::ArrayRef(&kVersionedTypeInfos[352], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[353], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[354], 11)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[365], 11)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[376], 7)},
-    {llvm::ArrayRef(&kExtensionModes[87], 2), llvm::ArrayRef(&kVersionedTypeInfos[383], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[16], 3), llvm::ArrayRef(&kVersionedTypeInfos[389], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[19], 3), llvm::ArrayRef(&kVersionedTypeInfos[395], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[22], 3), llvm::ArrayRef(&kVersionedTypeInfos[401], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[25], 3), llvm::ArrayRef(&kVersionedTypeInfos[407], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[28], 3), llvm::ArrayRef(&kVersionedTypeInfos[413], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[31], 3), llvm::ArrayRef(&kVersionedTypeInfos[419], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[34], 3), llvm::ArrayRef(&kVersionedTypeInfos[425], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[37], 3), llvm::ArrayRef(&kVersionedTypeInfos[431], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[40], 3), llvm::ArrayRef(&kVersionedTypeInfos[437], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[43], 3), llvm::ArrayRef(&kVersionedTypeInfos[443], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[46], 3), llvm::ArrayRef(&kVersionedTypeInfos[449], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[49], 3), llvm::ArrayRef(&kVersionedTypeInfos[455], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[461], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[472], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[483], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[494], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[505], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[516], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[89], 3), llvm::ArrayRef(&kVersionedTypeInfos[527], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[92], 3), llvm::ArrayRef(&kVersionedTypeInfos[533], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[95], 3), llvm::ArrayRef(&kVersionedTypeInfos[539], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[98], 3), llvm::ArrayRef(&kVersionedTypeInfos[545], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[101], 3), llvm::ArrayRef(&kVersionedTypeInfos[551], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[104], 3), llvm::ArrayRef(&kVersionedTypeInfos[557], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[107], 3), llvm::ArrayRef(&kVersionedTypeInfos[563], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[110], 3), llvm::ArrayRef(&kVersionedTypeInfos[569], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[113], 3), llvm::ArrayRef(&kVersionedTypeInfos[575], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[116], 3), llvm::ArrayRef(&kVersionedTypeInfos[581], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[119], 3), llvm::ArrayRef(&kVersionedTypeInfos[587], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[122], 3), llvm::ArrayRef(&kVersionedTypeInfos[593], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[125], 3), llvm::ArrayRef(&kVersionedTypeInfos[599], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[128], 3), llvm::ArrayRef(&kVersionedTypeInfos[605], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[131], 3), llvm::ArrayRef(&kVersionedTypeInfos[611], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[12], 2), llvm::ArrayRef(&kVersionedTypeInfos[617], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[134], 3), llvm::ArrayRef(&kVersionedTypeInfos[625], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[137], 4), llvm::ArrayRef(&kVersionedTypeInfos[629], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[141], 4), llvm::ArrayRef(&kVersionedTypeInfos[633], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[145], 4), llvm::ArrayRef(&kVersionedTypeInfos[637], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[149], 4), llvm::ArrayRef(&kVersionedTypeInfos[641], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[153], 4), llvm::ArrayRef(&kVersionedTypeInfos[645], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[157], 4), llvm::ArrayRef(&kVersionedTypeInfos[649], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[14], 2), llvm::ArrayRef(&kVersionedTypeInfos[653], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[161], 4), llvm::ArrayRef(&kVersionedTypeInfos[661], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[165], 4), llvm::ArrayRef(&kVersionedTypeInfos[665], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[169], 4), llvm::ArrayRef(&kVersionedTypeInfos[669], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[173], 4), llvm::ArrayRef(&kVersionedTypeInfos[673], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[177], 4), llvm::ArrayRef(&kVersionedTypeInfos[677], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[181], 4), llvm::ArrayRef(&kVersionedTypeInfos[681], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[64], 3), llvm::ArrayRef(&kVersionedTypeInfos[685], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[67], 3), llvm::ArrayRef(&kVersionedTypeInfos[693], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[70], 3), llvm::ArrayRef(&kVersionedTypeInfos[701], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[73], 3), llvm::ArrayRef(&kVersionedTypeInfos[709], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[76], 3), llvm::ArrayRef(&kVersionedTypeInfos[717], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[79], 3), llvm::ArrayRef(&kVersionedTypeInfos[725], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[185], 4), llvm::ArrayRef(&kVersionedTypeInfos[733], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[189], 4), llvm::ArrayRef(&kVersionedTypeInfos[737], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[193], 4), llvm::ArrayRef(&kVersionedTypeInfos[741], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[197], 4), llvm::ArrayRef(&kVersionedTypeInfos[745], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[201], 4), llvm::ArrayRef(&kVersionedTypeInfos[749], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[205], 4), llvm::ArrayRef(&kVersionedTypeInfos[753], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[209], 4), llvm::ArrayRef(&kVersionedTypeInfos[757], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[213], 4), llvm::ArrayRef(&kVersionedTypeInfos[761], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[217], 4), llvm::ArrayRef(&kVersionedTypeInfos[765], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[221], 4), llvm::ArrayRef(&kVersionedTypeInfos[769], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[225], 4), llvm::ArrayRef(&kVersionedTypeInfos[773], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[229], 4), llvm::ArrayRef(&kVersionedTypeInfos[777], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[233], 4), llvm::ArrayRef(&kVersionedTypeInfos[781], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[237], 4), llvm::ArrayRef(&kVersionedTypeInfos[785], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[241], 4), llvm::ArrayRef(&kVersionedTypeInfos[789], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[86], 1), llvm::ArrayRef(&kVersionedTypeInfos[352], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[353], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[798], 2)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[800], 2)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[802], 1)},
-    {llvm::ArrayRef(&kExtensionModes[2], 1), llvm::ArrayRef(&kVersionedTypeInfos[803], 6)},
-    {llvm::ArrayRef(&kExtensionModes[246], 2), llvm::ArrayRef(&kVersionedTypeInfos[809], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[248], 2), llvm::ArrayRef(&kVersionedTypeInfos[810], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[250], 2), llvm::ArrayRef(&kVersionedTypeInfos[811], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[252], 2), llvm::ArrayRef(&kVersionedTypeInfos[812], 5), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[254], 2), llvm::ArrayRef(&kVersionedTypeInfos[337], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[256], 3), llvm::ArrayRef(&kVersionedTypeInfos[346], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[259], 3), llvm::ArrayRef(&kVersionedTypeInfos[347], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[262], 3), llvm::ArrayRef(&kVersionedTypeInfos[348], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[265], 3), llvm::ArrayRef(&kVersionedTypeInfos[349], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[268], 3), llvm::ArrayRef(&kVersionedTypeInfos[350], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[271], 3), llvm::ArrayRef(&kVersionedTypeInfos[351], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[86], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[335], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[336], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[337], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[338], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[339], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[340], 1)},
+    {llvm::ArrayRef(&kExtensionModes[84], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[341], 5)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[346], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[347], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[348], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[349], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[350], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[351], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[86], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[352], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[353], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[354], 11)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[365], 11)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[376], 7)},
+    {llvm::ArrayRef(&kExtensionModes[87], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[383], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[16], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[389], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[19], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[395], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[22], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[401], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[25], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[407], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[28], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[413], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[31], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[419], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[34], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[425], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[37], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[431], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[40], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[437], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[43], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[443], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[46], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[449], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[49], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[455], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[461], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[472], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[483], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[494], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[505], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[516], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[89], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[527], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[92], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[533], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[95], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[539], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[98], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[545], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[101], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[551], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[104], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[557], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[107], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[563], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[110], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[569], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[113], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[575], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[116], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[581], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[119], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[587], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[122], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[593], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[125], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[599], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[128], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[605], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[131], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[611], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[12], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[617], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[134], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[625], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[137], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[629], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[141], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[633], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[145], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[637], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[149], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[641], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[153], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[645], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[157], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[649], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[14], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[653], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[161], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[661], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[165], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[665], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[169], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[669], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[173], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[673], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[177], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[677], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[181], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[681], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[64], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[685], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[67], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[693], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[70], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[701], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[73], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[709], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[76], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[717], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[79], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[725], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[185], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[733], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[189], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[737], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[193], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[741], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[197], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[745], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[201], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[749], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[205], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[753], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[209], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[757], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[213], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[761], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[217], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[765], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[221], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[769], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[225], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[773], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[229], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[777], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[233], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[781], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[237], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[785], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[241], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[789], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[245], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[793], 5)},
+    {llvm::ArrayRef(&kExtensionModes[86], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[352], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[353], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[354], 11)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[365], 11)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[376], 7)},
+    {llvm::ArrayRef(&kExtensionModes[87], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[383], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[16], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[389], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[19], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[395], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[22], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[401], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[25], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[407], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[28], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[413], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[31], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[419], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[34], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[425], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[37], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[431], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[40], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[437], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[43], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[443], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[46], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[449], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[49], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[455], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[461], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[472], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[483], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[494], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[505], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[516], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[89], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[527], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[92], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[533], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[95], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[539], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[98], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[545], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[101], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[551], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[104], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[557], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[107], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[563], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[110], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[569], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[113], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[575], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[116], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[581], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[119], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[587], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[122], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[593], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[125], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[599], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[128], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[605], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[131], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[611], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[12], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[617], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[134], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[625], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[137], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[629], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[141], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[633], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[145], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[637], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[149], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[641], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[153], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[645], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[157], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[649], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[14], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[653], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[161], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[661], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[165], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[665], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[169], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[669], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[173], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[673], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[177], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[677], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[181], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[681], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[64], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[685], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[67], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[693], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[70], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[701], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[73], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[709], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[76], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[717], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[79], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[725], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[185], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[733], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[189], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[737], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[193], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[741], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[197], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[745], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[201], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[749], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[205], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[753], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[209], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[757], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[213], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[761], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[217], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[765], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[221], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[769], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[225], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[773], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[229], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[777], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[233], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[781], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[237], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[785], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[241], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[789], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[86], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[352], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[353], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[798], 2)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[800], 2)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[802], 1)},
+    {llvm::ArrayRef(&kExtensionModes[2], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[803], 6)},
+    {llvm::ArrayRef(&kExtensionModes[246], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[809], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[248], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[810], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[250], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[811], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[252], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[812], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[254], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[337], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[256], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[346], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[259], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[347], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[262], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[348], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[265], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[349], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[268], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[350], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[271], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[351], 1), CheckCondition::allOf},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[817], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[818], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[817], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[818], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
-    {llvm::ArrayRef(&kExtensionModes[274], 1), llvm::ArrayRef(&kVersionedTypeInfos[819], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[820], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[821], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[822], 1)},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[823], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[824], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[825], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[826], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[827], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[828], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[829], 7)},
-    {llvm::ArrayRef(&kExtensionModes[6], 2), llvm::ArrayRef(&kVersionedTypeInfos[836], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[8], 2), llvm::ArrayRef(&kVersionedTypeInfos[837], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[10], 2), llvm::ArrayRef(&kVersionedTypeInfos[838], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[275], 3), llvm::ArrayRef(&kVersionedTypeInfos[839], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[278], 3), llvm::ArrayRef(&kVersionedTypeInfos[840], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[281], 3), llvm::ArrayRef(&kVersionedTypeInfos[841], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[284], 3), llvm::ArrayRef(&kVersionedTypeInfos[842], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[287], 3), llvm::ArrayRef(&kVersionedTypeInfos[843], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[290], 3), llvm::ArrayRef(&kVersionedTypeInfos[844], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[817], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[818], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[817], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[818], 1)},
-    {llvm::ArrayRef(&kExtensionModes[86], 1), llvm::ArrayRef(&kVersionedTypeInfos[845], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[846], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[274], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[819], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[820], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[821], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[822], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[823], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[824], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[825], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[826], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[827], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[828], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[829], 7)},
+    {llvm::ArrayRef(&kExtensionModes[6], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[836], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[8], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[837], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[10], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[838], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[275], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[839], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[278], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[840], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[281], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[841], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[284], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[842], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[287], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[843], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[290], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[844], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[817], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[818], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[817], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[818], 1)},
+    {llvm::ArrayRef(&kExtensionModes[86], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[845], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[846], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[847], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[848], 2)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[850], 2)},
-    {llvm::ArrayRef(&kExtensionModes[87], 2), llvm::ArrayRef(&kVersionedTypeInfos[852], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[856], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[857], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[858], 5)},
-    {llvm::ArrayRef(&kExtensionModes[293], 3), llvm::ArrayRef(&kVersionedTypeInfos[863], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[87], 2), llvm::ArrayRef(&kVersionedTypeInfos[865], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[12], 2), llvm::ArrayRef(&kVersionedTypeInfos[867], 7), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[296], 4), llvm::ArrayRef(&kVersionedTypeInfos[874], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[16], 3), llvm::ArrayRef(&kVersionedTypeInfos[876], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[300], 4), llvm::ArrayRef(&kVersionedTypeInfos[878], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[19], 3), llvm::ArrayRef(&kVersionedTypeInfos[880], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[304], 4), llvm::ArrayRef(&kVersionedTypeInfos[882], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[22], 3), llvm::ArrayRef(&kVersionedTypeInfos[884], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[308], 4), llvm::ArrayRef(&kVersionedTypeInfos[886], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[25], 3), llvm::ArrayRef(&kVersionedTypeInfos[888], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[312], 4), llvm::ArrayRef(&kVersionedTypeInfos[890], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[28], 3), llvm::ArrayRef(&kVersionedTypeInfos[892], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[316], 4), llvm::ArrayRef(&kVersionedTypeInfos[894], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[31], 3), llvm::ArrayRef(&kVersionedTypeInfos[896], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[898], 5)},
-    {llvm::ArrayRef(&kExtensionModes[14], 2), llvm::ArrayRef(&kVersionedTypeInfos[903], 7), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[320], 4), llvm::ArrayRef(&kVersionedTypeInfos[910], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[34], 3), llvm::ArrayRef(&kVersionedTypeInfos[912], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[324], 4), llvm::ArrayRef(&kVersionedTypeInfos[914], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[37], 3), llvm::ArrayRef(&kVersionedTypeInfos[916], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[328], 4), llvm::ArrayRef(&kVersionedTypeInfos[918], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[40], 3), llvm::ArrayRef(&kVersionedTypeInfos[920], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[332], 4), llvm::ArrayRef(&kVersionedTypeInfos[922], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[43], 3), llvm::ArrayRef(&kVersionedTypeInfos[924], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[336], 4), llvm::ArrayRef(&kVersionedTypeInfos[926], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[46], 3), llvm::ArrayRef(&kVersionedTypeInfos[928], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[340], 4), llvm::ArrayRef(&kVersionedTypeInfos[930], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[49], 3), llvm::ArrayRef(&kVersionedTypeInfos[932], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[934], 8)},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[942], 5), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[947], 5), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[952], 5), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[957], 5), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[962], 5), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[967], 5), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[64], 3), llvm::ArrayRef(&kVersionedTypeInfos[972], 7), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[67], 3), llvm::ArrayRef(&kVersionedTypeInfos[979], 7), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[70], 3), llvm::ArrayRef(&kVersionedTypeInfos[986], 7), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[73], 3), llvm::ArrayRef(&kVersionedTypeInfos[993], 7), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[76], 3), llvm::ArrayRef(&kVersionedTypeInfos[1000], 7), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[79], 3), llvm::ArrayRef(&kVersionedTypeInfos[1007], 7), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[344], 4), llvm::ArrayRef(&kVersionedTypeInfos[1014], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[89], 3), llvm::ArrayRef(&kVersionedTypeInfos[1016], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[348], 4), llvm::ArrayRef(&kVersionedTypeInfos[1018], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[92], 3), llvm::ArrayRef(&kVersionedTypeInfos[1020], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[352], 4), llvm::ArrayRef(&kVersionedTypeInfos[1022], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[95], 3), llvm::ArrayRef(&kVersionedTypeInfos[1024], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[356], 4), llvm::ArrayRef(&kVersionedTypeInfos[1026], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[98], 3), llvm::ArrayRef(&kVersionedTypeInfos[1028], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[360], 4), llvm::ArrayRef(&kVersionedTypeInfos[1030], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[101], 3), llvm::ArrayRef(&kVersionedTypeInfos[1032], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[364], 4), llvm::ArrayRef(&kVersionedTypeInfos[1034], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[104], 3), llvm::ArrayRef(&kVersionedTypeInfos[1036], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[368], 4), llvm::ArrayRef(&kVersionedTypeInfos[1038], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[107], 3), llvm::ArrayRef(&kVersionedTypeInfos[1040], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[372], 4), llvm::ArrayRef(&kVersionedTypeInfos[1042], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[110], 3), llvm::ArrayRef(&kVersionedTypeInfos[1044], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[376], 4), llvm::ArrayRef(&kVersionedTypeInfos[1046], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[113], 3), llvm::ArrayRef(&kVersionedTypeInfos[1048], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[380], 4), llvm::ArrayRef(&kVersionedTypeInfos[1050], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[116], 3), llvm::ArrayRef(&kVersionedTypeInfos[1052], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[384], 4), llvm::ArrayRef(&kVersionedTypeInfos[1054], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[119], 3), llvm::ArrayRef(&kVersionedTypeInfos[1056], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[388], 4), llvm::ArrayRef(&kVersionedTypeInfos[1058], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[122], 3), llvm::ArrayRef(&kVersionedTypeInfos[1060], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[392], 4), llvm::ArrayRef(&kVersionedTypeInfos[1062], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[125], 3), llvm::ArrayRef(&kVersionedTypeInfos[1064], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[396], 4), llvm::ArrayRef(&kVersionedTypeInfos[1066], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[128], 3), llvm::ArrayRef(&kVersionedTypeInfos[1068], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[400], 4), llvm::ArrayRef(&kVersionedTypeInfos[1070], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[131], 3), llvm::ArrayRef(&kVersionedTypeInfos[1072], 2), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[84], 1), llvm::ArrayRef(&kVersionedTypeInfos[1074], 6)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[326], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[1080], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1081], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1082], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1083], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[847], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[848], 2)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[850], 2)},
+    {llvm::ArrayRef(&kExtensionModes[87], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[852], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[856], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[857], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[858], 5)},
+    {llvm::ArrayRef(&kExtensionModes[293], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[863], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[87], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[865], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[12], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[867], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[296], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[874], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[16], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[876], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[300], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[878], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[19], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[880], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[304], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[882], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[22], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[884], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[308], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[886], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[25], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[888], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[312], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[890], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[28], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[892], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[316], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[894], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[31], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[896], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[898], 5)},
+    {llvm::ArrayRef(&kExtensionModes[14], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[903], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[320], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[910], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[34], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[912], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[324], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[914], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[37], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[916], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[328], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[918], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[40], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[920], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[332], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[922], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[43], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[924], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[336], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[926], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[46], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[928], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[340], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[930], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[49], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[932], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[934], 8)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[942], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[947], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[952], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[957], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[962], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[967], 5), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[64], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[972], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[67], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[979], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[70], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[986], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[73], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[993], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[76], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1000], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[79], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1007], 7), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[344], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1014], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[89], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1016], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[348], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1018], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[92], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1020], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[352], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1022], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[95], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1024], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[356], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1026], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[98], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1028], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[360], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1030], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[101], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1032], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[364], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1034], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[104], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1036], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[368], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1038], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[107], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1040], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[372], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1042], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[110], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1044], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[376], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1046], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[113], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1048], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[380], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1050], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[116], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1052], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[384], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1054], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[119], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1056], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[388], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1058], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[122], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1060], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[392], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1062], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[125], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1064], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[396], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1066], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[128], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1068], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[400], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[1070], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[131], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1072], 2), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[84], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1074], 6)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[326], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1080], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1081], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1082], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1083], 1)},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[1084], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1085], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1086], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1087], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[1088], 3)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[1091], 2)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1081], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1082], 1)},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[274], 1), llvm::ArrayRef(&kVersionedTypeInfos[1093], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[1094], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[1095], 7)},
-    {llvm::ArrayRef(&kExtensionModes[404], 2), llvm::ArrayRef(&kVersionedTypeInfos[1102], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1103], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1104], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1105], 1)},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[823], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[824], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[825], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[826], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[827], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[828], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[6], 2), llvm::ArrayRef(&kVersionedTypeInfos[836], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[8], 2), llvm::ArrayRef(&kVersionedTypeInfos[837], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[10], 2), llvm::ArrayRef(&kVersionedTypeInfos[838], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[275], 3), llvm::ArrayRef(&kVersionedTypeInfos[839], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[278], 3), llvm::ArrayRef(&kVersionedTypeInfos[840], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[281], 3), llvm::ArrayRef(&kVersionedTypeInfos[841], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[284], 3), llvm::ArrayRef(&kVersionedTypeInfos[842], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[287], 3), llvm::ArrayRef(&kVersionedTypeInfos[843], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[290], 3), llvm::ArrayRef(&kVersionedTypeInfos[844], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1106], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1107], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1108], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[1109], 7)},
-    {llvm::ArrayRef(&kExtensionModes[6], 2), llvm::ArrayRef(&kVersionedTypeInfos[1116], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[8], 2), llvm::ArrayRef(&kVersionedTypeInfos[1117], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[10], 2), llvm::ArrayRef(&kVersionedTypeInfos[1118], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[84], 1), llvm::ArrayRef(&kVersionedTypeInfos[1119], 6)},
-    {llvm::ArrayRef(&kExtensionModes[406], 2), llvm::ArrayRef(&kVersionedTypeInfos[1125], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1131], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1132], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[1133], 1)},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[1134], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[1135], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[1136], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[1137], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[1138], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[1139], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[1140], 7)},
-    {llvm::ArrayRef(&kExtensionModes[6], 2), llvm::ArrayRef(&kVersionedTypeInfos[1147], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[8], 2), llvm::ArrayRef(&kVersionedTypeInfos[1148], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[10], 2), llvm::ArrayRef(&kVersionedTypeInfos[1149], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[275], 3), llvm::ArrayRef(&kVersionedTypeInfos[1150], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[278], 3), llvm::ArrayRef(&kVersionedTypeInfos[1151], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[281], 3), llvm::ArrayRef(&kVersionedTypeInfos[1152], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[284], 3), llvm::ArrayRef(&kVersionedTypeInfos[1153], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[287], 3), llvm::ArrayRef(&kVersionedTypeInfos[1154], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[290], 3), llvm::ArrayRef(&kVersionedTypeInfos[1155], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1084], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1085], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1086], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1087], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1088], 3)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1091], 2)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1081], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1082], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[274], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1093], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1094], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1095], 7)},
+    {llvm::ArrayRef(&kExtensionModes[404], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1102], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1103], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1104], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1105], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[823], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[824], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[825], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[826], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[827], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[828], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[6], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[836], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[8], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[837], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[10], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[838], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[275], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[839], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[278], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[840], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[281], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[841], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[284], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[842], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[287], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[843], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[290], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[844], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1106], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1107], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1108], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1109], 7)},
+    {llvm::ArrayRef(&kExtensionModes[6], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1116], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[8], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1117], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[10], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1118], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[84], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1119], 6)},
+    {llvm::ArrayRef(&kExtensionModes[406], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1125], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1131], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1132], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1133], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1134], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1135], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1136], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1137], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1138], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1139], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1140], 7)},
+    {llvm::ArrayRef(&kExtensionModes[6], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1147], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[8], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1148], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[10], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[1149], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[275], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1150], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[278], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1151], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[281], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1152], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[284], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1153], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[287], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1154], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[290], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[1155], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[191], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[192], 1)},
     {llvm::ArrayRef(&kExtensionModes[2], 1), {}},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[1156], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[0], 1), llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[86], 1), llvm::ArrayRef(&kVersionedTypeInfos[352], 1)},
-    {llvm::ArrayRef(&kExtensionModes[3], 1), llvm::ArrayRef(&kVersionedTypeInfos[353], 1)},
-    {llvm::ArrayRef(&kExtensionModes[4], 1), llvm::ArrayRef(&kVersionedTypeInfos[1157], 11)},
-    {llvm::ArrayRef(&kExtensionModes[5], 1), llvm::ArrayRef(&kVersionedTypeInfos[1168], 11)},
-    {llvm::ArrayRef(&kExtensionModes[1], 1), llvm::ArrayRef(&kVersionedTypeInfos[376], 7)},
-    {llvm::ArrayRef(&kExtensionModes[87], 2), llvm::ArrayRef(&kVersionedTypeInfos[383], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[16], 3), llvm::ArrayRef(&kVersionedTypeInfos[389], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[19], 3), llvm::ArrayRef(&kVersionedTypeInfos[395], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[22], 3), llvm::ArrayRef(&kVersionedTypeInfos[401], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[25], 3), llvm::ArrayRef(&kVersionedTypeInfos[407], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[28], 3), llvm::ArrayRef(&kVersionedTypeInfos[413], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[31], 3), llvm::ArrayRef(&kVersionedTypeInfos[419], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[34], 3), llvm::ArrayRef(&kVersionedTypeInfos[425], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[37], 3), llvm::ArrayRef(&kVersionedTypeInfos[431], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[40], 3), llvm::ArrayRef(&kVersionedTypeInfos[437], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[43], 3), llvm::ArrayRef(&kVersionedTypeInfos[443], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[46], 3), llvm::ArrayRef(&kVersionedTypeInfos[449], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[49], 3), llvm::ArrayRef(&kVersionedTypeInfos[455], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[52], 2), llvm::ArrayRef(&kVersionedTypeInfos[461], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[54], 2), llvm::ArrayRef(&kVersionedTypeInfos[472], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[56], 2), llvm::ArrayRef(&kVersionedTypeInfos[483], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[58], 2), llvm::ArrayRef(&kVersionedTypeInfos[494], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[60], 2), llvm::ArrayRef(&kVersionedTypeInfos[505], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[62], 2), llvm::ArrayRef(&kVersionedTypeInfos[516], 11), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[89], 3), llvm::ArrayRef(&kVersionedTypeInfos[527], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[92], 3), llvm::ArrayRef(&kVersionedTypeInfos[533], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[95], 3), llvm::ArrayRef(&kVersionedTypeInfos[539], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[98], 3), llvm::ArrayRef(&kVersionedTypeInfos[545], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[101], 3), llvm::ArrayRef(&kVersionedTypeInfos[551], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[104], 3), llvm::ArrayRef(&kVersionedTypeInfos[557], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[107], 3), llvm::ArrayRef(&kVersionedTypeInfos[563], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[110], 3), llvm::ArrayRef(&kVersionedTypeInfos[569], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[113], 3), llvm::ArrayRef(&kVersionedTypeInfos[575], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[116], 3), llvm::ArrayRef(&kVersionedTypeInfos[581], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[119], 3), llvm::ArrayRef(&kVersionedTypeInfos[587], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[122], 3), llvm::ArrayRef(&kVersionedTypeInfos[593], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[125], 3), llvm::ArrayRef(&kVersionedTypeInfos[599], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[128], 3), llvm::ArrayRef(&kVersionedTypeInfos[605], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[131], 3), llvm::ArrayRef(&kVersionedTypeInfos[611], 6), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[12], 2), llvm::ArrayRef(&kVersionedTypeInfos[617], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[134], 3), llvm::ArrayRef(&kVersionedTypeInfos[625], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[137], 4), llvm::ArrayRef(&kVersionedTypeInfos[629], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[141], 4), llvm::ArrayRef(&kVersionedTypeInfos[633], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[145], 4), llvm::ArrayRef(&kVersionedTypeInfos[637], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[149], 4), llvm::ArrayRef(&kVersionedTypeInfos[641], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[153], 4), llvm::ArrayRef(&kVersionedTypeInfos[645], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[157], 4), llvm::ArrayRef(&kVersionedTypeInfos[649], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[14], 2), llvm::ArrayRef(&kVersionedTypeInfos[653], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[161], 4), llvm::ArrayRef(&kVersionedTypeInfos[661], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[165], 4), llvm::ArrayRef(&kVersionedTypeInfos[665], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[169], 4), llvm::ArrayRef(&kVersionedTypeInfos[669], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[173], 4), llvm::ArrayRef(&kVersionedTypeInfos[673], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[177], 4), llvm::ArrayRef(&kVersionedTypeInfos[677], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[181], 4), llvm::ArrayRef(&kVersionedTypeInfos[681], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[64], 3), llvm::ArrayRef(&kVersionedTypeInfos[685], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[67], 3), llvm::ArrayRef(&kVersionedTypeInfos[693], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[70], 3), llvm::ArrayRef(&kVersionedTypeInfos[701], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[73], 3), llvm::ArrayRef(&kVersionedTypeInfos[709], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[76], 3), llvm::ArrayRef(&kVersionedTypeInfos[717], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[79], 3), llvm::ArrayRef(&kVersionedTypeInfos[725], 8), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[185], 4), llvm::ArrayRef(&kVersionedTypeInfos[733], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[189], 4), llvm::ArrayRef(&kVersionedTypeInfos[737], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[193], 4), llvm::ArrayRef(&kVersionedTypeInfos[741], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[197], 4), llvm::ArrayRef(&kVersionedTypeInfos[745], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[201], 4), llvm::ArrayRef(&kVersionedTypeInfos[749], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[205], 4), llvm::ArrayRef(&kVersionedTypeInfos[753], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[209], 4), llvm::ArrayRef(&kVersionedTypeInfos[757], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[213], 4), llvm::ArrayRef(&kVersionedTypeInfos[761], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[217], 4), llvm::ArrayRef(&kVersionedTypeInfos[765], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[221], 4), llvm::ArrayRef(&kVersionedTypeInfos[769], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[225], 4), llvm::ArrayRef(&kVersionedTypeInfos[773], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[229], 4), llvm::ArrayRef(&kVersionedTypeInfos[777], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[233], 4), llvm::ArrayRef(&kVersionedTypeInfos[781], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[237], 4), llvm::ArrayRef(&kVersionedTypeInfos[785], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[241], 4), llvm::ArrayRef(&kVersionedTypeInfos[789], 4), CheckCondition::allOf},
-    {llvm::ArrayRef(&kExtensionModes[408], 1), llvm::ArrayRef(&kVersionedTypeInfos[1179], 3)},
-    {llvm::ArrayRef(&kExtensionModes[408], 1), llvm::ArrayRef(&kVersionedTypeInfos[1179], 3)},
-    {llvm::ArrayRef(&kExtensionModes[408], 1), llvm::ArrayRef(&kVersionedTypeInfos[1179], 3)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1156], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[0], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[189], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[327], 1)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[328], 1)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[190], 1)},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[329], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[330], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[331], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[332], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[333], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[334], 1), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[86], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[352], 1)},
+    {llvm::ArrayRef(&kExtensionModes[3], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[353], 1)},
+    {llvm::ArrayRef(&kExtensionModes[4], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1157], 11)},
+    {llvm::ArrayRef(&kExtensionModes[5], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1168], 11)},
+    {llvm::ArrayRef(&kExtensionModes[1], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[376], 7)},
+    {llvm::ArrayRef(&kExtensionModes[87], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[383], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[16], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[389], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[19], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[395], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[22], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[401], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[25], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[407], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[28], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[413], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[31], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[419], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[34], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[425], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[37], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[431], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[40], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[437], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[43], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[443], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[46], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[449], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[49], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[455], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[52], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[461], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[54], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[472], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[56], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[483], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[58], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[494], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[60], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[505], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[62], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[516], 11), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[89], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[527], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[92], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[533], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[95], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[539], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[98], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[545], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[101], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[551], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[104], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[557], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[107], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[563], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[110], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[569], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[113], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[575], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[116], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[581], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[119], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[587], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[122], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[593], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[125], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[599], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[128], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[605], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[131], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[611], 6), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[12], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[617], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[134], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[625], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[137], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[629], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[141], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[633], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[145], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[637], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[149], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[641], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[153], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[645], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[157], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[649], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[14], 2),
+     llvm::ArrayRef(&kVersionedTypeInfos[653], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[161], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[661], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[165], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[665], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[169], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[669], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[173], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[673], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[177], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[677], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[181], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[681], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[64], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[685], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[67], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[693], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[70], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[701], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[73], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[709], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[76], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[717], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[79], 3),
+     llvm::ArrayRef(&kVersionedTypeInfos[725], 8), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[185], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[733], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[189], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[737], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[193], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[741], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[197], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[745], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[201], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[749], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[205], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[753], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[209], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[757], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[213], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[761], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[217], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[765], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[221], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[769], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[225], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[773], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[229], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[777], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[233], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[781], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[237], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[785], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[241], 4),
+     llvm::ArrayRef(&kVersionedTypeInfos[789], 4), CheckCondition::allOf},
+    {llvm::ArrayRef(&kExtensionModes[408], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1179], 3)},
+    {llvm::ArrayRef(&kExtensionModes[408], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1179], 3)},
+    {llvm::ArrayRef(&kExtensionModes[408], 1),
+     llvm::ArrayRef(&kVersionedTypeInfos[1179], 3)},
     {llvm::ArrayRef(&kExtensionModes[85], 1), {}},
 };
 
@@ -2727,9 +9174,11 @@ static constexpr OpComplianceEntry<Profile> kProfileComplianceTable[] = {
     {"tosa.add", llvm::ArrayRef(&kProfileComplianceInfos[2], 2)},
     {"tosa.argmax", llvm::ArrayRef(&kProfileComplianceInfos[4], 2)},
     {"tosa.argmin", llvm::ArrayRef(&kProfileComplianceInfos[6], 2)},
-    {"tosa.arithmetic_right_shift", llvm::ArrayRef(&kProfileComplianceInfos[8], 1)},
+    {"tosa.arithmetic_right_shift",
+     llvm::ArrayRef(&kProfileComplianceInfos[8], 1)},
     {"tosa.avg_pool2d", llvm::ArrayRef(&kProfileComplianceInfos[9], 2)},
-    {"tosa.avg_pool2d_adaptive", llvm::ArrayRef(&kProfileComplianceInfos[11], 2)},
+    {"tosa.avg_pool2d_adaptive",
+     llvm::ArrayRef(&kProfileComplianceInfos[11], 2)},
     {"tosa.bitwise_and", llvm::ArrayRef(&kProfileComplianceInfos[13], 1)},
     {"tosa.bitwise_not", llvm::ArrayRef(&kProfileComplianceInfos[14], 1)},
     {"tosa.bitwise_or", llvm::ArrayRef(&kProfileComplianceInfos[15], 1)},
@@ -2757,15 +9206,18 @@ static constexpr OpComplianceEntry<Profile> kProfileComplianceTable[] = {
     {"tosa.intdiv", llvm::ArrayRef(&kProfileComplianceInfos[51], 1)},
     {"tosa.log", llvm::ArrayRef(&kProfileComplianceInfos[52], 1)},
     {"tosa.logical_and", llvm::ArrayRef(&kProfileComplianceInfos[53], 1)},
-    {"tosa.logical_left_shift", llvm::ArrayRef(&kProfileComplianceInfos[54], 1)},
+    {"tosa.logical_left_shift",
+     llvm::ArrayRef(&kProfileComplianceInfos[54], 1)},
     {"tosa.logical_not", llvm::ArrayRef(&kProfileComplianceInfos[55], 1)},
     {"tosa.logical_or", llvm::ArrayRef(&kProfileComplianceInfos[56], 1)},
-    {"tosa.logical_right_shift", llvm::ArrayRef(&kProfileComplianceInfos[57], 1)},
+    {"tosa.logical_right_shift",
+     llvm::ArrayRef(&kProfileComplianceInfos[57], 1)},
     {"tosa.logical_xor", llvm::ArrayRef(&kProfileComplianceInfos[58], 1)},
     {"tosa.matmul", llvm::ArrayRef(&kProfileComplianceInfos[59], 2)},
     {"tosa.matmul_t", llvm::ArrayRef(&kProfileComplianceInfos[61], 2)},
     {"tosa.max_pool2d", llvm::ArrayRef(&kProfileComplianceInfos[63], 2)},
-    {"tosa.max_pool2d_adaptive", llvm::ArrayRef(&kProfileComplianceInfos[65], 2)},
+    {"tosa.max_pool2d_adaptive",
+     llvm::ArrayRef(&kProfileComplianceInfos[65], 2)},
     {"tosa.maximum", llvm::ArrayRef(&kProfileComplianceInfos[67], 2)},
     {"tosa.minimum", llvm::ArrayRef(&kProfileComplianceInfos[69], 2)},
     {"tosa.mul", llvm::ArrayRef(&kProfileComplianceInfos[71], 3)},
@@ -2784,7 +9236,8 @@ static constexpr OpComplianceEntry<Profile> kProfileComplianceTable[] = {
     {"tosa.resize", llvm::ArrayRef(&kProfileComplianceInfos[94], 2)},
     {"tosa.reverse", llvm::ArrayRef(&kProfileComplianceInfos[96], 3)},
     {"tosa.row_gather", llvm::ArrayRef(&kProfileComplianceInfos[99], 2)},
-    {"tosa.row_gather_block_scaled", llvm::ArrayRef(&kProfileComplianceInfos[101], 3)},
+    {"tosa.row_gather_block_scaled",
+     llvm::ArrayRef(&kProfileComplianceInfos[101], 3)},
     {"tosa.rsqrt", llvm::ArrayRef(&kProfileComplianceInfos[104], 1)},
     {"tosa.scatter", llvm::ArrayRef(&kProfileComplianceInfos[105], 3)},
     {"tosa.select", llvm::ArrayRef(&kProfileComplianceInfos[108], 3)},
@@ -2808,17 +9261,22 @@ static constexpr OpComplianceEntry<Extension> kExtensionComplianceTable[] = {
     {"tosa.add_shape", llvm::ArrayRef(&kExtensionComplianceInfos[4], 1)},
     {"tosa.argmax", llvm::ArrayRef(&kExtensionComplianceInfos[5], 8)},
     {"tosa.argmin", llvm::ArrayRef(&kExtensionComplianceInfos[13], 8)},
-    {"tosa.arithmetic_right_shift", llvm::ArrayRef(&kExtensionComplianceInfos[21], 1)},
-    {"tosa.assert_equal_shape", llvm::ArrayRef(&kExtensionComplianceInfos[22], 1)},
+    {"tosa.arithmetic_right_shift",
+     llvm::ArrayRef(&kExtensionComplianceInfos[21], 1)},
+    {"tosa.assert_equal_shape",
+     llvm::ArrayRef(&kExtensionComplianceInfos[22], 1)},
     {"tosa.avg_pool2d", llvm::ArrayRef(&kExtensionComplianceInfos[23], 4)},
-    {"tosa.avg_pool2d_adaptive", llvm::ArrayRef(&kExtensionComplianceInfos[27], 4)},
+    {"tosa.avg_pool2d_adaptive",
+     llvm::ArrayRef(&kExtensionComplianceInfos[27], 4)},
     {"tosa.bitwise_and", llvm::ArrayRef(&kExtensionComplianceInfos[31], 1)},
     {"tosa.bitwise_not", llvm::ArrayRef(&kExtensionComplianceInfos[32], 1)},
     {"tosa.bitwise_or", llvm::ArrayRef(&kExtensionComplianceInfos[33], 1)},
     {"tosa.bitwise_xor", llvm::ArrayRef(&kExtensionComplianceInfos[34], 1)},
     {"tosa.cast", llvm::ArrayRef(&kExtensionComplianceInfos[35], 30)},
-    {"tosa.cast_from_block_scaled", llvm::ArrayRef(&kExtensionComplianceInfos[65], 2)},
-    {"tosa.cast_to_block_scaled", llvm::ArrayRef(&kExtensionComplianceInfos[67], 2)},
+    {"tosa.cast_from_block_scaled",
+     llvm::ArrayRef(&kExtensionComplianceInfos[65], 2)},
+    {"tosa.cast_to_block_scaled",
+     llvm::ArrayRef(&kExtensionComplianceInfos[67], 2)},
     {"tosa.ceil", llvm::ArrayRef(&kExtensionComplianceInfos[69], 1)},
     {"tosa.clamp", llvm::ArrayRef(&kExtensionComplianceInfos[70], 2)},
     {"tosa.clz", llvm::ArrayRef(&kExtensionComplianceInfos[72], 1)},
@@ -2827,13 +9285,16 @@ static constexpr OpComplianceEntry<Extension> kExtensionComplianceTable[] = {
     {"tosa.cond_if", llvm::ArrayRef(&kExtensionComplianceInfos[85], 1)},
     {"tosa.const", llvm::ArrayRef(&kExtensionComplianceInfos[86], 13)},
     {"tosa.conv2d", llvm::ArrayRef(&kExtensionComplianceInfos[99], 75)},
-    {"tosa.conv2d_block_scaled", llvm::ArrayRef(&kExtensionComplianceInfos[174], 1)},
+    {"tosa.conv2d_block_scaled",
+     llvm::ArrayRef(&kExtensionComplianceInfos[174], 1)},
     {"tosa.conv3d", llvm::ArrayRef(&kExtensionComplianceInfos[175], 75)},
     {"tosa.cos", llvm::ArrayRef(&kExtensionComplianceInfos[250], 1)},
-    {"tosa.depthwise_conv2d", llvm::ArrayRef(&kExtensionComplianceInfos[251], 5)},
+    {"tosa.depthwise_conv2d",
+     llvm::ArrayRef(&kExtensionComplianceInfos[251], 5)},
     {"tosa.dim", llvm::ArrayRef(&kExtensionComplianceInfos[256], 12)},
     {"tosa.div_ceil_shape", llvm::ArrayRef(&kExtensionComplianceInfos[268], 1)},
-    {"tosa.div_floor_shape", llvm::ArrayRef(&kExtensionComplianceInfos[269], 1)},
+    {"tosa.div_floor_shape",
+     llvm::ArrayRef(&kExtensionComplianceInfos[269], 1)},
     {"tosa.equal", llvm::ArrayRef(&kExtensionComplianceInfos[270], 2)},
     {"tosa.erf", llvm::ArrayRef(&kExtensionComplianceInfos[272], 1)},
     {"tosa.exp", llvm::ArrayRef(&kExtensionComplianceInfos[273], 1)},
@@ -2846,15 +9307,21 @@ static constexpr OpComplianceEntry<Extension> kExtensionComplianceTable[] = {
     {"tosa.identity", llvm::ArrayRef(&kExtensionComplianceInfos[300], 12)},
     {"tosa.intdiv", llvm::ArrayRef(&kExtensionComplianceInfos[312], 1)},
     {"tosa.log", llvm::ArrayRef(&kExtensionComplianceInfos[313], 1)},
-    {"tosa.log2_ceil_shape", llvm::ArrayRef(&kExtensionComplianceInfos[314], 1)},
-    {"tosa.log2_floor_shape", llvm::ArrayRef(&kExtensionComplianceInfos[315], 1)},
-    {"tosa.logical_left_shift", llvm::ArrayRef(&kExtensionComplianceInfos[316], 1)},
-    {"tosa.logical_right_shift", llvm::ArrayRef(&kExtensionComplianceInfos[317], 1)},
+    {"tosa.log2_ceil_shape",
+     llvm::ArrayRef(&kExtensionComplianceInfos[314], 1)},
+    {"tosa.log2_floor_shape",
+     llvm::ArrayRef(&kExtensionComplianceInfos[315], 1)},
+    {"tosa.logical_left_shift",
+     llvm::ArrayRef(&kExtensionComplianceInfos[316], 1)},
+    {"tosa.logical_right_shift",
+     llvm::ArrayRef(&kExtensionComplianceInfos[317], 1)},
     {"tosa.matmul", llvm::ArrayRef(&kExtensionComplianceInfos[318], 5)},
     {"tosa.matmul_t", llvm::ArrayRef(&kExtensionComplianceInfos[323], 74)},
-    {"tosa.matmul_t_block_scaled", llvm::ArrayRef(&kExtensionComplianceInfos[397], 1)},
+    {"tosa.matmul_t_block_scaled",
+     llvm::ArrayRef(&kExtensionComplianceInfos[397], 1)},
     {"tosa.max_pool2d", llvm::ArrayRef(&kExtensionComplianceInfos[398], 4)},
-    {"tosa.max_pool2d_adaptive", llvm::ArrayRef(&kExtensionComplianceInfos[402], 4)},
+    {"tosa.max_pool2d_adaptive",
+     llvm::ArrayRef(&kExtensionComplianceInfos[402], 4)},
     {"tosa.max_shape", llvm::ArrayRef(&kExtensionComplianceInfos[406], 1)},
     {"tosa.maximum", llvm::ArrayRef(&kExtensionComplianceInfos[407], 2)},
     {"tosa.min_shape", llvm::ArrayRef(&kExtensionComplianceInfos[409], 1)},
@@ -2876,7 +9343,8 @@ static constexpr OpComplianceEntry<Extension> kExtensionComplianceTable[] = {
     {"tosa.reverse", llvm::ArrayRef(&kExtensionComplianceInfos[452], 10)},
     {"tosa.rfft2d", llvm::ArrayRef(&kExtensionComplianceInfos[462], 1)},
     {"tosa.row_gather", llvm::ArrayRef(&kExtensionComplianceInfos[463], 21)},
-    {"tosa.row_gather_block_scaled", llvm::ArrayRef(&kExtensionComplianceInfos[484], 9)},
+    {"tosa.row_gather_block_scaled",
+     llvm::ArrayRef(&kExtensionComplianceInfos[484], 9)},
     {"tosa.rsqrt", llvm::ArrayRef(&kExtensionComplianceInfos[493], 1)},
     {"tosa.scatter", llvm::ArrayRef(&kExtensionComplianceInfos[494], 19)},
     {"tosa.select", llvm::ArrayRef(&kExtensionComplianceInfos[513], 2)},
@@ -2890,7 +9358,8 @@ static constexpr OpComplianceEntry<Extension> kExtensionComplianceTable[] = {
     {"tosa.tanh", llvm::ArrayRef(&kExtensionComplianceInfos[532], 1)},
     {"tosa.tile", llvm::ArrayRef(&kExtensionComplianceInfos[533], 10)},
     {"tosa.transpose", llvm::ArrayRef(&kExtensionComplianceInfos[543], 10)},
-    {"tosa.transpose_conv2d", llvm::ArrayRef(&kExtensionComplianceInfos[553], 75)},
+    {"tosa.transpose_conv2d",
+     llvm::ArrayRef(&kExtensionComplianceInfos[553], 75)},
     {"tosa.variable", llvm::ArrayRef(&kExtensionComplianceInfos[628], 1)},
     {"tosa.variable_read", llvm::ArrayRef(&kExtensionComplianceInfos[629], 1)},
     {"tosa.variable_write", llvm::ArrayRef(&kExtensionComplianceInfos[630], 1)},
diff --git a/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h b/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
index 5799c0373cb95c..bb2d01ef7065b3 100644
--- a/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
+++ b/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
@@ -72,8 +72,7 @@ enum CheckCondition {
   allOf
 };
 
-using VersionedTypeInfo =
-    std::pair<ArrayRef<TypeInfo>, SpecificationVersion>;
+using VersionedTypeInfo = std::pair<ArrayRef<TypeInfo>, SpecificationVersion>;
 
 template <typename T>
 struct OpComplianceInfo {
diff --git a/mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp b/mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
index b249101c2c1a18..a082b71fec3cb5 100644
--- a/mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
+++ b/mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
@@ -16,7 +16,6 @@ using namespace mlir;
 using namespace mlir::tosa;
 
 namespace {
-
 constexpr TypeInfo boolT = {ComplianceTypeKind::Integer, 1};
 constexpr TypeInfo i4T = {ComplianceTypeKind::Integer, 4};
 constexpr TypeInfo i8T = {ComplianceTypeKind::Integer, 8};
@@ -75,7 +74,6 @@ lookupComplianceInfos(ArrayRef<OpComplianceEntry<T>> table, StringRef opName) {
     return it->infos;
   return {};
 }
-
 } // namespace
 
 TosaProfileCompliance::TosaProfileCompliance() {

>From ae1e6fc323504f51b468d4345042a3f2dee07673 Mon Sep 17 00:00:00 2001
From: Dean Sturtevant <dsturtevant at google.com>
Date: Fri, 16 Oct 2026 14:04:02 -0400
Subject: [PATCH 3/4] Replace "using namespace" with namespace scoped usage.

---
 mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h b/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
index bb2d01ef7065b3..023f72039c7364 100644
--- a/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
+++ b/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
@@ -20,8 +20,8 @@
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/StringRef.h"
 
-using namespace mlir;
-using namespace mlir::tosa;
+namespace mlir {
+namespace tosa {
 
 //===----------------------------------------------------------------------===//
 // Type Compilance Definition
@@ -227,4 +227,7 @@ class TosaProfileCompliance {
   getOperatorMatchedEntries(Operation *op);
 };
 
+}  // namespace tosa
+}  // namespace mlir
+
 #endif // MLIR_DIALECT_TOSA_TRANSFORMS_TOSAPROFILECOMPILANCE_H

>From 9add5543f6bb3ce1c31e8d2f1e23bb878e1fba19 Mon Sep 17 00:00:00 2001
From: Dean Sturtevant <dsturtevant at google.com>
Date: Fri, 16 Oct 2026 14:53:51 -0400
Subject: [PATCH 4/4] Move implementation details from TosaProfileCompliance.h
 to an unnamed namespace in TosaProfileCompliance.cpp.

---
 .../Dialect/Tosa/IR/TosaProfileCompliance.h   | 204 +-------
 .../Tosa/Transforms/TosaProfileCompliance.cpp | 465 ++++++++++++------
 2 files changed, 315 insertions(+), 354 deletions(-)

diff --git a/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h b/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
index 023f72039c7364..7e08306c12ec4b 100644
--- a/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
+++ b/mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
@@ -9,168 +9,10 @@
 #ifndef MLIR_DIALECT_TOSA_TRANSFORMS_TOSAPROFILECOMPILANCE_H
 #define MLIR_DIALECT_TOSA_TRANSFORMS_TOSAPROFILECOMPILANCE_H
 
-#include <cstdint>
-#include <optional>
-#include <utility>
-
 #include "mlir/Dialect/Tosa/IR/TargetEnv.h"
-#include "mlir/Dialect/Tosa/Transforms/Passes.h"
-#include "llvm/ADT/ArrayRef.h"
-#include "llvm/ADT/SmallString.h"
-#include "llvm/ADT/SmallVector.h"
-#include "llvm/ADT/StringRef.h"
 
 namespace mlir {
 namespace tosa {
-
-//===----------------------------------------------------------------------===//
-// Type Compilance Definition
-//===----------------------------------------------------------------------===//
-
-enum class ComplianceTypeKind : uint8_t {
-  None = 0,
-  Integer,
-  BFloat16,
-  Float16,
-  Float32,
-  Float8E4M3FN,
-  Float8E5M2,
-  Float6E2M3FN,
-  Float6E3M2FN,
-  Float4E2M1FN,
-  Float8E8M0FNU,
-  MxInt8,
-  BlockScaled,
-  Unknown,
-};
-
-struct TypeInfo {
-  constexpr TypeInfo(ComplianceTypeKind typeKind, uint32_t bitWidth)
-      : typeKind(typeKind), bitWidth(bitWidth),
-        valueTypeKind(ComplianceTypeKind::None),
-        scaleTypeKind(ComplianceTypeKind::None), blockShape(std::nullopt) {}
-
-  constexpr TypeInfo(ComplianceTypeKind typeKind, uint32_t bitWidth,
-                     ComplianceTypeKind valueTypeKind,
-                     ComplianceTypeKind scaleTypeKind,
-                     tosa::BlockShape blockShape)
-      : typeKind(typeKind), bitWidth(bitWidth), valueTypeKind(valueTypeKind),
-        scaleTypeKind(scaleTypeKind), blockShape(blockShape) {}
-
-  ComplianceTypeKind typeKind;
-  uint32_t bitWidth;
-  ComplianceTypeKind valueTypeKind;
-  ComplianceTypeKind scaleTypeKind;
-  std::optional<tosa::BlockShape> blockShape;
-};
-
-enum CheckCondition {
-  invalid,
-  // Valid when any of the profile (extension) requirement is meet.
-  anyOf,
-  // Valid when all of the profile (extension) requirement are meet.
-  allOf
-};
-
-using VersionedTypeInfo = std::pair<ArrayRef<TypeInfo>, SpecificationVersion>;
-
-template <typename T>
-struct OpComplianceInfo {
-  // Certain operations require multiple modes enabled.
-  // e.g. cast bf16 to fp8e4m3 requires EXT-BF16 and EXT-FP8E4M3.
-  ArrayRef<T> mode;
-  ArrayRef<VersionedTypeInfo> operandTypeInfoSet;
-  CheckCondition condition = CheckCondition::anyOf;
-};
-
-template <typename T>
-struct OpComplianceEntry {
-  llvm::StringLiteral opName;
-  ArrayRef<OpComplianceInfo<T>> infos;
-};
-
-//===----------------------------------------------------------------------===//
-// Tosa Profile And Extension Information Depot
-//===----------------------------------------------------------------------===//
-
-class ProfileInfoDepot {
-public:
-  ProfileInfoDepot(Operation *op) {
-    if (failed(populatationDispatch(op)))
-      op->emitOpError() << "fail to populate the profile info\n";
-  }
-
-  void addType(Type t) { tyInfo.push_back(convertTypeToInfo(t)); }
-  void addValue(Value v) { tyInfo.push_back(convertValueToInfo(v)); }
-  SmallVector<TypeInfo> getInfo() { return tyInfo; }
-
-private:
-  static ComplianceTypeKind getComplianceTypeKind(Type type) {
-    if (isa<IntegerType>(type))
-      return ComplianceTypeKind::Integer;
-    if (isa<BFloat16Type>(type))
-      return ComplianceTypeKind::BFloat16;
-    if (isa<Float16Type>(type))
-      return ComplianceTypeKind::Float16;
-    if (isa<Float32Type>(type))
-      return ComplianceTypeKind::Float32;
-    if (isa<Float8E4M3FNType>(type))
-      return ComplianceTypeKind::Float8E4M3FN;
-    if (isa<Float8E5M2Type>(type))
-      return ComplianceTypeKind::Float8E5M2;
-    if (isa<Float6E2M3FNType>(type))
-      return ComplianceTypeKind::Float6E2M3FN;
-    if (isa<Float6E3M2FNType>(type))
-      return ComplianceTypeKind::Float6E3M2FN;
-    if (isa<Float4E2M1FNType>(type))
-      return ComplianceTypeKind::Float4E2M1FN;
-    if (isa<Float8E8M0FNUType>(type))
-      return ComplianceTypeKind::Float8E8M0FNU;
-    if (isa<tosa::mxint8Type>(type))
-      return ComplianceTypeKind::MxInt8;
-    if (isa<tosa::BlockScaledType>(type))
-      return ComplianceTypeKind::BlockScaled;
-    return ComplianceTypeKind::Unknown;
-  }
-
-  TypeInfo convertTypeToInfo(Type type) {
-    if (auto blockScaledTy = dyn_cast<tosa::BlockScaledType>(type)) {
-      Type valueTy = blockScaledTy.getValueType();
-      Type scaleTy = blockScaledTy.getScaleType();
-      return {ComplianceTypeKind::BlockScaled, tosa::getBitWidth(valueTy),
-              getComplianceTypeKind(valueTy), getComplianceTypeKind(scaleTy),
-              blockScaledTy.getBlockShape()};
-    }
-    return {getComplianceTypeKind(type), tosa::getBitWidth(type)};
-  }
-
-  TypeInfo convertValueToInfo(Value value) {
-    return convertTypeToInfo(getElementTypeOrSelf(value.getType()));
-  }
-
-  LogicalResult populatationDispatch(Operation *op);
-
-  // Add input operands and output results to the profile type info list
-  LogicalResult populateProfileInfo(ValueRange operands, ValueRange results);
-
-  // Base
-  template <typename T>
-  LogicalResult populateProfileInfo(T op) {
-    return op->emitOpError()
-           << "profile requirement for this op has not been defined";
-  }
-  // For conv2d, conv3d, transpose_conv2d, and depthwise_conv2d.
-  template <typename T>
-  LogicalResult populateProfileInfoConv(T op);
-
-  // For reshape, slice, tile, and transpose.
-  template <typename T>
-  LogicalResult populateProfileInfoDataLayout(T op);
-
-private:
-  SmallVector<TypeInfo> tyInfo;
-};
-
 //===----------------------------------------------------------------------===//
 // Tosa Profile And Extension Compliance Checker
 //===----------------------------------------------------------------------===//
@@ -179,55 +21,13 @@ class TosaProfileCompliance {
 public:
   explicit TosaProfileCompliance();
 
-  // Accessor of the compliance info for an operation.
-  template <typename T>
-  ArrayRef<OpComplianceInfo<T>> getProfileComplianceInfos(StringRef opName) {
-    // Only profile and extension compliance info are provided.
-    return {};
-  }
-
   // Verify if the operation is allowed to be executed in the given target
   // environment.
   LogicalResult checkProfile(Operation *op, const tosa::TargetEnv &targetEnv);
   LogicalResult checkExtension(Operation *op, const tosa::TargetEnv &targetEnv);
   LogicalResult checkInvalid(Operation *op);
-
-  template <typename T>
-  LogicalResult checkProfileOrExtension(Operation *op,
-                                        const tosa::TargetEnv &targetEnv);
-
-  bool isSameTypeInfo(TypeInfo a, TypeInfo b) {
-    if (a.typeKind == ComplianceTypeKind::Unknown ||
-        b.typeKind == ComplianceTypeKind::Unknown)
-      return false;
-    return a.typeKind == b.typeKind && a.bitWidth == b.bitWidth &&
-           a.valueTypeKind == b.valueTypeKind &&
-           a.scaleTypeKind == b.scaleTypeKind && a.blockShape == b.blockShape;
-  }
-
-  // Find the required profiles or extensions from the compliance info according
-  // to the operand type combination.
-  template <typename T>
-  SmallVector<OpComplianceInfo<T>>
-  findMatchedEntries(Operation *op, ArrayRef<OpComplianceInfo<T>> compInfo);
-
-  // Debug utilites.
-  template <typename T>
-  SmallVector<StringRef> stringifyProfile(ArrayRef<T> profiles);
-
-  template <typename T>
-  SmallVector<StringRef>
-  stringifyProfile(const SmallVector<ArrayRef<T>> &profileSet);
-
-  static llvm::SmallString<32> stringifyTypeInfo(const TypeInfo &typeInfo);
-
-private:
-  template <typename T>
-  FailureOr<SmallVector<OpComplianceInfo<T>>>
-  getOperatorMatchedEntries(Operation *op);
 };
-
-}  // namespace tosa
-}  // namespace mlir
+} // namespace tosa
+} // namespace mlir
 
 #endif // MLIR_DIALECT_TOSA_TRANSFORMS_TOSAPROFILECOMPILANCE_H
diff --git a/mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp b/mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
index a082b71fec3cb5..c9466c2232c5f9 100644
--- a/mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
+++ b/mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
@@ -7,15 +7,93 @@
 //===----------------------------------------------------------------------===//
 
 #include "mlir/Dialect/Tosa/IR/TosaProfileCompliance.h"
+
+#include <cstdint>
+#include <optional>
+#include <string>
+#include <type_traits>
+#include <utility>
+
+#include "mlir/IR/TypeUtilities.h"
+#include "llvm/ADT/ArrayRef.h"
 #include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/SmallString.h"
+#include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/StringExtras.h"
-#include "llvm/Support/Compiler.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/raw_ostream.h"
 
 using namespace mlir;
 using namespace mlir::tosa;
 
 namespace {
+//===----------------------------------------------------------------------===//
+// Type Compliance Definition
+//===----------------------------------------------------------------------===//
+
+enum class ComplianceTypeKind : uint8_t {
+  None = 0,
+  Integer,
+  BFloat16,
+  Float16,
+  Float32,
+  Float8E4M3FN,
+  Float8E5M2,
+  Float6E2M3FN,
+  Float6E3M2FN,
+  Float4E2M1FN,
+  Float8E8M0FNU,
+  MxInt8,
+  BlockScaled,
+  Unknown,
+};
+
+struct TypeInfo {
+  constexpr TypeInfo(ComplianceTypeKind typeKind, uint32_t bitWidth)
+      : typeKind(typeKind), bitWidth(bitWidth),
+        valueTypeKind(ComplianceTypeKind::None),
+        scaleTypeKind(ComplianceTypeKind::None), blockShape(std::nullopt) {}
+
+  constexpr TypeInfo(ComplianceTypeKind typeKind, uint32_t bitWidth,
+                     ComplianceTypeKind valueTypeKind,
+                     ComplianceTypeKind scaleTypeKind,
+                     tosa::BlockShape blockShape)
+      : typeKind(typeKind), bitWidth(bitWidth), valueTypeKind(valueTypeKind),
+        scaleTypeKind(scaleTypeKind), blockShape(blockShape) {}
+
+  ComplianceTypeKind typeKind;
+  uint32_t bitWidth;
+  ComplianceTypeKind valueTypeKind;
+  ComplianceTypeKind scaleTypeKind;
+  std::optional<tosa::BlockShape> blockShape;
+};
+
+enum CheckCondition {
+  invalid,
+  // Valid when any of the profile (extension) requirement is meet.
+  anyOf,
+  // Valid when all of the profile (extension) requirement are meet.
+  allOf
+};
+
+using VersionedTypeInfo = std::pair<ArrayRef<TypeInfo>, SpecificationVersion>;
+
+template <typename T>
+struct OpComplianceInfo {
+  // Certain operations require multiple modes enabled.
+  // e.g. cast bf16 to fp8e4m3 requires EXT-BF16 and EXT-FP8E4M3.
+  ArrayRef<T> mode;
+  ArrayRef<VersionedTypeInfo> operandTypeInfoSet;
+  CheckCondition condition = CheckCondition::anyOf;
+};
+
+template <typename T>
+struct OpComplianceEntry {
+  llvm::StringLiteral opName;
+  ArrayRef<OpComplianceInfo<T>> infos;
+};
+
 constexpr TypeInfo boolT = {ComplianceTypeKind::Integer, 1};
 constexpr TypeInfo i4T = {ComplianceTypeKind::Integer, 4};
 constexpr TypeInfo i8T = {ComplianceTypeKind::Integer, 8};
@@ -74,33 +152,108 @@ lookupComplianceInfos(ArrayRef<OpComplianceEntry<T>> table, StringRef opName) {
     return it->infos;
   return {};
 }
-} // namespace
 
-TosaProfileCompliance::TosaProfileCompliance() {
-  assert(llvm::is_sorted(kProfileComplianceTable,
-                         [](const auto &a, const auto &b) {
-                           return a.opName < b.opName;
-                         }) &&
-         "profile compliance table must be sorted by opName");
-  assert(llvm::is_sorted(kExtensionComplianceTable,
-                         [](const auto &a, const auto &b) {
-                           return a.opName < b.opName;
-                         }) &&
-         "extension compliance table must be sorted by opName");
+// Accessor of the compliance info for an operation.
+template <typename T>
+ArrayRef<OpComplianceInfo<T>> getProfileComplianceInfos(StringRef opName) {
+  // Only profile and extension compliance info are provided.
+  return {};
 }
 
 template <>
 ArrayRef<OpComplianceInfo<Profile>>
-TosaProfileCompliance::getProfileComplianceInfos(StringRef opName) {
+getProfileComplianceInfos(StringRef opName) {
   return lookupComplianceInfos<Profile>(kProfileComplianceTable, opName);
 }
 
 template <>
 ArrayRef<OpComplianceInfo<Extension>>
-TosaProfileCompliance::getProfileComplianceInfos(StringRef opName) {
+getProfileComplianceInfos(StringRef opName) {
   return lookupComplianceInfos<Extension>(kExtensionComplianceTable, opName);
 }
 
+//===----------------------------------------------------------------------===//
+// Tosa Profile And Extension Information Depot
+//===----------------------------------------------------------------------===//
+
+class ProfileInfoDepot {
+public:
+  ProfileInfoDepot(Operation *op) {
+    if (failed(populatationDispatch(op)))
+      op->emitOpError() << "fail to populate the profile info\n";
+  }
+
+  void addType(Type t) { tyInfo.push_back(convertTypeToInfo(t)); }
+  void addValue(Value v) { tyInfo.push_back(convertValueToInfo(v)); }
+  SmallVector<TypeInfo> getInfo() { return tyInfo; }
+
+private:
+  static ComplianceTypeKind getComplianceTypeKind(Type type) {
+    if (isa<IntegerType>(type))
+      return ComplianceTypeKind::Integer;
+    if (isa<BFloat16Type>(type))
+      return ComplianceTypeKind::BFloat16;
+    if (isa<Float16Type>(type))
+      return ComplianceTypeKind::Float16;
+    if (isa<Float32Type>(type))
+      return ComplianceTypeKind::Float32;
+    if (isa<Float8E4M3FNType>(type))
+      return ComplianceTypeKind::Float8E4M3FN;
+    if (isa<Float8E5M2Type>(type))
+      return ComplianceTypeKind::Float8E5M2;
+    if (isa<Float6E2M3FNType>(type))
+      return ComplianceTypeKind::Float6E2M3FN;
+    if (isa<Float6E3M2FNType>(type))
+      return ComplianceTypeKind::Float6E3M2FN;
+    if (isa<Float4E2M1FNType>(type))
+      return ComplianceTypeKind::Float4E2M1FN;
+    if (isa<Float8E8M0FNUType>(type))
+      return ComplianceTypeKind::Float8E8M0FNU;
+    if (isa<tosa::mxint8Type>(type))
+      return ComplianceTypeKind::MxInt8;
+    if (isa<tosa::BlockScaledType>(type))
+      return ComplianceTypeKind::BlockScaled;
+    return ComplianceTypeKind::Unknown;
+  }
+
+  TypeInfo convertTypeToInfo(Type type) {
+    if (auto blockScaledTy = dyn_cast<tosa::BlockScaledType>(type)) {
+      Type valueTy = blockScaledTy.getValueType();
+      Type scaleTy = blockScaledTy.getScaleType();
+      return {ComplianceTypeKind::BlockScaled, tosa::getBitWidth(valueTy),
+              getComplianceTypeKind(valueTy), getComplianceTypeKind(scaleTy),
+              blockScaledTy.getBlockShape()};
+    }
+    return {getComplianceTypeKind(type), tosa::getBitWidth(type)};
+  }
+
+  TypeInfo convertValueToInfo(Value value) {
+    return convertTypeToInfo(getElementTypeOrSelf(value.getType()));
+  }
+
+  LogicalResult populatationDispatch(Operation *op);
+
+  // Add input operands and output results to the profile type info list
+  LogicalResult populateProfileInfo(ValueRange operands, ValueRange results);
+
+  // Base
+  template <typename T>
+  LogicalResult populateProfileInfo(T op) {
+    return op->emitOpError()
+           << "profile requirement for this op has not been defined";
+  }
+  // For conv2d, conv3d, transpose_conv2d, and depthwise_conv2d.
+  template <typename T>
+  LogicalResult populateProfileInfoConv(T op);
+
+  // For reshape, slice, tile, and transpose.
+  template <typename T>
+  LogicalResult populateProfileInfoDataLayout(T op);
+
+private:
+  SmallVector<TypeInfo> tyInfo;
+};
+
 // Base populating function
 LogicalResult ProfileInfoDepot::populateProfileInfo(ValueRange operands,
                                                     ValueRange results) {
@@ -469,9 +622,78 @@ LogicalResult ProfileInfoDepot::populatationDispatch(Operation *op) {
 // Tosa Profile And Extension Compliance Checker
 //===----------------------------------------------------------------------===//
 
+bool isSameTypeInfo(TypeInfo a, TypeInfo b) {
+  if (a.typeKind == ComplianceTypeKind::Unknown ||
+      b.typeKind == ComplianceTypeKind::Unknown)
+    return false;
+  return a.typeKind == b.typeKind && a.bitWidth == b.bitWidth &&
+         a.valueTypeKind == b.valueTypeKind &&
+         a.scaleTypeKind == b.scaleTypeKind && a.blockShape == b.blockShape;
+}
+
+// Find the profiles or extensions requirement according to the signature of
+// type of the operand list.
+template <typename T>
+SmallVector<OpComplianceInfo<T>>
+findMatchedEntries(Operation *op, ArrayRef<OpComplianceInfo<T>> compInfo) {
+  assert(compInfo.size() != 0 &&
+         "profile-based compliance information is empty");
+
+  // If there are no type constraints for the given operation, return the
+  // matched entries directly so required profile/extension information can
+  // be checked
+  SmallVector<OpComplianceInfo<T>> matchedInfos;
+  if (llvm::all_of(compInfo, [&matchedInfos](const OpComplianceInfo<T> &info) {
+        if (info.operandTypeInfoSet.empty()) {
+          matchedInfos.push_back(info);
+          return true;
+        }
+        return false;
+      }))
+    return matchedInfos;
+
+  // Get the type information of the operator we're trying to match
+  ProfileInfoDepot depot(op);
+  SmallVector<TypeInfo> present = depot.getInfo();
+  if (present.size() == 0)
+    return {};
+
+  // Compare 'present' against known type signatures in the compliance metadata
+  for (size_t i = 0; i < compInfo.size(); i++) {
+    ArrayRef<VersionedTypeInfo> sets = compInfo[i].operandTypeInfoSet;
+    for (const VersionedTypeInfo &set : sets) {
+      ArrayRef<TypeInfo> expected = set.first;
+      // Tensor-list operators can legitimately have multiple valid signatures
+      // with different operand/result counts, e.g. data-only and data+scale
+      // forms. Treat those as non-matches instead of asserting.
+      if (present.size() != expected.size())
+        continue;
+
+      bool isFound = true;
+      // Compare the type signature between the given operation and the
+      // compliance metadata.
+      for (size_t j = 0; j < expected.size(); j++) {
+        if (!isSameTypeInfo(present[j], expected[j])) {
+          // Verify the next mode set from the list.
+          isFound = false;
+          break;
+        }
+      }
+
+      if (isFound == true) {
+        matchedInfos.push_back(OpComplianceInfo<T>{
+            compInfo[i].mode, ArrayRef<VersionedTypeInfo>(&set, 1),
+            compInfo[i].condition});
+      }
+    }
+  }
+
+  return matchedInfos;
+}
+
 template <typename T>
 FailureOr<SmallVector<OpComplianceInfo<T>>>
-TosaProfileCompliance::getOperatorMatchedEntries(Operation *op) {
+getOperatorMatchedEntries(Operation *op) {
   ArrayRef<OpComplianceInfo<T>> compInfo =
       getProfileComplianceInfos<T>(op->getName().getStringRef());
   if (compInfo.empty())
@@ -480,9 +702,68 @@ TosaProfileCompliance::getOperatorMatchedEntries(Operation *op) {
   return findMatchedEntries<T>(op, compInfo);
 }
 
+// Debug utilites.
 template <typename T>
-LogicalResult TosaProfileCompliance::checkProfileOrExtension(
-    Operation *op, const tosa::TargetEnv &targetEnv) {
+SmallVector<StringRef> stringifyProfile(ArrayRef<T> profiles) {
+  SmallVector<StringRef> debugStrings;
+  for (const auto &profile : profiles) {
+    if constexpr (std::is_same_v<T, Profile>)
+      debugStrings.push_back(tosa::stringifyProfile(profile));
+    else
+      debugStrings.push_back(tosa::stringifyExtension(profile));
+  }
+  return debugStrings;
+}
+
+llvm::SmallString<32> stringifyTypeInfo(const TypeInfo &typeInfo) {
+  const auto stringifyScalarTypeInfo =
+      [](const TypeInfo &typeInfo) -> llvm::SmallString<32> {
+    switch (typeInfo.typeKind) {
+    case ComplianceTypeKind::Integer:
+      return {"i" + llvm::utostr(typeInfo.bitWidth)};
+    case ComplianceTypeKind::Float16:
+      return {"f16"};
+    case ComplianceTypeKind::Float32:
+      return {"f32"};
+    case ComplianceTypeKind::BFloat16:
+      return {"bf16"};
+    case ComplianceTypeKind::Float8E4M3FN:
+      return {"fp8e4m3"};
+    case ComplianceTypeKind::Float8E5M2:
+      return {"fp8e5m2"};
+    case ComplianceTypeKind::Float6E2M3FN:
+      return {"fp6e2m3"};
+    case ComplianceTypeKind::Float6E3M2FN:
+      return {"fp6e3m2"};
+    case ComplianceTypeKind::Float4E2M1FN:
+      return {"fp4e2m1"};
+    case ComplianceTypeKind::Float8E8M0FNU:
+      return {"fp8e8m0"};
+    case ComplianceTypeKind::MxInt8:
+      return {"mxint8"};
+    default:
+      llvm_unreachable("unknown type");
+    }
+  };
+
+  if (typeInfo.typeKind == ComplianceTypeKind::BlockScaled) {
+    TypeInfo valueInfo = {typeInfo.valueTypeKind, typeInfo.bitWidth};
+    TypeInfo scaleInfo = {typeInfo.scaleTypeKind, 8};
+    llvm::SmallString<32> result;
+    llvm::raw_svector_ostream os(result);
+    os << "bs"
+       << tosa::BlockShapeAttr::getBlockShapeValue(typeInfo.blockShape.value())
+       << "_" << stringifyScalarTypeInfo(scaleInfo) << "_"
+       << stringifyScalarTypeInfo(valueInfo);
+    return result;
+  }
+
+  return stringifyScalarTypeInfo(typeInfo);
+}
+
+template <typename T>
+LogicalResult checkProfileOrExtension(Operation *op,
+                                      const tosa::TargetEnv &targetEnv) {
   const auto maybeOpEntries = getOperatorMatchedEntries<T>(op);
   if (failed(maybeOpEntries))
     return success();
@@ -554,6 +835,20 @@ LogicalResult TosaProfileCompliance::checkProfileOrExtension(
 
   return op->emitOpError(message);
 }
+} // namespace
+
+TosaProfileCompliance::TosaProfileCompliance() {
+  assert(llvm::is_sorted(kProfileComplianceTable,
+                         [](const auto &a, const auto &b) {
+                           return a.opName < b.opName;
+                         }) &&
+         "profile compliance table must be sorted by opName");
+  assert(llvm::is_sorted(kExtensionComplianceTable,
+                         [](const auto &a, const auto &b) {
+                           return a.opName < b.opName;
+                         }) &&
+         "extension compliance table must be sorted by opName");
+}
 
 LogicalResult
 TosaProfileCompliance::checkProfile(Operation *op,
@@ -628,137 +923,3 @@ LogicalResult TosaProfileCompliance::checkInvalid(Operation *op) {
 
   return success();
 }
-
-// Find the profiles or extensions requirement according to the signature of
-// type of the operand list.
-template <typename T>
-SmallVector<OpComplianceInfo<T>> TosaProfileCompliance::findMatchedEntries(
-    Operation *op, ArrayRef<OpComplianceInfo<T>> compInfo) {
-  assert(compInfo.size() != 0 &&
-         "profile-based compliance information is empty");
-
-  // If there are no type constraints for the given operation, return the
-  // matched entries directly so required profile/extension information can
-  // be checked
-  SmallVector<OpComplianceInfo<T>> matchedInfos;
-  if (llvm::all_of(compInfo, [&matchedInfos](const OpComplianceInfo<T> &info) {
-        if (info.operandTypeInfoSet.empty()) {
-          matchedInfos.push_back(info);
-          return true;
-        }
-        return false;
-      }))
-    return matchedInfos;
-
-  // Get the type information of the operator we're trying to match
-  ProfileInfoDepot depot(op);
-  SmallVector<TypeInfo> present = depot.getInfo();
-  if (present.size() == 0)
-    return {};
-
-  // Compare 'present' against known type signatures in the compliance metadata
-  for (size_t i = 0; i < compInfo.size(); i++) {
-    ArrayRef<VersionedTypeInfo> sets = compInfo[i].operandTypeInfoSet;
-    for (const VersionedTypeInfo &set : sets) {
-      ArrayRef<TypeInfo> expected = set.first;
-      // Tensor-list operators can legitimately have multiple valid signatures
-      // with different operand/result counts, e.g. data-only and data+scale
-      // forms. Treat those as non-matches instead of asserting.
-      if (present.size() != expected.size())
-        continue;
-
-      bool isFound = true;
-      // Compare the type signature between the given operation and the
-      // compliance metadata.
-      for (size_t j = 0; j < expected.size(); j++) {
-        if (!isSameTypeInfo(present[j], expected[j])) {
-          // Verify the next mode set from the list.
-          isFound = false;
-          break;
-        }
-      }
-
-      if (isFound == true) {
-        matchedInfos.push_back(OpComplianceInfo<T>{
-            compInfo[i].mode, ArrayRef<VersionedTypeInfo>(&set, 1),
-            compInfo[i].condition});
-      }
-    }
-  }
-
-  return matchedInfos;
-}
-
-// Debug utilites.
-template <typename T>
-SmallVector<StringRef>
-TosaProfileCompliance::stringifyProfile(ArrayRef<T> profiles) {
-  SmallVector<StringRef> debugStrings;
-  for (const auto &profile : profiles) {
-    if constexpr (std::is_same_v<T, Profile>)
-      debugStrings.push_back(tosa::stringifyProfile(profile));
-    else
-      debugStrings.push_back(tosa::stringifyExtension(profile));
-  }
-  return debugStrings;
-}
-
-template <typename T>
-SmallVector<StringRef> TosaProfileCompliance::stringifyProfile(
-    const SmallVector<ArrayRef<T>> &profileSet) {
-  SmallVector<StringRef> debugStrings;
-
-  for (const auto &profiles : profileSet) {
-    auto tempStrings = stringifyProfile<T>(profiles);
-    llvm::append_range(debugStrings, tempStrings);
-  }
-
-  return debugStrings;
-}
-
-llvm::SmallString<32>
-TosaProfileCompliance::stringifyTypeInfo(const TypeInfo &typeInfo) {
-  const auto stringifyScalarTypeInfo =
-      [](const TypeInfo &typeInfo) -> llvm::SmallString<32> {
-    switch (typeInfo.typeKind) {
-    case ComplianceTypeKind::Integer:
-      return {"i" + llvm::utostr(typeInfo.bitWidth)};
-    case ComplianceTypeKind::Float16:
-      return {"f16"};
-    case ComplianceTypeKind::Float32:
-      return {"f32"};
-    case ComplianceTypeKind::BFloat16:
-      return {"bf16"};
-    case ComplianceTypeKind::Float8E4M3FN:
-      return {"fp8e4m3"};
-    case ComplianceTypeKind::Float8E5M2:
-      return {"fp8e5m2"};
-    case ComplianceTypeKind::Float6E2M3FN:
-      return {"fp6e2m3"};
-    case ComplianceTypeKind::Float6E3M2FN:
-      return {"fp6e3m2"};
-    case ComplianceTypeKind::Float4E2M1FN:
-      return {"fp4e2m1"};
-    case ComplianceTypeKind::Float8E8M0FNU:
-      return {"fp8e8m0"};
-    case ComplianceTypeKind::MxInt8:
-      return {"mxint8"};
-    default:
-      llvm_unreachable("unknown type");
-    }
-  };
-
-  if (typeInfo.typeKind == ComplianceTypeKind::BlockScaled) {
-    TypeInfo valueInfo = {typeInfo.valueTypeKind, typeInfo.bitWidth};
-    TypeInfo scaleInfo = {typeInfo.scaleTypeKind, 8};
-    llvm::SmallString<32> result;
-    llvm::raw_svector_ostream os(result);
-    os << "bs"
-       << tosa::BlockShapeAttr::getBlockShapeValue(typeInfo.blockShape.value())
-       << "_" << stringifyScalarTypeInfo(scaleInfo) << "_"
-       << stringifyScalarTypeInfo(valueInfo);
-    return result;
-  }
-
-  return stringifyScalarTypeInfo(typeInfo);
-}



More information about the Mlir-commits mailing list