[tint] Mark col_major parameter as @const for subgroupMatrix builtins
This reflects a requirement from SPIR-V.
Bug: 348702031
Change-Id: I179b14233a9467872e455e7ac72ea77657c5afb7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/225114
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: James Price <jrprice@google.com>
diff --git a/src/tint/lang/core/core.def b/src/tint/lang/core/core.def
index 0173f4b..128ba1e 100644
--- a/src/tint/lang/core/core.def
+++ b/src/tint/lang/core/core.def
@@ -771,8 +771,8 @@
@must_use @stage("fragment", "compute") implicit(T: fiu32_f16) fn quadSwapDiagonal(e: T) -> T
@must_use @stage("fragment", "compute") implicit(N: num, T: fiu32_f16) fn quadSwapDiagonal(e: vec<N, T>) -> vec<N, T>
-@stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num, AC: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<workgroup_or_storage, array<S, AC>, readable>, u32, bool, u32) -> T
-@stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num, AC: num) fn subgroupMatrixStore(ptr<workgroup_or_storage, array<S, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, bool, u32)
+@stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num, AC: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<workgroup_or_storage, array<S, AC>, readable>, u32, @const bool, u32) -> T
+@stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num, AC: num) fn subgroupMatrixStore(ptr<workgroup_or_storage, array<S, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, u32)
@must_use @stage("compute") implicit(S: subgroup_matrix_elements, C: num, R: num, K: num) fn subgroupMatrixMultiply(
subgroup_matrix<subgroup_matrix_kind_left, S, K, R>,
subgroup_matrix<subgroup_matrix_kind_right, S, C, K>)
diff --git a/src/tint/lang/core/intrinsic/data.cc b/src/tint/lang/core/intrinsic/data.cc
index add1127..c9f4251 100644
--- a/src/tint/lang/core/intrinsic/data.cc
+++ b/src/tint/lang/core/intrinsic/data.cc
@@ -11288,13 +11288,13 @@
},
{
/* [145] */
- /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<S, AC>, readable>, u32, bool, u32) -> T */
+ /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<S, AC>, readable>, u32, @const bool, u32) -> T */
/* num overloads */ 1,
/* overloads */ OverloadIndex(479),
},
{
/* [146] */
- /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<S, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, bool, u32) */
+ /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<S, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, u32) */
/* num overloads */ 1,
/* overloads */ OverloadIndex(480),
},
diff --git a/src/tint/lang/wgsl/intrinsic/data.cc b/src/tint/lang/wgsl/intrinsic/data.cc
index 5b66a63..f183944 100644
--- a/src/tint/lang/wgsl/intrinsic/data.cc
+++ b/src/tint/lang/wgsl/intrinsic/data.cc
@@ -12679,13 +12679,13 @@
},
{
/* [147] */
- /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<S, AC>, readable>, u32, bool, u32) -> T */
+ /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<S, AC>, readable>, u32, @const bool, u32) -> T */
/* num overloads */ 1,
/* overloads */ OverloadIndex(555),
},
{
/* [148] */
- /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<S, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, bool, u32) */
+ /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr<workgroup_or_storage, array<S, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, u32) */
/* num overloads */ 1,
/* overloads */ OverloadIndex(556),
},
diff --git a/src/tint/lang/wgsl/wgsl.def b/src/tint/lang/wgsl/wgsl.def
index 7d88d93..fae6c4b 100644
--- a/src/tint/lang/wgsl/wgsl.def
+++ b/src/tint/lang/wgsl/wgsl.def
@@ -680,8 +680,8 @@
@must_use @stage("fragment", "compute") implicit(T: fiu32_f16) fn quadSwapDiagonal(e: T) -> T
@must_use @stage("fragment", "compute") implicit(N: num, T: fiu32_f16) fn quadSwapDiagonal(e: vec<N, T>) -> vec<N, T>
-@must_use @stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num, AC: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<workgroup_or_storage, array<S, AC>, readable>, u32, bool, u32) -> T
-@stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num, AC: num) fn subgroupMatrixStore(ptr<workgroup_or_storage, array<S, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, bool, u32)
+@must_use @stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num, AC: num) fn subgroupMatrixLoad<T: subgroup_matrix<K, S, C, R> >(ptr<workgroup_or_storage, array<S, AC>, readable>, u32, @const bool, u32) -> T
+@stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num, AC: num) fn subgroupMatrixStore(ptr<workgroup_or_storage, array<S, AC>, writable>, u32, subgroup_matrix<K, S, C, R>, @const bool, u32)
@must_use @stage("compute") implicit(S: subgroup_matrix_elements, C: num, R: num, K: num) fn subgroupMatrixMultiply(
subgroup_matrix<subgroup_matrix_kind_left, S, K, R>,
subgroup_matrix<subgroup_matrix_kind_right, S, C, K>)
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl
new file mode 100644
index 0000000..d5b38d7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RW {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u32, 8, 8>>(ptr<storage, array<u32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, u32, 8, 8>
+fn subgroupMatrixLoad_01c615() -> subgroup_matrix_result<u32, 8, 8>{
+ var res: subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_01c615(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.msl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.wgsl
new file mode 100644
index 0000000..f8ea9cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/01c615.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_01c615() -> subgroup_matrix_result<u32, 8, 8> {
+ var res : subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_01c615(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl
deleted file mode 100644
index 56c7fa4..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-var<workgroup> arg_0: array<u32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, u32, 8, 8>>(ptr<workgroup, array<u32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, u32, 8, 8>
-fn subgroupMatrixLoad_020574() -> subgroup_matrix_right<u32, 8, 8>{
- var res: subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_020574(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.wgsl
deleted file mode 100644
index 0776ad7..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.wgsl
+++ /dev/null
@@ -1,15 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixLoad_020574() -> subgroup_matrix_right<u32, 8, 8> {
- var res : subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&(arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_020574(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl
deleted file mode 100644
index 610a0f6d..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RW {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, i32, 8, 8>>(ptr<storage, array<i32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, i32, 8, 8>
-fn subgroupMatrixLoad_0206e3() -> subgroup_matrix_right<i32, 8, 8>{
- var res: subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_0206e3(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.wgsl
deleted file mode 100644
index 06ac302..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_0206e3() -> subgroup_matrix_right<i32, 8, 8> {
- var res : subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_0206e3(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl
deleted file mode 100644
index 6446366..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RO {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, f32, 8, 8>>(ptr<storage, array<f32, 64>, read>, u32, bool, u32) -> subgroup_matrix<left, f32, 8, 8>
-fn subgroupMatrixLoad_02e63c() -> subgroup_matrix_left<f32, 8, 8>{
- var res: subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_02e63c(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.msl
deleted file mode 100644
index 1ca3d63..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RO {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- const device SB_RO* sb_ro;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_02e63c(tint_module_vars_struct tint_module_vars) {
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
- simdgroup_store(subgroupMatrixLoad_02e63c(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.wgsl
deleted file mode 100644
index 486efc6..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RO {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_02e63c() -> subgroup_matrix_left<f32, 8, 8> {
- var res : subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_02e63c(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl
deleted file mode 100644
index 13d5ea0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-var<workgroup> arg_0: array<f16, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, f16, 8, 8>>(ptr<workgroup, array<f16, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, f16, 8, 8>
-fn subgroupMatrixLoad_09fb8d() -> subgroup_matrix_right<f16, 8, 8>{
- var res: subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_09fb8d(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.msl
deleted file mode 100644
index 633093c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.msl
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- threadgroup tint_array<half, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<half, 64> tint_symbol;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_09fb8d(tint_module_vars_struct tint_module_vars) {
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v_1 = 0u;
- v_1 = tint_local_index;
- while(true) {
- uint const v_2 = v_1;
- if ((v_2 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_2] = 0.0h;
- {
- v_1 = (v_2 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- simdgroup_store(subgroupMatrixLoad_09fb8d(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.wgsl
deleted file mode 100644
index 9d65116..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixLoad_09fb8d() -> subgroup_matrix_right<f16, 8, 8> {
- var res : subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&(arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_09fb8d(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl
new file mode 100644
index 0000000..97687d7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl
@@ -0,0 +1,56 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+var<workgroup> arg_0: array<f16, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, f16, 8, 8>>(ptr<workgroup, array<f16, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, f16, 8, 8>
+fn subgroupMatrixLoad_0c84dd() -> subgroup_matrix_left<f16, 8, 8>{
+ var res: subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_0c84dd(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.msl
new file mode 100644
index 0000000..db9bcc8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.msl
@@ -0,0 +1,55 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_0c84dd(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0h;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_0c84dd(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.wgsl
new file mode 100644
index 0000000..26add10
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0c84dd.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixLoad_0c84dd() -> subgroup_matrix_left<f16, 8, 8> {
+ var res : subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&(arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_0c84dd(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl
new file mode 100644
index 0000000..2bf8ef3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl
@@ -0,0 +1,59 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RW {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, f16, 8, 8>>(ptr<storage, array<f16, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, f16, 8, 8>
+fn subgroupMatrixLoad_0d1b2e() -> subgroup_matrix_left<f16, 8, 8>{
+ var res: subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_0d1b2e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.msl
new file mode 100644
index 0000000..754e453
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.msl
@@ -0,0 +1,35 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_0d1b2e(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_0d1b2e(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.wgsl
new file mode 100644
index 0000000..fa72f26
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d1b2e.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_0d1b2e() -> subgroup_matrix_left<f16, 8, 8> {
+ var res : subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_0d1b2e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl
new file mode 100644
index 0000000..0c27b77
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RO {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u32, 8, 8>>(ptr<storage, array<u32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<left, u32, 8, 8>
+fn subgroupMatrixLoad_0d6e8e() -> subgroup_matrix_left<u32, 8, 8>{
+ var res: subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_0d6e8e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.msl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.wgsl
new file mode 100644
index 0000000..8ab39cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0d6e8e.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_0d6e8e() -> subgroup_matrix_left<u32, 8, 8> {
+ var res : subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_0d6e8e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl
new file mode 100644
index 0000000..badb0e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl
@@ -0,0 +1,59 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RO {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, f16, 8, 8>>(ptr<storage, array<f16, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<right, f16, 8, 8>
+fn subgroupMatrixLoad_0decf8() -> subgroup_matrix_right<f16, 8, 8>{
+ var res: subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_0decf8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.msl
new file mode 100644
index 0000000..034d36a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.msl
@@ -0,0 +1,35 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RO {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_0decf8(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_0decf8(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.wgsl
new file mode 100644
index 0000000..123bdf3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/0decf8.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RO {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_0decf8() -> subgroup_matrix_right<f16, 8, 8> {
+ var res : subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_0decf8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl
new file mode 100644
index 0000000..9d989e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl
@@ -0,0 +1,59 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RO {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, f16, 8, 8>>(ptr<storage, array<f16, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<result, f16, 8, 8>
+fn subgroupMatrixLoad_1042d8() -> subgroup_matrix_result<f16, 8, 8>{
+ var res: subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_1042d8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.msl
new file mode 100644
index 0000000..cc79a7b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.msl
@@ -0,0 +1,35 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RO {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_1042d8(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_1042d8(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.wgsl
new file mode 100644
index 0000000..21e79dd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1042d8.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RO {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_1042d8() -> subgroup_matrix_result<f16, 8, 8> {
+ var res : subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_1042d8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl
new file mode 100644
index 0000000..d1c27b0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl
@@ -0,0 +1,59 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RO {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, f16, 8, 8>>(ptr<storage, array<f16, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<left, f16, 8, 8>
+fn subgroupMatrixLoad_11c1db() -> subgroup_matrix_left<f16, 8, 8>{
+ var res: subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_11c1db(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.msl
new file mode 100644
index 0000000..5269a73
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.msl
@@ -0,0 +1,35 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RO {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_11c1db(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_11c1db(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.wgsl
new file mode 100644
index 0000000..1e02778
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/11c1db.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RO {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_11c1db() -> subgroup_matrix_left<f16, 8, 8> {
+ var res : subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_11c1db(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl
new file mode 100644
index 0000000..635074e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RW {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, f32, 8, 8>>(ptr<storage, array<f32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, f32, 8, 8>
+fn subgroupMatrixLoad_133af8() -> subgroup_matrix_left<f32, 8, 8>{
+ var res: subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_133af8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.msl
new file mode 100644
index 0000000..fe7c1d3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.msl
@@ -0,0 +1,35 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_133af8(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_133af8(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.wgsl
new file mode 100644
index 0000000..8aba5a7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/133af8.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_133af8() -> subgroup_matrix_left<f32, 8, 8> {
+ var res : subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_133af8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl
new file mode 100644
index 0000000..7d6056e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl
@@ -0,0 +1,56 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+var<workgroup> arg_0: array<f16, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, f16, 8, 8>>(ptr<workgroup, array<f16, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, f16, 8, 8>
+fn subgroupMatrixLoad_139ad7() -> subgroup_matrix_right<f16, 8, 8>{
+ var res: subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_139ad7(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.msl
new file mode 100644
index 0000000..df78f7c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.msl
@@ -0,0 +1,55 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_139ad7(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0h;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_139ad7(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.wgsl
new file mode 100644
index 0000000..b84667d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/139ad7.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixLoad_139ad7() -> subgroup_matrix_right<f16, 8, 8> {
+ var res : subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&(arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_139ad7(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl
new file mode 100644
index 0000000..2bc1a13
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl
@@ -0,0 +1,59 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RW {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, f16, 8, 8>>(ptr<storage, array<f16, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, f16, 8, 8>
+fn subgroupMatrixLoad_159294() -> subgroup_matrix_result<f16, 8, 8>{
+ var res: subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_159294(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.msl
new file mode 100644
index 0000000..a050ea0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.msl
@@ -0,0 +1,35 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_159294(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_159294(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.wgsl
new file mode 100644
index 0000000..af02c04
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/159294.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_159294() -> subgroup_matrix_result<f16, 8, 8> {
+ var res : subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_159294(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl
new file mode 100644
index 0000000..ff8955f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RW {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u32, 8, 8>>(ptr<storage, array<u32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, u32, 8, 8>
+fn subgroupMatrixLoad_17a50d() -> subgroup_matrix_left<u32, 8, 8>{
+ var res: subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_17a50d(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.msl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.wgsl
new file mode 100644
index 0000000..4b4129b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/17a50d.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_17a50d() -> subgroup_matrix_left<u32, 8, 8> {
+ var res : subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_17a50d(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl
deleted file mode 100644
index abd33f4..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RO {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, f32, 8, 8>>(ptr<storage, array<f32, 64>, read>, u32, bool, u32) -> subgroup_matrix<result, f32, 8, 8>
-fn subgroupMatrixLoad_1fe5a3() -> subgroup_matrix_result<f32, 8, 8>{
- var res: subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_1fe5a3(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.msl
deleted file mode 100644
index c1dbe66..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RO {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- const device SB_RO* sb_ro;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_1fe5a3(tint_module_vars_struct tint_module_vars) {
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
- simdgroup_store(subgroupMatrixLoad_1fe5a3(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.wgsl
deleted file mode 100644
index 13c567f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/1fe5a3.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RO {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_1fe5a3() -> subgroup_matrix_result<f32, 8, 8> {
- var res : subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_1fe5a3(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl
deleted file mode 100644
index 488ee3e..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RW {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, i32, 8, 8>>(ptr<storage, array<i32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, i32, 8, 8>
-fn subgroupMatrixLoad_278648() -> subgroup_matrix_result<i32, 8, 8>{
- var res: subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_278648(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.wgsl
deleted file mode 100644
index 2c718b4..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_278648() -> subgroup_matrix_result<i32, 8, 8> {
- var res : subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_278648(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl
deleted file mode 100644
index e086f78..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RO {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, f16, 8, 8>>(ptr<storage, array<f16, 64>, read>, u32, bool, u32) -> subgroup_matrix<right, f16, 8, 8>
-fn subgroupMatrixLoad_2de7aa() -> subgroup_matrix_right<f16, 8, 8>{
- var res: subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_2de7aa(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.msl
deleted file mode 100644
index 46cffbb..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RO {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- const device SB_RO* sb_ro;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_2de7aa(tint_module_vars_struct tint_module_vars) {
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
- simdgroup_store(subgroupMatrixLoad_2de7aa(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.wgsl
deleted file mode 100644
index 53e1f96..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/2de7aa.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RO {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_2de7aa() -> subgroup_matrix_right<f16, 8, 8> {
- var res : subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_2de7aa(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl
deleted file mode 100644
index ad3a729..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-var<workgroup> arg_0: array<u32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, u32, 8, 8>>(ptr<workgroup, array<u32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, u32, 8, 8>
-fn subgroupMatrixLoad_37b47b() -> subgroup_matrix_result<u32, 8, 8>{
- var res: subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_37b47b(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.wgsl
deleted file mode 100644
index 5c68f57..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.wgsl
+++ /dev/null
@@ -1,15 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixLoad_37b47b() -> subgroup_matrix_result<u32, 8, 8> {
- var res : subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&(arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_37b47b(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl
new file mode 100644
index 0000000..b76ec00
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+var<workgroup> arg_0: array<f32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, f32, 8, 8>>(ptr<workgroup, array<f32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, f32, 8, 8>
+fn subgroupMatrixLoad_37b559() -> subgroup_matrix_right<f32, 8, 8>{
+ var res: subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_37b559(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.msl
new file mode 100644
index 0000000..266afe8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.msl
@@ -0,0 +1,55 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_37b559(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0f;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_37b559(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.wgsl
new file mode 100644
index 0000000..fa14c56
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b559.wgsl.expected.wgsl
@@ -0,0 +1,15 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixLoad_37b559() -> subgroup_matrix_right<f32, 8, 8> {
+ var res : subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&(arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_37b559(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl
new file mode 100644
index 0000000..3890290
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl
@@ -0,0 +1,59 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RW {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, f16, 8, 8>>(ptr<storage, array<f16, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, f16, 8, 8>
+fn subgroupMatrixLoad_3a046e() -> subgroup_matrix_right<f16, 8, 8>{
+ var res: subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_3a046e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.msl
new file mode 100644
index 0000000..dd19b7a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.msl
@@ -0,0 +1,35 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_3a046e(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_3a046e(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.wgsl
new file mode 100644
index 0000000..ead8fa0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/3a046e.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_3a046e() -> subgroup_matrix_right<f16, 8, 8> {
+ var res : subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_3a046e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl
deleted file mode 100644
index d0562b4..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RW {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, u32, 8, 8>>(ptr<storage, array<u32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, u32, 8, 8>
-fn subgroupMatrixLoad_417fe3() -> subgroup_matrix_left<u32, 8, 8>{
- var res: subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_417fe3(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.wgsl
deleted file mode 100644
index d8a9fdb..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/417fe3.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_417fe3() -> subgroup_matrix_left<u32, 8, 8> {
- var res : subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_417fe3(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl
deleted file mode 100644
index c0b9703..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RW {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, f16, 8, 8>>(ptr<storage, array<f16, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, f16, 8, 8>
-fn subgroupMatrixLoad_4220ee() -> subgroup_matrix_right<f16, 8, 8>{
- var res: subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_4220ee(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.msl
deleted file mode 100644
index 37e270f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- device SB_RW* sb_rw;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_4220ee(tint_module_vars_struct tint_module_vars) {
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
- simdgroup_store(subgroupMatrixLoad_4220ee(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.wgsl
deleted file mode 100644
index 57965f3..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_4220ee() -> subgroup_matrix_right<f16, 8, 8> {
- var res : subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_4220ee(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl
new file mode 100644
index 0000000..83fd0fa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0: array<i32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i32, 8, 8>>(ptr<workgroup, array<i32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, i32, 8, 8>
+fn subgroupMatrixLoad_4c307c() -> subgroup_matrix_result<i32, 8, 8>{
+ var res: subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_4c307c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.msl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/02e63c.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.wgsl
new file mode 100644
index 0000000..c19ef84
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4c307c.wgsl.expected.wgsl
@@ -0,0 +1,15 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixLoad_4c307c() -> subgroup_matrix_result<i32, 8, 8> {
+ var res : subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&(arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_4c307c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl
deleted file mode 100644
index 4092501..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-var<workgroup> arg_0: array<i32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, i32, 8, 8>>(ptr<workgroup, array<i32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, i32, 8, 8>
-fn subgroupMatrixLoad_4cda4c() -> subgroup_matrix_right<i32, 8, 8>{
- var res: subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_4cda4c(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.wgsl
deleted file mode 100644
index c289a5d..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4cda4c.wgsl.expected.wgsl
+++ /dev/null
@@ -1,15 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixLoad_4cda4c() -> subgroup_matrix_right<i32, 8, 8> {
- var res : subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&(arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_4cda4c(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl
deleted file mode 100644
index 466be88..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RO {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, f16, 8, 8>>(ptr<storage, array<f16, 64>, read>, u32, bool, u32) -> subgroup_matrix<left, f16, 8, 8>
-fn subgroupMatrixLoad_4d220f() -> subgroup_matrix_left<f16, 8, 8>{
- var res: subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_4d220f(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.msl
deleted file mode 100644
index 0e184d0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RO {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- const device SB_RO* sb_ro;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_4d220f(tint_module_vars_struct tint_module_vars) {
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
- simdgroup_store(subgroupMatrixLoad_4d220f(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.wgsl
deleted file mode 100644
index 07d27c2..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d220f.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RO {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_4d220f() -> subgroup_matrix_left<f16, 8, 8> {
- var res : subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_4d220f(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl
new file mode 100644
index 0000000..52d7878
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RO {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u32, 8, 8>>(ptr<storage, array<u32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<right, u32, 8, 8>
+fn subgroupMatrixLoad_4d29e6() -> subgroup_matrix_right<u32, 8, 8>{
+ var res: subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_4d29e6(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.msl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.wgsl
new file mode 100644
index 0000000..eaa78f7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/4d29e6.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_4d29e6() -> subgroup_matrix_right<u32, 8, 8> {
+ var res : subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_4d29e6(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl
deleted file mode 100644
index 6b4b586..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RO {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, i32, 8, 8>>(ptr<storage, array<i32, 64>, read>, u32, bool, u32) -> subgroup_matrix<right, i32, 8, 8>
-fn subgroupMatrixLoad_50de21() -> subgroup_matrix_right<i32, 8, 8>{
- var res: subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_50de21(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.wgsl
deleted file mode 100644
index 29a02c1..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RO {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_50de21() -> subgroup_matrix_right<i32, 8, 8> {
- var res : subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_50de21(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl
deleted file mode 100644
index d34451c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RW {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, f16, 8, 8>>(ptr<storage, array<f16, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, f16, 8, 8>
-fn subgroupMatrixLoad_574821() -> subgroup_matrix_left<f16, 8, 8>{
- var res: subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_574821(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.msl
deleted file mode 100644
index f30c55d..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- device SB_RW* sb_rw;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_574821(tint_module_vars_struct tint_module_vars) {
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
- simdgroup_store(subgroupMatrixLoad_574821(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.wgsl
deleted file mode 100644
index e316be7..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/574821.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_574821() -> subgroup_matrix_left<f16, 8, 8> {
- var res : subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_574821(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl
new file mode 100644
index 0000000..ef5b0de
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RW {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u32, 8, 8>>(ptr<storage, array<u32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, u32, 8, 8>
+fn subgroupMatrixLoad_58d7e2() -> subgroup_matrix_right<u32, 8, 8>{
+ var res: subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_58d7e2(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.msl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.wgsl
new file mode 100644
index 0000000..5c7140a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/58d7e2.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_58d7e2() -> subgroup_matrix_right<u32, 8, 8> {
+ var res : subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_58d7e2(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl
new file mode 100644
index 0000000..8a0ee9f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RW {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i32, 8, 8>>(ptr<storage, array<i32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, i32, 8, 8>
+fn subgroupMatrixLoad_5aaf3b() -> subgroup_matrix_result<i32, 8, 8>{
+ var res: subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_5aaf3b(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.msl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/37b47b.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.wgsl
new file mode 100644
index 0000000..994a54e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/5aaf3b.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_5aaf3b() -> subgroup_matrix_result<i32, 8, 8> {
+ var res : subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_5aaf3b(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl
new file mode 100644
index 0000000..8470a42
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0: array<u32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u32, 8, 8>>(ptr<workgroup, array<u32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, u32, 8, 8>
+fn subgroupMatrixLoad_641635() -> subgroup_matrix_result<u32, 8, 8>{
+ var res: subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_641635(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.msl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.wgsl
new file mode 100644
index 0000000..386a304
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/641635.wgsl.expected.wgsl
@@ -0,0 +1,15 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixLoad_641635() -> subgroup_matrix_result<u32, 8, 8> {
+ var res : subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&(arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_641635(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl
new file mode 100644
index 0000000..8b0eadd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0: array<i32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i32, 8, 8>>(ptr<workgroup, array<i32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, i32, 8, 8>
+fn subgroupMatrixLoad_67af87() -> subgroup_matrix_left<i32, 8, 8>{
+ var res: subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_67af87(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.msl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.wgsl
new file mode 100644
index 0000000..48933cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/67af87.wgsl.expected.wgsl
@@ -0,0 +1,15 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixLoad_67af87() -> subgroup_matrix_left<i32, 8, 8> {
+ var res : subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&(arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_67af87(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl
deleted file mode 100644
index 4aa33b2..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-var<workgroup> arg_0: array<f16, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, f16, 8, 8>>(ptr<workgroup, array<f16, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, f16, 8, 8>
-fn subgroupMatrixLoad_6b52bc() -> subgroup_matrix_result<f16, 8, 8>{
- var res: subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_6b52bc(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.msl
deleted file mode 100644
index 3400a4f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.msl
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- threadgroup tint_array<half, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<half, 64> tint_symbol;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_6b52bc(tint_module_vars_struct tint_module_vars) {
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v_1 = 0u;
- v_1 = tint_local_index;
- while(true) {
- uint const v_2 = v_1;
- if ((v_2 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_2] = 0.0h;
- {
- v_1 = (v_2 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- simdgroup_store(subgroupMatrixLoad_6b52bc(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.wgsl
deleted file mode 100644
index 9adffa8..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/6b52bc.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixLoad_6b52bc() -> subgroup_matrix_result<f16, 8, 8> {
- var res : subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&(arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_6b52bc(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl
deleted file mode 100644
index 789e393..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RW {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, i32, 8, 8>>(ptr<storage, array<i32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, i32, 8, 8>
-fn subgroupMatrixLoad_7a2615() -> subgroup_matrix_left<i32, 8, 8>{
- var res: subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_7a2615(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.wgsl
deleted file mode 100644
index d92789a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_7a2615() -> subgroup_matrix_left<i32, 8, 8> {
- var res : subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_7a2615(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl
deleted file mode 100644
index fbb87a0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RO {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, f16, 8, 8>>(ptr<storage, array<f16, 64>, read>, u32, bool, u32) -> subgroup_matrix<result, f16, 8, 8>
-fn subgroupMatrixLoad_7a4ca5() -> subgroup_matrix_result<f16, 8, 8>{
- var res: subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_7a4ca5(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.msl
deleted file mode 100644
index 010d7f4..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RO {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- const device SB_RO* sb_ro;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_7a4ca5(tint_module_vars_struct tint_module_vars) {
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
- simdgroup_store(subgroupMatrixLoad_7a4ca5(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.wgsl
deleted file mode 100644
index 1d5d9c9..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RO {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_7a4ca5() -> subgroup_matrix_result<f16, 8, 8> {
- var res : subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_7a4ca5(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl
deleted file mode 100644
index 0544f18..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RO {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, i32, 8, 8>>(ptr<storage, array<i32, 64>, read>, u32, bool, u32) -> subgroup_matrix<result, i32, 8, 8>
-fn subgroupMatrixLoad_7b3d4e() -> subgroup_matrix_result<i32, 8, 8>{
- var res: subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_7b3d4e(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.wgsl
deleted file mode 100644
index f9629ba..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RO {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_7b3d4e() -> subgroup_matrix_result<i32, 8, 8> {
- var res : subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_7b3d4e(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl
new file mode 100644
index 0000000..827695b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RW {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i32, 8, 8>>(ptr<storage, array<i32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, i32, 8, 8>
+fn subgroupMatrixLoad_8145a5() -> subgroup_matrix_right<i32, 8, 8>{
+ var res: subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_8145a5(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a2615.wgsl.expected.msl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/7a4ca5.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.wgsl
new file mode 100644
index 0000000..b868336
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8145a5.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_8145a5() -> subgroup_matrix_right<i32, 8, 8> {
+ var res : subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_8145a5(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl
new file mode 100644
index 0000000..568d1d4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RO {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, f32, 8, 8>>(ptr<storage, array<f32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<right, f32, 8, 8>
+fn subgroupMatrixLoad_8403c3() -> subgroup_matrix_right<f32, 8, 8>{
+ var res: subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_8403c3(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.msl
new file mode 100644
index 0000000..a262e40
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.msl
@@ -0,0 +1,35 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RO {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_8403c3(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_8403c3(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.wgsl
new file mode 100644
index 0000000..6c5508e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8403c3.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_8403c3() -> subgroup_matrix_right<f32, 8, 8> {
+ var res : subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_8403c3(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl
new file mode 100644
index 0000000..4b4adda
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RO {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i32, 8, 8>>(ptr<storage, array<i32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<right, i32, 8, 8>
+fn subgroupMatrixLoad_8bd09e() -> subgroup_matrix_right<i32, 8, 8>{
+ var res: subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_8bd09e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.msl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.wgsl
new file mode 100644
index 0000000..d37e53a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bd09e.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_8bd09e() -> subgroup_matrix_right<i32, 8, 8> {
+ var res : subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_8bd09e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl
new file mode 100644
index 0000000..f4dfa18
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RW {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i32, 8, 8>>(ptr<storage, array<i32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, i32, 8, 8>
+fn subgroupMatrixLoad_8bf049() -> subgroup_matrix_left<i32, 8, 8>{
+ var res: subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_8bf049(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.msl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.wgsl
new file mode 100644
index 0000000..3839c3b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/8bf049.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_8bf049() -> subgroup_matrix_left<i32, 8, 8> {
+ var res : subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_8bf049(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl
deleted file mode 100644
index 0640c32..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RO {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, u32, 8, 8>>(ptr<storage, array<u32, 64>, read>, u32, bool, u32) -> subgroup_matrix<result, u32, 8, 8>
-fn subgroupMatrixLoad_931166() -> subgroup_matrix_result<u32, 8, 8>{
- var res: subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_931166(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.wgsl
deleted file mode 100644
index cb76d5c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/931166.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RO {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_931166() -> subgroup_matrix_result<u32, 8, 8> {
- var res : subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_931166(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl
new file mode 100644
index 0000000..c6adced
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0: array<u32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u32, 8, 8>>(ptr<workgroup, array<u32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, u32, 8, 8>
+fn subgroupMatrixLoad_93fa82() -> subgroup_matrix_right<u32, 8, 8>{
+ var res: subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_93fa82(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.msl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.wgsl
new file mode 100644
index 0000000..abd697d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/93fa82.wgsl.expected.wgsl
@@ -0,0 +1,15 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixLoad_93fa82() -> subgroup_matrix_right<u32, 8, 8> {
+ var res : subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&(arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_93fa82(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl
new file mode 100644
index 0000000..426114f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RO {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u32, 8, 8>>(ptr<storage, array<u32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<result, u32, 8, 8>
+fn subgroupMatrixLoad_943cd7() -> subgroup_matrix_result<u32, 8, 8>{
+ var res: subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_943cd7(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.msl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.wgsl
new file mode 100644
index 0000000..c626452
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/943cd7.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_943cd7() -> subgroup_matrix_result<u32, 8, 8> {
+ var res : subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_943cd7(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl
new file mode 100644
index 0000000..a54f902
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RW {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, f32, 8, 8>>(ptr<storage, array<f32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, f32, 8, 8>
+fn subgroupMatrixLoad_9c361d() -> subgroup_matrix_result<f32, 8, 8>{
+ var res: subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_9c361d(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.msl
new file mode 100644
index 0000000..4684b0e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.msl
@@ -0,0 +1,35 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_9c361d(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_9c361d(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/09fb8d.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.wgsl
new file mode 100644
index 0000000..8f7d3bf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9c361d.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_9c361d() -> subgroup_matrix_result<f32, 8, 8> {
+ var res : subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_9c361d(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl
new file mode 100644
index 0000000..1504bb5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RO {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, f32, 8, 8>>(ptr<storage, array<f32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<result, f32, 8, 8>
+fn subgroupMatrixLoad_9e19b3() -> subgroup_matrix_result<f32, 8, 8>{
+ var res: subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_9e19b3(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.msl
new file mode 100644
index 0000000..7c44a04
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.msl
@@ -0,0 +1,35 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RO {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_9e19b3(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_9e19b3(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/0206e3.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.wgsl
new file mode 100644
index 0000000..043e627
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/9e19b3.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_9e19b3() -> subgroup_matrix_result<f32, 8, 8> {
+ var res : subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_9e19b3(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl
deleted file mode 100644
index acadcfa..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RO {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, f32, 8, 8>>(ptr<storage, array<f32, 64>, read>, u32, bool, u32) -> subgroup_matrix<right, f32, 8, 8>
-fn subgroupMatrixLoad_a51ccf() -> subgroup_matrix_right<f32, 8, 8>{
- var res: subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_a51ccf(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.msl
deleted file mode 100644
index b5968d8..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RO {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- const device SB_RO* sb_ro;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_a51ccf(tint_module_vars_struct tint_module_vars) {
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
- simdgroup_store(subgroupMatrixLoad_a51ccf(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.wgsl
deleted file mode 100644
index 5ed1de1..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/a51ccf.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RO {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_a51ccf() -> subgroup_matrix_right<f32, 8, 8> {
- var res : subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_a51ccf(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl
new file mode 100644
index 0000000..1c252b1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RO {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i32, 8, 8>>(ptr<storage, array<i32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<left, i32, 8, 8>
+fn subgroupMatrixLoad_ac8eb2() -> subgroup_matrix_left<i32, 8, 8>{
+ var res: subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_ac8eb2(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.msl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.wgsl
new file mode 100644
index 0000000..af20316
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ac8eb2.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_ac8eb2() -> subgroup_matrix_left<i32, 8, 8> {
+ var res : subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_ac8eb2(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl
deleted file mode 100644
index cddab1c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-var<workgroup> arg_0: array<f32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, f32, 8, 8>>(ptr<workgroup, array<f32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, f32, 8, 8>
-fn subgroupMatrixLoad_af7dc4() -> subgroup_matrix_right<f32, 8, 8>{
- var res: subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_af7dc4(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.msl
deleted file mode 100644
index 832f0be..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.msl
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- threadgroup tint_array<float, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<float, 64> tint_symbol;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_af7dc4(tint_module_vars_struct tint_module_vars) {
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v_1 = 0u;
- v_1 = tint_local_index;
- while(true) {
- uint const v_2 = v_1;
- if ((v_2 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_2] = 0.0f;
- {
- v_1 = (v_2 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- simdgroup_store(subgroupMatrixLoad_af7dc4(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.wgsl
deleted file mode 100644
index ffdae24..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/af7dc4.wgsl.expected.wgsl
+++ /dev/null
@@ -1,15 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixLoad_af7dc4() -> subgroup_matrix_right<f32, 8, 8> {
- var res : subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&(arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_af7dc4(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl
deleted file mode 100644
index d420d7f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RW {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, u32, 8, 8>>(ptr<storage, array<u32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, u32, 8, 8>
-fn subgroupMatrixLoad_b07034() -> subgroup_matrix_result<u32, 8, 8>{
- var res: subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b07034(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.wgsl
deleted file mode 100644
index 05c9313..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_b07034() -> subgroup_matrix_result<u32, 8, 8> {
- var res : subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b07034(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl
new file mode 100644
index 0000000..8731939
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+var<workgroup> arg_0: array<f32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, f32, 8, 8>>(ptr<workgroup, array<f32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, f32, 8, 8>
+fn subgroupMatrixLoad_b16d34() -> subgroup_matrix_left<f32, 8, 8>{
+ var res: subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b16d34(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.msl
new file mode 100644
index 0000000..4458c21
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.msl
@@ -0,0 +1,55 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_b16d34(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0f;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_b16d34(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/b07034.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.wgsl
new file mode 100644
index 0000000..3bb35a3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b16d34.wgsl.expected.wgsl
@@ -0,0 +1,15 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixLoad_b16d34() -> subgroup_matrix_left<f32, 8, 8> {
+ var res : subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&(arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b16d34(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl
deleted file mode 100644
index a873e5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RW {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, f16, 8, 8>>(ptr<storage, array<f16, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, f16, 8, 8>
-fn subgroupMatrixLoad_b2c1cc() -> subgroup_matrix_result<f16, 8, 8>{
- var res: subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b2c1cc(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.msl
deleted file mode 100644
index debb4e5..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- device SB_RW* sb_rw;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_b2c1cc(tint_module_vars_struct tint_module_vars) {
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
- simdgroup_store(subgroupMatrixLoad_b2c1cc(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.wgsl
deleted file mode 100644
index 6ba9578..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b2c1cc.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_b2c1cc() -> subgroup_matrix_result<f16, 8, 8> {
- var res : subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b2c1cc(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl
new file mode 100644
index 0000000..c696331
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RO {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i32, 8, 8>>(ptr<storage, array<i32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<result, i32, 8, 8>
+fn subgroupMatrixLoad_b5c3c7() -> subgroup_matrix_result<i32, 8, 8>{
+ var res: subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b5c3c7(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.msl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.wgsl
new file mode 100644
index 0000000..727724c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b5c3c7.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_b5c3c7() -> subgroup_matrix_result<i32, 8, 8> {
+ var res : subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b5c3c7(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl
deleted file mode 100644
index bd5e662..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RW {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, u32, 8, 8>>(ptr<storage, array<u32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, u32, 8, 8>
-fn subgroupMatrixLoad_b69757() -> subgroup_matrix_right<u32, 8, 8>{
- var res: subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b69757(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.wgsl
deleted file mode 100644
index 66b5807..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b69757.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_b69757() -> subgroup_matrix_right<u32, 8, 8> {
- var res : subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b69757(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl
deleted file mode 100644
index f662056..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RO {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, u32, 8, 8>>(ptr<storage, array<u32, 64>, read>, u32, bool, u32) -> subgroup_matrix<right, u32, 8, 8>
-fn subgroupMatrixLoad_b73ceb() -> subgroup_matrix_right<u32, 8, 8>{
- var res: subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b73ceb(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.wgsl
deleted file mode 100644
index e99d253..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b73ceb.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RO {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_b73ceb() -> subgroup_matrix_right<u32, 8, 8> {
- var res : subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b73ceb(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl
new file mode 100644
index 0000000..c426a33
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RW {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, f32, 8, 8>>(ptr<storage, array<f32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, f32, 8, 8>
+fn subgroupMatrixLoad_b79c0e() -> subgroup_matrix_right<f32, 8, 8>{
+ var res: subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b79c0e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.msl
new file mode 100644
index 0000000..3a79571
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.msl
@@ -0,0 +1,35 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_b79c0e(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_b79c0e(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.wgsl
new file mode 100644
index 0000000..dc16693
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b79c0e.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_b79c0e() -> subgroup_matrix_right<f32, 8, 8> {
+ var res : subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b79c0e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl
deleted file mode 100644
index 1060ff6..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-var<workgroup> arg_0: array<f32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, f32, 8, 8>>(ptr<workgroup, array<f32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, f32, 8, 8>
-fn subgroupMatrixLoad_b85a36() -> subgroup_matrix_result<f32, 8, 8>{
- var res: subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b85a36(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.msl
deleted file mode 100644
index 358823f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.msl
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- threadgroup tint_array<float, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<float, 64> tint_symbol;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_b85a36(tint_module_vars_struct tint_module_vars) {
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v_1 = 0u;
- v_1 = tint_local_index;
- while(true) {
- uint const v_2 = v_1;
- if ((v_2 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_2] = 0.0f;
- {
- v_1 = (v_2 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- simdgroup_store(subgroupMatrixLoad_b85a36(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.wgsl
deleted file mode 100644
index 14be261..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/b85a36.wgsl.expected.wgsl
+++ /dev/null
@@ -1,15 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixLoad_b85a36() -> subgroup_matrix_result<f32, 8, 8> {
- var res : subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&(arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b85a36(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl
deleted file mode 100644
index a7f1ca8..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RO {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, u32, 8, 8>>(ptr<storage, array<u32, 64>, read>, u32, bool, u32) -> subgroup_matrix<left, u32, 8, 8>
-fn subgroupMatrixLoad_c2eba7() -> subgroup_matrix_left<u32, 8, 8>{
- var res: subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_c2eba7(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.wgsl
deleted file mode 100644
index 321b445..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c2eba7.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RO {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_c2eba7() -> subgroup_matrix_left<u32, 8, 8> {
- var res : subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_c2eba7(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl
new file mode 100644
index 0000000..60dcbc1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+var<workgroup> arg_0: array<f32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, f32, 8, 8>>(ptr<workgroup, array<f32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, f32, 8, 8>
+fn subgroupMatrixLoad_c857d1() -> subgroup_matrix_result<f32, 8, 8>{
+ var res: subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_c857d1(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.msl
new file mode 100644
index 0000000..2f89a95
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.msl
@@ -0,0 +1,55 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_c857d1(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0f;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_c857d1(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/50de21.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.wgsl
new file mode 100644
index 0000000..b99d74d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/c857d1.wgsl.expected.wgsl
@@ -0,0 +1,15 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixLoad_c857d1() -> subgroup_matrix_result<f32, 8, 8> {
+ var res : subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&(arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_c857d1(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl
deleted file mode 100644
index e016b95..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RW {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, f32, 8, 8>>(ptr<storage, array<f32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, f32, 8, 8>
-fn subgroupMatrixLoad_ccd48c() -> subgroup_matrix_result<f32, 8, 8>{
- var res: subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_ccd48c(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.msl
deleted file mode 100644
index 7ad6637..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- device SB_RW* sb_rw;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_ccd48c(tint_module_vars_struct tint_module_vars) {
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
- simdgroup_store(subgroupMatrixLoad_ccd48c(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.wgsl
deleted file mode 100644
index ed8e1a4..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccd48c.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_ccd48c() -> subgroup_matrix_result<f32, 8, 8> {
- var res : subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_ccd48c(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl
deleted file mode 100644
index 34a1497..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-var<workgroup> arg_0: array<u32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, u32, 8, 8>>(ptr<workgroup, array<u32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, u32, 8, 8>
-fn subgroupMatrixLoad_ccda83() -> subgroup_matrix_left<u32, 8, 8>{
- var res: subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_ccda83(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.wgsl
deleted file mode 100644
index 52f16e3..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ccda83.wgsl.expected.wgsl
+++ /dev/null
@@ -1,15 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixLoad_ccda83() -> subgroup_matrix_left<u32, 8, 8> {
- var res : subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&(arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_ccda83(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl
deleted file mode 100644
index cb81687..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RW {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, f32, 8, 8>>(ptr<storage, array<f32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, f32, 8, 8>
-fn subgroupMatrixLoad_d755c1() -> subgroup_matrix_right<f32, 8, 8>{
- var res: subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_d755c1(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.msl
deleted file mode 100644
index 40c6711..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- device SB_RW* sb_rw;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_d755c1(tint_module_vars_struct tint_module_vars) {
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
- simdgroup_store(subgroupMatrixLoad_d755c1(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.wgsl
deleted file mode 100644
index 02aae16..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/d755c1.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_d755c1() -> subgroup_matrix_right<f32, 8, 8> {
- var res : subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_d755c1(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl
deleted file mode 100644
index b09a98c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-var<workgroup> arg_0: array<i32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, i32, 8, 8>>(ptr<workgroup, array<i32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, i32, 8, 8>
-fn subgroupMatrixLoad_dd71df() -> subgroup_matrix_left<i32, 8, 8>{
- var res: subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_dd71df(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.wgsl
deleted file mode 100644
index c542e46..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/dd71df.wgsl.expected.wgsl
+++ /dev/null
@@ -1,15 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixLoad_dd71df() -> subgroup_matrix_left<i32, 8, 8> {
- var res : subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&(arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_dd71df(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl
deleted file mode 100644
index 820fd50..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RW {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, f32, 8, 8>>(ptr<storage, array<f32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, f32, 8, 8>
-fn subgroupMatrixLoad_e094aa() -> subgroup_matrix_left<f32, 8, 8>{
- var res: subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&sb_rw.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_e094aa(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.msl
deleted file mode 100644
index 1d6127f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- device SB_RW* sb_rw;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_e094aa(tint_module_vars_struct tint_module_vars) {
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
- simdgroup_store(subgroupMatrixLoad_e094aa(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.wgsl
deleted file mode 100644
index 8bbe138..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e094aa.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_e094aa() -> subgroup_matrix_left<f32, 8, 8> {
- var res : subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&(sb_rw.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_e094aa(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl
new file mode 100644
index 0000000..fa92cf6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RO {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, f32, 8, 8>>(ptr<storage, array<f32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<left, f32, 8, 8>
+fn subgroupMatrixLoad_e41808() -> subgroup_matrix_left<f32, 8, 8>{
+ var res: subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_e41808(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.msl
new file mode 100644
index 0000000..3ed3f74
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.msl
@@ -0,0 +1,35 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RO {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_e41808(tint_module_vars_struct tint_module_vars) {
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_e41808(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.wgsl
new file mode 100644
index 0000000..5970806
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e41808.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_e41808() -> subgroup_matrix_left<f32, 8, 8> {
+ var res : subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_e41808(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl
deleted file mode 100644
index f11eeba..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-var<workgroup> arg_0: array<f16, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, f16, 8, 8>>(ptr<workgroup, array<f16, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, f16, 8, 8>
-fn subgroupMatrixLoad_e4c5c8() -> subgroup_matrix_left<f16, 8, 8>{
- var res: subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_e4c5c8(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.msl
deleted file mode 100644
index a459d7a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.msl
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- threadgroup tint_array<half, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<half, 64> tint_symbol;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_e4c5c8(tint_module_vars_struct tint_module_vars) {
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v_1 = 0u;
- v_1 = tint_local_index;
- while(true) {
- uint const v_2 = v_1;
- if ((v_2 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_2] = 0.0h;
- {
- v_1 = (v_2 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- simdgroup_store(subgroupMatrixLoad_e4c5c8(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.wgsl
deleted file mode 100644
index 8ed1570..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/e4c5c8.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixLoad_e4c5c8() -> subgroup_matrix_left<f16, 8, 8> {
- var res : subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&(arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_e4c5c8(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl
new file mode 100644
index 0000000..d8e35d5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0: array<i32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i32, 8, 8>>(ptr<workgroup, array<i32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, i32, 8, 8>
+fn subgroupMatrixLoad_ea84a8() -> subgroup_matrix_right<i32, 8, 8>{
+ var res: subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_ea84a8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.msl
rename to test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/278648.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.wgsl
new file mode 100644
index 0000000..2fabf91
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/ea84a8.wgsl.expected.wgsl
@@ -0,0 +1,15 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixLoad_ea84a8() -> subgroup_matrix_right<i32, 8, 8> {
+ var res : subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&(arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_ea84a8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl
deleted file mode 100644
index f8d36dc..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RO {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, i32, 8, 8>>(ptr<storage, array<i32, 64>, read>, u32, bool, u32) -> subgroup_matrix<left, i32, 8, 8>
-fn subgroupMatrixLoad_f308b6() -> subgroup_matrix_left<i32, 8, 8>{
- var res: subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&sb_ro.arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_f308b6(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.wgsl
deleted file mode 100644
index 64b87ce..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f308b6.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RO {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_f308b6() -> subgroup_matrix_left<i32, 8, 8> {
- var res : subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&(sb_ro.arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_f308b6(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl
deleted file mode 100644
index ca0224e..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-var<workgroup> arg_0: array<f32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, f32, 8, 8>>(ptr<workgroup, array<f32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, f32, 8, 8>
-fn subgroupMatrixLoad_f4729e() -> subgroup_matrix_left<f32, 8, 8>{
- var res: subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_f4729e(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.msl
deleted file mode 100644
index bbe1476..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.msl
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- threadgroup tint_array<float, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<float, 64> tint_symbol;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_f4729e(tint_module_vars_struct tint_module_vars) {
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v_1 = 0u;
- v_1 = tint_local_index;
- while(true) {
- uint const v_2 = v_1;
- if ((v_2 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_2] = 0.0f;
- {
- v_1 = (v_2 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- simdgroup_store(subgroupMatrixLoad_f4729e(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.wgsl
deleted file mode 100644
index 71ea5ca..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f4729e.wgsl.expected.wgsl
+++ /dev/null
@@ -1,15 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixLoad_f4729e() -> subgroup_matrix_left<f32, 8, 8> {
- var res : subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&(arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_f4729e(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl
new file mode 100644
index 0000000..2e32a37
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0: array<u32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u32, 8, 8>>(ptr<workgroup, array<u32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, u32, 8, 8>
+fn subgroupMatrixLoad_f695fe() -> subgroup_matrix_left<u32, 8, 8>{
+ var res: subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_f695fe(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/7b3d4e.wgsl.expected.msl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.wgsl
new file mode 100644
index 0000000..41b0ec6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f695fe.wgsl.expected.wgsl
@@ -0,0 +1,15 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixLoad_f695fe() -> subgroup_matrix_left<u32, 8, 8> {
+ var res : subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&(arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_f695fe(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl
deleted file mode 100644
index 49fdd8d..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-var<workgroup> arg_0: array<i32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, i32, 8, 8>>(ptr<workgroup, array<i32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, i32, 8, 8>
-fn subgroupMatrixLoad_f99e9d() -> subgroup_matrix_result<i32, 8, 8>{
- var res: subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&arg_0, 1u, true, 1u);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_f99e9d(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.wgsl
deleted file mode 100644
index 3c8ab86..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixLoad/f99e9d.wgsl.expected.wgsl
+++ /dev/null
@@ -1,15 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixLoad_f99e9d() -> subgroup_matrix_result<i32, 8, 8> {
- var res : subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&(arg_0), 1u, true, 1u);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_f99e9d(), false, 64);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl
new file mode 100644
index 0000000..d599296
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl
@@ -0,0 +1,56 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+var<workgroup> arg_0: array<f16, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, f16, 8, 8>>(ptr<workgroup, array<f16, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, f16, 8, 8>
+fn subgroupMatrixLoad_fd7bd9() -> subgroup_matrix_result<f16, 8, 8>{
+ var res: subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&arg_0, 1u, true, 1u);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_fd7bd9(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.msl
new file mode 100644
index 0000000..5a1764c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.msl
@@ -0,0 +1,55 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_fd7bd9(tint_module_vars_struct tint_module_vars) {
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0h;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_fd7bd9(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixLoad/020574.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.wgsl
new file mode 100644
index 0000000..211b171
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixLoad/fd7bd9.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixLoad_fd7bd9() -> subgroup_matrix_result<f16, 8, 8> {
+ var res : subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&(arg_0), 1u, true, 1u);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_fd7bd9(), false, 64);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl
new file mode 100644
index 0000000..04ec1a5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl
@@ -0,0 +1,56 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+struct SB_RW {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<f16, 64>, read_write>, u32, subgroup_matrix<left, f16, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_0522d1() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_0522d1();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..aa2cd1c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,32 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_0522d1() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_0522d1();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl:51:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_left<f16, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1d83c52
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,32 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_0522d1() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_0522d1();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl:51:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_left<f16, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.msl
new file mode 100644
index 0000000..2249b06
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.msl
@@ -0,0 +1,31 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device SB_RW* sb_rw;
+};
+
+void subgroupMatrixStore_0522d1(tint_module_vars_struct tint_module_vars) {
+ simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+}
+
+kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
+ subgroupMatrixStore_0522d1(tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.wgsl
new file mode 100644
index 0000000..42c1f4b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/0522d1.wgsl.expected.wgsl
@@ -0,0 +1,17 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_0522d1() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_0522d1();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl
deleted file mode 100644
index 3dafc4d..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<u32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<u32, 64>, read_write>, u32, subgroup_matrix<result, u32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_09c565() {
- subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_09c565();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 94bf006..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_09c565() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_09c565();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<u32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 81ee149..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_09c565() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_09c565();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<u32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.wgsl
deleted file mode 100644
index 35f44d3..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.wgsl
+++ /dev/null
@@ -1,12 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_09c565() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_09c565();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl
deleted file mode 100644
index 8cf7a2a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-var<workgroup> arg_0: array<f16, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<f16, 64>, read_write>, u32, subgroup_matrix<result, f16, 8, 8>, bool, u32)
-fn subgroupMatrixStore_0d6927() {
- subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_0d6927();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 12038b3..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,23 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_0d6927() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_0d6927();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 001f785..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,23 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_0d6927() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_0d6927();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.msl
deleted file mode 100644
index 6c50c79..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.msl
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- threadgroup tint_array<half, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<half, 64> tint_symbol;
-};
-
-void subgroupMatrixStore_0d6927(tint_module_vars_struct tint_module_vars) {
- simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v = 0u;
- v = tint_local_index;
- while(true) {
- uint const v_1 = v;
- if ((v_1 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_1] = 0.0h;
- {
- v = (v_1 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- subgroupMatrixStore_0d6927(tint_module_vars);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.wgsl
deleted file mode 100644
index ca35a71..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.wgsl
+++ /dev/null
@@ -1,13 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_0d6927() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_0d6927();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl
new file mode 100644
index 0000000..590ef20
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl
@@ -0,0 +1,53 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+var<workgroup> arg_0: array<f16, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<f16, 64>, read_write>, u32, subgroup_matrix<result, f16, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_127fb7() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_127fb7();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..289d392
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,23 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_127fb7() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_127fb7();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..216312c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,23 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_127fb7() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_127fb7();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.msl
new file mode 100644
index 0000000..01a0c50
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.msl
@@ -0,0 +1,51 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+void subgroupMatrixStore_127fb7(tint_module_vars_struct tint_module_vars) {
+ simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v = 0u;
+ v = tint_local_index;
+ while(true) {
+ uint const v_1 = v;
+ if ((v_1 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_1] = 0.0h;
+ {
+ v = (v_1 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ subgroupMatrixStore_127fb7(tint_module_vars);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.wgsl
new file mode 100644
index 0000000..f6d7772
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/127fb7.wgsl.expected.wgsl
@@ -0,0 +1,13 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_127fb7() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_127fb7();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl
new file mode 100644
index 0000000..653320c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl
@@ -0,0 +1,56 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+struct SB_RW {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<f16, 64>, read_write>, u32, subgroup_matrix<result, f16, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_1466ba() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_1466ba();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..edcb227
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.dxc.hlsl
@@ -0,0 +1,32 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_1466ba() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_1466ba();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl:51:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_result<f16, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..04888e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.fxc.hlsl
@@ -0,0 +1,32 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_1466ba() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_1466ba();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl:51:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_result<f16, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.msl
new file mode 100644
index 0000000..5843312d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.msl
@@ -0,0 +1,31 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device SB_RW* sb_rw;
+};
+
+void subgroupMatrixStore_1466ba(tint_module_vars_struct tint_module_vars) {
+ simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+}
+
+kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
+ subgroupMatrixStore_1466ba(tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.wgsl
new file mode 100644
index 0000000..a2a1df6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/1466ba.wgsl.expected.wgsl
@@ -0,0 +1,17 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_1466ba() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_1466ba();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl
new file mode 100644
index 0000000..9ac5783
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<i32, 64>, read_write>, u32, subgroup_matrix<right, i32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_184580() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_184580();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a81b6a6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.dxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_184580() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_184580();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_right<i32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b0b40bc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.fxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_184580() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_184580();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_right<i32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.wgsl
new file mode 100644
index 0000000..94e0c46
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/184580.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_184580() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_184580();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl
new file mode 100644
index 0000000..353bca8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<f32, 64>, read_write>, u32, subgroup_matrix<left, f32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_197435() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_197435();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f212a40
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.dxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_197435() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_197435();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_left<f32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..221d19c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.fxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_197435() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_197435();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_left<f32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.msl
new file mode 100644
index 0000000..ad93a58
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.msl
@@ -0,0 +1,31 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device SB_RW* sb_rw;
+};
+
+void subgroupMatrixStore_197435(tint_module_vars_struct tint_module_vars) {
+ simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+}
+
+kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
+ subgroupMatrixStore_197435(tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.wgsl
new file mode 100644
index 0000000..de7ee41
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/197435.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_197435() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_197435();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl
deleted file mode 100644
index 85361b3..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<i32, 64>, read_write>, u32, subgroup_matrix<left, i32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_27338e() {
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_27338e();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 9239c6c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_27338e() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_27338e();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_left<i32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 61e6aeb..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_27338e() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_27338e();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_left<i32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.wgsl
deleted file mode 100644
index 5fd1c4c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_27338e() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_27338e();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl
new file mode 100644
index 0000000..0997392
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl
@@ -0,0 +1,51 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<u32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<u32, 64>, read_write>, u32, subgroup_matrix<right, u32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_2de0b1() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_2de0b1();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..89f2e3a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_2de0b1() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_2de0b1();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7d74fa3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_2de0b1() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_2de0b1();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.wgsl
new file mode 100644
index 0000000..214fb2f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/2de0b1.wgsl.expected.wgsl
@@ -0,0 +1,12 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_2de0b1() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_2de0b1();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl
deleted file mode 100644
index ffceaff..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<u32, 64>, read_write>, u32, subgroup_matrix<right, u32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_2e04bd() {
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_2e04bd();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 036728a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_2e04bd() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_2e04bd();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_right<u32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 8770b70..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_2e04bd() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_2e04bd();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_right<u32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.wgsl
deleted file mode 100644
index c5c5582..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/2e04bd.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_2e04bd() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_2e04bd();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl
deleted file mode 100644
index 799bcc1..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<i32, 64>, read_write>, u32, subgroup_matrix<right, i32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_3208c3() {
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_3208c3();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.dxc.hlsl
deleted file mode 100644
index baa6245..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_3208c3() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_3208c3();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_right<i32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 2e3901e..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_3208c3() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_3208c3();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_right<i32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.wgsl
deleted file mode 100644
index 6432eaa..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/3208c3.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_3208c3() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_3208c3();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl
deleted file mode 100644
index 2dd8857..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<i32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<i32, 64>, read_write>, u32, subgroup_matrix<right, i32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_321539() {
- subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_321539();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.dxc.hlsl
deleted file mode 100644
index b05c7a9..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_321539() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_321539();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<i32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e77bd0b..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_321539() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_321539();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<i32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.wgsl
deleted file mode 100644
index 45f019a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/321539.wgsl.expected.wgsl
+++ /dev/null
@@ -1,12 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_321539() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_321539();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl
new file mode 100644
index 0000000..b08156f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<f32, 64>, read_write>, u32, subgroup_matrix<right, f32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_3fcc0f() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_3fcc0f();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5e024dd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_3fcc0f() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_3fcc0f();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_right<f32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..bd05de3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_3fcc0f() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_3fcc0f();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_right<f32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.msl
new file mode 100644
index 0000000..a0cafc2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.msl
@@ -0,0 +1,31 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device SB_RW* sb_rw;
+};
+
+void subgroupMatrixStore_3fcc0f(tint_module_vars_struct tint_module_vars) {
+ simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+}
+
+kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
+ subgroupMatrixStore_3fcc0f(tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.wgsl
new file mode 100644
index 0000000..8b09b60
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/3fcc0f.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_3fcc0f() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_3fcc0f();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl
deleted file mode 100644
index f1a9d08..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<i32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<i32, 64>, read_write>, u32, subgroup_matrix<left, i32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_494f4e() {
- subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_494f4e();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 46a4bf9..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_494f4e() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_494f4e();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<i32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.fxc.hlsl
deleted file mode 100644
index b30e855..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_494f4e() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_494f4e();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<i32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.wgsl
deleted file mode 100644
index e3560d7..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/494f4e.wgsl.expected.wgsl
+++ /dev/null
@@ -1,12 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_494f4e() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_494f4e();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl
new file mode 100644
index 0000000..cb21179
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl
@@ -0,0 +1,51 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<f32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<f32, 64>, read_write>, u32, subgroup_matrix<right, f32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_49b25b() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_49b25b();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f784194
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_49b25b() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_49b25b();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5e37092
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_49b25b() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_49b25b();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.msl
new file mode 100644
index 0000000..15833ea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.msl
@@ -0,0 +1,51 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+void subgroupMatrixStore_49b25b(tint_module_vars_struct tint_module_vars) {
+ simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v = 0u;
+ v = tint_local_index;
+ while(true) {
+ uint const v_1 = v;
+ if ((v_1 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_1] = 0.0f;
+ {
+ v = (v_1 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ subgroupMatrixStore_49b25b(tint_module_vars);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.wgsl
new file mode 100644
index 0000000..7cdf8f0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/49b25b.wgsl.expected.wgsl
@@ -0,0 +1,12 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_49b25b() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_49b25b();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl
deleted file mode 100644
index 84059e4..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<i32, 64>, read_write>, u32, subgroup_matrix<result, i32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_5644c4() {
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_5644c4();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 64d8f5c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_5644c4() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_5644c4();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_result<i32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 829784e..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_5644c4() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_5644c4();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_result<i32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.wgsl
deleted file mode 100644
index 918ffab..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_5644c4() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_5644c4();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl
new file mode 100644
index 0000000..67f0883
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl
@@ -0,0 +1,51 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<i32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<i32, 64>, read_write>, u32, subgroup_matrix<right, i32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_5671e2() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5671e2();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..6d53a4b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_5671e2() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5671e2();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..010fa00
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_5671e2() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5671e2();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.wgsl
new file mode 100644
index 0000000..eb8846b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/5671e2.wgsl.expected.wgsl
@@ -0,0 +1,12 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_5671e2() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5671e2();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl
new file mode 100644
index 0000000..5199f54
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<u32, 64>, read_write>, u32, subgroup_matrix<right, u32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_57de92() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_57de92();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..657ce13
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.dxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_57de92() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_57de92();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_right<u32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..9aa18cd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.fxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_57de92() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_57de92();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_right<u32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.wgsl
new file mode 100644
index 0000000..dabd5d4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/57de92.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_57de92() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_57de92();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl
new file mode 100644
index 0000000..d6c8d79
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl
@@ -0,0 +1,51 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<u32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<u32, 64>, read_write>, u32, subgroup_matrix<left, u32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_5915fe() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5915fe();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..84a6bae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_5915fe() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5915fe();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1b2bdf2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_5915fe() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5915fe();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/27338e.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.wgsl
new file mode 100644
index 0000000..4c41dfe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/5915fe.wgsl.expected.wgsl
@@ -0,0 +1,12 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_5915fe() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5915fe();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl
deleted file mode 100644
index e3036ad..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<f32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<f32, 64>, read_write>, u32, subgroup_matrix<right, f32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_6dbaa2() {
- subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_6dbaa2();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 7b3b3e7..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_6dbaa2() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_6dbaa2();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<f32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.fxc.hlsl
deleted file mode 100644
index bc99f46..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_6dbaa2() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_6dbaa2();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<f32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.msl
deleted file mode 100644
index 0fa408e..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.msl
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- threadgroup tint_array<float, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<float, 64> tint_symbol;
-};
-
-void subgroupMatrixStore_6dbaa2(tint_module_vars_struct tint_module_vars) {
- simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v = 0u;
- v = tint_local_index;
- while(true) {
- uint const v_1 = v;
- if ((v_1 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_1] = 0.0f;
- {
- v = (v_1 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- subgroupMatrixStore_6dbaa2(tint_module_vars);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.wgsl
deleted file mode 100644
index cdef136..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.wgsl
+++ /dev/null
@@ -1,12 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_6dbaa2() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_6dbaa2();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl
deleted file mode 100644
index 75167b0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<f32, 64>, read_write>, u32, subgroup_matrix<right, f32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_7954ee() {
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7954ee();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 3fcd861..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_7954ee() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7954ee();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_right<f32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.fxc.hlsl
deleted file mode 100644
index b844650..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_7954ee() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7954ee();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_right<f32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.msl
deleted file mode 100644
index c32124cd1..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.msl
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device SB_RW* sb_rw;
-};
-
-void subgroupMatrixStore_7954ee(tint_module_vars_struct tint_module_vars) {
- simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
-}
-
-kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
- subgroupMatrixStore_7954ee(tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.wgsl
deleted file mode 100644
index bb0b2a1..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_7954ee() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7954ee();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl
deleted file mode 100644
index ff087f3..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<f32, 64>, read_write>, u32, subgroup_matrix<result, f32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_7a4769() {
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7a4769();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 9e63ca0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_7a4769() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7a4769();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_result<f32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 411f325..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_7a4769() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7a4769();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_result<f32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.msl
deleted file mode 100644
index 5ac3f54..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.msl
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device SB_RW* sb_rw;
-};
-
-void subgroupMatrixStore_7a4769(tint_module_vars_struct tint_module_vars) {
- simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
-}
-
-kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
- subgroupMatrixStore_7a4769(tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.wgsl
deleted file mode 100644
index 9ebcef3..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/7a4769.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_7a4769() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7a4769();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl
new file mode 100644
index 0000000..c03361d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<f32, 64>, read_write>, u32, subgroup_matrix<result, f32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_8a2280() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a2280();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..259ad45
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.dxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_8a2280() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a2280();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_result<f32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..136e282
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.fxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_8a2280() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a2280();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_result<f32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.msl
new file mode 100644
index 0000000..4fb5f47
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.msl
@@ -0,0 +1,31 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device SB_RW* sb_rw;
+};
+
+void subgroupMatrixStore_8a2280(tint_module_vars_struct tint_module_vars) {
+ simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+}
+
+kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
+ subgroupMatrixStore_8a2280(tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.wgsl
new file mode 100644
index 0000000..abdc2de
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/8a2280.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_8a2280() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a2280();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl
deleted file mode 100644
index 672fc82..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<f32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<f32, 64>, read_write>, u32, subgroup_matrix<result, f32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_8d55ef() {
- subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_8d55ef();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 3b43a43..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_8d55ef() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_8d55ef();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<f32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.fxc.hlsl
deleted file mode 100644
index a3bc062..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_8d55ef() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_8d55ef();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<f32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.msl
deleted file mode 100644
index 6b7e509..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.msl
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- threadgroup tint_array<float, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<float, 64> tint_symbol;
-};
-
-void subgroupMatrixStore_8d55ef(tint_module_vars_struct tint_module_vars) {
- simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v = 0u;
- v = tint_local_index;
- while(true) {
- uint const v_1 = v;
- if ((v_1 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_1] = 0.0f;
- {
- v = (v_1 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- subgroupMatrixStore_8d55ef(tint_module_vars);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.wgsl
deleted file mode 100644
index 20b4271..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.wgsl
+++ /dev/null
@@ -1,12 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_8d55ef() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_8d55ef();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl
new file mode 100644
index 0000000..9f60baf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<i32, 64>, read_write>, u32, subgroup_matrix<left, i32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_9019ee() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9019ee();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..aa168d0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.dxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9019ee() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9019ee();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_left<i32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7df744c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.fxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9019ee() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9019ee();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_left<i32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/7954ee.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.wgsl
new file mode 100644
index 0000000..617d169
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9019ee.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9019ee() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9019ee();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl
deleted file mode 100644
index 30f43a3..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-var<workgroup> arg_0: array<f16, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<f16, 64>, read_write>, u32, subgroup_matrix<right, f16, 8, 8>, bool, u32)
-fn subgroupMatrixStore_9856cd() {
- subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9856cd();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.dxc.hlsl
deleted file mode 100644
index b744077..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,23 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_9856cd() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9856cd();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 427ac6f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,23 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_9856cd() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9856cd();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.msl
deleted file mode 100644
index c81f430..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.msl
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- threadgroup tint_array<half, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<half, 64> tint_symbol;
-};
-
-void subgroupMatrixStore_9856cd(tint_module_vars_struct tint_module_vars) {
- simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v = 0u;
- v = tint_local_index;
- while(true) {
- uint const v_1 = v;
- if ((v_1 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_1] = 0.0h;
- {
- v = (v_1 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- subgroupMatrixStore_9856cd(tint_module_vars);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.wgsl
deleted file mode 100644
index 88d86ff..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9856cd.wgsl.expected.wgsl
+++ /dev/null
@@ -1,13 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_9856cd() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9856cd();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl
new file mode 100644
index 0000000..9b80b43
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl
@@ -0,0 +1,51 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<u32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<u32, 64>, read_write>, u32, subgroup_matrix<result, u32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_9a7d60() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9a7d60();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..8f7f18d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_9a7d60() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9a7d60();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c3314fa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_9a7d60() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9a7d60();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.wgsl
new file mode 100644
index 0000000..08f3f15
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9a7d60.wgsl.expected.wgsl
@@ -0,0 +1,12 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_9a7d60() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9a7d60();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl
deleted file mode 100644
index d60bbc7..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<u32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<u32, 64>, read_write>, u32, subgroup_matrix<right, u32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_9d8fcc() {
- subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9d8fcc();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 366edb1..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_9d8fcc() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9d8fcc();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<u32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.fxc.hlsl
deleted file mode 100644
index ca72d80..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_9d8fcc() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9d8fcc();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<u32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.wgsl
deleted file mode 100644
index f36d37d..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/9d8fcc.wgsl.expected.wgsl
+++ /dev/null
@@ -1,12 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_9d8fcc() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9d8fcc();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl
new file mode 100644
index 0000000..2f1e10b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<i32, 64>, read_write>, u32, subgroup_matrix<result, i32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_9fffe5() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9fffe5();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ca39915
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9fffe5() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9fffe5();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_result<i32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e5ec200
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9fffe5() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9fffe5();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_result<i32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.wgsl
new file mode 100644
index 0000000..ececc48
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/9fffe5.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9fffe5() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9fffe5();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl
deleted file mode 100644
index fb313af..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-struct SB_RW {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<f16, 64>, read_write>, u32, subgroup_matrix<left, f16, 8, 8>, bool, u32)
-fn subgroupMatrixStore_aa2174() {
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_aa2174();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 4a64543..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,34 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_aa2174() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_aa2174();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl:50:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_left<f16, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 4d7de4e..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,34 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_aa2174() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_aa2174();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl:50:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_left<f16, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.msl
deleted file mode 100644
index c6620be..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.msl
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device SB_RW* sb_rw;
-};
-
-void subgroupMatrixStore_aa2174(tint_module_vars_struct tint_module_vars) {
- simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
-}
-
-kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
- subgroupMatrixStore_aa2174(tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.wgsl
deleted file mode 100644
index 969d770..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/aa2174.wgsl.expected.wgsl
+++ /dev/null
@@ -1,17 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_aa2174() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_aa2174();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl
new file mode 100644
index 0000000..99d3069
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl
@@ -0,0 +1,51 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<f32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<f32, 64>, read_write>, u32, subgroup_matrix<result, f32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_b9ff25() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_b9ff25();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..270d427
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_b9ff25() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_b9ff25();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..41a3fb5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_b9ff25() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_b9ff25();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.msl
new file mode 100644
index 0000000..634c7ce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.msl
@@ -0,0 +1,51 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+void subgroupMatrixStore_b9ff25(tint_module_vars_struct tint_module_vars) {
+ simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v = 0u;
+ v = tint_local_index;
+ while(true) {
+ uint const v_1 = v;
+ if ((v_1 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_1] = 0.0f;
+ {
+ v = (v_1 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ subgroupMatrixStore_b9ff25(tint_module_vars);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.wgsl
new file mode 100644
index 0000000..68f10d1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/b9ff25.wgsl.expected.wgsl
@@ -0,0 +1,12 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_b9ff25() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_b9ff25();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl
deleted file mode 100644
index 93de8bd..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<u32, 64>, read_write>, u32, subgroup_matrix<left, u32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_ba3ee8() {
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_ba3ee8();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 330e2a1..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_ba3ee8() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_ba3ee8();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_left<u32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.fxc.hlsl
deleted file mode 100644
index c33aa56..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_ba3ee8() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_ba3ee8();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_left<u32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.wgsl
deleted file mode 100644
index 1d22fd0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba3ee8.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_ba3ee8() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_ba3ee8();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl
new file mode 100644
index 0000000..1b7dd99
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl
@@ -0,0 +1,56 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+struct SB_RW {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<f16, 64>, read_write>, u32, subgroup_matrix<right, f16, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_ba9442() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ba9442();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b343dea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.dxc.hlsl
@@ -0,0 +1,32 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_ba9442() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ba9442();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl:51:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_right<f16, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3bf3761
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.fxc.hlsl
@@ -0,0 +1,32 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_ba9442() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ba9442();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl:51:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_right<f16, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.msl
new file mode 100644
index 0000000..63fe06e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.msl
@@ -0,0 +1,31 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device SB_RW* sb_rw;
+};
+
+void subgroupMatrixStore_ba9442(tint_module_vars_struct tint_module_vars) {
+ simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
+}
+
+kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
+ subgroupMatrixStore_ba9442(tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.wgsl
new file mode 100644
index 0000000..4f1e02d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ba9442.wgsl.expected.wgsl
@@ -0,0 +1,17 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_ba9442() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ba9442();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl
new file mode 100644
index 0000000..42b10c8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl
@@ -0,0 +1,51 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<i32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<i32, 64>, read_write>, u32, subgroup_matrix<left, i32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_bfd0a4() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_bfd0a4();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5b1fcf7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_bfd0a4() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_bfd0a4();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..92288f2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_bfd0a4() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_bfd0a4();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.glsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/literal/subgroupMatrixStore/5644c4.wgsl.expected.spvasm
rename to test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.wgsl
new file mode 100644
index 0000000..645be91
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/bfd0a4.wgsl.expected.wgsl
@@ -0,0 +1,12 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_bfd0a4() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_bfd0a4();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl
deleted file mode 100644
index 3df138a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-var<workgroup> arg_0: array<f16, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<f16, 64>, read_write>, u32, subgroup_matrix<left, f16, 8, 8>, bool, u32)
-fn subgroupMatrixStore_cd3e65() {
- subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_cd3e65();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 89dfec9..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,23 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_cd3e65() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_cd3e65();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 41217a9..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,23 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_cd3e65() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_cd3e65();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.msl
deleted file mode 100644
index 6645626..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.msl
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- threadgroup tint_array<half, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<half, 64> tint_symbol;
-};
-
-void subgroupMatrixStore_cd3e65(tint_module_vars_struct tint_module_vars) {
- simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v = 0u;
- v = tint_local_index;
- while(true) {
- uint const v_1 = v;
- if ((v_1 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_1] = 0.0h;
- {
- v = (v_1 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- subgroupMatrixStore_cd3e65(tint_module_vars);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.wgsl
deleted file mode 100644
index 69328b1..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/cd3e65.wgsl.expected.wgsl
+++ /dev/null
@@ -1,13 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_cd3e65() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_cd3e65();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl
new file mode 100644
index 0000000..ff035b4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl
@@ -0,0 +1,53 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+var<workgroup> arg_0: array<f16, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<f16, 64>, read_write>, u32, subgroup_matrix<right, f16, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_d07581() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_d07581();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..685d232
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.dxc.hlsl
@@ -0,0 +1,23 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_d07581() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_d07581();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b8dcd26
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.fxc.hlsl
@@ -0,0 +1,23 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_d07581() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_d07581();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.msl
new file mode 100644
index 0000000..f558485
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.msl
@@ -0,0 +1,51 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+void subgroupMatrixStore_d07581(tint_module_vars_struct tint_module_vars) {
+ simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v = 0u;
+ v = tint_local_index;
+ while(true) {
+ uint const v_1 = v;
+ if ((v_1 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_1] = 0.0h;
+ {
+ v = (v_1 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ subgroupMatrixStore_d07581(tint_module_vars);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.wgsl
new file mode 100644
index 0000000..a758a63
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/d07581.wgsl.expected.wgsl
@@ -0,0 +1,13 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_d07581() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_d07581();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl
deleted file mode 100644
index 89e65d2..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<u32, 64>, read_write>, u32, subgroup_matrix<result, u32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_db58ad() {
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_db58ad();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.dxc.hlsl
deleted file mode 100644
index f45f058..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_db58ad() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_db58ad();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_result<u32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.fxc.hlsl
deleted file mode 100644
index eca63d3..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_db58ad() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_db58ad();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_result<u32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.wgsl
deleted file mode 100644
index 7cf04cc..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/db58ad.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_db58ad() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_db58ad();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl
new file mode 100644
index 0000000..bfdd395
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<u32, 64>, read_write>, u32, subgroup_matrix<left, u32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_db6dd2() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_db6dd2();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..6410bef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_db6dd2() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_db6dd2();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_left<u32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c49c8a2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_db6dd2() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_db6dd2();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_left<u32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.wgsl
new file mode 100644
index 0000000..f46c9035
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/db6dd2.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_db6dd2() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_db6dd2();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl
new file mode 100644
index 0000000..c2f42d8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl
@@ -0,0 +1,51 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<f32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<f32, 64>, read_write>, u32, subgroup_matrix<left, f32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_dc92cf() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dc92cf();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b1ca801
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_dc92cf() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dc92cf();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..d31e647
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_dc92cf() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dc92cf();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.msl
new file mode 100644
index 0000000..e8c2a9a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.msl
@@ -0,0 +1,51 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+void subgroupMatrixStore_dc92cf(tint_module_vars_struct tint_module_vars) {
+ simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v = 0u;
+ v = tint_local_index;
+ while(true) {
+ uint const v_1 = v;
+ if ((v_1 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_1] = 0.0f;
+ {
+ v = (v_1 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ subgroupMatrixStore_dc92cf(tint_module_vars);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/8d55ef.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.wgsl
new file mode 100644
index 0000000..a278989
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/dc92cf.wgsl.expected.wgsl
@@ -0,0 +1,12 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_dc92cf() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dc92cf();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl
new file mode 100644
index 0000000..a123e4a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl
@@ -0,0 +1,54 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<u32, 64>, read_write>, u32, subgroup_matrix<result, u32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_dce0b7() {
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dce0b7();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..8a6b8ea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_dce0b7() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dce0b7();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_result<u32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..870933e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,31 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_dce0b7() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dce0b7();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl:49:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_result<u32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.wgsl
new file mode 100644
index 0000000..d0803cd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/dce0b7.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_dce0b7() {
+ subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<u32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dce0b7();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl
deleted file mode 100644
index 45a596c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-struct SB_RW {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<f16, 64>, read_write>, u32, subgroup_matrix<right, f16, 8, 8>, bool, u32)
-fn subgroupMatrixStore_eb6865() {
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_eb6865();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 1574f5b..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,34 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_eb6865() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_eb6865();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl:50:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_right<f16, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 6fa6a9a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,34 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_eb6865() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_eb6865();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl:50:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_right<f16, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.msl
deleted file mode 100644
index ce70174..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.msl
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device SB_RW* sb_rw;
-};
-
-void subgroupMatrixStore_eb6865(tint_module_vars_struct tint_module_vars) {
- simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
-}
-
-kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
- subgroupMatrixStore_eb6865(tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.wgsl
deleted file mode 100644
index 3365603..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/eb6865.wgsl.expected.wgsl
+++ /dev/null
@@ -1,17 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_eb6865() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_right<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_eb6865();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl
new file mode 100644
index 0000000..dc945d2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl
@@ -0,0 +1,53 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+var<workgroup> arg_0: array<f16, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<f16, 64>, read_write>, u32, subgroup_matrix<left, f16, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_ee1195() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ee1195();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c42ff19
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.dxc.hlsl
@@ -0,0 +1,23 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_ee1195() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ee1195();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..fbda29e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.fxc.hlsl
@@ -0,0 +1,23 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_ee1195() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ee1195();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.msl
new file mode 100644
index 0000000..075b47a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.msl
@@ -0,0 +1,51 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+void subgroupMatrixStore_ee1195(tint_module_vars_struct tint_module_vars) {
+ simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v = 0u;
+ v = tint_local_index;
+ while(true) {
+ uint const v_1 = v;
+ if ((v_1 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_1] = 0.0h;
+ {
+ v = (v_1 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ subgroupMatrixStore_ee1195(tint_module_vars);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.wgsl
new file mode 100644
index 0000000..7611c26
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/ee1195.wgsl.expected.wgsl
@@ -0,0 +1,13 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_ee1195() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f16, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ee1195();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl
new file mode 100644
index 0000000..bd5397c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl
@@ -0,0 +1,51 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<i32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<i32, 64>, read_write>, u32, subgroup_matrix<result, i32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_f04d67() {
+ subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f04d67();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..9a123ff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.dxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_f04d67() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f04d67();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b2a0619
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.fxc.hlsl
@@ -0,0 +1,22 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_f04d67() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f04d67();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.glsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/literal/subgroupMatrixStore/0d6927.wgsl.expected.spvasm
copy to test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.wgsl
new file mode 100644
index 0000000..0900627d6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/subgroupMatrixStore/f04d67.wgsl.expected.wgsl
@@ -0,0 +1,12 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_f04d67() {
+ subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f04d67();
+}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl
deleted file mode 100644
index b00f89f..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-struct SB_RW {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<f16, 64>, read_write>, u32, subgroup_matrix<result, f16, 8, 8>, bool, u32)
-fn subgroupMatrixStore_f2a4a2() {
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f2a4a2();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.dxc.hlsl
deleted file mode 100644
index bfb40ec..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,34 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_f2a4a2() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f2a4a2();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl:50:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_result<f16, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.fxc.hlsl
deleted file mode 100644
index a04b458..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,34 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_f2a4a2() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f2a4a2();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl:50:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_result<f16, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.msl
deleted file mode 100644
index 00b276e..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.msl
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device SB_RW* sb_rw;
-};
-
-void subgroupMatrixStore_f2a4a2(tint_module_vars_struct tint_module_vars) {
- simdgroup_store(simdgroup_half8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
-}
-
-kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
- subgroupMatrixStore_f2a4a2(tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.wgsl
deleted file mode 100644
index 5d06cad..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f2a4a2.wgsl.expected.wgsl
+++ /dev/null
@@ -1,17 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_f2a4a2() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_result<f16, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f2a4a2();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl
deleted file mode 100644
index d358e9a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<f32, 64>, read_write>, u32, subgroup_matrix<left, f32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_f9dcbf() {
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9dcbf();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 750d2e2..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_f9dcbf() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9dcbf();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_left<f32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.fxc.hlsl
deleted file mode 100644
index c90a95d..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,33 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_f9dcbf() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9dcbf();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl:48:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_left<f32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.msl
deleted file mode 100644
index 49d98fd..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.msl
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device SB_RW* sb_rw;
-};
-
-void subgroupMatrixStore_f9dcbf(tint_module_vars_struct tint_module_vars) {
- simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.sb_rw).arg_0[1u]), ulong(1u), ulong2(0ul), true);
-}
-
-kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
- subgroupMatrixStore_f9dcbf(tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.wgsl
deleted file mode 100644
index d15b011..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9dcbf.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_f9dcbf() {
- subgroupMatrixStore(&(sb_rw.arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9dcbf();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl
deleted file mode 100644
index 1759491..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<u32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<u32, 64>, read_write>, u32, subgroup_matrix<left, u32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_f9f8e7() {
- subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9f8e7();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 610bc15..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_f9f8e7() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9f8e7();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<u32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 2c913b4..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_f9f8e7() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9f8e7();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<u32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.wgsl
deleted file mode 100644
index f5258c9..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/f9f8e7.wgsl.expected.wgsl
+++ /dev/null
@@ -1,12 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_f9f8e7() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<u32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9f8e7();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl
deleted file mode 100644
index 9b1244d..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<f32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<f32, 64>, read_write>, u32, subgroup_matrix<left, f32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_fbb29b() {
- subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fbb29b();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.dxc.hlsl
deleted file mode 100644
index f16cc57..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_fbb29b() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fbb29b();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<f32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.fxc.hlsl
deleted file mode 100644
index b6f10f2..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_fbb29b() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fbb29b();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<f32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.msl
deleted file mode 100644
index 6653172..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.msl
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- threadgroup tint_array<float, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<float, 64> tint_symbol;
-};
-
-void subgroupMatrixStore_fbb29b(tint_module_vars_struct tint_module_vars) {
- simdgroup_store(simdgroup_float8x8(), (&(*tint_module_vars.arg_0)[1u]), ulong(1u), ulong2(0ul), true);
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v = 0u;
- v = tint_local_index;
- while(true) {
- uint const v_1 = v;
- if ((v_1 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_1] = 0.0f;
- {
- v = (v_1 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- subgroupMatrixStore_fbb29b(tint_module_vars);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.wgsl
deleted file mode 100644
index 7dc3e9a..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fbb29b.wgsl.expected.wgsl
+++ /dev/null
@@ -1,12 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_fbb29b() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_left<f32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fbb29b();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl
deleted file mode 100644
index aa07841..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<i32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<i32, 64>, read_write>, u32, subgroup_matrix<result, i32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_fd08c0() {
- subgroupMatrixStore(&arg_0, 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fd08c0();
-}
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.dxc.hlsl
deleted file mode 100644
index eac65f1..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_fd08c0() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fd08c0();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<i32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 8c407ff..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_fd08c0() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fd08c0();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<i32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.msl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.wgsl
deleted file mode 100644
index d2f1c3e..0000000
--- a/test/tint/builtins/gen/literal/subgroupMatrixStore/fd08c0.wgsl.expected.wgsl
+++ /dev/null
@@ -1,12 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_fd08c0() {
- subgroupMatrixStore(&(arg_0), 1u, subgroup_matrix_result<i32, 8, 8>(), true, 1u);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fd08c0();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl
new file mode 100644
index 0000000..37ba2a8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RW {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u32, 8, 8>>(ptr<storage, array<u32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, u32, 8, 8>
+fn subgroupMatrixLoad_01c615() -> subgroup_matrix_result<u32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_01c615(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.msl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.wgsl
new file mode 100644
index 0000000..b880cef
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/01c615.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_01c615() -> subgroup_matrix_result<u32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_01c615(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl
deleted file mode 100644
index 92a3845..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-var<workgroup> arg_0: array<u32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, u32, 8, 8>>(ptr<workgroup, array<u32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, u32, 8, 8>
-fn subgroupMatrixLoad_020574() -> subgroup_matrix_right<u32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_020574(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.wgsl
deleted file mode 100644
index e419b24..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.wgsl
+++ /dev/null
@@ -1,18 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixLoad_020574() -> subgroup_matrix_right<u32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_020574(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl
deleted file mode 100644
index be56231..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RW {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, i32, 8, 8>>(ptr<storage, array<i32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, i32, 8, 8>
-fn subgroupMatrixLoad_0206e3() -> subgroup_matrix_right<i32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_0206e3(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.wgsl
deleted file mode 100644
index 4840096..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_0206e3() -> subgroup_matrix_right<i32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_0206e3(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl
deleted file mode 100644
index 68c45f5..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RO {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, f32, 8, 8>>(ptr<storage, array<f32, 64>, read>, u32, bool, u32) -> subgroup_matrix<left, f32, 8, 8>
-fn subgroupMatrixLoad_02e63c() -> subgroup_matrix_left<f32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_02e63c(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.msl
deleted file mode 100644
index a392757..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.msl
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RO {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- const device SB_RO* sb_ro;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_02e63c(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
- simdgroup_store(subgroupMatrixLoad_02e63c(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.wgsl
deleted file mode 100644
index 193cd1b..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RO {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_02e63c() -> subgroup_matrix_left<f32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_02e63c(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl
deleted file mode 100644
index 19c1658..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-var<workgroup> arg_0: array<f16, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, f16, 8, 8>>(ptr<workgroup, array<f16, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, f16, 8, 8>
-fn subgroupMatrixLoad_09fb8d() -> subgroup_matrix_right<f16, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_09fb8d(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.msl
deleted file mode 100644
index 9a9fbad..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.msl
+++ /dev/null
@@ -1,58 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- threadgroup tint_array<half, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<half, 64> tint_symbol;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_09fb8d(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v_1 = 0u;
- v_1 = tint_local_index;
- while(true) {
- uint const v_2 = v_1;
- if ((v_2 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_2] = 0.0h;
- {
- v_1 = (v_2 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- simdgroup_store(subgroupMatrixLoad_09fb8d(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.wgsl
deleted file mode 100644
index 2bfc2ec..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixLoad_09fb8d() -> subgroup_matrix_right<f16, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_09fb8d(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl
new file mode 100644
index 0000000..e805831
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl
@@ -0,0 +1,59 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+var<workgroup> arg_0: array<f16, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, f16, 8, 8>>(ptr<workgroup, array<f16, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, f16, 8, 8>
+fn subgroupMatrixLoad_0c84dd() -> subgroup_matrix_left<f16, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_0c84dd(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.msl
new file mode 100644
index 0000000..e564c76
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.msl
@@ -0,0 +1,57 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_0c84dd(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0h;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_0c84dd(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.wgsl
new file mode 100644
index 0000000..ccfb688
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0c84dd.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixLoad_0c84dd() -> subgroup_matrix_left<f16, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_0c84dd(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl
new file mode 100644
index 0000000..0aff53c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl
@@ -0,0 +1,62 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RW {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, f16, 8, 8>>(ptr<storage, array<f16, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, f16, 8, 8>
+fn subgroupMatrixLoad_0d1b2e() -> subgroup_matrix_left<f16, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_0d1b2e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.msl
new file mode 100644
index 0000000..a5946e2
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.msl
@@ -0,0 +1,37 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_0d1b2e(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_0d1b2e(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.wgsl
new file mode 100644
index 0000000..0619f6e
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d1b2e.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_0d1b2e() -> subgroup_matrix_left<f16, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_0d1b2e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl
new file mode 100644
index 0000000..3c673cfbe
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RO {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u32, 8, 8>>(ptr<storage, array<u32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<left, u32, 8, 8>
+fn subgroupMatrixLoad_0d6e8e() -> subgroup_matrix_left<u32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_0d6e8e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.msl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.wgsl
new file mode 100644
index 0000000..49c48da
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0d6e8e.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_0d6e8e() -> subgroup_matrix_left<u32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_0d6e8e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl
new file mode 100644
index 0000000..97f84e7
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl
@@ -0,0 +1,62 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RO {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, f16, 8, 8>>(ptr<storage, array<f16, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<right, f16, 8, 8>
+fn subgroupMatrixLoad_0decf8() -> subgroup_matrix_right<f16, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_0decf8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.msl
new file mode 100644
index 0000000..6f94776
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.msl
@@ -0,0 +1,37 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RO {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_0decf8(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_0decf8(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.wgsl
new file mode 100644
index 0000000..d3a8c74
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/0decf8.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RO {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_0decf8() -> subgroup_matrix_right<f16, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_0decf8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl
new file mode 100644
index 0000000..fab3ec7
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl
@@ -0,0 +1,62 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RO {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, f16, 8, 8>>(ptr<storage, array<f16, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<result, f16, 8, 8>
+fn subgroupMatrixLoad_1042d8() -> subgroup_matrix_result<f16, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_1042d8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.msl
new file mode 100644
index 0000000..4f2dacd
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.msl
@@ -0,0 +1,37 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RO {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_1042d8(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_1042d8(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.wgsl
new file mode 100644
index 0000000..8ff1756
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/1042d8.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RO {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_1042d8() -> subgroup_matrix_result<f16, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_1042d8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl
new file mode 100644
index 0000000..2bdfb9f
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl
@@ -0,0 +1,62 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RO {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, f16, 8, 8>>(ptr<storage, array<f16, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<left, f16, 8, 8>
+fn subgroupMatrixLoad_11c1db() -> subgroup_matrix_left<f16, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_11c1db(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.msl
new file mode 100644
index 0000000..c10a22c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.msl
@@ -0,0 +1,37 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RO {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_11c1db(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_11c1db(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.wgsl
new file mode 100644
index 0000000..5f0e40d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/11c1db.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RO {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_11c1db() -> subgroup_matrix_left<f16, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_11c1db(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl
new file mode 100644
index 0000000..4cf1654
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RW {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, f32, 8, 8>>(ptr<storage, array<f32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, f32, 8, 8>
+fn subgroupMatrixLoad_133af8() -> subgroup_matrix_left<f32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_133af8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.msl
new file mode 100644
index 0000000..0f19ee4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.msl
@@ -0,0 +1,37 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_133af8(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_133af8(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.wgsl
new file mode 100644
index 0000000..07a0dd7
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/133af8.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_133af8() -> subgroup_matrix_left<f32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_133af8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl
new file mode 100644
index 0000000..e291011
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl
@@ -0,0 +1,59 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+var<workgroup> arg_0: array<f16, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, f16, 8, 8>>(ptr<workgroup, array<f16, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, f16, 8, 8>
+fn subgroupMatrixLoad_139ad7() -> subgroup_matrix_right<f16, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_139ad7(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.msl
new file mode 100644
index 0000000..ad1b871
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.msl
@@ -0,0 +1,57 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_139ad7(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0h;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_139ad7(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.wgsl
new file mode 100644
index 0000000..1706a96
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/139ad7.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixLoad_139ad7() -> subgroup_matrix_right<f16, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_139ad7(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl
new file mode 100644
index 0000000..fcce03e
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl
@@ -0,0 +1,62 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RW {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, f16, 8, 8>>(ptr<storage, array<f16, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, f16, 8, 8>
+fn subgroupMatrixLoad_159294() -> subgroup_matrix_result<f16, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_159294(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.msl
new file mode 100644
index 0000000..7f47102
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.msl
@@ -0,0 +1,37 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_159294(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_159294(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.wgsl
new file mode 100644
index 0000000..f9de15c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/159294.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_159294() -> subgroup_matrix_result<f16, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_159294(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl
new file mode 100644
index 0000000..c2eaab8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RW {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u32, 8, 8>>(ptr<storage, array<u32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, u32, 8, 8>
+fn subgroupMatrixLoad_17a50d() -> subgroup_matrix_left<u32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_17a50d(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.msl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.wgsl
new file mode 100644
index 0000000..cb16a33
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/17a50d.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_17a50d() -> subgroup_matrix_left<u32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_17a50d(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl
deleted file mode 100644
index 9c8bf3e..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RO {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, f32, 8, 8>>(ptr<storage, array<f32, 64>, read>, u32, bool, u32) -> subgroup_matrix<result, f32, 8, 8>
-fn subgroupMatrixLoad_1fe5a3() -> subgroup_matrix_result<f32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_1fe5a3(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.msl
deleted file mode 100644
index 1536f81..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.msl
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RO {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- const device SB_RO* sb_ro;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_1fe5a3(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
- simdgroup_store(subgroupMatrixLoad_1fe5a3(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.wgsl
deleted file mode 100644
index 13592e6..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/1fe5a3.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RO {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_1fe5a3() -> subgroup_matrix_result<f32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_1fe5a3(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl
deleted file mode 100644
index 5ba4b33..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RW {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, i32, 8, 8>>(ptr<storage, array<i32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, i32, 8, 8>
-fn subgroupMatrixLoad_278648() -> subgroup_matrix_result<i32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_278648(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.wgsl
deleted file mode 100644
index ac700e7..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_278648() -> subgroup_matrix_result<i32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_278648(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl
deleted file mode 100644
index 5ca82a8..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RO {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, f16, 8, 8>>(ptr<storage, array<f16, 64>, read>, u32, bool, u32) -> subgroup_matrix<right, f16, 8, 8>
-fn subgroupMatrixLoad_2de7aa() -> subgroup_matrix_right<f16, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_2de7aa(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.msl
deleted file mode 100644
index d956d2e..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.msl
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RO {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- const device SB_RO* sb_ro;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_2de7aa(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
- simdgroup_store(subgroupMatrixLoad_2de7aa(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.wgsl
deleted file mode 100644
index d2f9ed6..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/2de7aa.wgsl.expected.wgsl
+++ /dev/null
@@ -1,23 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RO {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_2de7aa() -> subgroup_matrix_right<f16, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_2de7aa(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl
deleted file mode 100644
index f94aa3f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-var<workgroup> arg_0: array<u32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, u32, 8, 8>>(ptr<workgroup, array<u32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, u32, 8, 8>
-fn subgroupMatrixLoad_37b47b() -> subgroup_matrix_result<u32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_37b47b(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.wgsl
deleted file mode 100644
index 132a41c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.wgsl
+++ /dev/null
@@ -1,18 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixLoad_37b47b() -> subgroup_matrix_result<u32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_37b47b(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl
new file mode 100644
index 0000000..025ed52
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+var<workgroup> arg_0: array<f32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, f32, 8, 8>>(ptr<workgroup, array<f32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, f32, 8, 8>
+fn subgroupMatrixLoad_37b559() -> subgroup_matrix_right<f32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_37b559(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.msl
new file mode 100644
index 0000000..8b7e1ea
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.msl
@@ -0,0 +1,57 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_37b559(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0f;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_37b559(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.wgsl
new file mode 100644
index 0000000..f951b92
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/37b559.wgsl.expected.wgsl
@@ -0,0 +1,18 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixLoad_37b559() -> subgroup_matrix_right<f32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_37b559(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl
new file mode 100644
index 0000000..919e949
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl
@@ -0,0 +1,62 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RW {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, f16, 8, 8>>(ptr<storage, array<f16, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, f16, 8, 8>
+fn subgroupMatrixLoad_3a046e() -> subgroup_matrix_right<f16, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_3a046e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.msl
new file mode 100644
index 0000000..5bec29d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.msl
@@ -0,0 +1,37 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_3a046e(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_3a046e(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.wgsl
new file mode 100644
index 0000000..419f591
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/3a046e.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_3a046e() -> subgroup_matrix_right<f16, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_3a046e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl
deleted file mode 100644
index 33661c4..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RW {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, u32, 8, 8>>(ptr<storage, array<u32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, u32, 8, 8>
-fn subgroupMatrixLoad_417fe3() -> subgroup_matrix_left<u32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_417fe3(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.wgsl
deleted file mode 100644
index bec44ac..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/417fe3.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_417fe3() -> subgroup_matrix_left<u32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_417fe3(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl
deleted file mode 100644
index a0e6303..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RW {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, f16, 8, 8>>(ptr<storage, array<f16, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, f16, 8, 8>
-fn subgroupMatrixLoad_4220ee() -> subgroup_matrix_right<f16, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_4220ee(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.msl
deleted file mode 100644
index 97d50cd..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.msl
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- device SB_RW* sb_rw;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_4220ee(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
- simdgroup_store(subgroupMatrixLoad_4220ee(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.wgsl
deleted file mode 100644
index 12ffd8c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.wgsl
+++ /dev/null
@@ -1,23 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_4220ee() -> subgroup_matrix_right<f16, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_right<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f16, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_4220ee(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl
new file mode 100644
index 0000000..19141b2
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0: array<i32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i32, 8, 8>>(ptr<workgroup, array<i32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, i32, 8, 8>
+fn subgroupMatrixLoad_4c307c() -> subgroup_matrix_result<i32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_4c307c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.msl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/02e63c.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.wgsl
new file mode 100644
index 0000000..83cd7aa
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4c307c.wgsl.expected.wgsl
@@ -0,0 +1,18 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixLoad_4c307c() -> subgroup_matrix_result<i32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_4c307c(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl
deleted file mode 100644
index 2d70b7c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-var<workgroup> arg_0: array<i32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, i32, 8, 8>>(ptr<workgroup, array<i32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, i32, 8, 8>
-fn subgroupMatrixLoad_4cda4c() -> subgroup_matrix_right<i32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_4cda4c(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.wgsl
deleted file mode 100644
index ca96667..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4cda4c.wgsl.expected.wgsl
+++ /dev/null
@@ -1,18 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixLoad_4cda4c() -> subgroup_matrix_right<i32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_4cda4c(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl
deleted file mode 100644
index 7bd9fd1..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RO {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, f16, 8, 8>>(ptr<storage, array<f16, 64>, read>, u32, bool, u32) -> subgroup_matrix<left, f16, 8, 8>
-fn subgroupMatrixLoad_4d220f() -> subgroup_matrix_left<f16, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_4d220f(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.msl
deleted file mode 100644
index 2109eed..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.msl
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RO {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- const device SB_RO* sb_ro;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_4d220f(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
- simdgroup_store(subgroupMatrixLoad_4d220f(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.wgsl
deleted file mode 100644
index 82b3838..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d220f.wgsl.expected.wgsl
+++ /dev/null
@@ -1,23 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RO {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_4d220f() -> subgroup_matrix_left<f16, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_4d220f(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl
new file mode 100644
index 0000000..7960dd1
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RO {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u32, 8, 8>>(ptr<storage, array<u32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<right, u32, 8, 8>
+fn subgroupMatrixLoad_4d29e6() -> subgroup_matrix_right<u32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_4d29e6(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.msl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.wgsl
new file mode 100644
index 0000000..48381ef
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/4d29e6.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_4d29e6() -> subgroup_matrix_right<u32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_4d29e6(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl
deleted file mode 100644
index 31f6eff..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RO {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, i32, 8, 8>>(ptr<storage, array<i32, 64>, read>, u32, bool, u32) -> subgroup_matrix<right, i32, 8, 8>
-fn subgroupMatrixLoad_50de21() -> subgroup_matrix_right<i32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_50de21(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.wgsl
deleted file mode 100644
index 842aac7..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RO {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_50de21() -> subgroup_matrix_right<i32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_50de21(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl
deleted file mode 100644
index bc822c5..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RW {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, f16, 8, 8>>(ptr<storage, array<f16, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, f16, 8, 8>
-fn subgroupMatrixLoad_574821() -> subgroup_matrix_left<f16, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_574821(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.msl
deleted file mode 100644
index 567f271..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.msl
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- device SB_RW* sb_rw;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_574821(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
- simdgroup_store(subgroupMatrixLoad_574821(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.wgsl
deleted file mode 100644
index 87e673a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/574821.wgsl.expected.wgsl
+++ /dev/null
@@ -1,23 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_574821() -> subgroup_matrix_left<f16, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_574821(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl
new file mode 100644
index 0000000..7f6b291
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RW {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u32, 8, 8>>(ptr<storage, array<u32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, u32, 8, 8>
+fn subgroupMatrixLoad_58d7e2() -> subgroup_matrix_right<u32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_58d7e2(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.msl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.wgsl
new file mode 100644
index 0000000..fef1df5
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/58d7e2.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_58d7e2() -> subgroup_matrix_right<u32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_58d7e2(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl
new file mode 100644
index 0000000..f9995ab
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RW {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i32, 8, 8>>(ptr<storage, array<i32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, i32, 8, 8>
+fn subgroupMatrixLoad_5aaf3b() -> subgroup_matrix_result<i32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_5aaf3b(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.msl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/37b47b.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.wgsl
new file mode 100644
index 0000000..706233e
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/5aaf3b.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_5aaf3b() -> subgroup_matrix_result<i32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_5aaf3b(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl
new file mode 100644
index 0000000..4dc2f98
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0: array<u32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u32, 8, 8>>(ptr<workgroup, array<u32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, u32, 8, 8>
+fn subgroupMatrixLoad_641635() -> subgroup_matrix_result<u32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_641635(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.msl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.wgsl
new file mode 100644
index 0000000..6e23905
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/641635.wgsl.expected.wgsl
@@ -0,0 +1,18 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixLoad_641635() -> subgroup_matrix_result<u32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_641635(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl
new file mode 100644
index 0000000..2bc2772
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0: array<i32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i32, 8, 8>>(ptr<workgroup, array<i32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, i32, 8, 8>
+fn subgroupMatrixLoad_67af87() -> subgroup_matrix_left<i32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_67af87(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.msl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.wgsl
new file mode 100644
index 0000000..c68aa1a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/67af87.wgsl.expected.wgsl
@@ -0,0 +1,18 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixLoad_67af87() -> subgroup_matrix_left<i32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_67af87(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl
deleted file mode 100644
index 818d6ee..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-var<workgroup> arg_0: array<f16, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, f16, 8, 8>>(ptr<workgroup, array<f16, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, f16, 8, 8>
-fn subgroupMatrixLoad_6b52bc() -> subgroup_matrix_result<f16, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_6b52bc(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.msl
deleted file mode 100644
index eb4c87b..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.msl
+++ /dev/null
@@ -1,58 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- threadgroup tint_array<half, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<half, 64> tint_symbol;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_6b52bc(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v_1 = 0u;
- v_1 = tint_local_index;
- while(true) {
- uint const v_2 = v_1;
- if ((v_2 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_2] = 0.0h;
- {
- v_1 = (v_2 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- simdgroup_store(subgroupMatrixLoad_6b52bc(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.wgsl
deleted file mode 100644
index 535468c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/6b52bc.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixLoad_6b52bc() -> subgroup_matrix_result<f16, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_6b52bc(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl
deleted file mode 100644
index 7762b69..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RW {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, i32, 8, 8>>(ptr<storage, array<i32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, i32, 8, 8>
-fn subgroupMatrixLoad_7a2615() -> subgroup_matrix_left<i32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_7a2615(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.wgsl
deleted file mode 100644
index 1cc01bd..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_7a2615() -> subgroup_matrix_left<i32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_7a2615(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl
deleted file mode 100644
index 964cc7e..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RO {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, f16, 8, 8>>(ptr<storage, array<f16, 64>, read>, u32, bool, u32) -> subgroup_matrix<result, f16, 8, 8>
-fn subgroupMatrixLoad_7a4ca5() -> subgroup_matrix_result<f16, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_7a4ca5(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.msl
deleted file mode 100644
index be32167..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.msl
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RO {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- const device SB_RO* sb_ro;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_7a4ca5(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
- simdgroup_store(subgroupMatrixLoad_7a4ca5(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.wgsl
deleted file mode 100644
index e56bae9..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.wgsl
+++ /dev/null
@@ -1,23 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RO {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_7a4ca5() -> subgroup_matrix_result<f16, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_7a4ca5(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl
deleted file mode 100644
index 940e813..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RO {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, i32, 8, 8>>(ptr<storage, array<i32, 64>, read>, u32, bool, u32) -> subgroup_matrix<result, i32, 8, 8>
-fn subgroupMatrixLoad_7b3d4e() -> subgroup_matrix_result<i32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_7b3d4e(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.wgsl
deleted file mode 100644
index a9052bd..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RO {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_7b3d4e() -> subgroup_matrix_result<i32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_7b3d4e(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl
new file mode 100644
index 0000000..f3d8f38
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RW {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i32, 8, 8>>(ptr<storage, array<i32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, i32, 8, 8>
+fn subgroupMatrixLoad_8145a5() -> subgroup_matrix_right<i32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_8145a5(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/7a2615.wgsl.expected.msl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/7a4ca5.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.wgsl
new file mode 100644
index 0000000..4681524
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8145a5.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_8145a5() -> subgroup_matrix_right<i32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_8145a5(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl
new file mode 100644
index 0000000..0e5b313
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RO {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, f32, 8, 8>>(ptr<storage, array<f32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<right, f32, 8, 8>
+fn subgroupMatrixLoad_8403c3() -> subgroup_matrix_right<f32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_8403c3(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.msl
new file mode 100644
index 0000000..de0e692
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.msl
@@ -0,0 +1,37 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RO {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_8403c3(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_8403c3(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.wgsl
new file mode 100644
index 0000000..379aab2
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8403c3.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_8403c3() -> subgroup_matrix_right<f32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_8403c3(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl
new file mode 100644
index 0000000..12b31c2
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RO {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i32, 8, 8>>(ptr<storage, array<i32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<right, i32, 8, 8>
+fn subgroupMatrixLoad_8bd09e() -> subgroup_matrix_right<i32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_8bd09e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.msl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.wgsl
new file mode 100644
index 0000000..f1a0822
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bd09e.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_8bd09e() -> subgroup_matrix_right<i32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_8bd09e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl
new file mode 100644
index 0000000..7646190
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RW {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i32, 8, 8>>(ptr<storage, array<i32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, i32, 8, 8>
+fn subgroupMatrixLoad_8bf049() -> subgroup_matrix_left<i32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_8bf049(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.msl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.wgsl
new file mode 100644
index 0000000..221ddc7
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/8bf049.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_8bf049() -> subgroup_matrix_left<i32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_8bf049(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl
deleted file mode 100644
index 55ae0d5..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RO {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, u32, 8, 8>>(ptr<storage, array<u32, 64>, read>, u32, bool, u32) -> subgroup_matrix<result, u32, 8, 8>
-fn subgroupMatrixLoad_931166() -> subgroup_matrix_result<u32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_931166(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.wgsl
deleted file mode 100644
index 0fef776..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/931166.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RO {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_931166() -> subgroup_matrix_result<u32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_931166(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl
new file mode 100644
index 0000000..02feaeb
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0: array<u32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, u32, 8, 8>>(ptr<workgroup, array<u32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, u32, 8, 8>
+fn subgroupMatrixLoad_93fa82() -> subgroup_matrix_right<u32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_93fa82(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.msl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.wgsl
new file mode 100644
index 0000000..fbcca1a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/93fa82.wgsl.expected.wgsl
@@ -0,0 +1,18 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixLoad_93fa82() -> subgroup_matrix_right<u32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_93fa82(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl
new file mode 100644
index 0000000..13f96b8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RO {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, u32, 8, 8>>(ptr<storage, array<u32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<result, u32, 8, 8>
+fn subgroupMatrixLoad_943cd7() -> subgroup_matrix_result<u32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_943cd7(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.msl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.wgsl
new file mode 100644
index 0000000..2a582c9
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/943cd7.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_943cd7() -> subgroup_matrix_result<u32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_943cd7(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl
new file mode 100644
index 0000000..10f7af6
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RW {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, f32, 8, 8>>(ptr<storage, array<f32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, f32, 8, 8>
+fn subgroupMatrixLoad_9c361d() -> subgroup_matrix_result<f32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_9c361d(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.msl
new file mode 100644
index 0000000..f35e877
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.msl
@@ -0,0 +1,37 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_9c361d(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_9c361d(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/09fb8d.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.wgsl
new file mode 100644
index 0000000..a2b070c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9c361d.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_9c361d() -> subgroup_matrix_result<f32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_9c361d(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl
new file mode 100644
index 0000000..92b1973
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RO {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, f32, 8, 8>>(ptr<storage, array<f32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<result, f32, 8, 8>
+fn subgroupMatrixLoad_9e19b3() -> subgroup_matrix_result<f32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_9e19b3(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.msl
new file mode 100644
index 0000000..805dbcb
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.msl
@@ -0,0 +1,37 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RO {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_9e19b3(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_9e19b3(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/0206e3.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.wgsl
new file mode 100644
index 0000000..29b9b3c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/9e19b3.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_9e19b3() -> subgroup_matrix_result<f32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_9e19b3(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl
deleted file mode 100644
index 10d4435..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RO {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, f32, 8, 8>>(ptr<storage, array<f32, 64>, read>, u32, bool, u32) -> subgroup_matrix<right, f32, 8, 8>
-fn subgroupMatrixLoad_a51ccf() -> subgroup_matrix_right<f32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_a51ccf(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.msl
deleted file mode 100644
index 385d41a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.msl
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RO {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- const device SB_RO* sb_ro;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_a51ccf(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
- simdgroup_store(subgroupMatrixLoad_a51ccf(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.wgsl
deleted file mode 100644
index 7fe710a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/a51ccf.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RO {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_a51ccf() -> subgroup_matrix_right<f32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_a51ccf(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl
new file mode 100644
index 0000000..64b80b4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RO {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, i32, 8, 8>>(ptr<storage, array<i32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<left, i32, 8, 8>
+fn subgroupMatrixLoad_ac8eb2() -> subgroup_matrix_left<i32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_ac8eb2(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.msl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.wgsl
new file mode 100644
index 0000000..036dc24
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ac8eb2.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_ac8eb2() -> subgroup_matrix_left<i32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_ac8eb2(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl
deleted file mode 100644
index 9e1cfd4..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-var<workgroup> arg_0: array<f32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, f32, 8, 8>>(ptr<workgroup, array<f32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, f32, 8, 8>
-fn subgroupMatrixLoad_af7dc4() -> subgroup_matrix_right<f32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_af7dc4(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.msl
deleted file mode 100644
index af496ba..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.msl
+++ /dev/null
@@ -1,58 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- threadgroup tint_array<float, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<float, 64> tint_symbol;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_af7dc4(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v_1 = 0u;
- v_1 = tint_local_index;
- while(true) {
- uint const v_2 = v_1;
- if ((v_2 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_2] = 0.0f;
- {
- v_1 = (v_2 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- simdgroup_store(subgroupMatrixLoad_af7dc4(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.wgsl
deleted file mode 100644
index ca2de4c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/af7dc4.wgsl.expected.wgsl
+++ /dev/null
@@ -1,18 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixLoad_af7dc4() -> subgroup_matrix_right<f32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_af7dc4(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl
deleted file mode 100644
index 5fccc25..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RW {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, u32, 8, 8>>(ptr<storage, array<u32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, u32, 8, 8>
-fn subgroupMatrixLoad_b07034() -> subgroup_matrix_result<u32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b07034(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.wgsl
deleted file mode 100644
index 6f259b2..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_b07034() -> subgroup_matrix_result<u32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_result<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<u32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b07034(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl
new file mode 100644
index 0000000..7894402
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+var<workgroup> arg_0: array<f32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, f32, 8, 8>>(ptr<workgroup, array<f32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, f32, 8, 8>
+fn subgroupMatrixLoad_b16d34() -> subgroup_matrix_left<f32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b16d34(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.msl
new file mode 100644
index 0000000..729198d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.msl
@@ -0,0 +1,57 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_b16d34(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0f;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_b16d34(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/b07034.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.wgsl
new file mode 100644
index 0000000..df66090
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b16d34.wgsl.expected.wgsl
@@ -0,0 +1,18 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixLoad_b16d34() -> subgroup_matrix_left<f32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b16d34(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl
deleted file mode 100644
index fc24cb5..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RW {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, f16, 8, 8>>(ptr<storage, array<f16, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, f16, 8, 8>
-fn subgroupMatrixLoad_b2c1cc() -> subgroup_matrix_result<f16, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b2c1cc(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.msl
deleted file mode 100644
index 9d0a9ef..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.msl
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- device SB_RW* sb_rw;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_b2c1cc(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<half, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
- simdgroup_store(subgroupMatrixLoad_b2c1cc(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.wgsl
deleted file mode 100644
index 797776f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b2c1cc.wgsl.expected.wgsl
+++ /dev/null
@@ -1,23 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_b2c1cc() -> subgroup_matrix_result<f16, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b2c1cc(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl
new file mode 100644
index 0000000..d1ff96e
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RO {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, i32, 8, 8>>(ptr<storage, array<i32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<result, i32, 8, 8>
+fn subgroupMatrixLoad_b5c3c7() -> subgroup_matrix_result<i32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b5c3c7(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.msl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.wgsl
new file mode 100644
index 0000000..9b5b03d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b5c3c7.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_b5c3c7() -> subgroup_matrix_result<i32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b5c3c7(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl
deleted file mode 100644
index 35b2537..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RW {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, u32, 8, 8>>(ptr<storage, array<u32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, u32, 8, 8>
-fn subgroupMatrixLoad_b69757() -> subgroup_matrix_right<u32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b69757(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.wgsl
deleted file mode 100644
index 03dcb5a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b69757.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_b69757() -> subgroup_matrix_right<u32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b69757(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl
deleted file mode 100644
index 963d8cc..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RO {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, u32, 8, 8>>(ptr<storage, array<u32, 64>, read>, u32, bool, u32) -> subgroup_matrix<right, u32, 8, 8>
-fn subgroupMatrixLoad_b73ceb() -> subgroup_matrix_right<u32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b73ceb(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.wgsl
deleted file mode 100644
index b1c4ced..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b73ceb.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RO {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_b73ceb() -> subgroup_matrix_right<u32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_right<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<u32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b73ceb(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl
new file mode 100644
index 0000000..3a42b90
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RW {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, f32, 8, 8>>(ptr<storage, array<f32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, f32, 8, 8>
+fn subgroupMatrixLoad_b79c0e() -> subgroup_matrix_right<f32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b79c0e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.msl
new file mode 100644
index 0000000..90652db
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.msl
@@ -0,0 +1,37 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ device SB_RW* sb_rw;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_b79c0e(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
+ simdgroup_store(subgroupMatrixLoad_b79c0e(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.wgsl
new file mode 100644
index 0000000..1849bb0
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/b79c0e.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixLoad_b79c0e() -> subgroup_matrix_right<f32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b79c0e(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl
deleted file mode 100644
index 5a1e7cf..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-var<workgroup> arg_0: array<f32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, f32, 8, 8>>(ptr<workgroup, array<f32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, f32, 8, 8>
-fn subgroupMatrixLoad_b85a36() -> subgroup_matrix_result<f32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_b85a36(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.msl
deleted file mode 100644
index 028b472..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.msl
+++ /dev/null
@@ -1,58 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- threadgroup tint_array<float, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<float, 64> tint_symbol;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_b85a36(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v_1 = 0u;
- v_1 = tint_local_index;
- while(true) {
- uint const v_2 = v_1;
- if ((v_2 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_2] = 0.0f;
- {
- v_1 = (v_2 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- simdgroup_store(subgroupMatrixLoad_b85a36(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.wgsl
deleted file mode 100644
index 2cdd3c9..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/b85a36.wgsl.expected.wgsl
+++ /dev/null
@@ -1,18 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixLoad_b85a36() -> subgroup_matrix_result<f32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_b85a36(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl
deleted file mode 100644
index 6a1fe19..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RO {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, u32, 8, 8>>(ptr<storage, array<u32, 64>, read>, u32, bool, u32) -> subgroup_matrix<left, u32, 8, 8>
-fn subgroupMatrixLoad_c2eba7() -> subgroup_matrix_left<u32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_c2eba7(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.wgsl
deleted file mode 100644
index 8a24081..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/c2eba7.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-struct SB_RO {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_c2eba7() -> subgroup_matrix_left<u32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_c2eba7(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl
new file mode 100644
index 0000000..e036fc9
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+var<workgroup> arg_0: array<f32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, f32, 8, 8>>(ptr<workgroup, array<f32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, f32, 8, 8>
+fn subgroupMatrixLoad_c857d1() -> subgroup_matrix_result<f32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_c857d1(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.msl
new file mode 100644
index 0000000..0e50bff
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.msl
@@ -0,0 +1,57 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_c857d1(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0f;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_c857d1(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/50de21.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.wgsl
new file mode 100644
index 0000000..bd01d8a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/c857d1.wgsl.expected.wgsl
@@ -0,0 +1,18 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixLoad_c857d1() -> subgroup_matrix_result<f32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_c857d1(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl
deleted file mode 100644
index edbfb93..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RW {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, f32, 8, 8>>(ptr<storage, array<f32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, f32, 8, 8>
-fn subgroupMatrixLoad_ccd48c() -> subgroup_matrix_result<f32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_ccd48c(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.msl
deleted file mode 100644
index 9af6f0d..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.msl
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- device SB_RW* sb_rw;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_ccd48c(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
- simdgroup_store(subgroupMatrixLoad_ccd48c(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.wgsl
deleted file mode 100644
index 36faabb..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccd48c.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_ccd48c() -> subgroup_matrix_result<f32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_result<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_ccd48c(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl
deleted file mode 100644
index 14ee54b..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-var<workgroup> arg_0: array<u32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, u32, 8, 8>>(ptr<workgroup, array<u32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, u32, 8, 8>
-fn subgroupMatrixLoad_ccda83() -> subgroup_matrix_left<u32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_ccda83(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.wgsl
deleted file mode 100644
index 1d9ae21..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/ccda83.wgsl.expected.wgsl
+++ /dev/null
@@ -1,18 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixLoad_ccda83() -> subgroup_matrix_left<u32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_ccda83(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl
deleted file mode 100644
index 3f82ba1..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RW {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<right, f32, 8, 8>>(ptr<storage, array<f32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<right, f32, 8, 8>
-fn subgroupMatrixLoad_d755c1() -> subgroup_matrix_right<f32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_d755c1(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.msl
deleted file mode 100644
index d069c9f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.msl
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- device SB_RW* sb_rw;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_d755c1(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
- simdgroup_store(subgroupMatrixLoad_d755c1(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.wgsl
deleted file mode 100644
index e5a444b..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/d755c1.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_d755c1() -> subgroup_matrix_right<f32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_right<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<f32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_d755c1(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl
deleted file mode 100644
index 2fd7faf..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-var<workgroup> arg_0: array<i32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, i32, 8, 8>>(ptr<workgroup, array<i32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, i32, 8, 8>
-fn subgroupMatrixLoad_dd71df() -> subgroup_matrix_left<i32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_dd71df(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.wgsl
deleted file mode 100644
index ccb9093..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/dd71df.wgsl.expected.wgsl
+++ /dev/null
@@ -1,18 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixLoad_dd71df() -> subgroup_matrix_left<i32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_dd71df(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl
deleted file mode 100644
index 80f9dee..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RW {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, f32, 8, 8>>(ptr<storage, array<f32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, f32, 8, 8>
-fn subgroupMatrixLoad_e094aa() -> subgroup_matrix_left<f32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&sb_rw.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_e094aa(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.msl
deleted file mode 100644
index e7ce8bd..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.msl
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- device SB_RW* sb_rw;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_e094aa(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw};
- simdgroup_store(subgroupMatrixLoad_e094aa(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.wgsl
deleted file mode 100644
index 3fd7750..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e094aa.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixLoad_e094aa() -> subgroup_matrix_left<f32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&(sb_rw.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_e094aa(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl
new file mode 100644
index 0000000..f277751
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RO {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, f32, 8, 8>>(ptr<storage, array<f32, 64>, read>, u32, @const bool, u32) -> subgroup_matrix<left, f32, 8, 8>
+fn subgroupMatrixLoad_e41808() -> subgroup_matrix_left<f32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_e41808(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.msl
new file mode 100644
index 0000000..6a94532
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.msl
@@ -0,0 +1,37 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RO {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device tint_array<float, 1024>* prevent_dce;
+ const device SB_RO* sb_ro;
+};
+
+simdgroup_float8x8 subgroupMatrixLoad_e41808(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
+ simdgroup_load(v, (&(*tint_module_vars.sb_ro).arg_0[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_float8x8 res = v;
+ return res;
+}
+
+kernel void compute_main(device tint_array<float, 1024>* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro};
+ simdgroup_store(subgroupMatrixLoad_e41808(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.wgsl
new file mode 100644
index 0000000..fe5948a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/e41808.wgsl.expected.wgsl
@@ -0,0 +1,22 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
+
+struct SB_RO {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
+
+fn subgroupMatrixLoad_e41808() -> subgroup_matrix_left<f32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_e41808(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl
deleted file mode 100644
index 7d84526..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-var<workgroup> arg_0: array<f16, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, f16, 8, 8>>(ptr<workgroup, array<f16, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, f16, 8, 8>
-fn subgroupMatrixLoad_e4c5c8() -> subgroup_matrix_left<f16, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_e4c5c8(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.msl
deleted file mode 100644
index 79d22cc..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.msl
+++ /dev/null
@@ -1,58 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- device tint_array<half, 1024>* prevent_dce;
- threadgroup tint_array<half, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<half, 64> tint_symbol;
-};
-
-simdgroup_half8x8 subgroupMatrixLoad_e4c5c8(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
- simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_half8x8 res = v;
- return res;
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v_1 = 0u;
- v_1 = tint_local_index;
- while(true) {
- uint const v_2 = v_1;
- if ((v_2 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_2] = 0.0h;
- {
- v_1 = (v_2 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- simdgroup_store(subgroupMatrixLoad_e4c5c8(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.wgsl
deleted file mode 100644
index 21ed2d9..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/e4c5c8.wgsl.expected.wgsl
+++ /dev/null
@@ -1,19 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixLoad_e4c5c8() -> subgroup_matrix_left<f16, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_left<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f16, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_e4c5c8(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl
new file mode 100644
index 0000000..8e94493
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0: array<i32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<right, i32, 8, 8>>(ptr<workgroup, array<i32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<right, i32, 8, 8>
+fn subgroupMatrixLoad_ea84a8() -> subgroup_matrix_right<i32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_ea84a8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.msl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.msl
rename to test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/278648.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.wgsl
new file mode 100644
index 0000000..62d997f
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/ea84a8.wgsl.expected.wgsl
@@ -0,0 +1,18 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixLoad_ea84a8() -> subgroup_matrix_right<i32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_right<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_right<i32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_ea84a8(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl
deleted file mode 100644
index cd77fb9..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RO {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, i32, 8, 8>>(ptr<storage, array<i32, 64>, read>, u32, bool, u32) -> subgroup_matrix<left, i32, 8, 8>
-fn subgroupMatrixLoad_f308b6() -> subgroup_matrix_left<i32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&sb_ro.arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_f308b6(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.wgsl
deleted file mode 100644
index 43b6a5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f308b6.wgsl.expected.wgsl
+++ /dev/null
@@ -1,22 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-struct SB_RO {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(1) var<storage, read> sb_ro : SB_RO;
-
-fn subgroupMatrixLoad_f308b6() -> subgroup_matrix_left<i32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_left<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<i32, 8, 8>>(&(sb_ro.arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_f308b6(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl
deleted file mode 100644
index d767ca56..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-var<workgroup> arg_0: array<f32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<left, f32, 8, 8>>(ptr<workgroup, array<f32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<left, f32, 8, 8>
-fn subgroupMatrixLoad_f4729e() -> subgroup_matrix_left<f32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_f4729e(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.msl
deleted file mode 100644
index 536836c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.msl
+++ /dev/null
@@ -1,58 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- device tint_array<float, 1024>* prevent_dce;
- threadgroup tint_array<float, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<float, 64> tint_symbol;
-};
-
-simdgroup_float8x8 subgroupMatrixLoad_f4729e(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- bool arg_2 = true;
- uint arg_3 = 1u;
- simdgroup_float8x8 v = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
- simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), arg_2);
- simdgroup_float8x8 res = v;
- return res;
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v_1 = 0u;
- v_1 = tint_local_index;
- while(true) {
- uint const v_2 = v_1;
- if ((v_2 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_2] = 0.0f;
- {
- v_1 = (v_2 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- simdgroup_store(subgroupMatrixLoad_f4729e(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<float, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.wgsl
deleted file mode 100644
index a9b3c0b..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f4729e.wgsl.expected.wgsl
+++ /dev/null
@@ -1,18 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f32, 1024>;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixLoad_f4729e() -> subgroup_matrix_left<f32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_left<f32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<f32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_f4729e(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl
new file mode 100644
index 0000000..fa9de57
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0: array<u32, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<left, u32, 8, 8>>(ptr<workgroup, array<u32, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<left, u32, 8, 8>
+fn subgroupMatrixLoad_f695fe() -> subgroup_matrix_left<u32, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_f695fe(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.msl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/7b3d4e.wgsl.expected.msl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.msl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/4220ee.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.wgsl
new file mode 100644
index 0000000..78c37da
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/f695fe.wgsl.expected.wgsl
@@ -0,0 +1,18 @@
+enable chromium_experimental_subgroup_matrix;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<u32, 1024>;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixLoad_f695fe() -> subgroup_matrix_left<u32, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_left<u32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_left<u32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_f695fe(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl
deleted file mode 100644
index bcf76bc..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-var<workgroup> arg_0: array<i32, 64>;
-
-// fn subgroupMatrixLoad<T: subgroup_matrix<result, i32, 8, 8>>(ptr<workgroup, array<i32, 64>, read_write>, u32, bool, u32) -> subgroup_matrix<result, i32, 8, 8>
-fn subgroupMatrixLoad_f99e9d() -> subgroup_matrix_result<i32, 8, 8>{
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res: subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
- return res;
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_f99e9d(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5664c5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e202956..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: INVALID
-
-../../src/tint/lang/wgsl/ast/transform/transform.cc:193 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.wgsl
deleted file mode 100644
index d4b379c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixLoad/f99e9d.wgsl.expected.wgsl
+++ /dev/null
@@ -1,18 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-@group(0) @binding(0) var<storage, read_write> prevent_dce : array<i32, 1024>;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixLoad_f99e9d() -> subgroup_matrix_result<i32, 8, 8> {
- var arg_1 = 1u;
- var arg_2 = true;
- var arg_3 = 1u;
- var res : subgroup_matrix_result<i32, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<i32, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
- return res;
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_f99e9d(), false, 64);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl
new file mode 100644
index 0000000..178ca39
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl
@@ -0,0 +1,59 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+var<workgroup> arg_0: array<f16, 64>;
+
+// fn subgroupMatrixLoad<T: subgroup_matrix<result, f16, 8, 8>>(ptr<workgroup, array<f16, 64>, read_write>, u32, @const bool, u32) -> subgroup_matrix<result, f16, 8, 8>
+fn subgroupMatrixLoad_fd7bd9() -> subgroup_matrix_result<f16, 8, 8>{
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res: subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&arg_0, arg_1, arg_2, arg_3);
+ return res;
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&prevent_dce, 0, subgroupMatrixLoad_fd7bd9(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3cd8b8c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.dxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: FAILED
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..48f5b71
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.fxc.hlsl
@@ -0,0 +1,11 @@
+SKIP: INVALID
+
+../../src/tint/lang/wgsl/ast/transform/transform.cc:188 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::core::type::SubgroupMatrix
+********************************************************************
+* The tint shader compiler has encountered an unexpected error. *
+* *
+* Please help us fix this issue by submitting a bug report at *
+* crbug.com/tint with the source program that triggered the bug. *
+********************************************************************
+
+tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.msl
new file mode 100644
index 0000000..94e08c0
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.msl
@@ -0,0 +1,57 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ device tint_array<half, 1024>* prevent_dce;
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+simdgroup_half8x8 subgroupMatrixLoad_fd7bd9(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ uint arg_3 = 1u;
+ simdgroup_half8x8 v = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
+ simdgroup_load(v, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_3), ulong2(0ul), true);
+ simdgroup_half8x8 res = v;
+ return res;
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v_1 = 0u;
+ v_1 = tint_local_index;
+ while(true) {
+ uint const v_2 = v_1;
+ if ((v_2 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_2] = 0.0h;
+ {
+ v_1 = (v_2 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ simdgroup_store(subgroupMatrixLoad_fd7bd9(tint_module_vars), (&(*tint_module_vars.prevent_dce)[0u]), ulong(64u), ulong2(0ul), false);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], device tint_array<half, 1024>* prevent_dce [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .arg_0=(&(*v_3).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixLoad/020574.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.wgsl
new file mode 100644
index 0000000..fc0b875
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixLoad/fd7bd9.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+@group(0) @binding(0) var<storage, read_write> prevent_dce : array<f16, 1024>;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixLoad_fd7bd9() -> subgroup_matrix_result<f16, 8, 8> {
+ var arg_1 = 1u;
+ const arg_2 = true;
+ var arg_3 = 1u;
+ var res : subgroup_matrix_result<f16, 8, 8> = subgroupMatrixLoad<subgroup_matrix_result<f16, 8, 8>>(&(arg_0), arg_1, arg_2, arg_3);
+ return res;
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore(&(prevent_dce), 0, subgroupMatrixLoad_fd7bd9(), false, 64);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl
new file mode 100644
index 0000000..9ddccfc
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+struct SB_RW {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<f16, 64>, read_write>, u32, subgroup_matrix<left, f16, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_0522d1() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_0522d1();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..44f2ab3
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_0522d1() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_0522d1();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl:55:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_left<f16, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c3c5e1c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_0522d1() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_0522d1();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl:55:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_left<f16, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.msl
new file mode 100644
index 0000000..1367413
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.msl
@@ -0,0 +1,34 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device SB_RW* sb_rw;
+};
+
+void subgroupMatrixStore_0522d1(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ simdgroup_half8x8 arg_2 = simdgroup_half8x8();
+ uint arg_4 = 1u;
+ simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), true);
+}
+
+kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
+ subgroupMatrixStore_0522d1(tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.wgsl
new file mode 100644
index 0000000..becf985
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/0522d1.wgsl.expected.wgsl
@@ -0,0 +1,21 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_0522d1() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_0522d1();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl
deleted file mode 100644
index 3278a72..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<u32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<u32, 64>, read_write>, u32, subgroup_matrix<result, u32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_09c565() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_09c565();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 3cb3edf..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_09c565() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_09c565();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<u32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 4bf1181..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_09c565() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_09c565();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<u32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.wgsl
deleted file mode 100644
index 0f36e13..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_09c565() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_09c565();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl
deleted file mode 100644
index d4bfc78..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-var<workgroup> arg_0: array<f16, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<f16, 64>, read_write>, u32, subgroup_matrix<result, f16, 8, 8>, bool, u32)
-fn subgroupMatrixStore_0d6927() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_0d6927();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.dxc.hlsl
deleted file mode 100644
index f25564b..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_0d6927() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_0d6927();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 04f6f01..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_0d6927() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_0d6927();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.msl
deleted file mode 100644
index a630f01..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.msl
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- threadgroup tint_array<half, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<half, 64> tint_symbol;
-};
-
-void subgroupMatrixStore_0d6927(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- simdgroup_half8x8 arg_2 = simdgroup_half8x8();
- bool arg_3 = true;
- uint arg_4 = 1u;
- simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), arg_3);
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v = 0u;
- v = tint_local_index;
- while(true) {
- uint const v_1 = v;
- if ((v_1 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_1] = 0.0h;
- {
- v = (v_1 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- subgroupMatrixStore_0d6927(tint_module_vars);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.wgsl
deleted file mode 100644
index f3e16ce..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.wgsl
+++ /dev/null
@@ -1,17 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_0d6927() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_0d6927();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl
new file mode 100644
index 0000000..97ea073
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+var<workgroup> arg_0: array<f16, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<f16, 64>, read_write>, u32, subgroup_matrix<result, f16, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_127fb7() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_127fb7();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f900068
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,27 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_127fb7() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_127fb7();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..f690769
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,27 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_127fb7() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_127fb7();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.msl
new file mode 100644
index 0000000..fe13304
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.msl
@@ -0,0 +1,54 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+void subgroupMatrixStore_127fb7(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ simdgroup_half8x8 arg_2 = simdgroup_half8x8();
+ uint arg_4 = 1u;
+ simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), true);
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v = 0u;
+ v = tint_local_index;
+ while(true) {
+ uint const v_1 = v;
+ if ((v_1 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_1] = 0.0h;
+ {
+ v = (v_1 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ subgroupMatrixStore_127fb7(tint_module_vars);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.wgsl
new file mode 100644
index 0000000..e04540f
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/127fb7.wgsl.expected.wgsl
@@ -0,0 +1,17 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_127fb7() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_127fb7();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl
new file mode 100644
index 0000000..4249236
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+struct SB_RW {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<f16, 64>, read_write>, u32, subgroup_matrix<result, f16, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_1466ba() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_1466ba();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..bd1d2cb
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_1466ba() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_1466ba();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl:55:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_result<f16, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5ed9420
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_1466ba() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_1466ba();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl:55:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_result<f16, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.msl
new file mode 100644
index 0000000..cbefa0c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.msl
@@ -0,0 +1,34 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device SB_RW* sb_rw;
+};
+
+void subgroupMatrixStore_1466ba(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ simdgroup_half8x8 arg_2 = simdgroup_half8x8();
+ uint arg_4 = 1u;
+ simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), true);
+}
+
+kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
+ subgroupMatrixStore_1466ba(tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.wgsl
new file mode 100644
index 0000000..dd23d60
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/1466ba.wgsl.expected.wgsl
@@ -0,0 +1,21 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_1466ba() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_1466ba();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl
new file mode 100644
index 0000000..f8c6979
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl
@@ -0,0 +1,58 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<i32, 64>, read_write>, u32, subgroup_matrix<right, i32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_184580() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_184580();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c25d73c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_184580() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_184580();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_right<i32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..827b498
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_184580() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_184580();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_right<i32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.wgsl
new file mode 100644
index 0000000..ad58ef0
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/184580.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_184580() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_184580();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl
new file mode 100644
index 0000000..3d76164
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl
@@ -0,0 +1,58 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<f32, 64>, read_write>, u32, subgroup_matrix<left, f32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_197435() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_197435();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..aaf5136
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_197435() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_197435();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_left<f32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7b5e8a3
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_197435() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_197435();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_left<f32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.msl
new file mode 100644
index 0000000..c3ce761
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.msl
@@ -0,0 +1,34 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device SB_RW* sb_rw;
+};
+
+void subgroupMatrixStore_197435(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ simdgroup_float8x8 arg_2 = simdgroup_float8x8();
+ uint arg_4 = 1u;
+ simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), true);
+}
+
+kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
+ subgroupMatrixStore_197435(tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.wgsl
new file mode 100644
index 0000000..5634547
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/197435.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_197435() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_197435();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl
deleted file mode 100644
index c807c7e..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<i32, 64>, read_write>, u32, subgroup_matrix<left, i32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_27338e() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_27338e();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.dxc.hlsl
deleted file mode 100644
index d3eca84..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_27338e() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_27338e();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_left<i32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 8636cd2..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_27338e() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_27338e();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_left<i32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.wgsl
deleted file mode 100644
index b7f109f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_27338e() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_27338e();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl
new file mode 100644
index 0000000..16487b7e
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl
@@ -0,0 +1,55 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<u32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<u32, 64>, read_write>, u32, subgroup_matrix<right, u32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_2de0b1() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_2de0b1();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..7d9d340
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_2de0b1() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_2de0b1();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..dda1ca3
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_2de0b1() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_2de0b1();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.wgsl
new file mode 100644
index 0000000..0783eda
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/2de0b1.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_2de0b1() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_2de0b1();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl
deleted file mode 100644
index 843f546..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<u32, 64>, read_write>, u32, subgroup_matrix<right, u32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_2e04bd() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_2e04bd();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 16e1ae2..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_2e04bd() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_2e04bd();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_right<u32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 7c455cf..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_2e04bd() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_2e04bd();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_right<u32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.wgsl
deleted file mode 100644
index 9feecc0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/2e04bd.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_2e04bd() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_2e04bd();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl
deleted file mode 100644
index 68044ab..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<i32, 64>, read_write>, u32, subgroup_matrix<right, i32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_3208c3() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_3208c3();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 7393292..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_3208c3() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_3208c3();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_right<i32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 221fa89..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_3208c3() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_3208c3();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_right<i32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.wgsl
deleted file mode 100644
index a972381..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/3208c3.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_3208c3() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_3208c3();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl
deleted file mode 100644
index 790cf61..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<i32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<i32, 64>, read_write>, u32, subgroup_matrix<right, i32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_321539() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_321539();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 3b7a1ad..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_321539() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_321539();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<i32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 16ec1ae..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_321539() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_321539();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<i32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.wgsl
deleted file mode 100644
index 3b74388..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/321539.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_321539() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_321539();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl
new file mode 100644
index 0000000..fc8f691
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl
@@ -0,0 +1,58 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<f32, 64>, read_write>, u32, subgroup_matrix<right, f32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_3fcc0f() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_3fcc0f();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..9b14b21
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_3fcc0f() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_3fcc0f();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_right<f32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7ec117a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_3fcc0f() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_3fcc0f();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_right<f32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.msl
new file mode 100644
index 0000000..c10a4a9
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.msl
@@ -0,0 +1,34 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device SB_RW* sb_rw;
+};
+
+void subgroupMatrixStore_3fcc0f(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ simdgroup_float8x8 arg_2 = simdgroup_float8x8();
+ uint arg_4 = 1u;
+ simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), true);
+}
+
+kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
+ subgroupMatrixStore_3fcc0f(tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.wgsl
new file mode 100644
index 0000000..ef37230
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/3fcc0f.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_3fcc0f() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_3fcc0f();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl
deleted file mode 100644
index fd591d6..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<i32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<i32, 64>, read_write>, u32, subgroup_matrix<left, i32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_494f4e() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_494f4e();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 7aeb5c0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_494f4e() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_494f4e();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<i32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 2208099..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_494f4e() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_494f4e();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<i32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.wgsl
deleted file mode 100644
index 7e7bf04..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/494f4e.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_494f4e() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_494f4e();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl
new file mode 100644
index 0000000..fcb4ff4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl
@@ -0,0 +1,55 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<f32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<f32, 64>, read_write>, u32, subgroup_matrix<right, f32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_49b25b() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_49b25b();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..6c4adc0
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_49b25b() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_49b25b();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3a55928
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_49b25b() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_49b25b();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.msl
new file mode 100644
index 0000000..76ef02f
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.msl
@@ -0,0 +1,54 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+void subgroupMatrixStore_49b25b(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ simdgroup_float8x8 arg_2 = simdgroup_float8x8();
+ uint arg_4 = 1u;
+ simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), true);
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v = 0u;
+ v = tint_local_index;
+ while(true) {
+ uint const v_1 = v;
+ if ((v_1 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_1] = 0.0f;
+ {
+ v = (v_1 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ subgroupMatrixStore_49b25b(tint_module_vars);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.wgsl
new file mode 100644
index 0000000..00c08a7
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/49b25b.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_49b25b() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_49b25b();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl
deleted file mode 100644
index 46ce3b2..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<i32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<i32, 64>, read_write>, u32, subgroup_matrix<result, i32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_5644c4() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_5644c4();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 9dc7a0e..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_5644c4() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_5644c4();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_result<i32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 5bbcf2f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_5644c4() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_5644c4();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_result<i32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.wgsl
deleted file mode 100644
index a08b6fd..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<i32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_5644c4() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_5644c4();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl
new file mode 100644
index 0000000..f887e20
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl
@@ -0,0 +1,55 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<i32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<i32, 64>, read_write>, u32, subgroup_matrix<right, i32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_5671e2() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5671e2();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab580a0
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_5671e2() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5671e2();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..628c25c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_5671e2() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5671e2();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.wgsl
new file mode 100644
index 0000000..2c04df7
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/5671e2.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_5671e2() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5671e2();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl
new file mode 100644
index 0000000..40c96fd
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl
@@ -0,0 +1,58 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<u32, 64>, read_write>, u32, subgroup_matrix<right, u32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_57de92() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_57de92();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..34996b7
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_57de92() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_57de92();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_right<u32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..688e97a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_57de92() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_57de92();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_right<u32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.wgsl
new file mode 100644
index 0000000..84dc164
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/57de92.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_57de92() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_57de92();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl
new file mode 100644
index 0000000..8e2c1f6
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl
@@ -0,0 +1,55 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<u32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<u32, 64>, read_write>, u32, subgroup_matrix<left, u32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_5915fe() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5915fe();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..aba188b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_5915fe() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5915fe();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..d4de3eb
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_5915fe() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5915fe();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/27338e.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.wgsl
new file mode 100644
index 0000000..574f90d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/5915fe.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_5915fe() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_5915fe();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl
deleted file mode 100644
index 2807bf8..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<f32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<f32, 64>, read_write>, u32, subgroup_matrix<right, f32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_6dbaa2() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_6dbaa2();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 5efe172..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_6dbaa2() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_6dbaa2();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<f32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 5d0821a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_6dbaa2() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_6dbaa2();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<f32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.msl
deleted file mode 100644
index 00c01a4..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.msl
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- threadgroup tint_array<float, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<float, 64> tint_symbol;
-};
-
-void subgroupMatrixStore_6dbaa2(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- simdgroup_float8x8 arg_2 = simdgroup_float8x8();
- bool arg_3 = true;
- uint arg_4 = 1u;
- simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), arg_3);
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v = 0u;
- v = tint_local_index;
- while(true) {
- uint const v_1 = v;
- if ((v_1 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_1] = 0.0f;
- {
- v = (v_1 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- subgroupMatrixStore_6dbaa2(tint_module_vars);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.wgsl
deleted file mode 100644
index 8250447..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_6dbaa2() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_6dbaa2();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl
deleted file mode 100644
index 88fd1de..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<f32, 64>, read_write>, u32, subgroup_matrix<right, f32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_7954ee() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7954ee();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 3db22d7d9..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_7954ee() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7954ee();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_right<f32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.fxc.hlsl
deleted file mode 100644
index fb8b964..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_7954ee() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7954ee();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_right<f32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.msl
deleted file mode 100644
index b470088..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device SB_RW* sb_rw;
-};
-
-void subgroupMatrixStore_7954ee(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- simdgroup_float8x8 arg_2 = simdgroup_float8x8();
- bool arg_3 = true;
- uint arg_4 = 1u;
- simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), arg_3);
-}
-
-kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
- subgroupMatrixStore_7954ee(tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.wgsl
deleted file mode 100644
index cecb8ed..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_7954ee() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7954ee();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl
deleted file mode 100644
index 787bbe8..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<f32, 64>, read_write>, u32, subgroup_matrix<result, f32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_7a4769() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7a4769();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 83e80ba..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_7a4769() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7a4769();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_result<f32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.fxc.hlsl
deleted file mode 100644
index d8a10a4..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_7a4769() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7a4769();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_result<f32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.msl
deleted file mode 100644
index 5cfb044..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device SB_RW* sb_rw;
-};
-
-void subgroupMatrixStore_7a4769(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- simdgroup_float8x8 arg_2 = simdgroup_float8x8();
- bool arg_3 = true;
- uint arg_4 = 1u;
- simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), arg_3);
-}
-
-kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
- subgroupMatrixStore_7a4769(tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.wgsl
deleted file mode 100644
index 89335b5..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/7a4769.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_7a4769() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_7a4769();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl
new file mode 100644
index 0000000..50c434b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl
@@ -0,0 +1,58 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<f32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<f32, 64>, read_write>, u32, subgroup_matrix<result, f32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_8a2280() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a2280();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..cfc713a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_8a2280() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a2280();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_result<f32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..eaa7e6c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_8a2280() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a2280();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_result<f32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.msl
new file mode 100644
index 0000000..f1a6cb9
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.msl
@@ -0,0 +1,34 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<float, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device SB_RW* sb_rw;
+};
+
+void subgroupMatrixStore_8a2280(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ simdgroup_float8x8 arg_2 = simdgroup_float8x8();
+ uint arg_4 = 1u;
+ simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), true);
+}
+
+kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
+ subgroupMatrixStore_8a2280(tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.wgsl
new file mode 100644
index 0000000..d0c9f02
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/8a2280.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<f32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_8a2280() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_8a2280();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl
deleted file mode 100644
index e4dc94a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<f32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<f32, 64>, read_write>, u32, subgroup_matrix<result, f32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_8d55ef() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_8d55ef();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.dxc.hlsl
deleted file mode 100644
index bf74752..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_8d55ef() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_8d55ef();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<f32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 92d8d0b..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_8d55ef() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_8d55ef();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<f32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.msl
deleted file mode 100644
index 27858ae..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.msl
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- threadgroup tint_array<float, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<float, 64> tint_symbol;
-};
-
-void subgroupMatrixStore_8d55ef(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- simdgroup_float8x8 arg_2 = simdgroup_float8x8();
- bool arg_3 = true;
- uint arg_4 = 1u;
- simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), arg_3);
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v = 0u;
- v = tint_local_index;
- while(true) {
- uint const v_1 = v;
- if ((v_1 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_1] = 0.0f;
- {
- v = (v_1 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- subgroupMatrixStore_8d55ef(tint_module_vars);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.wgsl
deleted file mode 100644
index 9b34516..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_8d55ef() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_8d55ef();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl
new file mode 100644
index 0000000..3a3173a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl
@@ -0,0 +1,58 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<i32, 64>, read_write>, u32, subgroup_matrix<left, i32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_9019ee() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9019ee();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..d2cd7ec
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9019ee() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9019ee();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_left<i32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..52d4226
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9019ee() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9019ee();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_left<i32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/7954ee.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.wgsl
new file mode 100644
index 0000000..5d0d8a5
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9019ee.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9019ee() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9019ee();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl
deleted file mode 100644
index 6e351ba..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-var<workgroup> arg_0: array<f16, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<f16, 64>, read_write>, u32, subgroup_matrix<right, f16, 8, 8>, bool, u32)
-fn subgroupMatrixStore_9856cd() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9856cd();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 8dbf429..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_9856cd() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9856cd();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 11d40f0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_9856cd() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9856cd();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.msl
deleted file mode 100644
index 946315a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.msl
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- threadgroup tint_array<half, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<half, 64> tint_symbol;
-};
-
-void subgroupMatrixStore_9856cd(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- simdgroup_half8x8 arg_2 = simdgroup_half8x8();
- bool arg_3 = true;
- uint arg_4 = 1u;
- simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), arg_3);
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v = 0u;
- v = tint_local_index;
- while(true) {
- uint const v_1 = v;
- if ((v_1 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_1] = 0.0h;
- {
- v = (v_1 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- subgroupMatrixStore_9856cd(tint_module_vars);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.wgsl
deleted file mode 100644
index 56a45ca..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9856cd.wgsl.expected.wgsl
+++ /dev/null
@@ -1,17 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_9856cd() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9856cd();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl
new file mode 100644
index 0000000..99599ab
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl
@@ -0,0 +1,55 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<u32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<u32, 64>, read_write>, u32, subgroup_matrix<result, u32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_9a7d60() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9a7d60();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..2be6209
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_9a7d60() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9a7d60();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e97a35a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_9a7d60() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9a7d60();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.wgsl
new file mode 100644
index 0000000..9012157
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9a7d60.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<u32, 64>;
+
+fn subgroupMatrixStore_9a7d60() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9a7d60();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl
deleted file mode 100644
index 880ade4..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<u32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<u32, 64>, read_write>, u32, subgroup_matrix<right, u32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_9d8fcc() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9d8fcc();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 866bad3..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_9d8fcc() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9d8fcc();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<u32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 5b88f4b..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_9d8fcc() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9d8fcc();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<u32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.wgsl
deleted file mode 100644
index 302e07f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/9d8fcc.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_9d8fcc() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_9d8fcc();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl
new file mode 100644
index 0000000..6ba9def
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl
@@ -0,0 +1,58 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<i32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<i32, 64>, read_write>, u32, subgroup_matrix<result, i32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_9fffe5() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9fffe5();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f888936
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9fffe5() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9fffe5();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_result<i32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..8af6c9c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9fffe5() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9fffe5();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<i32, 64>, u32, subgroup_matrix_result<i32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.wgsl
new file mode 100644
index 0000000..e4fb900
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/9fffe5.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<i32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_9fffe5() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_9fffe5();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl
deleted file mode 100644
index 72aacde..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-struct SB_RW {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<f16, 64>, read_write>, u32, subgroup_matrix<left, f16, 8, 8>, bool, u32)
-fn subgroupMatrixStore_aa2174() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_aa2174();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.dxc.hlsl
deleted file mode 100644
index e61c98d..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,38 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_aa2174() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_aa2174();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl:54:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_left<f16, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 68553fc..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,38 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_aa2174() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_aa2174();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl:54:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_left<f16, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.msl
deleted file mode 100644
index dbe3ec9..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device SB_RW* sb_rw;
-};
-
-void subgroupMatrixStore_aa2174(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- simdgroup_half8x8 arg_2 = simdgroup_half8x8();
- bool arg_3 = true;
- uint arg_4 = 1u;
- simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), arg_3);
-}
-
-kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
- subgroupMatrixStore_aa2174(tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.wgsl
deleted file mode 100644
index 3cfbf8c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/aa2174.wgsl.expected.wgsl
+++ /dev/null
@@ -1,21 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_aa2174() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_aa2174();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl
new file mode 100644
index 0000000..f70b879
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl
@@ -0,0 +1,55 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<f32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<f32, 64>, read_write>, u32, subgroup_matrix<result, f32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_b9ff25() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_b9ff25();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..06ad310
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_b9ff25() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_b9ff25();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4a5e9ef
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_b9ff25() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_b9ff25();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.msl
new file mode 100644
index 0000000..81350c3
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.msl
@@ -0,0 +1,54 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+void subgroupMatrixStore_b9ff25(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ simdgroup_float8x8 arg_2 = simdgroup_float8x8();
+ uint arg_4 = 1u;
+ simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), true);
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v = 0u;
+ v = tint_local_index;
+ while(true) {
+ uint const v_1 = v;
+ if ((v_1 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_1] = 0.0f;
+ {
+ v = (v_1 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ subgroupMatrixStore_b9ff25(tint_module_vars);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.wgsl
new file mode 100644
index 0000000..5926d90
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/b9ff25.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_b9ff25() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_b9ff25();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl
deleted file mode 100644
index 5c06c76..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<u32, 64>, read_write>, u32, subgroup_matrix<left, u32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_ba3ee8() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_ba3ee8();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 6834b77..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_ba3ee8() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_ba3ee8();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_left<u32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.fxc.hlsl
deleted file mode 100644
index f8687ff..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_ba3ee8() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_ba3ee8();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_left<u32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.wgsl
deleted file mode 100644
index 11ef251..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/ba3ee8.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_ba3ee8() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_ba3ee8();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl
new file mode 100644
index 0000000..e3c6ed0
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl
@@ -0,0 +1,60 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+struct SB_RW {
+ arg_0: array<f16, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<f16, 64>, read_write>, u32, subgroup_matrix<right, f16, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_ba9442() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ba9442();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..2dbcaac
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_ba9442() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ba9442();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl:55:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_right<f16, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0f51432
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_ba9442() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ba9442();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl:55:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_right<f16, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.msl
new file mode 100644
index 0000000..156cff4
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.msl
@@ -0,0 +1,34 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct SB_RW {
+ /* 0x0000 */ tint_array<half, 64> arg_0;
+};
+
+struct tint_module_vars_struct {
+ device SB_RW* sb_rw;
+};
+
+void subgroupMatrixStore_ba9442(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ simdgroup_half8x8 arg_2 = simdgroup_half8x8();
+ uint arg_4 = 1u;
+ simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), true);
+}
+
+kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
+ subgroupMatrixStore_ba9442(tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.wgsl
new file mode 100644
index 0000000..7dccb2a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ba9442.wgsl.expected.wgsl
@@ -0,0 +1,21 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+struct SB_RW {
+ arg_0 : array<f16, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_ba9442() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ba9442();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl
new file mode 100644
index 0000000..dcf0f5a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl
@@ -0,0 +1,55 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<i32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<i32, 64>, read_write>, u32, subgroup_matrix<left, i32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_bfd0a4() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_bfd0a4();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..eeaf34a
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_bfd0a4() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_bfd0a4();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..15fa45d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_bfd0a4() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_bfd0a4();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.glsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.glsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.ir.dxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.ir.dxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.ir.fxc.hlsl
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.ir.fxc.hlsl
rename to test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.spvasm
similarity index 100%
rename from test/tint/builtins/gen/var/subgroupMatrixStore/5644c4.wgsl.expected.spvasm
rename to test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.wgsl
new file mode 100644
index 0000000..2ac910c
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/bfd0a4.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_bfd0a4() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_bfd0a4();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl
deleted file mode 100644
index 5feac11..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-var<workgroup> arg_0: array<f16, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<f16, 64>, read_write>, u32, subgroup_matrix<left, f16, 8, 8>, bool, u32)
-fn subgroupMatrixStore_cd3e65() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_cd3e65();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.dxc.hlsl
deleted file mode 100644
index cc5b3d9a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_cd3e65() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_cd3e65();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 9bb2844..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_cd3e65() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_cd3e65();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.msl
deleted file mode 100644
index e014da2..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.msl
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- threadgroup tint_array<half, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<half, 64> tint_symbol;
-};
-
-void subgroupMatrixStore_cd3e65(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- simdgroup_half8x8 arg_2 = simdgroup_half8x8();
- bool arg_3 = true;
- uint arg_4 = 1u;
- simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), arg_3);
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v = 0u;
- v = tint_local_index;
- while(true) {
- uint const v_1 = v;
- if ((v_1 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_1] = 0.0h;
- {
- v = (v_1 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- subgroupMatrixStore_cd3e65(tint_module_vars);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.wgsl
deleted file mode 100644
index 7b73624..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/cd3e65.wgsl.expected.wgsl
+++ /dev/null
@@ -1,17 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-var<workgroup> arg_0 : array<f16, 64>;
-
-fn subgroupMatrixStore_cd3e65() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_cd3e65();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl
new file mode 100644
index 0000000..fd5cb83
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+var<workgroup> arg_0: array<f16, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<f16, 64>, read_write>, u32, subgroup_matrix<right, f16, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_d07581() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_d07581();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..6325a1b
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.dxc.hlsl
@@ -0,0 +1,27 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_d07581() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_d07581();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..d372caf
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.fxc.hlsl
@@ -0,0 +1,27 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_d07581() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_d07581();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.msl
new file mode 100644
index 0000000..3afa433
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.msl
@@ -0,0 +1,54 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+void subgroupMatrixStore_d07581(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ simdgroup_half8x8 arg_2 = simdgroup_half8x8();
+ uint arg_4 = 1u;
+ simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), true);
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v = 0u;
+ v = tint_local_index;
+ while(true) {
+ uint const v_1 = v;
+ if ((v_1 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_1] = 0.0h;
+ {
+ v = (v_1 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ subgroupMatrixStore_d07581(tint_module_vars);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.wgsl
new file mode 100644
index 0000000..0420646
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/d07581.wgsl.expected.wgsl
@@ -0,0 +1,17 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_d07581() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_right<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_d07581();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl
deleted file mode 100644
index 7f473a5..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<u32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<u32, 64>, read_write>, u32, subgroup_matrix<result, u32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_db58ad() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_db58ad();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 293ab5f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_db58ad() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_db58ad();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_result<u32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 51eee8d..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_db58ad() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_db58ad();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_result<u32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.wgsl
deleted file mode 100644
index 207f72f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/db58ad.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<u32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_db58ad() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_db58ad();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl
new file mode 100644
index 0000000..12747ee
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl
@@ -0,0 +1,58 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<u32, 64>, read_write>, u32, subgroup_matrix<left, u32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_db6dd2() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_db6dd2();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0693cc1
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_db6dd2() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_db6dd2();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_left<u32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..aa804f6
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_db6dd2() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_db6dd2();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_left<u32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/6dbaa2.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.wgsl
new file mode 100644
index 0000000..c72e530
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/db6dd2.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_db6dd2() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_db6dd2();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl
new file mode 100644
index 0000000..9dde69d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl
@@ -0,0 +1,55 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<f32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<f32, 64>, read_write>, u32, subgroup_matrix<left, f32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_dc92cf() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dc92cf();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..240eed5
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_dc92cf() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dc92cf();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..071a3ce
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_dc92cf() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dc92cf();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.msl
new file mode 100644
index 0000000..e98cd84
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.msl
@@ -0,0 +1,54 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ threadgroup tint_array<float, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<float, 64> tint_symbol;
+};
+
+void subgroupMatrixStore_dc92cf(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ simdgroup_float8x8 arg_2 = simdgroup_float8x8();
+ uint arg_4 = 1u;
+ simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), true);
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v = 0u;
+ v = tint_local_index;
+ while(true) {
+ uint const v_1 = v;
+ if ((v_1 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_1] = 0.0f;
+ {
+ v = (v_1 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ subgroupMatrixStore_dc92cf(tint_module_vars);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/8d55ef.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.wgsl
new file mode 100644
index 0000000..ab0b32d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/dc92cf.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<f32, 64>;
+
+fn subgroupMatrixStore_dc92cf() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dc92cf();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl
new file mode 100644
index 0000000..7563eb0
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl
@@ -0,0 +1,58 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+struct SB_RW {
+ arg_0: array<u32, 64>,
+};
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+// fn subgroupMatrixStore(ptr<storage, array<u32, 64>, read_write>, u32, subgroup_matrix<result, u32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_dce0b7() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dce0b7();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b921137
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_dce0b7() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dce0b7();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_result<u32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..fbee256
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_dce0b7() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dce0b7();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl:53:3 error: no matching call to 'subgroupMatrixStore(array<u32, 64>, u32, subgroup_matrix_result<u32, 8, 8>, bool, u32)'
+
+1 candidate function:
+ • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<S, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, S, C, R> ✓ , bool ✓ , u32 ✓ )' where:
+ ✓ 'S' is 'f32', 'i32', 'u32' or 'f16'
+
+ subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
+ ^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.wgsl
new file mode 100644
index 0000000..2ec9746
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/dce0b7.wgsl.expected.wgsl
@@ -0,0 +1,20 @@
+enable chromium_experimental_subgroup_matrix;
+
+struct SB_RW {
+ arg_0 : array<u32, 64>,
+}
+
+@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
+
+fn subgroupMatrixStore_dce0b7() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<u32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_dce0b7();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl
deleted file mode 100644
index 4ef3428..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-struct SB_RW {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<f16, 64>, read_write>, u32, subgroup_matrix<right, f16, 8, 8>, bool, u32)
-fn subgroupMatrixStore_eb6865() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_eb6865();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 2ce13b2..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,38 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_eb6865() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_eb6865();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl:54:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_right<f16, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 4e2e14a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,38 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_eb6865() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_eb6865();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl:54:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_right<f16, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.msl
deleted file mode 100644
index ece05c1..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device SB_RW* sb_rw;
-};
-
-void subgroupMatrixStore_eb6865(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- simdgroup_half8x8 arg_2 = simdgroup_half8x8();
- bool arg_3 = true;
- uint arg_4 = 1u;
- simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), arg_3);
-}
-
-kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
- subgroupMatrixStore_eb6865(tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.wgsl
deleted file mode 100644
index ab73dc4..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/eb6865.wgsl.expected.wgsl
+++ /dev/null
@@ -1,21 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_eb6865() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_right<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_eb6865();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl
new file mode 100644
index 0000000..a91e438
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl
@@ -0,0 +1,57 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// flags: --hlsl-shader-model 62
+
+
+enable chromium_experimental_subgroup_matrix;
+
+enable f16;
+var<workgroup> arg_0: array<f16, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<f16, 64>, read_write>, u32, subgroup_matrix<left, f16, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_ee1195() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ee1195();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..652f3c5
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.dxc.hlsl
@@ -0,0 +1,27 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_ee1195() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ee1195();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..73630f0
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.fxc.hlsl
@@ -0,0 +1,27 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_ee1195() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ee1195();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.msl
new file mode 100644
index 0000000..dc4220d
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.msl
@@ -0,0 +1,54 @@
+#include <metal_stdlib>
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+ const constant T& operator[](size_t i) const constant { return elements[i]; }
+ device T& operator[](size_t i) device { return elements[i]; }
+ const device T& operator[](size_t i) const device { return elements[i]; }
+ thread T& operator[](size_t i) thread { return elements[i]; }
+ const thread T& operator[](size_t i) const thread { return elements[i]; }
+ threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+ const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+ T elements[N];
+};
+
+struct tint_module_vars_struct {
+ threadgroup tint_array<half, 64>* arg_0;
+};
+
+struct tint_symbol_1 {
+ tint_array<half, 64> tint_symbol;
+};
+
+void subgroupMatrixStore_ee1195(tint_module_vars_struct tint_module_vars) {
+ uint arg_1 = 1u;
+ simdgroup_half8x8 arg_2 = simdgroup_half8x8();
+ uint arg_4 = 1u;
+ simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), true);
+}
+
+void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
+ {
+ uint v = 0u;
+ v = tint_local_index;
+ while(true) {
+ uint const v_1 = v;
+ if ((v_1 >= 64u)) {
+ break;
+ }
+ (*tint_module_vars.arg_0)[v_1] = 0.0h;
+ {
+ v = (v_1 + 1u);
+ }
+ continue;
+ }
+ }
+ threadgroup_barrier(mem_flags::mem_threadgroup);
+ subgroupMatrixStore_ee1195(tint_module_vars);
+}
+
+kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
+ compute_main_inner(tint_local_index, tint_module_vars);
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/09c565.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.wgsl
new file mode 100644
index 0000000..4aa7a88
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/ee1195.wgsl.expected.wgsl
@@ -0,0 +1,17 @@
+enable chromium_experimental_subgroup_matrix;
+enable f16;
+
+var<workgroup> arg_0 : array<f16, 64>;
+
+fn subgroupMatrixStore_ee1195() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_left<f16, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_ee1195();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl
new file mode 100644
index 0000000..1b082e8
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl
@@ -0,0 +1,55 @@
+// Copyright 2025 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by 'tools/src/cmd/gen' using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// To regenerate run: './tools/run gen'
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// [hlsl-dxc] flags: --hlsl-shader-model 60
+
+
+enable chromium_experimental_subgroup_matrix;
+var<workgroup> arg_0: array<i32, 64>;
+
+// fn subgroupMatrixStore(ptr<workgroup, array<i32, 64>, read_write>, u32, subgroup_matrix<result, i32, 8, 8>, @const bool, u32)
+fn subgroupMatrixStore_f04d67() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
+}
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f04d67();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f1994b3
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.dxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_f04d67() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f04d67();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4ec7cb2
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.fxc.hlsl
@@ -0,0 +1,26 @@
+SKIP: INVALID
+
+
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_f04d67() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f04d67();
+}
+
+Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
+enable chromium_experimental_subgroup_matrix;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.glsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.glsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.glsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.ir.dxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.dxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.ir.dxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.ir.fxc.hlsl
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.ir.fxc.hlsl
copy to test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.ir.fxc.hlsl
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.msl
new file mode 100644
index 0000000..eb44d05
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.msl
@@ -0,0 +1,5 @@
+SKIP: FAILED
+
+error: non-float subgroup matrices are not supported by the MSL backend
+
+tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.spvasm
similarity index 100%
copy from test/tint/builtins/gen/var/subgroupMatrixStore/0d6927.wgsl.expected.spvasm
copy to test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.spvasm
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.wgsl
new file mode 100644
index 0000000..c9d024e
--- /dev/null
+++ b/test/tint/builtins/gen/var/subgroupMatrixStore/f04d67.wgsl.expected.wgsl
@@ -0,0 +1,16 @@
+enable chromium_experimental_subgroup_matrix;
+
+var<workgroup> arg_0 : array<i32, 64>;
+
+fn subgroupMatrixStore_f04d67() {
+ var arg_1 = 1u;
+ var arg_2 = subgroup_matrix_result<i32, 8, 8>();
+ const arg_3 = true;
+ var arg_4 = 1u;
+ subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ subgroupMatrixStore_f04d67();
+}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl
deleted file mode 100644
index ecec5d8..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// flags: --hlsl-shader-model 62
-
-
-enable chromium_experimental_subgroup_matrix;
-
-enable f16;
-struct SB_RW {
- arg_0: array<f16, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<f16, 64>, read_write>, u32, subgroup_matrix<result, f16, 8, 8>, bool, u32)
-fn subgroupMatrixStore_f2a4a2() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f2a4a2();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.dxc.hlsl
deleted file mode 100644
index d684670..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,38 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_f2a4a2() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f2a4a2();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl:54:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_result<f16, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.fxc.hlsl
deleted file mode 100644
index e9715b4..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,38 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_f2a4a2() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f2a4a2();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl:54:3 error: no matching call to 'subgroupMatrixStore(array<f16, 64>, u32, subgroup_matrix_result<f16, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.msl
deleted file mode 100644
index b178032..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<half, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device SB_RW* sb_rw;
-};
-
-void subgroupMatrixStore_f2a4a2(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- simdgroup_half8x8 arg_2 = simdgroup_half8x8();
- bool arg_3 = true;
- uint arg_4 = 1u;
- simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), arg_3);
-}
-
-kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
- subgroupMatrixStore_f2a4a2(tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.wgsl
deleted file mode 100644
index d0c7762..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f2a4a2.wgsl.expected.wgsl
+++ /dev/null
@@ -1,21 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-enable f16;
-
-struct SB_RW {
- arg_0 : array<f16, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_f2a4a2() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<f16, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f2a4a2();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl
deleted file mode 100644
index de13af6..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-struct SB_RW {
- arg_0: array<f32, 64>,
-};
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-// fn subgroupMatrixStore(ptr<storage, array<f32, 64>, read_write>, u32, subgroup_matrix<left, f32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_f9dcbf() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9dcbf();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 603f2b9..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_f9dcbf() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9dcbf();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_left<f32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.fxc.hlsl
deleted file mode 100644
index b187f3b..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,37 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_f9dcbf() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9dcbf();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl:52:3 error: no matching call to 'subgroupMatrixStore(array<f32, 64>, u32, subgroup_matrix_left<f32, 8, 8>, bool, u32)'
-
-4 candidate functions:
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f32, C, R> ✓ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<f16, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, f16, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<i32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, i32, C, R> ✗ , bool ✓ , u32 ✓ )'
- • 'subgroupMatrixStore(ptr<workgroup' or 'storage, array<u32, AC>, write' or 'read_write> ✗ , u32 ✓ , subgroup_matrix<K, u32, C, R> ✗ , bool ✓ , u32 ✓ )'
-
- subgroupMatrixStore(&sb_rw.arg_0, arg_1, arg_2, arg_3, arg_4);
- ^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.msl
deleted file mode 100644
index 2a41b37..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.msl
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct SB_RW {
- /* 0x0000 */ tint_array<float, 64> arg_0;
-};
-
-struct tint_module_vars_struct {
- device SB_RW* sb_rw;
-};
-
-void subgroupMatrixStore_f9dcbf(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- simdgroup_float8x8 arg_2 = simdgroup_float8x8();
- bool arg_3 = true;
- uint arg_4 = 1u;
- simdgroup_store(arg_2, (&(*tint_module_vars.sb_rw).arg_0[arg_1]), ulong(arg_4), ulong2(0ul), arg_3);
-}
-
-kernel void compute_main(device SB_RW* sb_rw [[buffer(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_rw=sb_rw};
- subgroupMatrixStore_f9dcbf(tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.wgsl
deleted file mode 100644
index ff6d4ea..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9dcbf.wgsl.expected.wgsl
+++ /dev/null
@@ -1,20 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-struct SB_RW {
- arg_0 : array<f32, 64>,
-}
-
-@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
-
-fn subgroupMatrixStore_f9dcbf() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(sb_rw.arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9dcbf();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl
deleted file mode 100644
index 19236ac..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<u32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<u32, 64>, read_write>, u32, subgroup_matrix<left, u32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_f9f8e7() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9f8e7();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 4a4e003..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_f9f8e7() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9f8e7();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<u32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.fxc.hlsl
deleted file mode 100644
index ffec34c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_f9f8e7() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9f8e7();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<u32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.glsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.glsl
deleted file mode 100644
index cc19bf0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the GLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.dxc.hlsl
deleted file mode 100644
index dda740a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.dxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.fxc.hlsl
deleted file mode 100644
index 4709805..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.ir.fxc.hlsl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: subgroup matrices are not supported by the HLSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.spvasm b/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.spvasm
deleted file mode 100644
index 5c64c6a..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.spvasm
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: FAILED
-
-error: subgroup matrices are not supported by the SPIR-V backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.wgsl
deleted file mode 100644
index 68eb5ec..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/f9f8e7.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<u32, 64>;
-
-fn subgroupMatrixStore_f9f8e7() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<u32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_f9f8e7();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl
deleted file mode 100644
index ee9f8c0..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<f32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<f32, 64>, read_write>, u32, subgroup_matrix<left, f32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_fbb29b() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fbb29b();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.dxc.hlsl
deleted file mode 100644
index 2dac387..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_fbb29b() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fbb29b();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<f32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 948ec70..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_fbb29b() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fbb29b();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<f32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.msl
deleted file mode 100644
index 0dddffd..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.msl
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <metal_stdlib>
-using namespace metal;
-
-template<typename T, size_t N>
-struct tint_array {
- const constant T& operator[](size_t i) const constant { return elements[i]; }
- device T& operator[](size_t i) device { return elements[i]; }
- const device T& operator[](size_t i) const device { return elements[i]; }
- thread T& operator[](size_t i) thread { return elements[i]; }
- const thread T& operator[](size_t i) const thread { return elements[i]; }
- threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
- const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
- T elements[N];
-};
-
-struct tint_module_vars_struct {
- threadgroup tint_array<float, 64>* arg_0;
-};
-
-struct tint_symbol_1 {
- tint_array<float, 64> tint_symbol;
-};
-
-void subgroupMatrixStore_fbb29b(tint_module_vars_struct tint_module_vars) {
- uint arg_1 = 1u;
- simdgroup_float8x8 arg_2 = simdgroup_float8x8();
- bool arg_3 = true;
- uint arg_4 = 1u;
- simdgroup_store(arg_2, (&(*tint_module_vars.arg_0)[arg_1]), ulong(arg_4), ulong2(0ul), arg_3);
-}
-
-void compute_main_inner(uint tint_local_index, tint_module_vars_struct tint_module_vars) {
- {
- uint v = 0u;
- v = tint_local_index;
- while(true) {
- uint const v_1 = v;
- if ((v_1 >= 64u)) {
- break;
- }
- (*tint_module_vars.arg_0)[v_1] = 0.0f;
- {
- v = (v_1 + 1u);
- }
- continue;
- }
- }
- threadgroup_barrier(mem_flags::mem_threadgroup);
- subgroupMatrixStore_fbb29b(tint_module_vars);
-}
-
-kernel void compute_main(uint tint_local_index [[thread_index_in_threadgroup]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
- tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=(&(*v_2).tint_symbol)};
- compute_main_inner(tint_local_index, tint_module_vars);
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.wgsl
deleted file mode 100644
index f557180..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fbb29b.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<f32, 64>;
-
-fn subgroupMatrixStore_fbb29b() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_left<f32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fbb29b();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl
deleted file mode 100644
index 172791f..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2025 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// test/tint/builtins/gen/gen.wgsl.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-
-// [hlsl-dxc] flags: --hlsl-shader-model 60
-
-
-enable chromium_experimental_subgroup_matrix;
-var<workgroup> arg_0: array<i32, 64>;
-
-// fn subgroupMatrixStore(ptr<workgroup, array<i32, 64>, read_write>, u32, subgroup_matrix<result, i32, 8, 8>, bool, u32)
-fn subgroupMatrixStore_fd08c0() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&arg_0, arg_1, arg_2, arg_3, arg_4);
-}
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fd08c0();
-}
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.dxc.hlsl
deleted file mode 100644
index ee17c68..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.dxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: FAILED
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_fd08c0() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fd08c0();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<i32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.fxc.hlsl
deleted file mode 100644
index d17f506..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: INVALID
-
-
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_fd08c0() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fd08c0();
-}
-
-Failed to generate: <dawn>/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl:41:8 error: HLSL backend does not support extension 'chromium_experimental_subgroup_matrix'
-enable chromium_experimental_subgroup_matrix;var<workgroup> arg_0: array<i32, 64>;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.msl b/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.msl
deleted file mode 100644
index 5dba48c..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.msl
+++ /dev/null
@@ -1,5 +0,0 @@
-SKIP: INVALID
-
-error: non-float subgroup matrices are not supported by the MSL backend
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.wgsl b/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.wgsl
deleted file mode 100644
index 8d8e1be..0000000
--- a/test/tint/builtins/gen/var/subgroupMatrixStore/fd08c0.wgsl.expected.wgsl
+++ /dev/null
@@ -1,16 +0,0 @@
-enable chromium_experimental_subgroup_matrix;
-
-var<workgroup> arg_0 : array<i32, 64>;
-
-fn subgroupMatrixStore_fd08c0() {
- var arg_1 = 1u;
- var arg_2 = subgroup_matrix_result<i32, 8, 8>();
- var arg_3 = true;
- var arg_4 = 1u;
- subgroupMatrixStore(&(arg_0), arg_1, arg_2, arg_3, arg_4);
-}
-
-@compute @workgroup_size(1)
-fn compute_main() {
- subgroupMatrixStore_fd08c0();
-}