Skip to content

Commit cdb9c7a

Browse files
kpetdnovillo
authored andcommitted
Update validation in SPV_ARM_cooperative_matrix_layouts (KhronosGroup#372)
- Added validation rules for Stride - Simplify rules that constrain matrix sizes Change-Id: I55b9b8eb489cf934484a17723b56251e23edb837 Signed-off-by: Kevin Petit <[email protected]>
1 parent ab2f529 commit cdb9c7a

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

extensions/ARM/SPV_ARM_cooperative_matrix_layouts.asciidoc

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Contributors
2121
Notice
2222
------
2323

24-
Copyright (c) 2023 Arm Ltd.
24+
Copyright (c) 2023-2025 Arm Ltd.
2525

2626
Status
2727
------
@@ -33,8 +33,8 @@ Version
3333

3434
[width="40%",cols="25,25"]
3535
|========================================
36-
| Last Modified Date | 2024-05-29
37-
| Revision | 1
36+
| Last Modified Date | 2025-11-10
37+
| Revision | 2
3838
|========================================
3939

4040
Dependencies
@@ -72,23 +72,22 @@ Validation Rules
7272

7373
* If the 'MemoryLayout' provided to *OpCooperativeMatrixLoadKHR* or
7474
*OpCooperativeMatrixStoreKHR* is *RowBlockedInterleavedARM*
75-
or *ColumnBlockedInterleavedARM* then their 'Result Type', or
76-
'Object', respectively, must be a cooperative matrix type whose
77-
'Rows' is a multiple of 4 and whose 'Columns' is a multiple of
78-
16 / `sizeof`('Component Type').
75+
or *ColumnBlockedInterleavedARM* then 'Stride' must be present,
76+
come from a constant instruction, and be equal to 1, 2, or 4.
7977

8078
* If the 'MemoryLayout' provided to *OpCooperativeMatrixLoadKHR* or
8179
*OpCooperativeMatrixStoreKHR* is *RowBlockedInterleavedARM*
8280
then their 'Result Type', or 'Object', respectively, must be a cooperative
83-
matrix type whose 'Columns' is a multiple of 16 / `sizeof`('Component Type')
84-
multiplied by the 'Stride' operand to the *OpCooperativeMatrixLoadKHR* or
85-
*OpCooperativeMatrixStoreKHR* instruction.
81+
matrix type whose 'Rows' is a multiple of 4 and whose 'Columns' is a multiple
82+
of 16 / `sizeof`('Component Type') multiplied by the 'Stride' operand to the
83+
*OpCooperativeMatrixLoadKHR* or *OpCooperativeMatrixStoreKHR* instruction.
8684

8785
* If the 'MemoryLayout' provided to *OpCooperativeMatrixLoadKHR* or
8886
*OpCooperativeMatrixStoreKHR* is *ColumnBlockedInterleavedARM*
8987
then their 'Result Type', or 'Object', respectively, must be a cooperative
9088
matrix type whose 'Rows' is a multiple of 4 times the 'Stride' operand to
91-
the *OpCooperativeMatrixLoadKHR* or *OpCooperativeMatrixStoreKHR* instruction.
89+
the *OpCooperativeMatrixLoadKHR* or *OpCooperativeMatrixStoreKHR* instruction
90+
and whose 'Columns' is a multiple of 16 / `sizeof`('Component Type').
9291

9392
Capabilities
9493
~~~~~~~~~~~~
@@ -147,5 +146,6 @@ Revision History
147146
[options="header"]
148147
|========================================
149148
|Rev|Date|Author|Changes
149+
|2|2025-11-10|Kevin Petit|Clarify and extend validation rules
150150
|1|2024-05-29|Kevin Petit|Initial revision
151151
|========================================

0 commit comments

Comments
 (0)