#1145357 spirv-tools: spirv-val does not fully handle OpCooperativeMatrixReduceEXT

Package:
spirv-tools
Source:
spirv-tools
Description:
API and commands for processing SPIR-V modules
Submitter:
Jeroen Diederen
Date:
2026-08-24 13:11:02 UTC
Severity:
normal
Tags:
#1145357#5
Date:
2026-08-24 13:09:43 UTC
From:
To:
Dear Maintainer,

SPIRV-Tools 2026.3~rc1 does not fully handle the renamed
OpCooperativeMatrixReduceEXT instruction.

This became apparent when building SPIRV-Tools against a newer upstream
version of SPIR-V Headers. The newer headers define opcode 5366 as:

    OpCooperativeMatrixReduceEXT = 5366

with OpCooperativeMatrixReduceNV retained as an alias.

By contrast, the Debian-installed spirv-headers package
(1.6.1+1.4.357.0-1) still exposes the opcode primarily under the
OpCooperativeMatrixReduceNV name.

Parts of SPIRV-Tools 2026.3~rc1 still refer to opcode 5366 using the
obsolete OpCooperativeMatrixReduceNV name. This becomes a problem when
using the newer upstream SPIR-V Headers.

The issue is tracked upstream as SPIRV-Tools issue #6850:

https://github.com/KhronosGroup/SPIRV-Tools/issues/6850

I have attached a patch which updates the affected SPIRV-Tools code
from OpCooperativeMatrixReduceNV to OpCooperativeMatrixReduceEXT and
updates the corresponding validator regression tests.

The patch updates:

    source/operand.cpp
    source/opt/ir_context.cpp
    source/val/validate_arithmetics.cpp
    source/val/validate_function.cpp
    test/val/val_arithmetics_test.cpp

The patch is not architecture-specific.

Regards,
Jeroen Diederen