From 8c5559c134abcf432ec59db842404087b9906c1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Petit?= Date: Wed, 20 May 2026 16:39:51 +0100 Subject: [PATCH 16/26] Add ArmExperimentalMLOperations instruction set (#602) Change-Id: Id5e6f036ed0a1653ea9817c1d5b193c58403fe1d Signed-off-by: Kevin Petit --- BUILD.bazel | 6 +++++ .../unified1/ArmExperimentalMLOperations.h | 26 +++++++++++++++++++ ...rm.experimental-ml-operations.grammar.json | 25 ++++++++++++++++++ tools/buildHeaders/bin/makeExtinstHeaders.py | 1 + 4 files changed, 58 insertions(+) create mode 100644 include/spirv/unified1/ArmExperimentalMLOperations.h create mode 100644 include/spirv/unified1/extinst.arm.experimental-ml-operations.grammar.json diff --git a/BUILD.bazel b/BUILD.bazel index 61ef7e8..db21aeb 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -143,6 +143,11 @@ filegroup( srcs = ["include/spirv/unified1/extinst.nonsemantic.graph.debuginfo.grammar.json"], ) +filegroup( + name = "spirv_ext_inst_arm_experimental_ml_operations", + srcs = ["include/spirv/unified1/extinst.arm.experimental-ml-operations.grammar.json"], +) + cc_library( name = "spirv_common_headers", hdrs = [ @@ -152,6 +157,7 @@ cc_library( "include/spirv/1.1/OpenCL.std.h", "include/spirv/1.2/GLSL.std.450.h", "include/spirv/1.2/OpenCL.std.h", + "include/spirv/unified1/ArmExperimentalMLOperations.h", "include/spirv/unified1/ArmMotionEngine.100.h", "include/spirv/unified1/GLSL.std.450.h", "include/spirv/unified1/NonSemanticClspvReflection.h", diff --git a/include/spirv/unified1/ArmExperimentalMLOperations.h b/include/spirv/unified1/ArmExperimentalMLOperations.h new file mode 100644 index 0000000..64b0e70 --- /dev/null +++ b/include/spirv/unified1/ArmExperimentalMLOperations.h @@ -0,0 +1,26 @@ +// SPDX-FileCopyrightText: 2025 Arm Ltd. +// SPDX-License-Identifier: MIT + +#ifndef SPIRV_UNIFIED1_ArmExperimentalMLOperations_H_ +#define SPIRV_UNIFIED1_ArmExperimentalMLOperations_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +enum { + ArmExperimentalMLOperationsRevision = 1, + ArmExperimentalMLOperationsRevision_BitWidthPadding = 0x7fffffff +}; + +enum ArmExperimentalMLOperationsInstructions { + ArmExperimentalMLOperationsCALL = 0, + ArmExperimentalMLOperationsInstructionsMax = 0x7fffffff +}; + + +#ifdef __cplusplus +} +#endif + +#endif // SPIRV_UNIFIED1_ArmExperimentalMLOperations_H_ diff --git a/include/spirv/unified1/extinst.arm.experimental-ml-operations.grammar.json b/include/spirv/unified1/extinst.arm.experimental-ml-operations.grammar.json new file mode 100644 index 0000000..169dfe9 --- /dev/null +++ b/include/spirv/unified1/extinst.arm.experimental-ml-operations.grammar.json @@ -0,0 +1,25 @@ +{ + "copyright": [ + "SPDX-FileCopyrightText: 2025 Arm Ltd.", + "SPDX-License-Identifier: MIT" + ], + "revision": 1, + "instructions": [ + { + "opname": "CALL", + "opcode": 0, + "operands": [ + { + "kind": "LiteralInteger", + "name": "Opcode" + }, + { + "kind": "IdRef", + "quantifier": "*", + "name": "Parameters" + } + ] + } + ], + "operand_kinds": [] +} diff --git a/tools/buildHeaders/bin/makeExtinstHeaders.py b/tools/buildHeaders/bin/makeExtinstHeaders.py index 1c9fbfd..863fca1 100755 --- a/tools/buildHeaders/bin/makeExtinstHeaders.py +++ b/tools/buildHeaders/bin/makeExtinstHeaders.py @@ -32,3 +32,4 @@ mk_extinst('NonSemanticVkspReflection', 'extinst.nonsemantic.vkspreflection.gram mk_extinst('TOSA', 'extinst.tosa.001000.1.grammar.json', 'TOSA.001000.1') mk_extinst('ArmMotionEngine', 'extinst.arm.motion-engine.100.grammar.json', 'ArmMotionEngine.100') mk_extinst('NonSemanticGraphDebugInfo', 'extinst.nonsemantic.graph.debuginfo.grammar.json') +mk_extinst('ArmExperimentalMLOperations', 'extinst.arm.experimental-ml-operations.grammar.json') -- 2.54.0